RAK online compiler for you to compile your customized firmware based on RUI

@All

We will upgrade the RUI Compile Server at UTC time 2019-10-31 01:00-06:00 and do not use it during this time.

Hello, @Fomi,

I would also like to apply for the Online compiler

Name: Ernestas
Email: [email protected]
Modules used: RAK811, RAK5205
Waiting for delivery:

Hi @Ernestas,

I’ve just sent to you in email.

Hi Foami
Can you please give me access to the online compiler?
Name: SALAH HESSIEN
email: [email protected]
Products: RAK8212 RAK5010

Hi @salah,

I’ve just sent an email to you, please check it.

Hi @all,

We’ve updated the RAK online compiler and RUI SDK today so that it can be used more and more easily and robust.
Now, you can download the latest “Application” source code from Github:


and compile them with RUI SDK on RAK online compiler according to our new document:
https://doc.rakwireless.com/rak811-wisnode-lora-module/firmware-customizing
https://doc.rakwireless.com/rak5010-wistrio-nb-iot-tracker/firmware-customizing

The latest RUI APIs have been updated here:
https://doc.rakwireless.com/developer-tools/developer-tools/-

More information about RUI i will share in this topic continuously:


Please focus on it.

BTW, you can only use RAK online compiler through SSH now, and i know it is not easy. I’m sorry for that, but we’re building a beta web version compiler so that you can compile your own customized firmware on broswer.

In a word, RAK will do our best to supply better and better products and services for users/developers.
RAK sincerely hope that “RUI software platform” + “RAK IoT modules” can help you to create more and more amazing IoT products easily!
That’s what RAK want to do!

Hi Foami

May I please have access to the compiler thanks

Brian O’Neill

nziot.azure @ gmail.com

rak5205 rak7204 rak811 rak833

Dieter Radler
[email protected]
RAK5010
Want to build my own firmware.

Hi @Fomi,
Erlan Syzdykov
[email protected]
RAK 815
thanks!

Hi @Fomi

I’d like to start using RUI
Carlos
[email protected]
Using RAK5010.

Thanks !

Hi @cjs,

I’ve just sent an email to you, please check.

Hi Fomi,

I would like access to the RUI compiler please.
John Christini
[email protected]

Thanks!

Hi @John_NZ,

I’ve just sent an email to you, please check it.

Hi Fomi,
Received. Thank you very much!

Hi Fomi,

I have a RAK7205, which I think is basically the same at the RAK5205
I have used the online compiler to compile the standard example code from Git for the 5205.
When I try to upload the firmware, the STM32Vube programmer says that the program is too large.
Below is the log.

09:57:15 : File : stm_xx.bin
09:57:15 : Size : 131104 Bytes
09:57:15 : Address : 0x08000000
09:57:15 : Erasing memory corresponding to segment 0:
09:57:15 : Error: Operation exceeds memory limits
09:57:15 : Error: failed to erase memory

I have not changed any of the code. Any ideas?

Thanks,
John

According to the instructions, the bin file you wrote should use RAL LoRaButton Upgrade Tool v1.0.exe Tool to burn, stm32 is used to burn BootLoader.
Get_Start_with_RAK5205_WisTrio

Hi, yes thank you. That was the issue.
I reloaded the boot loader and then used the upgrade tool to upload the bin file and that has worked.

Hi,
I am adding some code to read the ds18b20 temperature sensors via one wire and I have a few questions about the RUI API.

  1. What is the pin number that is referred to in the RUI_GPIO_ST structure? If I want to use PA8 for example, what would be the pin number I use?

  2. The 1-Wire protocol requires the direction of the pin to be changed. Do I need to call rui_gpio_uninit() before calling init again?
    For example, is the following code ok?
    RUI_GPIO_ST port;
    port.pin = 9; // Not sure on this number, see above
    port.dir = RUI_GPIO_PIN_DIR_OUTPUT;
    port.pull = RUI_GPIO_PIN_NOPULL;
    // Do I need to uninit before another call to init?
    rui_gpio_init(&port);
    // Set the output high
    uint8_t status = 1;
    rui_gpio_rw(RUI_IF_WRITE, &port, &status);
    // Set the port to input and read the status
    port.dir = RUI_GPIO_DIR_INPUT;
    rui_gpio_init(&port);
    rui_gpio_rw(RUI_IF_READ, &port, &status);
    // status will now be input status of port?

Is the above correct?

Thanks in advance

Hi,@John_NZ
1.About RUI_GPIO_ST structure,its member pin_num means RAK811 module pin number.PLS refer to RAK811 module schematic diagram.
FYI:https://downloads.rakwireless.com/en/LoRa/RAK811/Hardware_Specification/
2.

It can be directly initialized before use without the need for uninit .
In fact, before you use GPIO, you can configure the structure to read or write directly, without even initializing it.

typedef struct {
uint32_t pin_num;
RUI_GPIO_PIN_DIR_ST dir;
RUI_GPIO_PIN_PULL_ST pull;
} RUI_GPIO_ST;
port.pin_num not port.pin

Hi,

Thank you for the previous answers.
I am compiling for the 811_H and I am now getting a link error, that rui_delay_us is undefined.
The documentation says that rui_delay_us is supported for the 811, any ideas on why it is not linking?

CC	gpio.c
CC	delay.c
CC	timer.c
CC	fifo.c
CC	i2c.c
CC	adc.c
AS	startup_stm32l151xba.s
AS	cmb_fault.s

_build/onewire.o: In function onewireInit': /root/tmp_vdb/rak10057/RUI_V2.0-master/RUI/build/..//Source/stm/STML151/application/onewire.c:35: undefined reference to rui_delay_us’
etc

Thanks in advance.
John