 |
SX126x-Arduino
1.2.1
|
Go to the documentation of this file.
15 #ifndef __LORAMAC_BOARD_H__
16 #define __LORAMAC_BOARD_H__
27 #define LC(channelIndex) (uint16_t)(1 << (channelIndex - 1))
29 #if defined(USE_BAND_433)
34 #define LORA_MAX_NB_CHANNELS 16
39 #define LORAMAC_TX_MIN_DATARATE DR_0
44 #define LORAMAC_TX_MAX_DATARATE DR_7
49 #define LORAMAC_RX_MIN_DATARATE DR_0
54 #define LORAMAC_RX_MAX_DATARATE DR_7
59 #define LORAMAC_DEFAULT_DATARATE DR_0
64 #define LORAMAC_MIN_RX1_DR_OFFSET 0
69 #define LORAMAC_MAX_RX1_DR_OFFSET 5
74 #define LORAMAC_MIN_TX_POWER TX_POWER_M5_DBM
79 #define LORAMAC_MAX_TX_POWER TX_POWER_10_DBM
84 #define LORAMAC_DEFAULT_TX_POWER TX_POWER_10_DBM
89 #define TX_POWER_10_DBM 0
90 #define TX_POWER_07_DBM 1
91 #define TX_POWER_04_DBM 2
92 #define TX_POWER_01_DBM 3
93 #define TX_POWER_M2_DBM 4
94 #define TX_POWER_M5_DBM 5
99 #define DR_0 0 // SF12 - BW125
100 #define DR_1 1 // SF11 - BW125
101 #define DR_2 2 // SF10 - BW125
102 #define DR_3 3 // SF9 - BW125
103 #define DR_4 4 // SF8 - BW125
104 #define DR_5 5 // SF7 - BW125
105 #define DR_6 6 // SF7 - BW250
106 #define DR_7 7 // FSK
111 #if (LORAMAC_DEFAULT_DATARATE > DR_5)
112 #error "A default DR higher than DR_5 may lead to connectivity loss."
119 #define RX_WND_2_CHANNEL \
127 #define LORA_MAX_NB_BANDS 1
132 100, TX_POWER_10_DBM, 0, 0 \
141 433175000, {((DR_5 << 4) | DR_0)}, 0 \
145 433375000, {((DR_5 << 4) | DR_0)}, 0 \
149 433575000, {((DR_5 << 4) | DR_0)}, 0 \
155 #define JOIN_CHANNELS (uint16_t)(LC(1) | LC(2) | LC(3))
157 #elif defined(USE_BAND_470)
162 #define LORA_MAX_NB_CHANNELS 96
167 #define LORAMAC_TX_MIN_DATARATE DR_0
172 #define LORAMAC_TX_MAX_DATARATE DR_5
177 #define LORAMAC_RX_MIN_DATARATE DR_0
182 #define LORAMAC_RX_MAX_DATARATE DR_5
187 #define LORAMAC_DEFAULT_DATARATE DR_0
192 #define LORAMAC_MIN_RX1_DR_OFFSET 0
197 #define LORAMAC_MAX_RX1_DR_OFFSET 3
202 #define LORAMAC_MIN_TX_POWER TX_POWER_2_DBM
207 #define LORAMAC_MAX_TX_POWER TX_POWER_17_DBM
212 #define LORAMAC_DEFAULT_TX_POWER TX_POWER_14_DBM
217 #define TX_POWER_17_DBM 0
218 #define TX_POWER_16_DBM 1
219 #define TX_POWER_14_DBM 2
220 #define TX_POWER_12_DBM 3
221 #define TX_POWER_10_DBM 4
222 #define TX_POWER_7_DBM 5
223 #define TX_POWER_5_DBM 6
224 #define TX_POWER_2_DBM 7
229 #define DR_0 0 // SF12 - BW125 |
230 #define DR_1 1 // SF11 - BW125 |
231 #define DR_2 2 // SF10 - BW125 |
232 #define DR_3 3 // SF9 - BW125 |
233 #define DR_4 4 // SF8 - BW125 |
234 #define DR_5 5 // SF7 - BW125 |
240 #define RX_WND_2_CHANNEL \
248 #define LORA_MAX_NB_BANDS 1
253 1, TX_POWER_17_DBM, 0, 0 \
256 #elif defined(USE_BAND_780)
261 #define LORA_MAX_NB_CHANNELS 16
266 #define LORAMAC_TX_MIN_DATARATE DR_0
271 #define LORAMAC_TX_MAX_DATARATE DR_7
276 #define LORAMAC_RX_MIN_DATARATE DR_0
281 #define LORAMAC_RX_MAX_DATARATE DR_7
286 #define LORAMAC_DEFAULT_DATARATE DR_0
291 #define LORAMAC_MIN_RX1_DR_OFFSET 0
296 #define LORAMAC_MAX_RX1_DR_OFFSET 5
301 #define LORAMAC_MIN_TX_POWER TX_POWER_M5_DBM
306 #define LORAMAC_MAX_TX_POWER TX_POWER_10_DBM
311 #define LORAMAC_DEFAULT_TX_POWER TX_POWER_10_DBM
316 #define TX_POWER_10_DBM 0
317 #define TX_POWER_07_DBM 1
318 #define TX_POWER_04_DBM 2
319 #define TX_POWER_01_DBM 3
320 #define TX_POWER_M2_DBM 4
321 #define TX_POWER_M5_DBM 5
326 #define DR_0 0 // SF12 - BW125
327 #define DR_1 1 // SF11 - BW125
328 #define DR_2 2 // SF10 - BW125
329 #define DR_3 3 // SF9 - BW125
330 #define DR_4 4 // SF8 - BW125
331 #define DR_5 5 // SF7 - BW125
332 #define DR_6 6 // SF7 - BW250
333 #define DR_7 7 // FSK
338 #if (LORAMAC_DEFAULT_DATARATE > DR_5)
339 #error "A default DR higher than DR_5 may lead to connectivity loss."
346 #define RX_WND_2_CHANNEL \
354 #define LORA_MAX_NB_BANDS 1
359 100, TX_POWER_10_DBM, 0, 0 \
368 779500000, {((DR_5 << 4) | DR_0)}, 0 \
372 779700000, {((DR_5 << 4) | DR_0)}, 0 \
376 779900000, {((DR_5 << 4) | DR_0)}, 0 \
382 #define JOIN_CHANNELS (uint16_t)(LC(1) | LC(2) | LC(3))
384 #elif defined(USE_BAND_868)
389 #define LORA_MAX_NB_CHANNELS 16
394 #define LORAMAC_TX_MIN_DATARATE DR_0
399 #define LORAMAC_TX_MAX_DATARATE DR_7
404 #define LORAMAC_RX_MIN_DATARATE DR_0
409 #define LORAMAC_RX_MAX_DATARATE DR_7
414 #define LORAMAC_DEFAULT_DATARATE DR_0
419 #define LORAMAC_MIN_RX1_DR_OFFSET 0
424 #define LORAMAC_MAX_RX1_DR_OFFSET 5
429 #define LORAMAC_MIN_TX_POWER TX_POWER_02_DBM
434 #define LORAMAC_MAX_TX_POWER TX_POWER_20_DBM
439 #define LORAMAC_DEFAULT_TX_POWER TX_POWER_14_DBM
444 #define TX_POWER_20_DBM 0
445 #define TX_POWER_14_DBM 1
446 #define TX_POWER_11_DBM 2
447 #define TX_POWER_08_DBM 3
448 #define TX_POWER_05_DBM 4
449 #define TX_POWER_02_DBM 5
454 #define DR_0 0 // SF12 - BW125
455 #define DR_1 1 // SF11 - BW125
456 #define DR_2 2 // SF10 - BW125
457 #define DR_3 3 // SF9 - BW125
458 #define DR_4 4 // SF8 - BW125
459 #define DR_5 5 // SF7 - BW125
460 #define DR_6 6 // SF7 - BW250
461 #define DR_7 7 // FSK
466 #if (LORAMAC_DEFAULT_DATARATE > DR_5)
467 #error "A default DR higher than DR_5 may lead to connectivity loss."
474 #define RX_WND_2_CHANNEL \
482 #define LORA_MAX_NB_BANDS 5
499 100, TX_POWER_14_DBM, 0, 0 \
503 100, TX_POWER_14_DBM, 0, 0 \
507 1000, TX_POWER_14_DBM, 0, 0 \
511 10, TX_POWER_14_DBM, 0, 0 \
515 100, TX_POWER_14_DBM, 0, 0 \
524 868100000, {((DR_5 << 4) | DR_0)}, 1 \
528 868300000, {((DR_5 << 4) | DR_0)}, 1 \
532 868500000, {((DR_5 << 4) | DR_0)}, 1 \
538 #define JOIN_CHANNELS (uint16_t)(LC(1) | LC(2) | LC(3))
540 #elif defined(USE_BAND_915) || defined(USE_BAND_915_HYBRID)
545 #define LORA_MAX_NB_CHANNELS 72
550 #define LORAMAC_TX_MIN_DATARATE DR_0
555 #define LORAMAC_TX_MAX_DATARATE DR_4
560 #define LORAMAC_RX_MIN_DATARATE DR_8
565 #define LORAMAC_RX_MAX_DATARATE DR_13
570 #define LORAMAC_DEFAULT_DATARATE DR_0
575 #define LORAMAC_MIN_RX1_DR_OFFSET 0
580 #define LORAMAC_MAX_RX1_DR_OFFSET 3
585 #define LORAMAC_MIN_TX_POWER TX_POWER_10_DBM
590 #define LORAMAC_MAX_TX_POWER TX_POWER_30_DBM
595 #define LORAMAC_DEFAULT_TX_POWER TX_POWER_20_DBM
600 #define TX_POWER_30_DBM 0
601 #define TX_POWER_28_DBM 1
602 #define TX_POWER_26_DBM 2
603 #define TX_POWER_24_DBM 3
604 #define TX_POWER_22_DBM 4
605 #define TX_POWER_20_DBM 5
606 #define TX_POWER_18_DBM 6
607 #define TX_POWER_16_DBM 7
608 #define TX_POWER_14_DBM 8
609 #define TX_POWER_12_DBM 9
610 #define TX_POWER_10_DBM 10
615 #define DR_0 0 // SF10 - BW125 |
616 #define DR_1 1 // SF9 - BW125 |
617 #define DR_2 2 // SF8 - BW125 +-> Up link
618 #define DR_3 3 // SF7 - BW125 |
619 #define DR_4 4 // SF8 - BW500 |
620 #define DR_5 5 // RFU
621 #define DR_6 6 // RFU
622 #define DR_7 7 // RFU
623 #define DR_8 8 // SF12 - BW500 |
624 #define DR_9 9 // SF11 - BW500 |
625 #define DR_10 10 // SF10 - BW500 |
626 #define DR_11 11 // SF9 - BW500 |
627 #define DR_12 12 // SF8 - BW500 +-> Down link
628 #define DR_13 13 // SF7 - BW500 |
629 #define DR_14 14 // RFU |
630 #define DR_15 15 // RFU |
636 #define RX_WND_2_CHANNEL \
644 #define LORA_MAX_NB_BANDS 1
649 1, TX_POWER_20_DBM, 0, 0 \
676 #error "Please define a frequency band in the compiler options."
679 #endif // __LORAMAC_BOARD_H__