cancel
Showing results for 
Search instead for 
Did you mean: 

SUBGHZSPI_Transmit return HAL_SUBGHZ_ERROR_TIMEOUT when using the LoRa-E5 board with a STM32WLE5

Hugo_VOLA
Associate II

Hello,

After prototyping with a Nucleo STM32WLJC, I start to use LoRa-E5 board from Seedstudio with a STM32WLE5 MCU.

I want to make a P2P communication, so I'm trying to make a ping pong project on this board.

I tried starting from seeds LoRaWan exemple, from ST pingpong exemple and also from this repo project and .ioc file(https://github.com/danak6jq/Seeed-LoRa-E5).

But It's not working...

After debuging I find out that in SUBGHZSPI_Transmit function, a timout error occured while waiting for TXE flag to be set.

I can't find any others exemples to compare the configuration...

Does anyone have a idea about whats happenning ? Or a tips that can make me move forward ?

Thanks

Hugo

19 REPLIES 19
Denis Krasutski
Associate III

Hi! Did you figureout? I have the same behavor.

Hi !

I'm not sure about what happened but I tried with another board and it works.

I tried also to change the LoRa E5 on the LoRa e5 mini and It also works.

I think that I make some misstake on my first board while trying to erase the IT firmware.

Hope it helps

Hugo

Aleksei Polyakov
Associate II

Any update anyone? I'm having similiar issue, timeout waiting for RXNE flag. The transceiver seems to be somehow off.

For me, it seems like I messed up the board while I first try to erase the IT firmware...

With a new board, I only connect the LoRa E5 mini to my stmink, I open STM32CubeProgreammer, click on connect and change OB of the read protection from BB to AA . Then I flash or debug my code using STM32Cube IDE.

Check this issue request on github : https://github.com/Seeed-Studio/LoRaWan-E5-Node/issues/10

The same firmware work on the new board but not on the older one that I make serverals change on the OB while discovering the board...

Today I still don't find how to make work my older board...

I have a custom project on a custom board in my case, but the problem seems totally same, SUBGHZSPI_Transmit returns timeout. I've broken several chips and feeling hesitant to flash another one.

After some googling, I suggest this could be radio being busted due to incorrect power supply handling. Turns out, there is a pitfall.

This might be worth reading: https://community.st.com/s/question/0D53W000011WcYkSAK/smps-danger-the-device-may-be-destroyed

Thank you for reply, second device works fine! Firtst one stuck on line:

} while (READ_BIT(SUBGHZSPI->SR, SPI_SR_TXE) != (SPI_SR_TXE));} 

Looks like SUBGHZSPI doesn't have domain clock but it enabled.

I have two devices that are stuck on this line as well, did you ever solve this on the first device?

One of the problems here is that the loop is bound by iterations, not time.

The release version can probably loop quickly, needs to be bounded by TIME, or have a delay so iterations have some expected elapsed time.

Would suggest insuring that SysTick is working and use that, or find TIM you can clock at 1 MHz or so.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..