OpenIPC开源FPV之msposd配置
OpenIPC开源FPV之msposd配置
- 1. 源由
- 2. 状态
- 3. 步骤
- 3.1 Step 1: 下载/更新OpenIPC摄像头固件
- 3.2 Step 2: 下载最新的`msposd`可执行文件
- 3.3 Step 3: 下载各参数`icon`图标
- 3.4 Step 4: 修改`/etc/init.d/S98datalink`配置
- 3.5 Step 5: 修改`/etc/datalink.conf`
- 3.6 Step 6: 设置Ardupilot串口协议
- 3.7 Step 7:OSD配置切换选项
- 4. 总结
- 5. 参考资料
1. 源由
目前,OpenIPC地面站上有不少硬件和软件:
- 【1】Hi3536板镜像直接部署的vdec
- 【2】Android手机上的FPVue
- 【3】SBC单板上,如:Radxa Zero 3W/E
- 【4】摄像头集成OSD的msposd
实际使用下来,【1】【2】显示的信息有限,且存在一些问题;【3】没有部署OSD显示的软件;【4】尚未使用。
因此,本章节就是针对【4】做一个讲解。
2. 状态
应用实例:
- 【1】OpenIPC The Dartford Crossing (Queen Elizabeth II Bridge)
- 【2】OpenIPC native INAV OSD - Maiden Flight
源代码:
- OpenIPC msposd
3. 步骤
3.1 Step 1: 下载/更新OpenIPC摄像头固件
详见:OpenIPC开源FPV之固件sysupgrade升级
注:您手头已经有了一个OpenIPC摄像头,而且已经烧录了OpenIPC固件。
3.2 Step 2: 下载最新的msposd
可执行文件
$ curl -L -o /usr/bin/msposd https://raw.githubusercontent.com/openipc/msposd/main/release/star6e/msposd
$ chmod 755 /usr/bin/msposd
*注:请选择对应摄像头版本:SigmaStar based SoC (ssc338q, sc30kq) *
3.3 Step 3: 下载各参数icon
图标
图标文件版本/etc/majestic.yaml
- 720p: font_hd.png
- 1080p: font.png
图标风格(betaflight):
$ mkdir /usr/share/fonts
$ curl -k -L -o /usr/share/fonts/font.png https://raw.githubusercontent.com/openipc/msposd/main/fonts/betaflight/font.png
$ curl -k -L -o /usr/share/fonts/font_hd.png https://raw.githubusercontent.com/openipc/msposd/main/fonts/betaflight/font_hd.png
注:飞betaflight/inav的可以用各自对应的图标,而飞Ardupilot的,请使用betaflight图标。
3.4 Step 4: 修改/etc/init.d/S98datalink
配置
在echo "Starting wifibroadcast service..."
下面增加以下两行(启动msposd):
killall -q msposd
msposd --master /dev/ttyS2 --baudrate 115200 -c 7 -c 9 --out 127.0.0.1:14555 --matrix 11 --osd -r 20 --a
hi 0 --wait 5 --persist 50 -v &
$ msposd --help
Ver: 20241027_153531
Usage: msposd [OPTIONS]
Where:-m --master Serial port to receive MSP (/dev/ttyAMA0 by default)-b --baudrate Serial port baudrate (115200 by default)-o --output UDP endpoint to forward aggregated MSP messages (127.0.0.1:14600)-c --channels RC Channel to listen for commands (0 by default) and exec channels.sh. This command can be repeated. Channel values are 1-based.-w --wait Delay after each command received(2000ms default)-r --fps Max MSP Display refresh rate(5..50)-p --persist How long a channel value must persist to generate a command - for multiposition switches (0ms default)-t --temp Read SoC temperature-d --wfb Monitors wfb.log file and reports errors via HUD messages-s --osd Parse MSP and draw OSD over the video-a --ahi Draw graphic AHI, mode [0-No, 2-Simple 1-Ladder, 3-LadderEx]-x --matrix OSD matrix (0 - 53:20 , 1- 50:18 chars)--mspvtx Enable mspvtx support-v --verbose Show debug infot--help Display this help
3.5 Step 5: 修改/etc/datalink.conf
$ sed -i '/telemetry=true/c\telemetry=false' /etc/datalink.conf
3.6 Step 6: 设置Ardupilot串口协议
Analog Camera:
SERIAL3_BAUD = 230 //230400
SERIAL3_PROTOCOL = 44 //IRC_TRAMP
SERIAL3_OPTIONS = 4 //halfDuplex
OSD_TYPE1 = 1 //MAX7456
Digital Camera:
SERIAL8_BAUD = 115 //115200
SERIAL8_PROTOCOL = 42 //DISPLAYPORT
SERIAL8_OPTIONS = 0 //polling
OSD_TYPE2 = 5 //MSP_DISPLAYPORT
MSP_OPTIONS = 4 //EnableBTFLFonts
3.7 Step 7:OSD配置切换选项
目前,主要的问题是:Is it possible for two OSD resolution working at the same time?
如果不能同时支持模拟和数字OSD显示,那么只能进行切换。或者,将OSD位置调整到模拟和数字摄像头都能显示的位置。
OSD_CHAN = ???
详见:
- Ardupilot OSD Configuration
- Ardupilot OSD_CHAN
4. 总结
通过不断折腾,基本上Ardupilot在使用msposd时,主要注意配置上的一些问题:
- RGN_GetAttr failed with 0xa0032001 – osd icons error
- Request, Ardupilot OSD icon support #13
- Is it possible for two OSD resolution working at the same time?
如果能够支持位置本地自定义,那么将更加灵活。
- OSD icon local position configuration support #14
- betaflight png mw icon is NOT good! #15
5. 参考资料
【1】四轴飞控DIY集成FPV功能
【2】Ardupilot & OpenIPC & 基于WFB-NG构架分析和数据链路思考
【3】OpenIPC开源FPV之工程编译
【4】OpenIPC开源FPV之工程框架
【5】OpenIPC开源FPV之重要源码包
【6】OpenIPC开源FPV之重要源码启动配置
【7】OpenIPC开源FPV之固件sysupgrade升级
【8】OpenIPC开源FPV之Ardupilot配置
【9】OpenIPC开源FPV之Channel配置