iNav开源代码之研读分析篇章目录梳理

2024-05-02 22:12

本文主要是介绍iNav开源代码之研读分析篇章目录梳理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

iNav开源代码之研读分析篇章目录梳理

  • 1. 源由
  • 2. 基础篇章
  • 3. 代码篇章
  • 4. 场景篇章
  • 5. 异常篇章
  • 6. 总结
  • 7. 参考资料

1. 源由

之前有介绍过Betaflight/PX4/ArduPilot,虽然iNav代码和Betaflight类似,但是针对iNav系列的没有整理过一个总的目录。

今天打算也整理下,以便后续入手查找资料、梳理要点更加方便。

2. 基础篇章

  1. iNav飞控AOCODARC-F7MINI固件编译
  2. iNav开源代码之H743+BMI270x2配置适配
  3. iNav开源代码之Aocoda-RC F405V2 Mark4 7“ PNP适配

3. 代码篇章

  1. iNavFlight之MSP DJI协议分析
  2. iNavFlight之MSP DJI协议天空端请求报文
  3. iNavFlight之MSP DJI协议飞控端请求应答
  4. iNavFlight之MSP v2 Sensor报文格式
  5. iNavFlight之RC遥控CRSF协议
  6. iNavFlight之RC遥控MSP协议
  7. iNavFlight之电传MAVLink协议
  8. iNav开源代码之Filters
  9. iNav开源代码之EmergencyLanding
  10. iNav开源代码之严重炸机 – FAILSAFE

4. 场景篇章

  1. iNav飞控之FAILSAFE机制
  2. iNav开源代码之严重炸机 – 紧急降落

5. 异常篇章

  1. iNav开源代码之AOCODARCH7DUAL蜂鸣器持续蜂鸣问题
  2. iNav开源代码之严重炸机 – 危险隐患

注:理应这个iNav固件是注重远航的,但是6.1.1相对来说比较稳定的发布版本,确差点让我丢了飞机!!!

6. 总结

总结下关于上述研读分析篇章内容:

  1. iNav整体代码框架与Betaflight类似。(因为BF最初就是从iNav分出去的。目前代码框架上任然或多或少有相似性,但也存在不同的设计技巧。)
  2. iNav更加注重的是功能(远航,悬停等)。换句话说,从功能设计的角度更加完善,另外适用的航模模型范围更广。
  3. 从研读的角度:框架、代码、场景、异常、配置等逐步入手是一个比较好的方法

后续如果有更多的资料,会尽量同步到这个入口文档中!有什么感兴趣的,大家也可以留言告诉我!上面哪里有问题的,也尽量评论留言给我,我尽全力纠正,谢谢!

关于iNav/Betaflight/Ardupilot等飞控系统的对比分析,给大家一些链接可以参考:

  • Ardupilot vs Betaflight and INAV
  • Choosing between Betaflight. INAV and Ardupilot A guide for new builders
  • Betaflight vs EmuFlight vs INAV - The Results

7. 参考资料

【1】BetaFlight开源代码框架简介
【2】PX4开源软件框架简明简介
【3】ArduPilot开源飞控系统之简单介绍

这篇关于iNav开源代码之研读分析篇章目录梳理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/955251

相关文章

Redis主从/哨兵机制原理分析

《Redis主从/哨兵机制原理分析》本文介绍了Redis的主从复制和哨兵机制,主从复制实现了数据的热备份和负载均衡,而哨兵机制可以监控Redis集群,实现自动故障转移,哨兵机制通过监控、下线、选举和故... 目录一、主从复制1.1 什么是主从复制1.2 主从复制的作用1.3 主从复制原理1.3.1 全量复制

Redis主从复制的原理分析

《Redis主从复制的原理分析》Redis主从复制通过将数据镜像到多个从节点,实现高可用性和扩展性,主从复制包括初次全量同步和增量同步两个阶段,为优化复制性能,可以采用AOF持久化、调整复制超时时间、... 目录Redis主从复制的原理主从复制概述配置主从复制数据同步过程复制一致性与延迟故障转移机制监控与维

Redis连接失败:客户端IP不在白名单中的问题分析与解决方案

《Redis连接失败:客户端IP不在白名单中的问题分析与解决方案》在现代分布式系统中,Redis作为一种高性能的内存数据库,被广泛应用于缓存、消息队列、会话存储等场景,然而,在实际使用过程中,我们可能... 目录一、问题背景二、错误分析1. 错误信息解读2. 根本原因三、解决方案1. 将客户端IP添加到Re

Redis主从复制实现原理分析

《Redis主从复制实现原理分析》Redis主从复制通过Sync和CommandPropagate阶段实现数据同步,2.8版本后引入Psync指令,根据复制偏移量进行全量或部分同步,优化了数据传输效率... 目录Redis主DodMIK从复制实现原理实现原理Psync: 2.8版本后总结Redis主从复制实

更改docker默认数据目录的方法步骤

《更改docker默认数据目录的方法步骤》本文主要介绍了更改docker默认数据目录的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1.查看docker是否存在并停止该服务2.挂载镜像并安装rsync便于备份3.取消挂载备份和迁

锐捷和腾达哪个好? 两个品牌路由器对比分析

《锐捷和腾达哪个好?两个品牌路由器对比分析》在选择路由器时,Tenda和锐捷都是备受关注的品牌,各自有独特的产品特点和市场定位,选择哪个品牌的路由器更合适,实际上取决于你的具体需求和使用场景,我们从... 在选购路由器时,锐捷和腾达都是市场上备受关注的品牌,但它们的定位和特点却有所不同。锐捷更偏向企业级和专

python获取当前文件和目录路径的方法详解

《python获取当前文件和目录路径的方法详解》:本文主要介绍Python中获取当前文件路径和目录的方法,包括使用__file__关键字、os.path.abspath、os.path.realp... 目录1、获取当前文件路径2、获取当前文件所在目录3、os.path.abspath和os.path.re

Spring中Bean有关NullPointerException异常的原因分析

《Spring中Bean有关NullPointerException异常的原因分析》在Spring中使用@Autowired注解注入的bean不能在静态上下文中访问,否则会导致NullPointerE... 目录Spring中Bean有关NullPointerException异常的原因问题描述解决方案总结

python中的与时间相关的模块应用场景分析

《python中的与时间相关的模块应用场景分析》本文介绍了Python中与时间相关的几个重要模块:`time`、`datetime`、`calendar`、`timeit`、`pytz`和`dateu... 目录1. time 模块2. datetime 模块3. calendar 模块4. timeit

python-nmap实现python利用nmap进行扫描分析

《python-nmap实现python利用nmap进行扫描分析》Nmap是一个非常用的网络/端口扫描工具,如果想将nmap集成进你的工具里,可以使用python-nmap这个python库,它提供了... 目录前言python-nmap的基本使用PortScanner扫描PortScannerAsync异