![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Version FC
Dependencies: DmTftLibrary eeprom SX1280Lib filesystem mbed
Fork of MSNV2-Terminal_V1-5 by
Diff: main.cpp
- Revision:
- 15:9c1c4368670f
- Parent:
- 12:e9ec35413787
- Child:
- 20:b0281e8a375a
diff -r 1705f050b69a -r 9c1c4368670f main.cpp --- a/main.cpp Mon Aug 27 16:34:28 2018 +0000 +++ b/main.cpp Tue Aug 28 14:47:32 2018 +0000 @@ -24,10 +24,11 @@ //****************************************************************************** -// Watch Dog functionnality +// Timers //****************************************************************************** uint16_t TimerPayload, TimerGoodhealth, TimerSynchro, TimerListening = 0L ; - +volatile uint32_t listenFlag=0, syncFlag=0, goodHealthFlag=0, payloadFlag=0, irqFlag=0; + LowPowerTicker wakeUpPayload ; // normal wake up void wakeUpPayloadCallback (void) ; @@ -79,7 +80,32 @@ // ============================================================================= LOOP void loop () { while(1) { - // deepsleep (); // perd la conf uart + if(listenFlag){ // Listen radio + listenFlag=0; + app.manageListening(); + printf ("*** MAIN *** wakeUpListeningCallback \r\n"); + } + if(syncFlag){ // Prepare response + syncFlag=0; + app.manageSynchro(); + printf ("*** MAIN *** wakeUpSynchroCallback \r\n"); + } + if(goodHealthFlag){ // Prepare response + goodHealthFlag=0; + app.manageGoodhealth(); + printf ("*** MAIN *** wakeUpGoodhealthCallback r\n"); + } + if(payloadFlag){ // read Sensors + payloadFlag=0; + app.manageSensors(); + printf ("*** MAIN *** wakeUpPayloadCallback \r\n"); + } + if(irqFlag){ // handle IRQ actions + irqFlag=0; + app.manageConfiguration(); + printf ("*** MAIN *** wakeUpIrqTacSwitch \r\n"); + } + // deepsleep (); // breaks UART //sleep () ; wait(1); } @@ -93,33 +119,38 @@ // IRQ du tac switch TODO // ============================================================ IRQ TAC SWITCH void wakeUpIrqTacSwitch (void) { - printf ("*** MAIN *** wakeUpIrqTacSwitch \r\n"); - app.manageConfiguration () ; // IRQ + //printf ("*** MAIN *** wakeUpIrqTacSwitch \r\n"); + //app.manageConfiguration () ; // IRQ + irqFlag=1; } // ============================================================ WATCH DOG PAYLOAD void wakeUpPayloadCallback (void) { - printf ("*** MAIN *** wakeUpPayloadCallback \r\n"); - app.manageSensors () ; // read Sensors + //printf ("*** MAIN *** wakeUpPayloadCallback \r\n"); + //app.manageSensors () ; // read Sensors + payloadFlag=1; } // ============================================================ WATCH DOG GOODHEALTH void wakeUpGoodhealthCallback (void) { - printf ("*** MAIN *** wakeUpGoodhealthCallback ========================== \r\n"); - app.manageGoodhealth () ; // Prepare response + //printf ("*** MAIN *** wakeUpGoodhealthCallback ========================== \r\n"); + //app.manageGoodhealth () ; // Prepare response + goodHealthFlag=1; } // ============================================================ WATCH DOG SYNCHRO void wakeUpSynchroCallback (void) { - printf ("*** MAIN *** wakeUpSynchroCallback \r\n"); - app.manageSynchro () ; // Prepare response + //printf ("*** MAIN *** wakeUpSynchroCallback \r\n"); + //app.manageSynchro () ; // Prepare response + syncFlag=1; } // ============================================================ WATCH DOG LISTENING void wakeUpListeningCallback (void) { - printf ("*** MAIN *** wakeUpListeningCallback \r\n"); - app.manageListening () ; // Ecoute radio + //printf ("*** MAIN *** wakeUpListeningCallback \r\n"); + //app.manageListening () ; // Ecoute radio + listenFlag=1; } //*****************************************************************************