Version FC
Dependencies: DmTftLibrary eeprom SX1280Lib filesystem mbed
Fork of MSNV2-Terminal_V1-5 by
main.cpp
- Committer:
- FCH_31
- Date:
- 2018-08-22
- Revision:
- 8:cd489b7c49a0
- Parent:
- 7:1d890cab51bd
- Child:
- 10:1b37e3b41947
File content as of revision 8:cd489b7c49a0:
/* * MISNet * * Main TERMINAL VERSION HALF DUPLEX * * Created on: August 17, 2018 Author: Francis CHATAIN * */ #include "mbed.h" #include "sx1280-hal.h" #include "stdio.h" #include <string> #include "main.h" #include "Application.h" using namespace std; // INSTANCE of APPLICATION OBJECT Application app ; // Core of application start also //****************************************************************************** // Watch Dog functionnality //****************************************************************************** uint16_t TimerPayload, TimerGoodhealth, TimerSynchro, TimerListening = 0L ; LowPowerTicker wakeUpPayload ; // normal wake up void wakeUpPayloadCallback (void) ; LowPowerTicker wakeUpGoodhealth ; // GoodHealth wake up void wakeUpGoodhealthCallback (void) ; LowPowerTicker wakeUpSynchro ; // Synchro wake up (Mode B) void wakeUpSynchroCallback (void) ; LowPowerTicker wakeUpListening ; // Listening wake up (Mode C) void wakeUpListeningCallback (void) ; void setup () ; // Init Terminal void loop () ; // Main Loop // ============================================================================ Main int main( ) { setup () ; loop () ; } // ============================================================================ // ============================================================================ Setup void setup () { app.start (); // Start Application // -------------------------------------------------- Scheduler by IRQ or watch dog app.getScheduling (TimerPayload, TimerGoodhealth, TimerSynchro, TimerListening) ; // What mode ? wakeUpPayload.attach (&wakeUpPayloadCallback, (float)TimerPayload ) ; // All mode wakeUpGoodhealth.attach (&wakeUpGoodhealthCallback, (float)TimerGoodhealth) ; // All Mode if ( TimerSynchro !=0) wakeUpSynchro.attach (&wakeUpSynchroCallback, (float)TimerSynchro) ; // Mode B if ( TimerSynchro !=0) wakeUpListening.attach (&wakeUpListeningCallback,(float)TimerListening) ; // Mode C } //============================================================================== // ============================================================================= LOOP void loop () { while(1) { // deepsleep (); // perd la conf uart sleep () ; } } // No action : all event by IRQ //============================================================================== // ============================================================ WATCH DOG PAYLOAD void wakeUpPayloadCallback (void) { printf ("*** MAIN *** wakeUpPayloadCallback \r\n"); app.readSensors () ; // read Sensors app.buildMessageSensors () ; // Prepare response app.sendMessage () ; // send message } // ============================================================ WATCH DOG GOODHEALTH void wakeUpGoodhealthCallback (void) { printf ("*** MAIN *** wakeUpGoodhealthCallback ========================== \r\n"); app.readSensors () ; // read Sensors //app.buildMessageGoodhealth () ; // Prepare response //app.sendMessage () ; // send message } // ============================================================ WATCH DOG SYNCHRO void wakeUpSynchroCallback (void) { printf ("*** MAIN *** wakeUpSynchroCallback \r\n"); //app.sendMessageSynchro () ; // send message //app.sendMessage () ; // send message } // ============================================================ WATCH DOG LISTENING void wakeUpListeningCallback (void) { printf ("*** MAIN *** wakeUpListeningCallback \r\n"); //app.startListening (duration) ; // send message } //*****************************************************************************