|
|
# Flora
|
|
|
|
|
|
Software for the [DPP2 LoRa Comboard](https://gitlab.ethz.ch/tec/public/dpp/-/wikis/Communication/DPP2LoRa) (STM32L4 MCU + SX126x radio) based on the [Dual Processor Platform (DPP)](https://gitlab.ethz.ch/tec/public/dpp/wikis/home) architecture developed by the [Computer Engineering Group (TEC)](https://tec.ee.ethz.ch/) at ETH Zurich.
|
|
|
Software for the [DPP2 LoRa Comboard](https://gitlab.ethz.ch/tec/public/dpp/dpp/-/wikis/Communication/DPP2LoRa) (STM32L4 MCU + SX126x radio) based on the [Dual Processor Platform (DPP)](https://gitlab.ethz.ch/tec/public/dpp/dpp/wikis/home) architecture developed by the [Computer Engineering Group (TEC)](https://tec.ee.ethz.ch/) at ETH Zurich.
|
|
|
|
|
|
## Flora Software
|
|
|
The flora software consists of the following components:
|
|
|
* **Flora Library**: The `flora-lib` (C code) is a library of software components shared by multiple projects (flora apps). It contains radio drivers, protocol implementations, utilities, etc.
|
|
|
* **Flora Library**: The [`flora-lib`](https://gitlab.ethz.ch/tec/public/flora/flora-lib) (C code) is a library of software components shared by multiple projects (flora apps). It contains radio drivers, protocol implementations, utilities, etc.
|
|
|
* **Flora Apps**: Projects based on the `flora-lib`. See list below for details.
|
|
|
* **SX1262 Python Library**: The `sx1262` Python library implements a model of the SX1262 radio chip. For example it allows to calculate the time-on-air (ToA) for LoRa or FSK transmissions.
|
|
|
|
|
|
|
|
|
### Flora Apps
|
|
|
| App | Description | Status |
|
|
|
|-----------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------|-----------------|
|
|
|
| [Hello World](hello-world) | Simple hello world/blinky application that uses the flora-lib and is compatible with the baseboard. | stable |
|
|
|
| [eLWB](elwb) | [Event-triggered Low-Power Wireless Bus](https://dl.acm.org/doi/abs/10.5555/3108009.3108028) implementation | stable |
|
|
|
| [LWB](lwb) | A simplified version of the [Low-Power Wireless Bus](https://dl.acm.org/doi/abs/10.1145/2426656.2426658). | initial version |
|
|
|
| [Linktest](https://gitlab.ethz.ch/tec/research/dpp/software/communication_platforms/sx126x_lora/flora/linktest) | Point-to-point link test for running on FlockLab 2 (measures packet reception ratio, RSSI, and CRC errors). | stable |
|
|
|
| App | Description | Status |
|
|
|
|--------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------|-----------------|
|
|
|
| [Hello World](https://gitlab.ethz.ch/tec/public/flora/hello-world) | Simple hello world/blinky application that uses the flora-lib and is compatible with the baseboard. | stable |
|
|
|
| [eLWB](https://gitlab.ethz.ch/tec/public/flora/elwb) | [Event-triggered Low-Power Wireless Bus](https://dl.acm.org/doi/abs/10.5555/3108009.3108028) implementation | stable |
|
|
|
| [LWB](https://gitlab.ethz.ch/tec/public/flora/lwb) | A simplified version of the [Low-Power Wireless Bus](https://dl.acm.org/doi/abs/10.1145/2426656.2426658). | initial version |
|
|
|
| [Linktest](https://gitlab.ethz.ch/tec/public/flora/linktest) | Point-to-point link test for running on FlockLab 2 (measures packet reception ratio, RSSI, and CRC errors). | stable |
|
|
|
|
|
|
**NOTE**: The _Status_ information is indicative only and in no way provides any guarantees regarding the state of the software. All software must be considered experimental, since in most cases no exhaustive testing has been performed.
|
|
|
|
... | ... | @@ -60,7 +60,7 @@ The flora software consists of the following components: |
|
|
|
|
|
### Platforms
|
|
|
* **DEVKIT**: Development Kit (Nucleo L476RG + SX126xDVK1xAS)
|
|
|
* **COMBOARD**: [DPP2 LoRa communication board]() (e.g. used on [FlockLab 2 testbed](https://www.flocklab.ethz.ch/), together with the [DPP2 DevBoard](https://gitlab.ethz.ch/tec/public/dpp/-/wikis/Application/DevBoard), or together with the [BaseBoard](https://gitlab.ethz.ch/tec/public/dpp/-/wikis/Application/BaseBoard))
|
|
|
* **COMBOARD**: [DPP2 LoRa communication board]() (e.g. used on [FlockLab 2 testbed](https://www.flocklab.ethz.ch/), together with the [DPP2 DevBoard](https://gitlab.ethz.ch/tec/public/dpp/dpp/-/wikis/Application/DevBoard), or together with the [BaseBoard](https://gitlab.ethz.ch/tec/public/dpp/dpp/-/wikis/Application/BaseBoard))
|
|
|
|
|
|
### Peripherals
|
|
|
* USART1: Serial communication over USB
|
... | ... | @@ -166,7 +166,7 @@ __HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU); |
|
|
* also see [issue 928](https://github.com/Lora-net/LoRaMac-node/issues/928)
|
|
|
|
|
|
### RTT (print to SWO)
|
|
|
DPP2 [DevBoard](https://gitlab.ethz.ch/tec/public/dpp/-/wikis/Application/DevBoard) needs a hardware fix to enable RTT / SWO print debug output (wire between SWO pin from COM JTAG and COM_GPIO2 pin from DEBUG header). In addition `SWO_ENABLE` needs to be set to `1` in `app_config.h`. In addition, in the SWO settings in the STM32CubeIDE, port 0 needs to be selected/checked!
|
|
|
DPP2 [DevBoard](https://gitlab.ethz.ch/tec/public/dpp/dpp/-/wikis/Application/DevBoard) needs a hardware fix to enable RTT / SWO print debug output (wire between SWO pin from COM JTAG and COM_GPIO2 pin from DEBUG header). In addition `SWO_ENABLE` needs to be set to `1` in `app_config.h`. In addition, in the SWO settings in the STM32CubeIDE, port 0 needs to be selected/checked!
|
|
|
|
|
|
### Generate Binary or Hex image
|
|
|
|
... | ... | |