ESP32-PaxCounter/src/senddata.cpp

44 lines
1.3 KiB
C++
Raw Normal View History

2018-07-14 19:12:20 +02:00
// Basic Config
#include "globals.h"
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) {
2018-07-14 20:07:33 +02:00
ESP_LOGI(TAG, "LoRa busy, data not sent");
sprintf(display_line7, "LORA BUSY");
2018-07-14 19:12:20 +02:00
} else {
// send payload via LoRa
2018-07-14 20:07:33 +02:00
LMIC_setTxData2(PAYLOADPORT, payload.getBuffer(), payload.getSize(),
(cfg.countermode & 0x02));
2018-07-14 19:12:20 +02:00
ESP_LOGI(TAG, "%d bytes queued to send on LoRa", payload.getSize());
2018-07-14 20:07:33 +02:00
sprintf(display_line7, "PACKET QUEUED");
2018-07-14 19:12:20 +02:00
}
#endif
#ifdef HAS_SPI
2018-07-14 20:07:33 +02:00
// code for sending payload via SPI to come
ESP_LOGI(TAG, "%d bytes sent on SPI", payload.getSize());
2018-07-14 19:12:20 +02:00
#endif
// clear counter if not in cumulative counter mode
if (cfg.countermode != 1) {
reset_counters(); // clear macs container and reset all counters
reset_salt(); // get new salt for salting hashes
ESP_LOGI(TAG, "Counter cleared (countermode = %d)", cfg.countermode);
}
2018-07-14 20:07:33 +02:00
} // senddata