第八章 PX4-Pixhawk-SDlog解析

  • Post author:
  • Post category:其他







第八章



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



数据的写入。




版权声明:本文为qq_18112493原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。