Luos can work on a single node (localhost), or create a network to enable communication between services located on different nodes. This communication should be defined and hardware-configured to fit the chosen MCU. The files luos_hal.c and luos_hal.h define all the functions needed by the Luos library to send/receive messages through the bus and initialize all the MCU peripherals.
The file luos_hal_config.h file contains a default configuration for a MCU family and can be redefined in a
node_config.h configuration file to fit your design. The configuration of Luos HAL is described here.
Here are the hardware functions relative to protocol communication and physical bus in Luos:
- PORT: Defines necessary pins, PTP lines, Rx/Tx, enable/disable.
- TIMER: Defines timeouts for communication.
- COM: Serial bus.
- CRC: Validates the accuracy of the messages. CRC can be generated by hardware (Optional, can be software).
- DMA: Used to save IRQ time (Optional, can be IT only).
- FLASH: Stores services' aliases in the system, and used by Luos bootloader.