RAK5205 - Invalid LPP GPS payload

Hi,

I am using 2.0.0.6 firmware.
The RAK5205 is registered in TheThingsNetwork

I have setup my TTN application to decode the payload as LPP payload.
All the data sent by the RAK5205 are correctly decoded by TTN application excepted the GPS data.

After looking at the data, the data frame is too long compared to what is specified by LPP format.

By looking at the source code, I can see that you have added the speed at the end of the frame but it is not inline with the LPP format thus TTN is not able to decode the payload.

Unfortunately, since you only provide the project for Keil and I do not have it, I cannot correct the issue.

1 Like

Thank you! @kastayou
We’ll check and fix this issue ASAP and update the new version source code and firmware on Github.

Hello i have the same problem i have the keil full versions if you want pm you email and i will send it :slight_smile:

The payload containing the GPS data is sent on the port 2. This is not the one shown in your screenshot.

The following lines (232 & 233) in app.c should be commented out:

> app_data[11] = ((uint16_t)(speed*100)>>8)& 0xFF;; //high byte speed   
> app_data[12] = ((uint16_t)(speed*100))& 0xFF;; //low byte speed    

And the line 234 :

*size = 13;

should be modified to:

*size = 11;

I get gps load on TTN but not on cayene how i can fix that ?

Like I said in my initial message.
The message (payload) sent by the RAK5205 for the GPS data on port 2 is not compliant with LPP specification.
When cayenne receives the data, they cannot decode the payload so they cannot display the GPS position.
The other messages are OK so you can see the data on Cayenne.

To correct the issue, you need to :

  • Wait the bug fix and new firmware published by RAK
    or
  • Modify the source code yourself and recompile the source to create the new firmware by yourself. You can see on my previous messgae the modification to be done on the source

i am uploading keil to my drop box and i am sending it to you in 10 minutes :>please fix this for me also :> thanks

https://we.tl/t-I4L5OUjOaJ
here it is

Hi.
As @kastayou said, there is a problem with LPP format. Here are the fixed bins for RAK5205, based of 2.0.0.6 version. Download


Tested and working fine.
Pls note that this is not RAK official fix :smiley: . If you can, wait for @Fomi fix in git.

That’s great! @velev :handshake:

1 Like

Damn son, that’s my boy for ya :grin:

1 Like

Hi guys!
@Fomi, @Hobo it issue happened on 2.0.0.6 version, but in the latest Version 2.x.0.10 the release notes don’t show anything relative to this issue; anyone can confirm it solved?
By the way it firmware don’t have any change at few months, RakWireless is steal making support to this chip (rak811)?
thanks!

Hi @c.soria . The FW for RAK5205 is updated very often. Now it is divided by two parts. One is the bootloader - it includes all basic functionality (deep sleep, tx, rx, etc.) Second one is the Firmware. You ca find them here https://downloads.rakwireless.com/en/LoRa/WisTrio-LoRa-RAK5205/Firmware/
You can modify the firmware via RAK RUI. Please see here https://github.com/RAKWireless/Products_practice_based_on_RUI

Hi @velev, i try to update the latest firmware as you suggess, but ST link says that the size of firmware are bigger than the memory:

How can i resolve this situation?

Hi @c.soria,

ST Link is not the correct tool for RAK5205.
If you want to burn the bootloader for RAK5205, you can refer to this tutorial:
https://doc.rakwireless.com/rak5205-rak7205-wistrio-lora-tracker/installing-the-firmware

If you want to upgrade the firmware/Application for RAK5205, you can refer to this tutorial:
https://doc.rakwireless.com/rak5205-rak7205-wistrio-lora-tracker/burning-the-firmware-into-the-device

hi @Fomi, i have the same situation.
I followed this tutorial:
https://doc.rakwireless.com/rak5205-rak7205-wistrio-lora-tracker/installing-the-firmware
but it doensn’t appear the link for download the correct firmware of rak5205, so i downloaded the firmware indicated by @velev in this link: RAK5205 - Invalid LPP GPS payload
So i tried to download the firmware “RUI_RAK811_V3.0.0.12.H.T_Release.bin” into stm32 microcontroller, but this not possible:

09:49:46 : Serial Port COM6 is successfully opened. 09:49:46 : Port configuration: parity = even, baudrate = 115200, data-bit = 8, stop-bit = 1.0, flow-control = off 09:49:47 : Timeout error occured while waiting for acknowledgement. 09:49:47 : Activating device: OK 09:49:47 : Chip ID: 0x429 09:49:47 : BootLoader protocol version: 3.1 09:49:47 : Response received from device: NACK 09:49:47 : Error: Number of bytes to be be read at address: 0x1FF8004C not acknowledged! 09:49:48 : UPLOADING OPTION BYTES DATA ... 09:49:48 : Bank : 0x00 09:49:48 : Address : 0x1ff80000 09:49:48 : Size : 24 Bytes 09:49:49 : UPLOADING ... 09:49:49 : Size : 1024 Bytes 09:49:49 : Address : 0x8000000 09:49:49 : Read progress: 09:49:50 : Data read successfully 09:49:50 : Time elapsed during the read operation is: 00:00:01.143 09:50:00 : Erase all flash sectors ... 09:50:02 : Flash page/sector erase command correctly executed.Note: if flash sector is protected, it will not be erased. 09:50:03 : UPLOADING ... 09:50:03 : Size : 1024 Bytes 09:50:03 : Address : 0x8000000 09:50:03 : Read progress: 09:50:04 : Data read successfully 09:50:04 : Time elapsed during the read operation is: 00:00:01.143 09:50:40 : Read File: D:\Descargas\RUI_RAK811_V3.0.0.12.H.T(EU868-US915-AU915-KR920-IN865)\RUI_RAK811_V3.0.0.12.H.T_Release.bin 09:50:40 : Number of segments: 1 09:50:40 : segment[0]: address= 0x0, size= 0x20020 09:50:49 : Memory Programming ... 09:50:49 : Opening and parsing file: RUI_RAK811_V3.0.0.12.H.T_Release.bin 09:50:49 : File : RUI_RAK811_V3.0.0.12.H.T_Release.bin 09:50:49 : Size : 131104 Bytes 09:50:49 : Address : 0x08000000 09:50:49 : Erasing memory corresponding to segment 0: 09:50:49 : Error: Operation exceeds memory limits 09:50:49 : Error: failed to erase memory

plese see the see the memory size of the firmware: 131104 Bytes (131Kb), intead of 128Kb of stm32 memory. How can i resolve this?

Hi @c.soria
“ STM32CubeProgrammer ” tool is special for updating bootloader.Then use RAK Upgrade Tool to upgrade the firmware.

Hi @leopold, i have some questions relatives to RUI:
1- i can´t access to the ssh session with my {verify_code:143188}; can you helpme to access?
2- How can I test my firmware in a project like keil uvision? I need to see some registers, data, or timers count with data with st-link debugger, ussing breakpoints; do you understand me?. Online compiler take so much time; can i have acccess to the rest of files to conpile rak811 or rak5205 in keil uvision?

Hi @c.soria
If you want to develop RAK811 module with Keil uvision ,you could refer to this project:https://github.com/RAKWireless/RAK811_LoRaNode