当前位置: 首页 > news >正文

BetaFlight统一硬件配置文件研读之feature命令

BetaFlight统一硬件配置文件研读之feature命令

  • 1. 源由
  • 2. 代码分析
  • 3. 实例分析
  • 4. 配置情况
    • 4.1 feature
    • 4.2 feature list
    • 4.3 feature feature_name
    • 4.4 feature -feature_name
  • 5. 参考资料

统一硬件配置文件的设计是一种非常好的设计模式,可以将硬件和软件的工作进行解耦。

1. 源由

cli命令中feature是对BetaFlight飞控软件功能使能开关。至于功能的含义,这里就不展开,随着对系统的深入理解,慢慢就会一点点了解起来的。

比如:TELEMETRY表示电传功能

2. 代码分析

cliFeature├──> "feature" [print all enabled features]├──> "feature list" [print all available features]└──> "feature <feature_name>"└──> [Find feature]├──> <cmdline[0] == '-'> featureConfigClear(feature)└──> <cmdline[0] != '-'> featureConfigSet(feature)

以下是目前BetaFlight飞控系统所支持的features:

// sync this with features_e
static const char * const featureNames[] = {"RX_PPM", "", "INFLIGHT_ACC_CAL", "RX_SERIAL", "MOTOR_STOP","SERVO_TILT", "SOFTSERIAL", "GPS", "","RANGEFINDER", "TELEMETRY", "", "3D", "RX_PARALLEL_PWM","RX_MSP", "RSSI_ADC", "LED_STRIP", "DISPLAY", "OSD","", "CHANNEL_FORWARDING", "TRANSPONDER", "AIRMODE","", "", "RX_SPI", "", "ESC_SENSOR", "ANTI_GRAVITY", "", NULL
};

3. 实例分析

# feature
feature RX_SERIAL
feature TELEMETRY
feature OSD

4. 配置情况

# help feature
feature - configure featureslist<->[name]

4.1 feature

# feature
Enabled: RX_SERIAL TELEMETRY LED_STRIP OSD AIRMODE ANTI_GRAVITY 

4.2 feature list

# feature list
Available: RX_PPM INFLIGHT_ACC_CAL RX_SERIAL MOTOR_STOP SERVO_TILT SOFTSERIAL GPS RANGEFINDER TELEMETRY 3D RX_PARALLEL_PWM RX_MSP RSSI_ADC LED_STRIP DISPLAY OSD CHANNEL_FORWARDING TRANSPONDER AIRMODE RX_SPI ESC_SENSOR ANTI_GRAVITY

4.3 feature feature_name

# feature OSD
Enabled OSD

4.4 feature -feature_name

# feature -OSD
Disabled OSD

5. 参考资料

【1】BetaFlight开源代码框架简介
【2】BetaFlight统一硬件资源简单配置修改
【3】BetaFlight统一硬件配置文件研读

http://www.lryc.cn/news/65664.html

相关文章:

  • ChatGPT 不好用?那你看下这份 Prompt 工程指南
  • 冲浪杂记——
  • 深入理解Python中的进程与线程
  • Data retry场景介绍
  • lua | 数组与迭代器的使用
  • 【云原生】云原生服务网格流量控制思考
  • 《数据库的嵌套查询和统计查询》
  • 【网站架构】Nginx 4层、7层代理配置,正向代理、反向代理详解
  • mysql备份和恢复
  • 新闻月刊 | GBASE 4月市场动态一览
  • Java --- springboot2数据响应与内容协商
  • “中特估”乘风破浪!后续机遇在哪?
  • OpenShift 4 - 在 CI/CD Pipeline 中创建 KubeVirt 容器虚拟机 - 方法3
  • 功率放大器在Lamb波信号波包模型验证研究中的应用
  • Apache Hadoop
  • PHP+vue大学生心理健康评价和分析系统8w3ff
  • 【图像分割】【深度学习】SAM官方Pytorch代码-Mask decoder模块MaskDeco网络解析
  • A Restful API
  • 从零开始学习JSP,让你全面掌握Web开发技能
  • java基于知识库的中医药问询系统
  • 【新星计划-2023】什么是ARP?详解它的“解析过程”与“ARP表”。
  • 自动驾驶行业观察之2023上海车展-----车企发展趋势(2)
  • 通知所有员工所需的时间
  • Docker:bash: vim: command not found
  • 排序算法之选择排序
  • 5_服务编排_docker-compose
  • Java基本数据类型以及包装类型的常量池技术
  • P1054 [NOIP2005 提高组] 等价表达式
  • 什么牌子蓝牙耳机好用不贵?国产性价比高的蓝牙耳机推荐
  • 明明花钱上了ERP,为什么还要我装个MES系统