Lora-net/LoRaMac-node

Errata 2.3 current implementation may impact TX configuration

Opened this issue · 0 comments

In regard to "2.3 Receiver Spurious Reception of a LoRa Signal", it is supposed to only apply to SX1276/77/78 receiver. Not to the transmitter.

When an application uses "SX1276SetRx", it will modify the registers
(1) REG_LR_DETECTOPTIMIZE (0x31)
(2) REG_LR_IFFREQ2 (0x30)
(3) REG_LR_IFFREQ1 (0x2F)
(4) RegFr (0x06-0x08) (if application requires to use lower bandwidth)

However, the functions "SX1276Send" and "SX1276SetTx" do not modify the above registers. In particular, the point (4) that could lead the application to change the transmitter frequency (if using lower bandwidths).
For example when using ping pong example, RX function could change frequency, whereas TX one would not.
Currently, the only way to change frequency when in transmitter mode is to directly call "SX1276SetChannel".

(minor) This also implies that "SX1276SetChannel" become useless if "SX1276SetRx" is called just after.

Normally, the library prevents using lower bandwidths (<125k) but the fact that the code for ERRATA 2.3. has been maintained with lower bandwidths can be somewhat misleading.