Version FC

Dependencies:   DmTftLibrary eeprom SX1280Lib filesystem mbed

Fork of MSNV2-Terminal_V1-5 by Francis CHATAIN

Committer:
FCH_31
Date:
Mon Oct 22 09:37:50 2018 +0000
Revision:
41:5a436163dddf
Parent:
24:92c30dabfda4
avec radio;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
patrick_duc 24:92c30dabfda4 1 #ifndef __CONTROLMESSAGEPART_HPP__
patrick_duc 24:92c30dabfda4 2 #define __CONTROLMESSAGEPART_HPP__
patrick_duc 24:92c30dabfda4 3
patrick_duc 24:92c30dabfda4 4 #include <string>
patrick_duc 24:92c30dabfda4 5
patrick_duc 24:92c30dabfda4 6 #include "Context.h"
patrick_duc 24:92c30dabfda4 7
patrick_duc 24:92c30dabfda4 8 #ifdef TEST_ENVIRONMENT
patrick_duc 24:92c30dabfda4 9 #include <cstdint>
patrick_duc 24:92c30dabfda4 10 #else
patrick_duc 24:92c30dabfda4 11 #include <stdint.h>
patrick_duc 24:92c30dabfda4 12 #endif
patrick_duc 24:92c30dabfda4 13
patrick_duc 24:92c30dabfda4 14
patrick_duc 24:92c30dabfda4 15 namespace misnet {
patrick_duc 24:92c30dabfda4 16 class ControlMessagePart;
patrick_duc 24:92c30dabfda4 17 }
patrick_duc 24:92c30dabfda4 18
patrick_duc 24:92c30dabfda4 19
patrick_duc 24:92c30dabfda4 20 class misnet::ControlMessagePart {
patrick_duc 24:92c30dabfda4 21 public:
patrick_duc 24:92c30dabfda4 22 // Data frame type
patrick_duc 24:92c30dabfda4 23 enum DATA_FRAME_TYPE {
patrick_duc 24:92c30dabfda4 24 CONFIG = 0,
patrick_duc 24:92c30dabfda4 25 IOT = 1,
patrick_duc 24:92c30dabfda4 26 SYNC = 2
patrick_duc 24:92c30dabfda4 27 };
patrick_duc 24:92c30dabfda4 28
patrick_duc 24:92c30dabfda4 29 ControlMessagePart(DATA_FRAME_TYPE data_frame_type, uint16_t payload_module_id, uint16_t ack_value);
patrick_duc 24:92c30dabfda4 30
patrick_duc 24:92c30dabfda4 31 std::string serialize(); // Returns a string that represents the control data to be sent to gateway
patrick_duc 24:92c30dabfda4 32
patrick_duc 24:92c30dabfda4 33 private:
patrick_duc 24:92c30dabfda4 34 static const uint16_t PAYLOAD_MODULE_ID_MASK = 0x3FFF;
patrick_duc 24:92c30dabfda4 35 static const uint16_t ACKNOWLEDGE_VALUE_MASK = 0xFFF;
patrick_duc 24:92c30dabfda4 36
patrick_duc 24:92c30dabfda4 37 uint32_t _control_part_info; // Aggregation of data frame type, payload module id and acknowledge value
patrick_duc 24:92c30dabfda4 38 uint8_t _data_frame_type; // Data frame type
patrick_duc 24:92c30dabfda4 39 uint16_t _payload_module_id; // Payload module identification
patrick_duc 24:92c30dabfda4 40 uint16_t _acknowledge_value; // Acknowledge value
patrick_duc 24:92c30dabfda4 41 uint32_t _message_integrity_code; // Message Authentication Code
patrick_duc 24:92c30dabfda4 42 };
patrick_duc 24:92c30dabfda4 43
patrick_duc 24:92c30dabfda4 44 #endif // __CONTROLMESSAGEPART_HPP__