Lora-E5 PinG-Pong example

Hi all,

I’m working with Lora-E5 device but for now I’d like to have the Ping Pong example (simple Lora not LoraWan just Lora com between 2 device), but I can’t find a suitable example and I can’t adapt the STM32 base project to Lora-E5, is anyone have this example for Lora-E5?

1 Like

Hi Simon1
I wish to do the same, use the onboard stm32, but cant find any examples (well, that works). Did you have any luck?

Many Thanks
Scott

1 Like

Hello,

I have the same problem…

When I try to replace LoRaWAN layer by a ping pong application, SUBGHZSPI_Transmit function return HAL_SUBGHZ_ERROR_TIMEOUT.

I tried to use the hardware configuration of this repo (creating a new project from the .ioc file) : GitHub - danak6jq/Seeed-LoRa-E5: LoRaWAN end node built from scratch using CubeMX for WLE5x in the LoRa-E5
But in this case, radio events never occured (OnTxDone onRxDone…).

Did you find a solution ?

Thanks

Hi,

I made a simple LoRa PingPong example between two Lora e5 mini
https://github.com/johflo/Seeed-Lora-e5.
It’s based on danak6jq (HW configuration of the Lora e5 mini, link above) and of the PingPong example from STM https://github.com/STMicroelectronics/STM32CubeWL/tree/main/Projects/NUCLEO-WL55JC/Applications/SubGHz_Phy/SubGHz_Phy_PingPong

Best Regards,
Johannes

Hello im using wio e5 mini board i just used your code by flashing one board with isMaster = true and another false it gave PING PONG
APPLICATION_VERSION: V1.3.0
MW_RADIO_VERSION: V1.3.0

LORA_MODULATION
LORA_BW=125 kHz
LORA_SF=7
248s943:rand=0
and stopped nothing printing further.

Hi,

you dont need to set Master.
Just flash on two boards. I tested it last week and it runs as it should.

is there any hex file that i can flash?. i tried to flash without any changes i had same result.
I even erased all memory and tried to flash even that did not work.
struggling a lot with this project(boards).

At the moment I don’t have access to the system. Probably I can send you on Monday the hex file.

Seeed-LoRa-E5_PingPong.zip (43,4 KB)

Hi Johannes,
I just found your ping pong example - exactly what I was looking for, so thanks for making it public!

However, I can’t get it to work (I think), maybe because I am using E5-LE, not just ‘E5’ devices.
I have one E5-LE mini and one E5-LE.
The E5-LE starts up normally, printing something along the lines of

APPLICATION_VERSION: V1.3.0
MW_RADIO_VERSION:    V1.3.0
---------------
LORA_MODULATION
LORA_BW=125 kHz
LORA_SF=7
0s026:rand=750

But then nothing happens. If I put a break in main, it arrives there one time, then, when I press go again, it goes into some low power sleep, and never comes back.
May I ask if this is how it is supposed to work? I.e. I’m thinking, maybe it is sleeping, waiting for another board? But I am not sure it even sent something itself, before going into sleep. Not in an obvious way, anyway?

Hope you may be able to enlighten me, some time when the Christmas food has been processed :slight_smile:

Regards,
Micael

Hi,

At the moment I’m in vacation and far away from my notebook.
I will look at the code at the beginning of the year.

Regards Johannes

Hi

Set the breakpoint in the subghz_phy_app.c in the line Radio.Rx(RX_TIMEOUT_VALUE + random_delay); .

Then check where it could be the problem.

Johannes

I have stepped the code, and I think that there’s some timer missing, nothing ever times out. Afaict, there’s no error happening while setting up the RxTimeoutTimer, it just never times out. So therefore, nothing ever happens, it simply goes into power save, waiting for an interrupt than never happens (because none of the nodes ever gets to send anything).

I am using Cube 1.17.0, if this is relevant. I’ll keep on debugging…