我把改的程式放到github,目前尚未修改好,只能顯示部分訊息,而且目前的程式設定只能用在3.5吋的螢幕,如果你有興趣研究,歡迎把原始碼抓回去研究,基本上就是很基本的語法。
實際運作畫面
因為都是用自己下班的時間慢慢搞,所以程式進度緩慢,然後又再思考433中繼站常常都是丟在一旁,眼睛根本不會去看,我掛一個螢幕在那邊要幹嘛XD 所以發懶中...目前整個程式沒有完成,有興趣的朋友可以去github把code抓下來研究修改:D
之前我有寫一篇透過修改程式方法讓X9D+播放Mavlink語音,因為新版的Mavlink_FrSkySPort有大改版支援OpenTx 2.1.x,所以已經不相容當時我修改的OpenTx 2.0.x,未來時間我想讓語音播放可以在新版實現,畢竟透過語音播放比掛一螢幕在遠方都不看來的實用吧:D 修改後我也會把code放到github公布。
在MP裡面設定的參數和Mavlink訊息對照表
RAW_SENS:
- RAW_IMU
- SCALED_IMU2
- SCALED_PRESSURE
- SENSOR_OFFSETS
EXT_STAT:
- SYS_STATUS
- MEMINFO
- MISSION_CURRENT
- GPS_RAW_INT
- NAV_CONTROLLER_OUTPUT
- LIMITS_STATUS
RC_CHAN:
- SERVO_OUTPUT_RAW
- RC_CHANNELS_RAW
RAW_CTRL:
- RC_CHANNELS_SCALED (HIL)
POSITION:
- GLOBAL_POSITION_INT
EXTRA1:
- ATTITUDE
- SIMSTATE (SITL)
EXTRA2:
- VFR_HUD
EXTRA3:
- AHRS
- HWSTATUS
- SYSTEM_TIME
PARAMS:
- PARAM_VALUE
大大又有新作了~
回覆刪除請問是螢幕的uart 直接接到433的rx tx嗎
不是,這是接到Teensy 3.1的UART。433出來的訊息格式是完整的Mavlink資料,無法立即顯示到螢幕,必須透過Teensy3.1 去幫忙解析出我們要的資料。原本Teensy 3.1已經解析轉發到X9D+,我只是利用這些已存在的資料在顯示出來而已,沒有太大的複雜程式。
刪除感謝回覆!
回覆刪除那也可以用arduino用同樣方法轉發到螢幕上囉?
可以,你用Arduino去收433丟出來的Mavlink訊息,解析後可以轉發到螢幕。但是Arduino有一些先天限制,例如空間、硬體UART太少,導致無法應付Mavlink龐大的訊息。
刪除謝謝你~
刪除我研究看看!如果用Teensy 3.1也可傳輸更多資料,看自己需求,但⋯對它真的很不熟呢
Teensy 3.1跟arduino相容,所以一樣方式寫程式
刪除謝謝您,還好之前X9D的Teensy 3.1有留著,感謝您的教學文~
回覆刪除