Aidan Wynn / libmDot-mbed5

Dependents:   Cloudtracker

Committer:
Jenkins@KEILDM1.dc.multitech.prv
Date:
Thu Aug 29 08:32:27 2019 -0500
Revision:
68:5f787643e7d7
Parent:
66:baa0f3116f1d
Child:
69:e22889c7eaa9
mdot-library revision 3.2.2-19-g285e497 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 68:5f787643e7d7 1 /**********************************************************************
Jenkins@KEILDM1.dc.multitech.prv 68:5f787643e7d7 2 * COPYRIGHT 2018 MULTI-TECH SYSTEMS, INC.
Jenkins@KEILDM1.dc.multitech.prv 68:5f787643e7d7 3 *
Jenkins@KEILDM1.dc.multitech.prv 68:5f787643e7d7 4 * ALL RIGHTS RESERVED BY AND FOR THE EXCLUSIVE BENEFIT OF
Jenkins@KEILDM1.dc.multitech.prv 68:5f787643e7d7 5 * MULTI-TECH SYSTEMS, INC.
Jenkins@KEILDM1.dc.multitech.prv 68:5f787643e7d7 6 *
Jenkins@KEILDM1.dc.multitech.prv 68:5f787643e7d7 7 * MULTI-TECH SYSTEMS, INC. - CONFIDENTIAL AND PROPRIETARY
Jenkins@KEILDM1.dc.multitech.prv 68:5f787643e7d7 8 * INFORMATION AND/OR TRADE SECRET.
Jenkins@KEILDM1.dc.multitech.prv 68:5f787643e7d7 9 *
Jenkins@KEILDM1.dc.multitech.prv 68:5f787643e7d7 10 * NOTICE: ALL CODE, PROGRAM, INFORMATION, SCRIPT, INSTRUCTION,
Jenkins@KEILDM1.dc.multitech.prv 68:5f787643e7d7 11 * DATA, AND COMMENT HEREIN IS AND SHALL REMAIN THE CONFIDENTIAL
Jenkins@KEILDM1.dc.multitech.prv 68:5f787643e7d7 12 * INFORMATION AND PROPERTY OF MULTI-TECH SYSTEMS, INC.
Jenkins@KEILDM1.dc.multitech.prv 68:5f787643e7d7 13 * USE AND DISCLOSURE THEREOF, EXCEPT AS STRICTLY AUTHORIZED IN A
Jenkins@KEILDM1.dc.multitech.prv 68:5f787643e7d7 14 * WRITTEN AGREEMENT SIGNED BY MULTI-TECH SYSTEMS, INC. IS PROHIBITED.
Jenkins@KEILDM1.dc.multitech.prv 68:5f787643e7d7 15 *
Jenkins@KEILDM1.dc.multitech.prv 68:5f787643e7d7 16 ***********************************************************************/
Jenkins@KEILDM1.dc.multitech.prv 68:5f787643e7d7 17
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 18 #ifndef FOTA_H
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 19 #define FOTA_H
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 20 #include "mDot.h"
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 21 #ifdef FOTA
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 22 #include "FragmentationSession.h"
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 23 #endif
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 24 #include "MulticastGroup.h"
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 25
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 26 class Fota {
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 27
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 28 public:
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 29 Fota(mDot* dot);
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 30 ~Fota();
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 31
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 32 static Fota* getInstance(mDot* dot);
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 33 static Fota* getInstance();
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 34 void processCmd(uint8_t* payload, uint8_t port, uint8_t size);
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 35 void reset();
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 36 void enable(bool enabled);
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 37 bool enable();
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 38 void fixEventQueue();
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 39 int32_t timeToStart();
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 40
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 41 private:
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 42 static void start();
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 43
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 44 bool _enabled;
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 45 Thread _send_thread;
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 46 uint8_t p[242];
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 47 static Fota* _instance;
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 48 mDot* _dot;
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 49 #ifdef FOTA
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 50 FragmentationSession* _frag_session;
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 51 #endif
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 52 MulticastGroup* _mc_group;
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 53 };
Jenkins@KEILDM1.dc.multitech.prv 66:baa0f3116f1d 54 #endif