Version FC

Dependencies:   DmTftLibrary eeprom SX1280Lib filesystem mbed

Fork of MSNV2-Terminal_V1-5 by Francis CHATAIN

Committer:
patrick_duc
Date:
Sun Sep 02 22:24:14 2018 +0000
Revision:
20:b0281e8a375a
Parent:
19:4b147d8f9164
Child:
38:9b43b2415093
Gestion de la liste des composants candidats pour ?chantillonnage et des valeurs lues sur les capteurs.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
patrick_duc 13:5414193da1de 1 #ifndef __PAYLOAD_HPP___HPP__
patrick_duc 13:5414193da1de 2 #define __PAYLOAD_HPP___HPP__
patrick_duc 13:5414193da1de 3
patrick_duc 20:b0281e8a375a 4 #include "Context.h"
patrick_duc 20:b0281e8a375a 5
patrick_duc 13:5414193da1de 6 #include <vector>
patrick_duc 20:b0281e8a375a 7 #include <sstream>
patrick_duc 20:b0281e8a375a 8
patrick_duc 13:5414193da1de 9 #include "Component.hpp"
patrick_duc 13:5414193da1de 10
patrick_duc 20:b0281e8a375a 11
patrick_duc 20:b0281e8a375a 12 namespace misnet {
patrick_duc 20:b0281e8a375a 13 class Payload;
patrick_duc 20:b0281e8a375a 14 }
patrick_duc 20:b0281e8a375a 15
patrick_duc 20:b0281e8a375a 16
patrick_duc 20:b0281e8a375a 17 class misnet::Payload {
patrick_duc 13:5414193da1de 18
patrick_duc 13:5414193da1de 19 public:
patrick_duc 13:5414193da1de 20 // TODO : provide a real list of payload identifiers !
patrick_duc 13:5414193da1de 21 enum PAYLOAD_ID {
patrick_duc 13:5414193da1de 22 IOT_PAYLOAD_1 = 1,
patrick_duc 13:5414193da1de 23 IOT_PAYLOAD_2 = 2,
patrick_duc 13:5414193da1de 24 IOT_PAYLOAD_3 = 3,
patrick_duc 13:5414193da1de 25 IOT_PAYLOAD_4 = 4,
patrick_duc 13:5414193da1de 26 IOT_PAYLOAD_5 = 5,
patrick_duc 13:5414193da1de 27 IOT_PAYLOAD_6 = 6,
patrick_duc 13:5414193da1de 28 SMART_TOOL_PAYLOAD_1 = 7,
patrick_duc 13:5414193da1de 29 SMART_TOOL_PAYLOAD_2 = 8,
patrick_duc 13:5414193da1de 30 SMART_TOOL_PAYLOAD_3 = 9,
patrick_duc 13:5414193da1de 31 SMART_TOOL_PAYLOAD_4 = 10
patrick_duc 13:5414193da1de 32 } ;
patrick_duc 13:5414193da1de 33
patrick_duc 20:b0281e8a375a 34 Payload(PAYLOAD_ID id, std::vector<Component*> components, uint16_t base_period);
patrick_duc 13:5414193da1de 35
patrick_duc 18:d5e7e56b0a0d 36 std::vector<Component*>& getComponents() {
patrick_duc 13:5414193da1de 37 return this->_components;
patrick_duc 13:5414193da1de 38 }
patrick_duc 13:5414193da1de 39
patrick_duc 19:4b147d8f9164 40 std::vector<Service*>& getServices() {
patrick_duc 20:b0281e8a375a 41 return this->_services;
patrick_duc 13:5414193da1de 42 }
patrick_duc 13:5414193da1de 43
patrick_duc 19:4b147d8f9164 44 Service* getServiceByRank(short channelRank);
patrick_duc 13:5414193da1de 45
patrick_duc 13:5414193da1de 46 PAYLOAD_ID getId() {
patrick_duc 13:5414193da1de 47 return this->_id;
patrick_duc 13:5414193da1de 48 }
patrick_duc 13:5414193da1de 49
patrick_duc 20:b0281e8a375a 50 uint16_t getBasePeriod() {
patrick_duc 20:b0281e8a375a 51 return this->_basePeriod;
patrick_duc 20:b0281e8a375a 52 }
patrick_duc 20:b0281e8a375a 53
patrick_duc 20:b0281e8a375a 54 std::string toString();
patrick_duc 13:5414193da1de 55
patrick_duc 13:5414193da1de 56
patrick_duc 13:5414193da1de 57 private:
patrick_duc 20:b0281e8a375a 58 const PAYLOAD_ID _id;
patrick_duc 20:b0281e8a375a 59 std::vector<Component*> _components;
patrick_duc 20:b0281e8a375a 60 std::vector<Service*> _services;
patrick_duc 20:b0281e8a375a 61 uint16_t _basePeriod;
patrick_duc 13:5414193da1de 62 };
patrick_duc 13:5414193da1de 63
patrick_duc 13:5414193da1de 64 #endif // __PAYLOAD_HPP__