Version FC
Dependencies: DmTftLibrary eeprom SX1280Lib filesystem mbed
Fork of MSNV2-Terminal_V1-5 by
Controller.hpp@24:92c30dabfda4, 2018-09-11 (annotated)
- Committer:
- patrick_duc
- Date:
- Tue Sep 11 21:45:52 2018 +0000
- Revision:
- 24:92c30dabfda4
- Parent:
- 21:8524d815c587
- Child:
- 38:9b43b2415093
- Child:
- 41:5a436163dddf
Debut d'ajout des classes de gestion et serialisation de messages.; Attention ! Classes non encore toutes fonctionnelles...; A tester au moyen du driver de test serialisation.cpp dans le repertoire TESTS.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
patrick_duc | 21:8524d815c587 | 1 | /* |
patrick_duc | 24:92c30dabfda4 | 2 | * Controller.hpp |
patrick_duc | 21:8524d815c587 | 3 | * |
patrick_duc | 24:92c30dabfda4 | 4 | * Created on: August 18, 2018 |
patrick_duc | 24:92c30dabfda4 | 5 | * Author: Francis Chatain |
patrick_duc | 21:8524d815c587 | 6 | */ |
patrick_duc | 21:8524d815c587 | 7 | |
patrick_duc | 21:8524d815c587 | 8 | #ifndef __CONTROLLER_HPP__ |
patrick_duc | 21:8524d815c587 | 9 | #define __CONTROLLER_HPP__ |
patrick_duc | 21:8524d815c587 | 10 | |
patrick_duc | 21:8524d815c587 | 11 | #include "Context.h" |
patrick_duc | 21:8524d815c587 | 12 | |
patrick_duc | 21:8524d815c587 | 13 | #ifndef TEST_ENVIRONMENT |
patrick_duc | 21:8524d815c587 | 14 | #include "mbed.h" |
patrick_duc | 21:8524d815c587 | 15 | #include "main.h" |
patrick_duc | 21:8524d815c587 | 16 | #include "MessageFactory.hpp" |
patrick_duc | 21:8524d815c587 | 17 | #include "Tftlcd.h" |
patrick_duc | 21:8524d815c587 | 18 | #include "sx1280-hal.h" |
patrick_duc | 21:8524d815c587 | 19 | #endif |
patrick_duc | 21:8524d815c587 | 20 | |
patrick_duc | 21:8524d815c587 | 21 | #include "DataBase.hpp" |
patrick_duc | 21:8524d815c587 | 22 | |
patrick_duc | 21:8524d815c587 | 23 | |
patrick_duc | 21:8524d815c587 | 24 | namespace misnet { |
patrick_duc | 21:8524d815c587 | 25 | class Controller; |
patrick_duc | 21:8524d815c587 | 26 | } |
patrick_duc | 21:8524d815c587 | 27 | |
patrick_duc | 21:8524d815c587 | 28 | |
patrick_duc | 21:8524d815c587 | 29 | class misnet::Controller { |
patrick_duc | 24:92c30dabfda4 | 30 | |
patrick_duc | 24:92c30dabfda4 | 31 | public: |
patrick_duc | 24:92c30dabfda4 | 32 | // Terminal type |
patrick_duc | 24:92c30dabfda4 | 33 | enum TERMINAL_TYPE { |
patrick_duc | 24:92c30dabfda4 | 34 | SMART_TOOL = 0, |
patrick_duc | 24:92c30dabfda4 | 35 | GENERIC = 1, |
patrick_duc | 24:92c30dabfda4 | 36 | IOT = 2, |
patrick_duc | 24:92c30dabfda4 | 37 | BROADCAST = 3 |
patrick_duc | 24:92c30dabfda4 | 38 | }; |
patrick_duc | 24:92c30dabfda4 | 39 | |
patrick_duc | 24:92c30dabfda4 | 40 | Controller (); |
patrick_duc | 24:92c30dabfda4 | 41 | virtual ~Controller (); |
patrick_duc | 21:8524d815c587 | 42 | |
patrick_duc | 21:8524d815c587 | 43 | #ifndef TEST_ENVIRONMENT |
patrick_duc | 24:92c30dabfda4 | 44 | // @brief Get timer of scheduling mode |
patrick_duc | 24:92c30dabfda4 | 45 | void getScheduling (uint16_t &TimerPayload, uint16_t &TimerGoodhealth, uint16_t &TimerSynchro, uint16_t &TimerListening ); |
patrick_duc | 21:8524d815c587 | 46 | |
patrick_duc | 24:92c30dabfda4 | 47 | void start (); // @brief Start the Controller |
patrick_duc | 24:92c30dabfda4 | 48 | void manageSensors (); // @brief |
patrick_duc | 24:92c30dabfda4 | 49 | void manageGoodhealth (); // @brief |
patrick_duc | 24:92c30dabfda4 | 50 | void manageSynchro (); // @brief |
patrick_duc | 24:92c30dabfda4 | 51 | void manageConfiguration (); // @brief |
patrick_duc | 24:92c30dabfda4 | 52 | void manageListening (); // @brief |
patrick_duc | 21:8524d815c587 | 53 | #endif |
patrick_duc | 21:8524d815c587 | 54 | |
patrick_duc | 21:8524d815c587 | 55 | |
patrick_duc | 24:92c30dabfda4 | 56 | private: |
patrick_duc | 21:8524d815c587 | 57 | #ifndef TEST_ENVIRONMENT |
patrick_duc | 24:92c30dabfda4 | 58 | RawSerial * debugSerial ; // Serial Instance |
patrick_duc | 24:92c30dabfda4 | 59 | |
patrick_duc | 24:92c30dabfda4 | 60 | // BME280* bme280; Examples |
patrick_duc | 24:92c30dabfda4 | 61 | |
patrick_duc | 24:92c30dabfda4 | 62 | void initInterfaces (); // @brief Initializes all Interfaces such as I2C, UART and a Debug Serial via USB |
patrick_duc | 24:92c30dabfda4 | 63 | void readMemory (); // @brief Read memory to know the list of sensor availables Initializes the Database |
patrick_duc | 24:92c30dabfda4 | 64 | |
patrick_duc | 24:92c30dabfda4 | 65 | void initSensors (); // @brief Initializes (builds) all Sensors in their specific modes |
patrick_duc | 24:92c30dabfda4 | 66 | void readSensors (); // @brief Request the sensors according to they SensorMode specific parameter |
patrick_duc | 21:8524d815c587 | 67 | |
patrick_duc | 24:92c30dabfda4 | 68 | void initActuators (); // @brief Initializes (builds) all Actuator in their specific modes |
patrick_duc | 24:92c30dabfda4 | 69 | void writeActuators (); // @brief Request the Actuators according to they ActuatorrMode specific parameters |
patrick_duc | 24:92c30dabfda4 | 70 | |
patrick_duc | 24:92c30dabfda4 | 71 | void sendMessage (); // @brief Send Message |
patrick_duc | 21:8524d815c587 | 72 | #endif |
patrick_duc | 21:8524d815c587 | 73 | |
patrick_duc | 21:8524d815c587 | 74 | }; |
patrick_duc | 21:8524d815c587 | 75 | |
patrick_duc | 21:8524d815c587 | 76 | #endif // CONTROLLER_HPP__ |