hello 2

Dependents:   ncu_project

Committer:
Jenkins@KEILDM1.dc.multitech.prv
Date:
Tue Apr 23 08:51:10 2019 -0500
Revision:
66:baa0f3116f1d
Child:
68:5f787643e7d7
mdot-library revision 3.2.0 and mbed-os revision mbed-os-5.11.1

Who changed what in which revision?

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