Slave Implementation of WANOT Slave
Dependencies: SX1276Lib mbed-src
SuperSlot.cpp@0:80ebf9b1dd4f, 2016-05-23 (annotated)
- Committer:
- semsem
- Date:
- Mon May 23 22:28:07 2016 +0000
- Revision:
- 0:80ebf9b1dd4f
WANOT
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
semsem | 0:80ebf9b1dd4f | 1 | #include "WANOT.h" |
semsem | 0:80ebf9b1dd4f | 2 | |
semsem | 0:80ebf9b1dd4f | 3 | /* |
semsem | 0:80ebf9b1dd4f | 4 | * Global variables declarations |
semsem | 0:80ebf9b1dd4f | 5 | */ |
semsem | 0:80ebf9b1dd4f | 6 | |
semsem | 0:80ebf9b1dd4f | 7 | volatile SuperSlotStates SuperSlotState = SetUp_Beacon_Phase; |
semsem | 0:80ebf9b1dd4f | 8 | Timeout SwitchState; |
semsem | 0:80ebf9b1dd4f | 9 | |
semsem | 0:80ebf9b1dd4f | 10 | void SwitchState_Fn(void) |
semsem | 0:80ebf9b1dd4f | 11 | { |
semsem | 0:80ebf9b1dd4f | 12 | switch(SuperSlotState) { |
semsem | 0:80ebf9b1dd4f | 13 | case SetUp_Beacon_Phase: |
semsem | 0:80ebf9b1dd4f | 14 | debug("Switching to SetUp Phase State !!\n\r"); |
semsem | 0:80ebf9b1dd4f | 15 | SuperSlotState = SetUp_Phase; |
semsem | 0:80ebf9b1dd4f | 16 | SwitchState.attach(&SwitchState_Fn,SET_UP_INTERVAL); |
semsem | 0:80ebf9b1dd4f | 17 | break; |
semsem | 0:80ebf9b1dd4f | 18 | |
semsem | 0:80ebf9b1dd4f | 19 | case SetUp_Phase: |
semsem | 0:80ebf9b1dd4f | 20 | debug("Switching to TDMA Phase State !!\n\r"); |
semsem | 0:80ebf9b1dd4f | 21 | SuperSlotState = TDMA_Phase; |
semsem | 0:80ebf9b1dd4f | 22 | SwitchState.attach(&SwitchState_Fn,TDMA_INTERVAL); |
semsem | 0:80ebf9b1dd4f | 23 | break; |
semsem | 0:80ebf9b1dd4f | 24 | |
semsem | 0:80ebf9b1dd4f | 25 | case TDMA_Phase: |
semsem | 0:80ebf9b1dd4f | 26 | debug("SuperSlot States finished\n\r\n\r\n\r"); |
semsem | 0:80ebf9b1dd4f | 27 | debug("Switching to SetUp Beacon State !! \n\r"); |
semsem | 0:80ebf9b1dd4f | 28 | SuperSlotState = SetUp_Beacon_Phase; |
semsem | 0:80ebf9b1dd4f | 29 | SwitchState.attach(&SwitchState_Fn, BEACON_SET_UP_INTERVAL); |
semsem | 0:80ebf9b1dd4f | 30 | break; |
semsem | 0:80ebf9b1dd4f | 31 | |
semsem | 0:80ebf9b1dd4f | 32 | } |
semsem | 0:80ebf9b1dd4f | 33 | } |
semsem | 0:80ebf9b1dd4f | 34 | |
semsem | 0:80ebf9b1dd4f | 35 | void SuperSlotInit () |
semsem | 0:80ebf9b1dd4f | 36 | { |
semsem | 0:80ebf9b1dd4f | 37 | |
semsem | 0:80ebf9b1dd4f | 38 | debug("Switching to SetUp Beacon State !! \n\r"); |
semsem | 0:80ebf9b1dd4f | 39 | SuperSlotState = SetUp_Beacon_Phase; |
semsem | 0:80ebf9b1dd4f | 40 | SwitchState.attach(&SwitchState_Fn, BEACON_SET_UP_INTERVAL); |
semsem | 0:80ebf9b1dd4f | 41 | } |