Version FC

Dependencies:   DmTftLibrary eeprom SX1280Lib filesystem mbed

Fork of MSNV2-Terminal_V1-5 by Francis CHATAIN

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?

UserRevisionLine numberNew 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__