Hello,
i have old WisNode board with STM32L151CB (not STM32L151CB-A)
Flash size 128K but RAM only 16K (from 20000000 to 20004000)
So RUI_RAK811_V3.0.0.3.H.bin can’t start because stack pointer set to 20008000.
Also SysTick timer not disabled on jump from bootloader to application.
Can RAK developer publish source codes so i can change for my strange RAK811 ?
P.S. If i change 20008000 to 20004000 firmware works.
This is a monster thread.
I have had limited success with the 811 breakout, the wisnode and now the 5205. I am trying to move to the Arduino core in PlatformIO. I have been using ESP32s with no issues, but the RAK stuff is putting up a fight. Are any of you using OSX and able to push code to the RAK devices from PIO? I have a micro usb using SLAB_UART as well as an ST-Link. If you have a working platformio.ini I would love to check it out.
Great to see RAK did finally release working set of code with Arduino support - works perfectly.
I did have to add LMIC_setClockError(MAX_CLOCK_ERROR * 1 / 100); //Relax RX timing window to sort receive and join issue.
I know its an old board but it did annoy me that we could never get past the old os_init() crashes.
Obviously a lot of code has changed since its launch so I’m unsure if its the Arduino board support, lmic updates or minor main.ino code changes from RAK that has fixed the old issue.
My setup is VS Code, PlatformIO 5.0, all latest libraries out of the box - all working with OTAA
Did that 1% work without also settingLMIC_ENABLE_arbitrary_clock_error in the library’s Arduino/libraries/MCCI_LoRaWAN_LMIC_library/project_config/lmic_project_config.h file? (MCCI LMIC may have set that correction to 0.4% instead.)
Not tested much more at the moment, I wanted to backtrack on my code and find what they had changed (I suspect its the board support) but in the end I jumped to their sample code and needed to add LMIC_setClockError as the join was hanging, I’ve not had time to do any more as I was not expecting any working code.
Yes it did work basic tests, join, uplinks and a few ack downlinks too - all fine, did not use LMIC_ENABLE_arbitrary_clock_error
Without any code changes the first join attempt can be very intermittent but second then works.
Yes if you set LMIC_ENABLE_arbitrary_clock_error 1 and add the LMIC_setClockError code then this seems to fix the matter, I’ve test downlinks a number of times and all work fine so far.