stratux icon indicating copy to clipboard operation
stratux copied to clipboard

uAvionix Ping USB support

Open stefanux2 opened this issue 8 months ago • 9 comments

uAvionix Ping USB support

Setup

  1. Stratux version: Stratux 1.6r1-eu029 by b3nn0 (EU)

  2. Stratux config:

    SDR

    • [X] single using uAvionix Ping USB via USB
    • [ ] dual

    GPS

    • [X] yes
    • [ ] no type:

    AHRS

    • [ ] yes
    • [X] no

    power source: 12V to 5V

    usb cable: 10 centimeters

  3. EFB app and version: Easy VFR 4

    EFB platform: iOS 17

    EFB hardware: iPad Mini + iPhone 14

  4. Description of your issue: I'm using Stratux built with uAvionix PingUSB device. This patch is to add the MavLink protocol to the stratux in order to enable the USB-Serial PingUSB device.

Devices

  1. Ping EFB

USB Serial based with 1090 ES Protocol (Currently supported by Stratux) https://uavionix.com/downloads/pingefb/uAvionix-pingEFB-ADS-B-receiver-quick-start-guide.pdf

  1. Ping USB

USB Serial based with MavLink Protocol (This patch) https://uavionix.com/products/pingusb/

Protocol

Traffic Report Message

  • Packet Id=246 from uAvionix Ping Integration Guide.pdf
  • https://www.google.com/search?q=mavlink+uavionix+integration+guide TrafficReportPacket

MavLink

  • https://mavlink.io/en/guide/serialization.html#v1_packet_format

Compilation

Environment

  1. Stratux EU with latest version
  2. Remount the Stratux in RW /boot/cmdline.txt
  3. apt update and install all the development tools
  4. Install Go compiler
  5. Create Go Environement
  6. Modify main/ping.go
  7. Make and copy the executable

Patch Ping.go

This patch was compiled overwriting the main/ping.go file. stratux-serial-ping.zip

Features

  1. Support uAvionix Ping USB connected via USB to enable MavLink protocol
  2. Bearingless target emulation
  3. RSSI Emulation

Test

Tested with 20 hours of flight at sea level up to 8000ft in Europe/Italy. MavLinkWorking

Integration on mainstream

Best integration is to add as second protocol option like "PingEFB" and "PingUSB" switch and rename it as pingusb.go

Improvements

  1. Split ping.go to pingefb.go and pingusb.go
  2. Test with multiple disconnect-reconnection of the USB
  3. Improve the crosscheck with valid data field
  4. Improve Altitude integration with Stratux
  5. Improve RSSI for bearingless traffic

stefanux2 avatar Oct 30 '23 13:10 stefanux2