Frequency band: 902 Mhz to 928 Mhz
- 902.3 to 914.9 in steps of 200khz
- 903.0 to 914.2 in steps of 1.6Mhz
- 923.3 to 927.5 insteps of 600kHz
We will use Hybrid mode, with 8+1 channels per gateway. Because of this we need to limit the tx power.
- Upstream: max 21dBm (Hybrid mode, 125kHz)
- Downstream: max 26dBm (500kHz)
Not applicable. However, it’s still good to keep track of it, and limit it to say 10%, to prevent RX starvation on that gateway.
There is a dwell time limit of 400ms. This is taken care of by a maximum packet length for each SF abd BW setting (table 7.2.6 of R1 standard)
8+1 frequencies per SX1301. Band 1: channel 0-7 and 64, band 2: 8-15 and 65, Etc.
Pre-defined on the nodes because they need to transmit a join in the band the gateway is configured (there are no join frequencies).
We could use the ChMaskCntl field of the LinkADRReq to mask the channels we don’t need (later, when we implement MAC commands)
Which sub-band to use? We seem to be using 7 a lot, but there’s no science behind that. Sub-band 2 would be another good choice. Certainly not sub-bands 1 and 8.
Only initiate downstream if uplink frequency is > 902 and < 915 Mhz, and if the down_chan is an integer (do not round).
Downstream channel for upstream freq1 @ 125kHz:
down_chan = ((freq1-(902.3))/0.2) %% 8
Downstream channel for upstream freq1 @ 500kHz:
down_chan = ((freq1-(903.0))/1.6)
Convert to downstream frequency:
down_freq = 923.3 + (down_chan * 0.6)
DR Upstream -> DR Downstream
0 SF10BW125 – 10 SF10BW500
1 SF9BW125 – 11 SF9BW500
2 SF8BW125 – 12 SF8BW500
3 SF7BW125 – 13 SF7BW500
4 SF8BW500 – 13 SF7BW500
Upstream can only be DR 0 to 4, the reset below if just for reference.
8 SF12BW500 – 8 SF12BW500
9 SF11BW500 – 9 SF11BW500
10 SF10BW500 – 10 SF10BW500
11 SF9BW500 – 11 SF9BW500
12 SF8BW500 – 12 SF8BW500
13 SF7BW500 -13 SF7BW500
(yes, DR4 = DR12)
(reminder: investigate if we need to increase RX1DROffset due to hybrid mode power limitations 21/26).
freq = 923.3Mhz
datarate: DR8 SF12BW500
RX1DROffset: 0 (R1 default)
RX2 Data rate: 8 (R1 default)
Join Response CFList is not used. If present, it is ignored by the node. Better to not include it decrease message length!