跳至内容

PX4 板配置 (Kconfig)

PX4 自动驾驶仪固件可在构建时进行配置,以适应特殊应用(固定翼、多旋翼、漫游车等),启用新的实验性功能(如 Cyphal),或通过禁用某些驱动程序和子系统来节省闪存和内存的使用。这些配置通过 Kconfig相同 NuttX 使用的配置系统.

配置选项(通常称为符号 kconfig 语言)在 Kconfig 下的文件 /src 目录。

PX4 Kconfig 符号命名规则

按照惯例,模块/驱动程序的符号根据模块文件夹路径命名。例如,ADC 驱动程序的符号位于 src/drivers/adc/board_adc 必须命名为 驱动程序_adc_board_adc.

要为驱动程序/模块特定选项添加符号,命名规则是模块名称后跟选项名称。例如 uavcan_v1_gnss_publisher 这是一个选项 GNSS_PUBLISHERUAVCAN_V1 模块。选项必须在 如果 语句,以确保只有当模块本身启用时,选项才可见。

完整示例:

menuconfig DRIVERS_UAVCAN_V1
    bool "UAVCANv1";
    默认值 n
    ---帮助
        启用对 UAVCANv1 的支持

如果 DRIVERS_UAVCAN_V1
    配置 UAVCAN_V1_GNSS_PUBLISHER
        bool "GNSS Publisher";
        默认值 n
endif #DRIVERS_UAVCAN_V1

信息

编译时会默默地忽略缺少或拼写错误的模块。 *.px4board 配置文件。

PX4 Kconfig 标签继承

每个 PX4 板必须有一个 default.px4board 配置,并可以有一个可选的 bootloader.px4board 配置.不过,您也可以在不同的标签下添加单独的配置,例如 cyphal.px4board.请注意,默认情况下 cyphal.px4board 中设置的所有设置。 default.px4board.当更改 cyphal.px4board 它只存储与 default.px4board这有助于简化配置管理

信息

中修改 Kconfig 密钥时 default.px4board 在同一电路板的所有衍生配置中,如果配置相同,也会被修改。

PX4 菜单配置设置

菜单 工具用于修改 PX4 板配置、添加/删除模块、驱动程序和其他功能。

它有命令行和图形用户界面两种版本,都可以使用 PX4 启动快捷键启动:

make px4_fmu-v5_default boardconfig
make px4_fmu-v5_default boardguiconfig

信息

Kconfiglib菜单 附带 kconfiglib python 软件包,通过正常的 ubuntu.sh 安装脚本。如果 kconfiglib 未安装,可以使用该命令进行安装: pip3 install kconfiglib

命令行界面和图形用户界面如下所示。

menuconfig 命令行界面

menuconfig 图形用户界面