lnlp / LMIC-node

LMIC-node | One example to rule them all. LMIC-node is an example LoRaWAN application for a node that can be used with The Things Network. It demonstrates how to send uplink messages, how to receive downlink messages, how to implement a downlink command and it provides useful status information. With LMIC-node it is easy to get a working node quickly up and running. LMIC-node supports many popular (LoRa) development boards out of the box. It uses the Arduino framework, the LMIC LoRaWAN library and PlatformIO.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Uplink not scheduled because TxRx pending

alexinthis opened this issue · comments

Hi,

I am trying to use this code on the Helium network and have made the lease amount of modifications possible to get this to work.

I am able to receive the first transmit and after that it just says: "UL not scheduled" on the OLED or "Uplink not scheduled because TxRx pending" in the serial output.

My hardware is a ttgo_lora32_v2, and I am in Australia so have "-D CFG_au915=1" uncommented. My keys must be ok as I am receiving Join and Accept messages plus the first data message.

If I had to guess the first send never completes correctly.
I would normally use TTN but there is no gateway near me and someone has one setup on Helium. I don't really have the budget to purchase a gateway for either.

Here is an output of my serial monitor with debugging on level 1

LMIC-node

Device-id: ttgo-lora32-v2
LMIC library: MCCI
Activation: OTAA
LMIC debug: 1
Interval: 60 seconds

RXMODE_RSSI
000000027652: Event: EV_JOINING
29586: engineUpdate, opmode=0x4
000000029648: Event: EV_TXSTART
31638: TXMODE, freq=917000000, len=23, SF=10, BW=125, CR=4/5, IH=0

000000031666: doWork job started
start single rx: now-rxtime: 2
367198: RXMODE_SINGLE, freq=923900000, SF=10, BW=500, CR=4/5, IH=0
000000372607: Event: EV_JOINED
Network Id: xxxxxx
Device Address: xxxxxx
Application Session Key: xxxxxxxx
Network Session Key: xxxxxxxx
375436: engineUpdate, opmode=0x800

000003781666: doWork job started
000003784801: Input data collected
COUNTER value: 1
000003785637: Packet queued
3787745: engineUpdate, opmode=0x808
000003787794: Event: EV_TXSTART
3789870: TXMODE, freq=917200000, len=15, SF=10, BW=125, CR=4/5, IH=0
start single rx: now-rxtime: 2
3872869: RXMODE_SINGLE, freq=924500000, SF=10, BW=500, CR=4/5, IH=0

000007531666: doWork job started
000007534801: Input data collected
COUNTER value: 2
000007534801: Uplink not scheduled because TxRx pending

000011281666: doWork job started
000011284801: Input data collected
COUNTER value: 3
000011284801: Uplink not scheduled because TxRx pending

For anyone reading this who has my same issue you do in fact need to solder the DIO1 pin to GPIO33. It's working after making this change.

This link has the pin mapping you'll need
LilyGO/TTGO-LORA32#3

Hi @alexinthis,

This link has the pin mapping you'll need
LilyGO/TTGO-LORA32

What you describe is already documented in LMIC-node's README.md and in the board's BSF file bsf_ttgo_lora32_v2.h. Even a link to pin-mapping diagrams is included. So, no need to point users elsewhere.

Much efforts have been put into making LMIC-node easy to use and work out of the box with all supported boards, but reading the documentation you will have to do yourself.

Better RTFM first. 😉