Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fota/Fragmentation/FragmentationSession.h@69:e22889c7eaa9, 2019-08-29 (annotated)
- Committer:
- Jenkins@KEILDM1.dc.multitech.prv
- Date:
- Thu Aug 29 12:21:51 2019 -0500
- Revision:
- 69:e22889c7eaa9
- Parent:
- 68:5f787643e7d7
- Child:
- 70:0c5b5b02d17b
mdot-library revision 3.2.1 and mbed-os revision mbed-os-5.13.4
Who changed what in which revision?
| User | Revision | Line number | New contents of line | 
|---|---|---|---|
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 1 | #ifndef _FRAGMENTATION_SESSION_H | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 2 | #define _FRAGMENTATION_SESSION_H | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 3 | #ifdef FOTA | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 4 | |
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 5 | #include "mbed.h" | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 6 | #include "FragmentationMath.h" | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 7 | #include "mDot.h" | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 8 | #include "WriteFile.h" | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 9 | |
| Jenkins@KEILDM1.dc.multitech.prv | 67:a9d4d7cdeca1 | 10 | #define MAX_PARITY 300 | 
| Jenkins@KEILDM1.dc.multitech.prv | 67:a9d4d7cdeca1 | 11 | #define FRAG_OFFSET 3 | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 12 | #define MULTICAST_SESSIONS 3 | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 13 | |
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 14 | class FragmentationSession { | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 15 | |
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 16 | public: | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 17 | FragmentationSession(mDot* dot, std::vector<uint8_t>* ret, bool* filled, uint32_t* delay); | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 18 | ~FragmentationSession(); | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 19 | void processCmd(uint8_t* payload, uint8_t size); | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 20 | void reset(); | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 21 | |
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 22 | private: | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 23 | |
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 24 | typedef struct { | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 25 | uint8_t Padding; | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 26 | uint8_t FragmentSize; | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 27 | uint16_t NumberOfFragments; | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 28 | } FragmentationSessionOpts_t; | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 29 | |
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 30 | typedef struct { | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 31 | bool reset; | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 32 | bool failed; | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 33 | uint8_t fragMatrix; | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 34 | uint8_t blockAckDelay; | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 35 | uint8_t total_sessions; | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 36 | uint8_t mcGroupBitMask; | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 37 | uint8_t current_session; | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 38 | uint16_t index; | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 39 | uint16_t last_frag_num; | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 40 | uint32_t total_frags; | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 41 | FragmentationMath* math; | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 42 | FragmentationSessionOpts_t opts; | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 43 | } fragGroup; | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 44 | |
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 45 | |
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 46 | enum FragResult { | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 47 | FRAG_OK, | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 48 | FRAG_SIZE_INCORRECT, | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 49 | FRAG_FLASH_WRITE_ERROR, | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 50 | FRAG_NO_MEMORY, | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 51 | FRAG_COMPLETE | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 52 | }; | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 53 | |
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 54 | enum FragCmd { | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 55 | PACKAGE_VERSION_FRAG, | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 56 | FRAG_STATUS, | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 57 | FRAG_SESSION_SETUP, | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 58 | FRAG_SESSION_DELETE, | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 59 | DATA_FRAGMENT = 0x08, | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 60 | CHECKSUM = 0x80 | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 61 | }; | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 62 | |
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 63 | void reset(uint16_t num); | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 64 | void upgradeFile(uint8_t fragIndex); | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 65 | bool process_frame(uint8_t fragIndex,uint16_t index, uint8_t buffer[], size_t size); | 
| Jenkins@KEILDM1.dc.multitech.prv | 67:a9d4d7cdeca1 | 66 | |
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 67 | mDot* _dot; | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 68 | WriteFile* _fh; | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 69 | fragGroup fg[MULTICAST_SESSIONS]; | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 70 | |
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 71 | uint8_t ans; | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 72 | bool* _filled; | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 73 | uint32_t* _delay; | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 74 | uint8_t fragIndex; | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 75 | std::vector<uint8_t>* _ret; | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 76 | std::string _org_class; | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 77 | }; | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 78 | #endif | 
| Jenkins@KEILDM1.dc.multitech.prv | 66:baa0f3116f1d | 79 | #endif // _FRAGMENTATION_SESSION_H |