fota lib for mdot

Dependents:   UQ_LoraWAN

Committer:
rklaassen
Date:
Tue Jan 15 09:25:58 2019 -0600
Revision:
8:7ba1f2abb8c0
Parent:
0:e1b89c6c6dd5
README test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 1 #ifndef FOTA_H
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 2 #define FOTA_H
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 3 #include "mDot.h"
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 4 #ifdef FOTA
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 5 #include "FragmentationSession.h"
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 6 #endif
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 7 #include "MulticastGroup.h"
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 8
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 9 class Fota {
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 10
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 11 public:
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 12 Fota(mDot* dot);
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 13 ~Fota();
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 14
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 15 static Fota* getInstance(mDot* dot);
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 16 static Fota* getInstance();
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 17 void processCmd(uint8_t* payload, uint8_t port, uint8_t size);
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 18 void reset();
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 19 void enable(bool enabled);
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 20 bool enable();
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 21 void fixEventQueue();
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 22 int32_t timeToStart();
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 23 bool busy();
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 24 bool isFragSession();
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 25
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 26 #ifdef FOTA
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 27 int32_t timeSinceLastFrag();
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 28 #endif
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 29
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 30 private:
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 31 static void start();
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 32
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 33 bool _enabled;
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 34 Thread _send_thread;
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 35 uint8_t* p[242];
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 36 static Fota* _instance;
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 37 mDot* _dot;
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 38 #ifdef FOTA
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 39 FragmentationSession* _frag_session;
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 40 int32_t _time_of_last_frag;
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 41 #endif
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 42 MulticastGroup* _mc_group;
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 43 };
Jenkins@KEILDM1.dc.multitech.prv 0:e1b89c6c6dd5 44 #endif