这次是开关状态任务Swtich_State_Task(1)
首先,仍然不知道这是啥
然后,开始看程序。。。

switchs.baro_on = 1;

命名带baro,通常是气压的意思,这里是气压开关打开?表示一个状态应该是
然后一个超大的if括号:

if(sens_hd_check.of_ok || sens_hd_check.of_df_ok)
{

of是光流、of_df可能是光流解耦合?如果两个有一个好了,那么进入if的执行程序。

if(sens_hd_check.of_ok)
{of_qua_condition = OF_QUALITY;of_alt_condition = (u16)OF_ALT;
}
else //sens_hd_check.of_df_ok
{of_qua_condition = of_rdf.quality;of_alt_condition = Laser_height_cm;
}

of_qua_condition (光流质量)和of_alt_condition(光流高度)是啥,没看懂。。。。
如果of好了,那么把这两个变量赋值,如果of没好,那肯定of_df好了,就赋其他值,没看懂。。

 if(of_qua_condition>50 ){if(of_quality_delay<1000){of_quality_delay += dT_ms;}else{of_quality_ok = 1;}}else{of_quality_delay =0;of_quality_ok = 0;}

如果光流质量大于50,那么等待,1000ms后,认为可用,of_quality_ok 。否则不可用,of_quality_ok =0;

 if(of_alt_condition<600){of_tof_on_tmp = 1;if(of_alt_delay<2000){of_alt_delay += dT_ms;of_alt_ok = 1;}}else{of_tof_on_tmp = 0;if(of_alt_delay>0){of_alt_delay -= dT_ms;of_alt_ok = 0;}  }

如果光流高度小于600cm,认为可用,持续2000ms,具体跟上面有点不一样,不知道为啥,反正就of_alt_ok 有效就完了。。。

 if(flag.flight_mode == LOC_HOLD){     if(of_alt_ok && of_quality_ok){switchs.of_flow_on = 1;}else{switchs.of_flow_on = 0;}}else{of_tof_on_tmp = 0;switchs.of_flow_on = 0;}

如果flag.flight_mode等于loc_hold,也就是位置固定,那么两个都ok,开关switchs.of_flow_on就会打开,如果有不ok的,就不打开。
如果flag.flight_mode不等于loc_hold,即此时不是定位状态,那么全0就完了。。

 switchs.of_tof_on = of_tof_on_tmp;

这个of_tof_是啥模块没看懂。。再说

}
else
{switchs.of_flow_on = switchs.of_tof_on = 0;
}

接最开始的大if,如果都不ok,直接置零

if(sens_hd_check.tof_ok)
{if(0)//(Laser_height_mm<1900){switchs.tof_on = 1;}else{switchs.tof_on = 0;}
}
else
{switchs.tof_on = 0;
}

激光模块,看样子是阉割了。。。

gps也没了,开心

if(uwb_data.online && flag.flight_mode == LOC_HOLD)
{switchs.uwb_on = 1;
}
else
{switchs.uwb_on = 0;
}

uwb,查了查是定位的,估计用不上。。。

//OPMV
if(opmv.offline==0 && flag.flight_mode == LOC_HOLD)
{switchs.opmv_on = 1;
}
else
{switchs.opmv_on = 0;
}

openmv,一样,没了。。

总结一下,这段代码应该是通过检测硬件情况来设置硬件开关,如果成功检测到并符合要求,开关打开,否则断开。。。

