SafeDetect / serial_to_lora
Committer:
Jenkins@KEILDM1.dc.multitech.prv
Date:
Thu Aug 29 12:21:40 2019 -0500
Revision:
19:aa5b1fcd05be
Parent:
18:d7332302f5f1
Child:
21:bc12c888e7dc
xdot-library revision 3.2.1 and mbed-os revision mbed-os-5.13.4

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 1 #ifndef MULTICASTGROUP_H
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 2 #define MULTICASTGROUP_H
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 3 #include "mDot.h"
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 4 #include "mbed.h"
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 5 #define GPS_EPOCH 315986400
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 6 #define MULTICAST_SESSIONS 3
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 7
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 8 class MulticastGroup {
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 9 public:
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 10 MulticastGroup(mDot* dot, std::vector<uint8_t>* ret, bool* filled);
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 11 ~MulticastGroup();
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 12 void reset();
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 13 //void newTime();
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 14 void processCmd(uint8_t* payload, uint8_t size);
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 15 int32_t timeToStart();
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 16 void fixEventQueue();
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 17
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 18 private:
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 19 enum McGroup {
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 20 PACKAGE_VERSION_MC,
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 21 STATUS,
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 22 SETUP,
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 23 DELETE,
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 24 CLASS_C_SESSION,
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 25 DATA_BLOCK_AUTH
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 26 };
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 27
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 28 typedef struct {
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 29 bool valid;
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 30 uint8_t dr;
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 31 uint8_t fragGroup;
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 32 uint16_t timeout;
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 33 uint32_t tme;
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 34 uint32_t freq;
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 35 uint32_t addr;
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 36 uint32_t max_frame_count;
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 37 int32_t timetostart;
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 38 int32_t class_c_end;
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 39 int32_t class_c_start;
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 40 time_t time_setup;
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 41 } mcgroup;
Jenkins@KEILDM1.dc.multitech.prv 19:aa5b1fcd05be 42
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 43 bool* _filled;
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 44 uint8_t _groupId;
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 45 uint8_t _ans;
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 46 uint8_t _delay;
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 47 uint8_t _token;
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 48 uint8_t _dr;
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 49 uint32_t _freq;
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 50 uint32_t _frame_count;
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 51 time_t _now;
Jenkins@KEILDM1.dc.multitech.prv 19:aa5b1fcd05be 52
Jenkins@KEILDM1.dc.multitech.prv 19:aa5b1fcd05be 53 mDot* _dot;
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 54 Thread _event_thread;
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 55 EventQueue _switch_class_queue;
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 56 mcgroup _mcGroup[MULTICAST_SESSIONS];
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 57 std::vector<uint8_t>* _ret;
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 58 std::string _org_class;
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 59
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 60 void setupClassC(uint8_t id);
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 61 static void switchClass(uint32_t freq, uint8_t dr, std::string newClass);
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 62 };
Jenkins@KEILDM1.dc.multitech.prv 16:4a382fe8f51b 63 #endif