ADR, mismatch between reported SFs
Tagged: ADR;mhdr
- This topic has 2 replies, 2 voices, and was last updated 7 years, 5 months ago by
Jaco Marais.
-
AuthorPosts
-
October 11, 2017 at 10:39 am #21159
Jaco Marais
ParticipantGood afternoon,
I’m noticing a strange mismatch between the used SF reported by an ADR enabled node and the gateway receiving the packet. Let me explain:
My node starts up as follows:
[INFO] version —————— 3.0.0-mbed144
[INFO] device ID/EUI ———— 008000000000a658
[INFO] default channel plan —– EU868
[INFO] current channel plan —– EU868
[INFO] public network ———– off
[INFO] =========================
[INFO] credentials configuration
[INFO] =========================
[INFO] device class ————- A
[INFO] network join mode ——– OTA
[INFO] network name ————- multitech123
[INFO] network phrase ———– multitech123
[INFO] network EUI ————– efefefefefefefef
[INFO] network KEY ————– efefefefefefefefefefefefefefefef
[INFO] ========================
[INFO] communication parameters
[INFO] ========================
[INFO] acks ——————— off, 0 attempts
[INFO] TX datarate ————– DR3
[INFO] TX power —————– 27 dBm
[INFO] antenna gain ————- 3 dBm
[INFO] LBT ———————- offAfter starting up (ADR is disabled with dot->setAdr(false);), the node will regularly send packets to the gateway. The node reports before transmitting what data rate is being used (dot->getTxDataRate()). The node reports that Data rate 3 (SF9BW125) is being used.
The gateway reports the following and also shows SF9BW125 is being used:
topic: “lora/00-80-00-00-00-00-a6-58/up”
payload: object
ack: false
adr: false
appeui: “2e-fe-45-42-16-71-8b-6f”
chan: 2
cls: 0
codr: “4/5”
data: “9kbBsoc=”
datr: “SF9BW125”
deveui: “00-80-00-00-00-00-a6-58”
freq: “868.5”
lsnr: 7
mhdr: “4001000000010d00”
modu: “LORA”
opts: “02”
port: 1
rfch: 0
rssi: -59
seqn: 13
size: 8
timestamp: “2017-10-11T15:10:49.901864Z”
tmst: 3339286308When after a while I enable ADR (dot->setAdr(true)) the gateway now shows the following:
topic: “lora/00-80-00-00-00-00-a6-58/up”
payload: object
ack: false
adr: true
appeui: “2e-fe-45-42-16-71-8b-6f”
chan: 6
cls: 0
codr: “4/5”
data: “NmhU7l8=”
datr: “SF12BW125”
deveui: “00-80-00-00-00-00-a6-58”
freq: “867.7”
lsnr: 10
mhdr: “4001000000831600”
modu: “LORA”
opts: “030702”
port: 1
rfch: 1
rssi: -59
seqn: 22
size: 8
timestamp: “2017-10-11T15:19:07.225536Z”
tmst: 3836591972The “mhdr” shows that ADR is now enabled, and “datr” has jumped from SF9 to SF12. However, dot->getTxDataRate() keeps on saying the used SF is the old value (SF9BW125).
Any ideas why these two don’t match? I’m not sure which value to trust.
October 11, 2017 at 11:38 am #21160Jason Reiss
KeymastergetTxDataRate() is the one stored in configuration in NVM
Check getSessionDatarate() for the datarate in use.
October 12, 2017 at 9:00 am #21163Jaco Marais
ParticipantThat was my mistake, thank you for your assistance!
-
AuthorPosts
- You must be logged in to reply to this topic.