Help with custom board running deprecated IBM LMIC

Hello all,

This is my first time here and kind of lost, on where I can get help from so I thought to try my luck here. I appreciate that this forum seems to be aimed at Arduino LMIC but hoping that someone might be able to give an insight or point me in the right direction how on how to solve my problem.

As already mention I have a custom board that has STM32F405RG interfaced to a Semtech SX1276 board over SPI.

So far my LORA boards is able to join my TTN gateway. I can see two messages being sent the first message sent is the EV_JOINING to which I get the reply EV_JOINED from the gateway. The second message sent is a single byte containing the SNR reading as shown in the transmit example of the IBM V1.X documentation.

Unless I am mistaken I was expecting that the transmit example (4.3 Example 3: transmit) would be periodically sending the SNR reading to the gateway over a predefined time with each new SNR reading sent after receiving the TXDONE for the previous message which should somehow be invoked on receipt of EV_TXCOMPLETE event.

I don’t get the EV_TXCOMPLETE event unless I schedule some downlink message on the gateway that is the only time I get to see EV_TXCOMPLETE been log by the serial monitor.

Has anyone been able to use the IBM LMIC transmit example successfully meaning with this example continously sending messages to gateway and seeing the EV_TXCOMPLETE event. If so I would be happy to know what I need to change to make this work on my own board.

Unfortunately as a new person I am not allowed to upload the IBM-LMIC document that I am referring to in my message but I have put a link here for reference LMIC-V1.6

Many thanks in advance.

NB - I am using the IBM-LMIC simply because I think that at least 85% is working so don’t really want to start porting the Arduino LMIC to my board unless someone can confirm that using the origianal IBM-LMIC is a complete waster of time.

You don’t mention what region you are using. That’s kind of critical. If using EU, it might work. If using US, probably not. Any other region, definitely not (I added them).

In addition, there are a number of problems with “modern” LoRaWAN, having to do with network downlinks and MAC command parsing. That was substantially rewritten, and a lot of those changes are important when working with US networks.

However, there is nothing arduino-specific in the src/lmic directory. If you just updated all the files in the IBM LMIC with the corresponding files in src/lmic, it should work fine. (The hal is Arduino-specific, but it’s in src/hal.)

Regarding your specific questions about the IBM LMIC, I don’t recognize the symptoms as something I’ve seen. Could be a HAL problem. I’ve never tried their examples.