Skip to main content
Version: 3.0.0

Robus configuration

Protocol configuration

Robus allows you to configure some aspects of the protocol to adapt it to your needs. To modify these options, you have to define them in your product_config.h file. Learn more about product_config.h on the code organization page.

FunctionDescriptionComments
ROBUS_NETWORK_BAUDRATEDefine the serial baudrate used by RobusBy default the baudrate is 1000000
NBR_RETRYDefine the maximum number of transmission attempt before excluding the node from the networkBy default Robus will perform 10 retry maximum
NBR_PORTThe number of physical port (or PTP) you have on your setupBy default Robus consider that you have 2 of them

Compatible MCUs

Robus can manage any type of microcontrollers as long as they have a HAL. If your microcontroller is not supported yet, please contact us:

Check the list of MCU families Robus cover:Hardware Abstraction Layers for MCU families,

Default Configurations

Robus is made to run on real-time microcontrollers and use the hardware peripherals to complete communication between nodes. In order to configure this low-level part, Robus provide, for many MCU families, a default configuration that can be followed to plug and play the Robus package with the chosen MCU family. The peripheral configuration is described in the robus_hal_config.h files, and can be redefined in the node_config.h file of your project to fit with your design.

Learn more about project organization

Robus's HAL configuration

To tailor the pinout and functionality according to your design requirements, you can either create or utilize the file node_config.h (refer to Luos examples). In the "ROBUS HAL LIBRARY DEFINITION" section of the node_config.h file, you can define pinout, USART settings, timers, and more, building upon the default configuration defined in robus_hal_config.h.

info

Each example provided by Luos has a node_config.h file and includes the file platformio.ini.

For example, you can redefine PTPA to fit with your design.

in robus_hal_config.h, this is defined as followed:

#ifndef PTPA_PIN
#define PTPA_PIN GPIO_PIN_8
#endif

in node_config.h this should be redefined as followed:

#define PTPA_PIN                    GPIO_PIN_11

There are many possible configurations that you can change, not all of them being necessary for your design:

FunctionDescriptionComments
PORT_CLOCK_ENABLEActivates clock for GPIODepends on port
RX_EN_PIN/TX_EN_PINChooses pinout to activate Rx/Tx commsNecessary for special comms
COM_TX_PIN/COM_RX_PINChooses pinout for Rx/Tx commsAdapts to the chosen serial bus
PTPX_PIN/PTPX_IRQ/PINOUT_IRQHANDLERChooses pinout, IRQ and callback for the PTP lineNecessary for topology detection