版权声明:本文为博主原创文章,未经博主允许不得转载。



第八章 PX4-SDlog解析

这一章节我们对SD存储卡来进行解析。SD卡涉及到log日志,在很多飞行中log文件非常重要的,尤其是新手在炸机过程中有了这些数据我们基本上就能分析出炸机原因。

首先我们还是来找RCS中的sd卡的启动。这里直接贴出来至于原因大家自己分分析一下。Sd卡的驱动用的是硬件驱动它的驱动在是stm32_sdio.c中,经过前面几章的学习,这个应该也不难了吧。大家自己去探个究竟。

回到文件sdlog2.c文件中,找到入口函数首先回到start中首先就是对SD卡的优先级进行选择。然后执行函数这里面就有解析,log_rate=500,log_buffer_siza=18,然后就是e的标志。

然后就是一堆的读取参数。这些参数都是param_find函数。看到没创建log文件的路径。

开辟了空间哦。

log_type选择。回到while中,while开始会对数据进行订阅。真正的写入函数是LOGBUFFER_WRITE_ADN_COUNT().

这里我们其他的不做细描述,我们这里只讲imu数据写入到log中。这里我们用的log_type为LOG_TYPE_NORMAL所以我们找到这个if语句首先就是对数据订阅然后判断对否写入标志位进行赋值然后就是将原始数据赋值到log_msg中。

这个log的标号是LOG_IMU_MSG=4,在这里我们只对LOGBUFFER_WRITE_AND_COUNT函数说明,这里我们可以看到参数是IMU。我们追踪到sdlog2_messages.h中找到IMU的结构体。看到没对应上了哦。在说一个LOG的格式也在这个文件最下面我们找到IMU的这里同样就对应上了哦,f代表浮点型。

这一章节也不难,整个架构也已经完成。如果要添加新的数据到LOG中只需在sdlog2_messages.h中添加数据MSG标号(不能重复哦,只需在后面递增就行),增加数据结构体。再在log_formats中写入你的数据格式和你的数据说明。最后再sdlog2.c中进行订阅相关数据,进行写入就行了。如果不知道如何去做就去参考IMU数据的写入。

http://blog.csdn.net/qq_18112493/article/details/71102005

第八章 PX4-SDlog解析相关推荐

  1. PX4代码解析(5)

    一.前言 我所讨论的PX4代码是基于v1.11版本,该版本与之前的版本有不少不同,其中一个比较大的区别在于新版本大部分用到了C++中模板,使得代码没有以前那么容易理解,因此我在后面介绍PX4的姿态估计 ...

  2. PX4代码解析(6)

    一.前言 上一节介绍了PX4姿态估计调用函数的流程,这一节分享一下我对PX4姿态解算的解读.首先,要理解PX4姿态解算的程序,要先从传感器的特性入手,这里主要介绍的传感器有加速度计,磁力计,陀螺仪. ...

  3. px4代码解析(3)

    前言 在使用PX4飞控时,我们难免要对其进行二次开发,例如修改控制算法,添加新的传感器,这时需要在代码中定义属于自己的消息.本节主要分享一下如何在PX4代码中添加自己的消息 一.消息添加与配置 从代码 ...

  4. PX4代码解析(1)

    前言 做pixhawk飞控有一段时间了,但在学习过程中遇到许多困难,目前网上找不到比较完整的PX4学习笔记,我打算结合自己理解,写写自己对PX4源码的理解,不一定对,只是希望与各位大佬交流交流,同时梳 ...

  5. PX4代码解析(4)

    一.引言 PX4程序是基于实时操作系统(Real-time operating system, RTOS)的上层应用程序,PX4飞控程序的很多重要模块都是在Nuttx操作系统的调度下运行的.因此,想要 ...

  6. PX4代码解析(2)

    前言 在大致了解PX4代码架构后,我们需要了解PX4的通信机制.在PX4代码架构中,每通信总线主要分为两个部分,一是内部通信总线uORB,即PX4内部进程通信采用的协议,例如PX4内部姿态控制需要获取 ...

  7. PX4代码解析:振动分析

    本篇文章首发于公众号:无人机系统技术.更多无人机技术相关文章请关注此公众号 一.前言 前面的文章主要都是一些理论知识为主,很多读者朋友看了之后可能会有点枯燥,里面很多公式看起来也比较晦涩,今天起给大家 ...

  8. 《操作系统》第八章习题加解析

    贵州大学计算机科学与技术学院<操作系统>第 08 章习题解析 1. 若采用动态地址重定位,其地址重定位工作是在( B )完成的. A.往内存装载进程时刻 B.执行每一条指令时刻 C.调度程 ...

  9. 《IBM-PC汇编语言程序设计》(第2版)【沈美明 温冬婵】——第八章——自编解析与答案

    8.1 写出分配给下列中断类型号在中断向量表中的物理地址. (1) INT 12H (2) INT 8 答:(1) 中断类型号12H在中断向量表中的物理地址为00048H.00049H.0004AH. ...

  10. 高数(下) 第八章:空间解析集合与向量代数

    文章目录 Ch8. 向量代数与空间解析几何 8.1 向量.向量的线性运算.方向余弦 方向余弦 8.2 数量积.向量积.混合积 1.数量积 a⋅ba·ba⋅b 2.向量积 a×ba×ba×b 3. 混合 ...

最新文章

  1. HDU——1106排序(istringstream的使用、STLvector练习)
  2. Dom4j和Xpath(转)
  3. 设计模式-Observer模式
  4. 用JavaScript玩转计算机图形学(一)光线追踪入门
  5. RabbitMQ 核心部分
  6. Azure IoT Hub和Event Hub相关的技术系列-索引篇
  7. Linux添加用户并赋予/取消管理员权限
  8. 百度宣布AI同传最新突破!能预测,低延时,演示效果惊人,外媒称媲美人类翻译...
  9. 尴尬又暖心!学生知乎上提问导师人品如何,没想到导师亲自回答了...
  10. 中断触发后无法进入服务程序_51单片机的中断系统及应用
  11. C++类中在构造器中调用本类的另外构造器
  12. 线性代数(同济) 第六版 复习
  13. 按ASCII码给json对象排序
  14. 测试开发工程师必知必会
  15. 文献速递 | 通过m6A RNA甲基化修饰调节癌症中的端粒稳态和基因组稳定性
  16. Python代码规范之---代码不规范,亲人两行泪
  17. ISE14.7固化程序(生成.mcs文件再固化)
  18. 上海交通大学考研网络安全专业823复习策略
  19. CDN常见问题-Trouble Shooting(二)
  20. 武大2020/4/15-关于选派全日制在校生2020/2021学年秋季赴部分欧洲高校交流学习的通知(三)

热门文章

  1. 一篇文章搞定百度OCR图片文字识别API
  2. 维护索引——通过重组索引提高性能
  3. BPM实例方案分享:表单子表自动填入数据
  4. BZOJ2730 HNOI2012 矿井搭建 连通性
  5. Struts2拦截器之FileUploadInterceptor
  6. Js时间戳转为日期格式
  7. Linux下的Cacti网络管理系统---安装(二)
  8. 网站性能优化之HTTP请求过程简述!
  9. 进口配额管理和出口配额管理_SAP采购管理模块中的quot;配额协议quot;应用详解...
  10. python骚操作之——判断整数