最近在做6軸的姿態(tài)解算模組,調試過程中,總是想看一下中間數據的濾波情況,也想同時監(jiān)測一下最終的姿態(tài)狀況,苦于找不到一個比較好的觀察工具,使用FreeMaster只能看看曲線,不夠直觀。偶然發(fā)現了VOFA這個串口工具,第一眼就被它的界面UI給震驚到了。相比其他的串口工具,真的可以用驚艷來形容,下面是大名鼎鼎的SSCOM,界面從眼前竄出一股老古董的味道,好用是好用,不能曲線顯示。
VOFA就不同,除了可以看到實際打印的調試信息,還可以快速的將數據展示成曲線,不僅直觀,而且好看。欣賞一下:
先說優(yōu)點VOFA 支持各種皮膚,氪金后是可以更自由的張揚自己的個性。同時,VOFA支持很多空間,利用這些控件,我們可以直觀的展示數據曲線,折現,直方圖,還有各式各樣的儀表盤和3D模型展示。
另一方面,我們如果想將數據通過串口發(fā)送給VOFA,也同樣的直觀,只需要我們實現了字符串的打印即可,這里肯定是重定向后的printf最好用。
只需要使用printf將我們需要展示的數據以數值的形式打印出來即可,別忘了最后面的換行符號。
uart_printf("%.2f,%.2f,%.2fn",(float)g_Imu.swPitch/1000,
(float)g_Imu.swRoll/1000,
(float)g_Imu.swYaw/1000);
向上面這樣,我就可以在VOFA中看到我算法輸出的歐拉角數據了。
我們選擇FireWater選項,然后就可以在下方的原始數據窗口看到打印的數據,同時在右側的數據欄中看到跳動的數據。這時候,我們只需要在右側的菜單中,選擇一個曲線控件,拖到我們的中央面板中,就可以將數據映射到曲線空間的Y軸上,此時各種顏色的線條就活躍起來了。
同樣的,我們把3D模型展示的空間拖動進來,選擇歐拉角模式,也可以快速的將打印的數據和3D模型空間鏈接,這樣就可以非常直觀的展示姿態(tài)解算的結果了。
除了使用printf來直接輸出字符串的方式以外,他還提供了一種字節(jié)碼的方式
這種方式其實本質上類似字符串的輸出方式,首先我們吧逗號分割的字符串變成一個浮點型數組,然后在數組的最后面增加一個固定4字節(jié)數據做為結尾,比如圖中的0x00 ?0x00 0x80 ?0x7f這樣的方式有什么優(yōu)點呢?
那就是當浮點數的小數點后面位數比較多的時候,可以節(jié)省很多串口的帶寬。另外,VOFA通SSCOM一樣,也支持很多命令調試模式,可以定義一些固定的命令發(fā)送,這對于調試一些AT指令的設備非常有好。
綜合來看,只有一個缺點,那就是安裝文件太多,不像SSCOM那樣,一個exe搞定。