Slave Implementation of WANOT Slave
Dependencies: SX1276Lib mbed-src
WANOT.h@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 "mbed.h" |
semsem | 0:80ebf9b1dd4f | 2 | #include "sx1276-hal.h" |
semsem | 0:80ebf9b1dd4f | 3 | #include "debug.h" |
semsem | 0:80ebf9b1dd4f | 4 | #include "radio.h" |
semsem | 0:80ebf9b1dd4f | 5 | #include "Serial.h" |
semsem | 0:80ebf9b1dd4f | 6 | #include "Timeout.h" |
semsem | 0:80ebf9b1dd4f | 7 | |
semsem | 0:80ebf9b1dd4f | 8 | #include "SuperSlot.h" |
semsem | 0:80ebf9b1dd4f | 9 | |
semsem | 0:80ebf9b1dd4f | 10 | #include "SlaveSetUp.h" |
semsem | 0:80ebf9b1dd4f | 11 | #include "SlaveBeacon.h" |
semsem | 0:80ebf9b1dd4f | 12 | #include "SlaveTDMA.h" |
semsem | 0:80ebf9b1dd4f | 13 | |
semsem | 0:80ebf9b1dd4f | 14 | #include"GPS.h" |
semsem | 0:80ebf9b1dd4f | 15 | |
semsem | 0:80ebf9b1dd4f | 16 | /* |
semsem | 0:80ebf9b1dd4f | 17 | * LoRa Default Params |
semsem | 0:80ebf9b1dd4f | 18 | */ |
semsem | 0:80ebf9b1dd4f | 19 | |
semsem | 0:80ebf9b1dd4f | 20 | #define TX_OUTPUT_POWER 10 // 14 dBm |
semsem | 0:80ebf9b1dd4f | 21 | |
semsem | 0:80ebf9b1dd4f | 22 | #define LORA_CODINGRATE 1 // [1: 4/5] |
semsem | 0:80ebf9b1dd4f | 23 | #define LORA_PREAMBLE_LENGTH 8 // Same for Tx and Rx |
semsem | 0:80ebf9b1dd4f | 24 | #define LORA_SYMBOL_TIMEOUT 5 // Symbols |
semsem | 0:80ebf9b1dd4f | 25 | #define LORA_FIX_LENGTH_PAYLOAD_ON false |
semsem | 0:80ebf9b1dd4f | 26 | #define LORA_FHSS_ENABLED false |
semsem | 0:80ebf9b1dd4f | 27 | #define LORA_NB_SYMB_HOP 4 |
semsem | 0:80ebf9b1dd4f | 28 | #define LORA_IQ_INVERSION_ON false |
semsem | 0:80ebf9b1dd4f | 29 | |
semsem | 0:80ebf9b1dd4f | 30 | #define NUMBER_OF_CHANNELS 8 |
semsem | 0:80ebf9b1dd4f | 31 | #define RSSI_THRESHOLD -90 |
semsem | 0:80ebf9b1dd4f | 32 | |
semsem | 0:80ebf9b1dd4f | 33 | /* |
semsem | 0:80ebf9b1dd4f | 34 | * Set Up Phase Params |
semsem | 0:80ebf9b1dd4f | 35 | */ |
semsem | 0:80ebf9b1dd4f | 36 | |
semsem | 0:80ebf9b1dd4f | 37 | #define SET_UP_LORA_SPREADING_FACTOR 7 // [SF7..SF12] |
semsem | 0:80ebf9b1dd4f | 38 | #define SET_UP_LORA_CRC_ENABLED false |
semsem | 0:80ebf9b1dd4f | 39 | #define SET_UP_LORA_BANDWIDTH 0 // [0: 125 kHz, |
semsem | 0:80ebf9b1dd4f | 40 | #define SET_UP_FREQUENCY LORA_Channels[0] |
semsem | 0:80ebf9b1dd4f | 41 | #define MIN_BACK_OFF 1000 //uS |
semsem | 0:80ebf9b1dd4f | 42 | #define RANDOM_BACK_OFF_WINDOW 10000 //uS |
semsem | 0:80ebf9b1dd4f | 43 | #define BEACON_TIMEOUT_VALUE 100000 // in us |
semsem | 0:80ebf9b1dd4f | 44 | #define TDMA_TIME_OUT_VALUE 100000 |
semsem | 0:80ebf9b1dd4f | 45 | |
semsem | 0:80ebf9b1dd4f | 46 | |
semsem | 0:80ebf9b1dd4f | 47 | /* |
semsem | 0:80ebf9b1dd4f | 48 | * Buffer Sizes |
semsem | 0:80ebf9b1dd4f | 49 | */ |
semsem | 0:80ebf9b1dd4f | 50 | |
semsem | 0:80ebf9b1dd4f | 51 | #define RX_TIMEOUT_VALUE 100000 // in us |
semsem | 0:80ebf9b1dd4f | 52 | #define BUFFER_SIZE 70 // Define the payload size here |
semsem | 0:80ebf9b1dd4f | 53 | #define BUFFER_SIZE_RTS 2 |
semsem | 0:80ebf9b1dd4f | 54 | #define BUFFER_SIZE_CTS 2 |
semsem | 0:80ebf9b1dd4f | 55 | #define BUFFER_SIZE_JoinReq 6 |
semsem | 0:80ebf9b1dd4f | 56 | #define BUFFER_SIZE_JoinAccept 14 |
semsem | 0:80ebf9b1dd4f | 57 | #define BUFFER_SIZE_Ack 2 |
semsem | 0:80ebf9b1dd4f | 58 | #define BUFFER_SIZE_Beacon 1 |
semsem | 0:80ebf9b1dd4f | 59 | #define BUFFER_SIZE_TDMA_DATA 50 |
semsem | 0:80ebf9b1dd4f | 60 | |
semsem | 0:80ebf9b1dd4f | 61 | /* |
semsem | 0:80ebf9b1dd4f | 62 | * Beacons Synch Words |
semsem | 0:80ebf9b1dd4f | 63 | */ |
semsem | 0:80ebf9b1dd4f | 64 | |
semsem | 0:80ebf9b1dd4f | 65 | #define SETUP_BEACON_SYNCWORD 0x74 |
semsem | 0:80ebf9b1dd4f | 66 | #define BEACON_SYNCWORD 0x74 |
semsem | 0:80ebf9b1dd4f | 67 | |
semsem | 0:80ebf9b1dd4f | 68 | /* |
semsem | 0:80ebf9b1dd4f | 69 | * SuperSlot Phases Intervals |
semsem | 0:80ebf9b1dd4f | 70 | */ |
semsem | 0:80ebf9b1dd4f | 71 | |
semsem | 0:80ebf9b1dd4f | 72 | #define BEACON_SET_UP_INTERVAL 1.2 |
semsem | 0:80ebf9b1dd4f | 73 | #define SET_UP_INTERVAL 19.8 |
semsem | 0:80ebf9b1dd4f | 74 | #define TDMA_INTERVAL 39 |