Redirecting...

This page has moved to https://docs.px4.io/master/en/uart/user_configurable_serial_driver.html.

Click here if you are not redirected.

Making Serial Port Drivers User-Configurable

This topic explains how to set up a serial driver so that it can be end-user configured (via parameters) to run on any of a flight controller board's configurable serial ports.

Preconditions

The driver is assumed to already exist, and be started in the shell using the command syntax:

<driver_name> start -d <serial_port> [-b <baudrate> | -b p:<param_name>]

where,

  • -d: serial port name.
  • -b: Baud rate (optional) if the driver supports multiple baud rates. If supported, the driver must allow you to specify the rate as both a bare baudrate and as a parameter name in the form -b p:<param_name> (which can be parsed with px4_get_parameter_value()).

    See the gps driver for an example.

Making the Driver Configurable

To make driver configurable:

  1. Create a YAML module configuration file:
    • Add a new file in the driver's source directory named module.yaml
    • Insert the following text and adjust as needed:
      module_name: uLanding Radar
      serial_config:
          - command: ulanding_radar start -d ${SERIAL_DEV} -b p:${BAUD_PARAM}
            port_config_param:
              name: SENS_ULAND_CFG
              group: Sensors
      

      The full documentation of the module configuration file can be found in the validation/module_schema.yaml file. This is also used to validate all configuration files in CI.

  2. Add the module configuration to the CMakeLists.txt file for the driver module:
    px4_add_module(
        MODULE drivers__ulanding
        MAIN ulanding_radar
        SRCS
            ulanding.cpp
        MODULE_CONFIG
            module.yaml
        )
    

results matching ""

    No results matching ""