You do not need an internet connection to run applications, only compiling them for the system using the online compilation service. If you are using Windows to communicate with the modules then you can download the RM1xx firmware from the Laird site, create a folder named ‘compilers’ in the UwTerminalX folder and put the XComp_*.exe files in that folder, then you can compile applications for that firmware locally on your PC without an internet connection. The RM1xx itself does not require an internet connection.
The code you write (smartBASIC) is running on the BL620 (or BL600 if using the peripheral firmware), the RM1xx has 3 smartBASIC extension manuals on the documentation tab: LoRa functions (the functions you can use for the LoRa module), BLE Peripheral functions (the BLE functions you can use if using the peripheral firmware) and BLE Central functions (the BLE functions you can use if using the central firmware). In addition you can use any of the smartBASIC core functions (listed in another document) in any firmware.
The compilation and download process for RM1xx is the same as BL600, code your program, save it as a .txt or .sb file, open UwTerminalX and setup the connection to your RM1xx board then click connect, right click and select ‘XCompile + Load + Run’ and select your code - if you have the required XCompiler locally on your Windows system then it will use this to compile the application otherwise it will use the online compilation service - the code will then download to the module and once finished downloading the program will execute. If there is an error then you will get a popup error box describing what the problem is.
I see on the Laird blog that in May something is changing due to new EU directives.
What will be changing for the RM186 ? hardware/ firmware/ doc’s only ?
It’s been a while that I follow the topic, thanks for all infos ;-).
Now I’m trying to get my module in peripheral mode, but I cannot find the firmware, on laird’s support they said it’s on lairdtech and on Lairdtech i found nothing on the product’s page. So if somebody could be nice enough to upload it somewhere, or provide me with a working link, it would help me a lot :-).
BTW, If as said somewhere in this topic the chip is Nordic RF51822 it may be possible to upgrade using this method https://github.com/RIOT-OS/RIOT/wiki/Board:-yunjia-nrf51822 , using openOCD and a st-link (~10€ with a nucleo) instead of this expensive segger device. As far as I see in the RM1XX’s datasheet (p24), only SWDIOn,SWDCLK, VCC and GND are used on the connector. I’ll give it a try (( if I can get the hand on a firmware) and I keep you informed
The upgrade script and tools - namely nrfjprog - needs Segger it doesn’t work with OpenOCD (unless you’re willing to dig REALLY deep)
However it is possible to flash a Segger J-Link firmware onto $10 ST Nucleo board using this process https://www.segger.com/jlink-st-link.html and the script won’t know any better and flash away nicely - but of course you shouldn’t do this because it’s against the Segger license to use it with anything else other than ST boards.
In the comments it is mentioned you can connect arduino shields to the dev board. Not Arduino itself. That is possible by connecting RX and TX of an Arduino to TX/RX of the RM186, but the RM186 needs to be programmed in smartBASIC to communicate with the Arduino.
Checking the documentation the module does not seem to support ‘plain’ LoRa communication, just LoRaWAN. As a result it is not possible to communicate from one module directly to another.
Can we configure RM186 module placed on breadborad as Transmitter and the one placed on DVK as receiver, and establish point to point communication?
Simple UART communication ?
Can you please provide any help for P2P communication between the RM186 modules?
If p2p is not possible, can i know the reason?
That is what the documentation suggests. Feel free to read it yourself…
LoRa is a radio protocol only. LoRaWAN adds the network protocol. See this explanation. BTW, feel free to search the answers to these kind of basic questions yourself. It takes about 20 seconds with google.
Hi Jmarcellino,
I gave it a try, segger’s soft will eventually show an alert saying “you can only use this with ST devices” ;-), But it was a nice try. I’ll try to get back to openOCD for better or for worse.
Yep, actually the first call to nrfjprog for reading the “wormold” triggered the error :-(. Not that surprising but disappointing for sure ;).
And wormold.tmp contains “error couldnt connect to nrf51822xxblah”
But there are hopes that we can program it through openOCD, look at this post for example: https://devzone.nordicsemi.com/question/14761/programming-nrf51822-using-swd/
Still I must analyse the script and take care not to erase some proprietary Laird’s bootloaders or so and fry the module . It might not be a piece of cake but I still think it’s feasible, since Laird’s script does not seem to use anything but the nordic’s nrfjprog and the nrf2hex that seems to be a standalone program…To be continued in the coming week :-)…
Well I didn’t try on Windows but the macOS version of nrfjprog (from Nordic) had no complaints… Sorry if my suggestion sent anyone on a wild ride!
Yeah you need to reverse the operation of the upgrade script to save that worm thingie and write it back via openOCD. Even nrf2hex is quite simple, I started on a small python script to replicate it in order to get a more cross-platform upgrade script running on Linux and macOS.