senddata restructured
This commit is contained in:
parent
b51b278c24
commit
b708524baa
@ -58,13 +58,8 @@ void gps_loop(void *pvParameters) {
|
||||
gps.encode(Wire.read());
|
||||
vTaskDelay(1 / portTICK_PERIOD_MS); // polling mode: 500ms sleep
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG, "GPS NMEA data: passed %d / failed: %d / with fix: %d",
|
||||
gps.passedChecksum(), gps.failedChecksum(),
|
||||
gps.sentencesWithFix());
|
||||
}
|
||||
// after GPS function was disabled, close connect to GPS device
|
||||
|
||||
Wire.endTransmission();
|
||||
|
||||
#endif // GPS Type
|
||||
|
28
src/main.cpp
28
src/main.cpp
@ -451,6 +451,7 @@ void led_loop() {
|
||||
LEDState = ((millis() % 2000) < 200) ? LED_ON : LED_OFF;
|
||||
} else {
|
||||
#endif // HAS_LORA
|
||||
|
||||
// led off
|
||||
LEDColor = COLOR_NONE;
|
||||
LEDState = LED_OFF;
|
||||
@ -463,13 +464,16 @@ void led_loop() {
|
||||
if (LEDState != previousLEDState) {
|
||||
if (LEDState == LED_ON) {
|
||||
rgb_set_color(LEDColor);
|
||||
|
||||
#ifdef LED_ACTIVE_LOW
|
||||
digitalWrite(HAS_LED, LOW);
|
||||
#else
|
||||
digitalWrite(HAS_LED, HIGH);
|
||||
#endif
|
||||
|
||||
} else {
|
||||
rgb_set_color(COLOR_NONE);
|
||||
|
||||
#ifdef LED_ACTIVE_LOW
|
||||
digitalWrite(HAS_LED, HIGH);
|
||||
#else
|
||||
@ -480,7 +484,21 @@ void led_loop() {
|
||||
}
|
||||
}; // led_loop()
|
||||
|
||||
#endif // #if (HAS_LED != NOT_A_PIN) || defined(HAS_RGB_LED)
|
||||
|
||||
void sendpayload() {
|
||||
// append counter data to payload
|
||||
payload.reset();
|
||||
payload.addCount(macs_wifi, cfg.blescan ? macs_ble : 0);
|
||||
// append GPS data, if present
|
||||
#ifdef HAS_GPS
|
||||
if ((cfg.gpsmode) && (gps.location.isValid())) {
|
||||
gps_read();
|
||||
payload.addGPS(gps_status);
|
||||
}
|
||||
#endif
|
||||
senddata(PAYLOADPORT);
|
||||
}
|
||||
|
||||
/* begin Aruino SETUP
|
||||
* ------------------------------------------------------------ */
|
||||
@ -559,8 +577,8 @@ void setup() {
|
||||
// install button interrupt (pulldown mode)
|
||||
pinMode(HAS_BUTTON, INPUT_PULLDOWN);
|
||||
attachInterrupt(digitalPinToInterrupt(HAS_BUTTON), ButtonIRQ, FALLING);
|
||||
#endif
|
||||
#endif
|
||||
#endif // BUTTON_PULLUP
|
||||
#endif // HAS_BUTTON
|
||||
|
||||
// initialize wifi antenna if needed
|
||||
#ifdef HAS_ANTENNA_SWITCH
|
||||
@ -676,7 +694,7 @@ void setup() {
|
||||
#endif
|
||||
|
||||
// send initial payload to open transfer interfaces
|
||||
senddata(PAYLOADPORT);
|
||||
sendpayload();
|
||||
}
|
||||
|
||||
/* end Arduino SETUP
|
||||
@ -696,7 +714,7 @@ void loop() {
|
||||
|
||||
// send data every x seconds, x/2 is configured in cfg.sendcycle
|
||||
if ((uptime() % (cfg.sendcycle * 2000)) < 1)
|
||||
senddata(PAYLOADPORT);
|
||||
sendpayload();
|
||||
|
||||
#if (HAS_LED != NOT_A_PIN) || defined(HAS_RGB_LED)
|
||||
led_loop();
|
||||
@ -724,7 +742,7 @@ void loop() {
|
||||
#ifdef HAS_GPS
|
||||
// log NMEA status every 60 seconds, useful for debugging GPS connection
|
||||
if ((uptime() % 60000) < 1) {
|
||||
ESP_LOGI(TAG, "GPS NMEA data: passed %d / failed: %d / with fix: %d",
|
||||
ESP_LOGD(TAG, "GPS NMEA data: passed %d / failed: %d / with fix: %d",
|
||||
gps.passedChecksum(), gps.failedChecksum(),
|
||||
gps.sentencesWithFix());
|
||||
if ((cfg.gpsmode) && (gps.location.isValid())) {
|
||||
|
@ -45,9 +45,9 @@
|
||||
// Default LoRa Spreadfactor
|
||||
#define LORASFDEFAULT 9 // 7 ... 12 SF, according to LoRaWAN specs
|
||||
#define MAXLORARETRY 500 // maximum count of TX retries if LoRa busy
|
||||
#define RCMDPORT 2 // LoRaWAN Port on which device listenes for remote commands
|
||||
#define PAYLOADPORT 1 // LoRaWAN Port on which device sends counts
|
||||
#define STATUSPORT 2 // LoRaWAN Port on which device sends status query results
|
||||
#define RCMDPORT 2 // LoRaWAN Port on which device listenes for remote commands
|
||||
#define STATUSPORT 2 // LoRaWAN Port on which device sends remote command results
|
||||
#define GPSPORT 3 // LoRaWAN Port on which device sends gps query results
|
||||
|
||||
// Default RGB LED luminosity (in %)
|
||||
|
@ -3,18 +3,6 @@
|
||||
|
||||
void senddata(uint8_t port) {
|
||||
|
||||
// Prepare payload with counter and, if applicable, gps data
|
||||
payload.reset();
|
||||
payload.addCount(macs_wifi, cfg.blescan ? macs_ble : 0);
|
||||
|
||||
// append GPS data, if present
|
||||
#ifdef HAS_GPS
|
||||
if ((cfg.gpsmode) && (gps.location.isValid())) {
|
||||
gps_read();
|
||||
payload.addGPS(gps_status);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef HAS_LORA
|
||||
// Check if there is a pending TX/RX job running
|
||||
if (LMIC.opmode & OP_TXRXPEND) {
|
||||
|
Loading…
Reference in New Issue
Block a user