第八章 PX4-Pixhawk-SDlog解析
第八章?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選擇?;氐?/span>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數據的寫入。
總結
以上是生活随笔為你收集整理的第八章 PX4-Pixhawk-SDlog解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第五章 PX4-Pixhawk-GPS解
- 下一篇: 第九章 PX4-pixhawk-姿态估计