匿名无人机飞控代码整理2相关推荐

  1. 匿名无人机飞控代码整理

    看了半天,各部分都看得都很零散,写的也很简略,但目前为止还是无法对系统各部分做具体一点的整合,今天试试看... 1.先从主函数起,进入主轮询函数 Main_Task(); 这个主函数的调用就在一个wh ...

  2. 匿名无人机飞控代码整理1

    工程估计要看很多遍才能顺下来,而且有的地方需要看的比较细,对于一些比较重要又比较难的部分打算写下来一点一点分析. 姿态解算部分先跳过,姑且就认为它的imu算法(长的一批)可以得到正确的姿态信息. 这次 ...

  3. 匿名无人机飞控代码整理3

    搞了半天还没看到有用的东西,接下来开始看角速度环.电机控制.姿态角获取.角度环这部分,一起看是因为联系比较紧密. 下午看高度和位置部分.... 首先看姿态角速度环控制: Att_1level_Ctrl ...

  4. 2021-05-24匿名凌霄飞控代码解读Drv_AnoOf.c和LX_FC_EXT_Sensor.c

    5.24:匿名凌霄飞控代码解读Drv_AnoOf.c和LX_FC_EXT_Sensor.c 注意:两部分的代码结合读,先看懂AnoOf.c然后再看对光流数据处理的文件Sensor.c 1.Drv_An ...

  5. 一飞智控CEO齐俊桐:一篇文章教你看透无人机飞控这十年

    origin: http://www.leiphone.com/news/201702/YO2bskI7smE1U8TA.html "无人机"--又一个被国人玩坏了的单词 ▲ 科幻 ...

  6. 【匿名无人机】遥控器重新对码步骤

    本篇只针对拓空者对码错误:红灯呼吸频闪,  已明确判断为对码错误的情况进行设置. [匿名无人机]遥控器升级中文版固件_FS-i6S 目录 1.遥控器型号 2.接收机型号 3.对码过程 4.接收机设置S ...

  7. 无人机飞控 ardupilot Copter-4.0.7 库简介

    无人机飞控 ardupilot Copter-4.0.7 库简介 官方文档-库说明 核心库: 库名称 作用 AP_AHRS 使用 DCM 或 EKF 进行姿态估计 AP_Common 所有草图和库所需 ...

  8. 无人机飞控 ardupilot Copter-4.0.7 库示例

    无人机飞控 ardupilot Copter-4.0.7 库示例 亲自使用库的示例是探索学习代码的第一步.遵循arduino传统,我们为大多数库提供了示例."示例"只是一个主程序, ...

  9. 无人机相关资料整理-备忘

    近期一直在学习无人机相关基础知识以及平台搭建方面的知识,搜集了很多网站的相关信息,有一些比较有用的github.中英文资料.谈论区网址.还收藏了一些免费的课程,以及自己已购买的课程的链接.有些普及的教 ...

最新文章

  1. “稳定”凸包----poj1228
  2. CV之LabelImg:图片标注工具之LabelImg(图像标注工具)的简介、安装、使用方法详细攻略
  3. Google IO 谈 AI First,我们却发现了更多
  4. 在mac下安装matplotlib,xlrd
  5. [Redux/Mobx] 说说Redux的实现流程
  6. 《极品飞车12》官方网站公布发售日
  7. 推动运营商安全标准体系建设
  8. OpenGL基础26:Assimp库
  9. C# 将已有程序封装为DLL文件,供其他程序调用
  10. bzoj1043 下落的圆盘
  11. dhcp协议_什么是DHCP?总结DHCP优缺点和工作原理
  12. Echarts 中国地图(包括china.js文件)
  13. 偏最小二乘法PLS和PLS回归的介绍及其实现方法
  14. Java 爬取行政区划代码
  15. python 空间法向量可视化_三维空间中平面的法向量计算
  16. insgram 网页分享_instagram网页版登陆使用图文教程
  17. 无人驾驶-控制-自行车模型
  18. 利器解读:Linux 内核调测中最最让开发者头疼的 bug 有解了|龙蜥技术
  19. JAVA下载和安装详细过程
  20. 有一个强大又好看的,赛过Typora,阿里开发的语雀编辑器

热门文章

  1. OpenGL学习脚印: 二维纹理映射(2D textures)
  2. Apache ZooKeeper - ZooKeeper 集群中 Leader 与 Follower 的数据同步策略
  3. 爬虫神器之 PyQuery 实用教程(一)
  4. 在NER任务中CRF层的作用(例子)
  5. Java使用FreeMarker模版技术动态生成word实践
  6. win7 计算机右键没有属性,Win7右键点击计算机/文件没有属性选项怎么办?
  7. QMUI源码学习第一天
  8. SPFA算法求最短路
  9. JAVA实现数据库编程第三章_[数据库]使用Java实现数据库编程—03 第三章 高级查询(一)...
  10. 数据库中存储图片等文件的小探讨