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:  4 or 6

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
  • Is it possible for two OSD resolution working at the same time?
  • betaflight png mw icon is NOT good! #15
  • Custom messages may cause garbled text if echoed too early #22

如果能够支持位置本地自定义,那么将更加灵活。

  • [Request] OSD icon local position configuration support #14
  • [Request] Ardupilot OSD icon support #13
  • [Request] Porting ground station OSD to Jetson Orin Nano #17
  • Can’t launch msposd on Groud stattion NVR Hi3536dv100 #18

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配置

你可能感兴趣的:(Linux,OpenIPC,开源,单片机,嵌入式硬件,无人机)