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_PUBLISHER
为 UAVCAN_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
命令行界面和图形用户界面如下所示。