ENEL400
/
Aloha
Aloha implementation of LoRa technology
Fork of SX1276PingPong by
Aloha.h@15:f790f35839db, 2016-05-31 (annotated)
- Committer:
- rba90
- Date:
- Tue May 31 09:52:21 2016 +0000
- Revision:
- 15:f790f35839db
- Child:
- 16:c3c6b13c3c42
Initial prototype
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
rba90 | 15:f790f35839db | 1 | #ifndef ALOHA_H_ |
rba90 | 15:f790f35839db | 2 | #define ALOHA_H_ |
rba90 | 15:f790f35839db | 3 | |
rba90 | 15:f790f35839db | 4 | #include "mbed.h" |
rba90 | 15:f790f35839db | 5 | |
rba90 | 15:f790f35839db | 6 | #define ALOHA_MAX_ATTEMPT 3 |
rba90 | 15:f790f35839db | 7 | |
rba90 | 15:f790f35839db | 8 | class Aloha |
rba90 | 15:f790f35839db | 9 | { |
rba90 | 15:f790f35839db | 10 | public: |
rba90 | 15:f790f35839db | 11 | typedef enum |
rba90 | 15:f790f35839db | 12 | { |
rba90 | 15:f790f35839db | 13 | IDLE = 0, |
rba90 | 15:f790f35839db | 14 | PENDING, |
rba90 | 15:f790f35839db | 15 | RETRANSMIT, |
rba90 | 15:f790f35839db | 16 | EXPIRED |
rba90 | 15:f790f35839db | 17 | } AlohaState_t; |
rba90 | 15:f790f35839db | 18 | |
rba90 | 15:f790f35839db | 19 | public: |
rba90 | 15:f790f35839db | 20 | Timeout AlohaAckTimeout; |
rba90 | 15:f790f35839db | 21 | uint32_t delay; |
rba90 | 15:f790f35839db | 22 | int attempts; |
rba90 | 15:f790f35839db | 23 | |
rba90 | 15:f790f35839db | 24 | AlohaState_t state; |
rba90 | 15:f790f35839db | 25 | |
rba90 | 15:f790f35839db | 26 | public: |
rba90 | 15:f790f35839db | 27 | Aloha() |
rba90 | 15:f790f35839db | 28 | { |
rba90 | 15:f790f35839db | 29 | attempts = 0; |
rba90 | 15:f790f35839db | 30 | state = Aloha::IDLE; |
rba90 | 15:f790f35839db | 31 | } |
rba90 | 15:f790f35839db | 32 | ~Aloha() |
rba90 | 15:f790f35839db | 33 | { |
rba90 | 15:f790f35839db | 34 | |
rba90 | 15:f790f35839db | 35 | } |
rba90 | 15:f790f35839db | 36 | }; |
rba90 | 15:f790f35839db | 37 | |
rba90 | 15:f790f35839db | 38 | #endif |