Sometimes, it maybe makes sense to get the Mavlink telemetry not from the wbc, but to inject it from another source like TBS Crossfire. Especially when TBS finally publishes the V3.8 for Crossfire, the will be a built-in possibility to get the Mavlink data from Crossfire via WIFI and UDP, even if you do not have the “Full Crossfire TX”, since all other Crossfire Modules (Lite) have a wifi module build in.

One possibility is:

Steps:

  1. Activate the WIFI hotspot of OpenHD. Since the builtin wifi modules of Crossfire (or some other solutions like my own Raspi0-Bridge or ESP32 mav2pt bridge) only can use 2,4GHz, take care that your WBS uplink works at 5,8GHz or use channels seperated as far as possible from another).

    HOTSPOT_CHANNEL=Y

  2. Configure your Mavlink bridge to broadcast on port 14560 (not to conflict with the “standard” Mavlink UDP port 14550). This may not be absolutely necessary in your configuration, but let’s do so. Of course, your port has to fit to the udp4-recv: parameter of socat, see below.
  3. Now, set the telemtry parameters in OpenHD:

    TELEMETRY_TRANSMISSION=external
    EXTERNAL_TELEMETRY_SERIALPORT_GROUND_BAUDRATE=57600
    EXTERNAL_TELEMETRY_SERIALPORT_GROUND=/dev/ttyCrossfire

    (the name of this virtual port is arbitrary, of course)
  4. Change the file /usr/local/share/wifibroadcast-scripts/global_functions.sh and add something to the function in function get_telemetry_settings :

    if [ "$TELEMETRY_TRANSMISSION" == "external" ]; then
      if [ "$EXTERNAL_TELEMETRY_SERIALPORT_GROUND" == "/dev/ttyCrossfire" ]; then
       if [ ! -e $EXTERNAL_TELEMETRY_SERIALPORT_GROUND ]; then
        nice socat -d -d pty,link=/dev/ttyCrossfire,raw,echo=0 udp4-recv:14560 > /dev/null 2>&1 &
       fi
      fi
     fi

  5. Add to in /usr/local/share/wifibroadcast-scripts/osd_rx_functions.sh:
    below the line

    ps -ef | nice grep "cat /var/run/openhd/telemetryfifo3" | nice grep -v grep | awk '{print $2}' | xargs kill -9

    add

    ps -ef | nice grep "cat /var/run/openhd/telemetryfifo6" | nice grep -v grep | awk '{print $2}' | xargs kill -9

    (I’m not shure if this step is absolutely necessary, but I had some strange effects without this)
  6. Setup your Mavlink wifi bridge to connect to the OpenHD wifi hotspot. Now, your Mavlink bridge (or Crossfire module) should send the mavlink telemetry to OpenHD.

At the moment, this is only a one way direction communication. With this little patch, OpenHD only receives telemetry, but is not able to send anything back to air. Let me know if you need this changed.