Version FC
Dependencies: DmTftLibrary eeprom SX1280Lib filesystem mbed
Fork of MSNV2-Terminal_V1-5 by
main.cpp
- Committer:
- FCH_31
- Date:
- 2018-08-23
- Revision:
- 12:e9ec35413787
- Parent:
- 10:1b37e3b41947
- Child:
- 15:9c1c4368670f
File content as of revision 12:e9ec35413787:
/* * 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 void wakeUpIrqTacSwitch () ; // IRQ Tac Switch // ============================================================================ 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 ) ; // Mode A + All Mode wakeUpGoodhealth.attach (&wakeUpGoodhealthCallback, (float)TimerGoodhealth) ; // Mode A + All Mode if ( TimerSynchro !=0) wakeUpSynchro.attach (&wakeUpSynchroCallback, (float)TimerSynchro) ; // Mode B if ( TimerSynchro !=0) wakeUpListening.attach (&wakeUpListeningCallback,(float)TimerListening) ; // Mode C // TODO : Assicier l'IRQ du TAC switch au handler d'exception wakeUpIrqTacSwitch } //============================================================================== // ============================================================================= LOOP void loop () { while(1) { // deepsleep (); // perd la conf uart //sleep () ; wait(1); } } // No action : all event by IRQ //============================================================================== // IRQ du tac switch TODO // ============================================================ IRQ TAC SWITCH void wakeUpIrqTacSwitch (void) { printf ("*** MAIN *** wakeUpIrqTacSwitch \r\n"); app.manageConfiguration () ; // IRQ } // ============================================================ WATCH DOG PAYLOAD void wakeUpPayloadCallback (void) { printf ("*** MAIN *** wakeUpPayloadCallback \r\n"); app.manageSensors () ; // read Sensors } // ============================================================ WATCH DOG GOODHEALTH void wakeUpGoodhealthCallback (void) { printf ("*** MAIN *** wakeUpGoodhealthCallback ========================== \r\n"); app.manageGoodhealth () ; // Prepare response } // ============================================================ WATCH DOG SYNCHRO void wakeUpSynchroCallback (void) { printf ("*** MAIN *** wakeUpSynchroCallback \r\n"); app.manageSynchro () ; // Prepare response } // ============================================================ WATCH DOG LISTENING void wakeUpListeningCallback (void) { printf ("*** MAIN *** wakeUpListeningCallback \r\n"); app.manageListening () ; // Ecoute radio } //*****************************************************************************