# 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 ---help--- 如果 DRIVERS_UAVCAN_V1 config 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 图形用户界面