2018-03-18 19:45:17 +01:00
|
|
|
// The mother of all embedded development...
|
|
|
|
#include <Arduino.h>
|
|
|
|
|
|
|
|
// std::set for unified array functions
|
2018-06-10 21:03:16 +02:00
|
|
|
#include <set>
|
2018-06-10 21:46:58 +02:00
|
|
|
#include <array>
|
|
|
|
#include <algorithm>
|
2018-03-18 19:45:17 +01:00
|
|
|
|
2018-07-15 14:28:05 +02:00
|
|
|
// basics
|
2018-04-19 15:17:23 +02:00
|
|
|
#include "main.h"
|
2018-07-15 14:28:05 +02:00
|
|
|
#include "led.h"
|
|
|
|
#include "macsniff.h"
|
2018-06-16 19:50:36 +02:00
|
|
|
#include "payload.h"
|
2018-06-08 22:41:37 +02:00
|
|
|
|
2018-03-21 17:34:11 +01:00
|
|
|
extern configData_t cfg;
|
2018-07-14 20:07:33 +02:00
|
|
|
extern char display_line6[], display_line7[];
|
2018-04-04 12:39:40 +02:00
|
|
|
extern int countermode, screensaver, adrmode, lorasf, txpower, rlim;
|
2018-07-15 14:28:05 +02:00
|
|
|
extern uint8_t channel, DisplayState;
|
2018-04-19 10:55:59 +02:00
|
|
|
extern uint16_t macs_total, macs_wifi, macs_ble; // MAC counters
|
2018-04-28 14:09:27 +02:00
|
|
|
extern std::set<uint16_t> macs;
|
2018-07-14 23:38:43 +02:00
|
|
|
extern hw_timer_t *channelSwitch, *sendCycle;
|
2018-07-15 14:28:05 +02:00
|
|
|
extern portMUX_TYPE timerMux;
|
|
|
|
|
2018-06-16 19:50:36 +02:00
|
|
|
#ifdef HAS_GPS
|
|
|
|
extern gpsStatus_t gps_status; // struct for storing gps data
|
|
|
|
extern TinyGPSPlus gps; // Make TinyGPS++ instance globally availabe
|
|
|
|
#endif
|
|
|
|
|
|
|
|
// payload encoder
|
2018-06-17 01:15:02 +02:00
|
|
|
#if PAYLOAD_ENCODER == 1
|
2018-06-16 19:54:48 +02:00
|
|
|
extern TTNplain payload;
|
2018-06-17 01:15:02 +02:00
|
|
|
#elif PAYLOAD_ENCODER == 2
|
2018-06-17 22:41:32 +02:00
|
|
|
extern TTNpacked payload;
|
2018-06-17 01:15:02 +02:00
|
|
|
#elif PAYLOAD_ENCODER == 3
|
2018-06-16 23:14:49 +02:00
|
|
|
extern CayenneLPP payload;
|
2018-06-16 19:50:36 +02:00
|
|
|
#else
|
|
|
|
#error "No valid payload converter defined"
|
2018-06-17 01:15:02 +02:00
|
|
|
#endif
|