[ZeROSEro7] Running demo and fibonacci on the LoRa Discovery kit

LoRa Discovery kit and CI advancement

This week we all coded each on a dev kit. I retrieved the 2 LoRa boards and started analyzing the demo Ping Pong program from icube LRWAN. The demo software was only available for some IDEs and I wanted a Makefile so I explored the configuration files for these IDEs and recreated a similar compiling command that worked. icube is segmented in several drivers which are dependent on each others. There is the HAL driver, the BSP, CMSIS and the LoRa Middleware.

The dev board uses the sx1276 which we will be using for our Spy Talk. It is connected via SPI to a STM32L0X with a Cortex M0+. I first downloaded the documentation for the chip, sx12 and the HAL driver and built the other ones with doxygen since the source files included doxygen comments. The highest level API is the LoRaMAC layer which then uses the LoRa PHY and other LoRa layers. These layers must be linked to the correct BSP driver for the sx1276 which defines the different registers and pilots them to do basic init, rx, tx, sleep mode and so forth… The BSP itself requires a HAL driver to define the GPIO ports and driver and a SPI driver.

I am still deciphering the doc and code of all these drivers and the demo but then it will be much easier to pilot the LoRa module. If we want to use those, it will be necessary to port them to our custom chip though. I successfully modified the example a bit by toggling a LED and launched it on the board. Unfortunately, the debug server tool I am using (texlane/stlink) often has bugs. I tried using opencv but to no avail. Next step before coding anything is fixing the debug toolchain.

This week I also further completed the CI tests including a linter stage to check if the code we push respects the coding style with clang-format. I also added some artifacts in the build stage and a test stage that checked the results from Erwan’s Fibonacci.

Indeed, one of our coming pssc is to compute some Fibonacci numbers on all boards just to be sure we can run and debug some custom code.

Additionally, I made a few test with Android studio and a Moto G4 plus as we’ll have to code BLE and wifi communication apps soon.

Next week : Athens week

Since next week is dedicated to other courses, we won’t make too much progress. Our next goals are to share with each other all knowledge acquired on the dev boards and then try communicating via BLE/LoRa/wifi. We also have to start to implement a transparent USB relay on a STM32F4 as part of the USB Sniffer project.


Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>