Mower control with QGroundcontrol

Hi team, i like QGC but im struggling to get a few things working (specifically more than 2 joystick channels over mavlink). Hoping for your advice & way forward.

Mower Architecture

SteamDeck QGroundControl v5.0.6
Companion Pi + RPanion for Wifi/TCP connection into Mavlink (allows tcp to port 5760)
ArduRover v.4.6 working fine with Mission Planner. Skid-steer Rover.

Im stuck using Steamdeck joystick allowing

  • Forwards/Backwards - ie Joystick Throttle - Working fine
  • Turn Left/Right - ie Joystock Yaw - working fine
  • Mower Deck - Up/Down - normally mapped to Joystick Pitch - not working
    (its an ESC with <1300 move down ~1500 stay put >1800 go up) and fine control needed.
  • I note connecting to a QUAD in SITL, we get 4 joystick channels working (AETR) so it appears a hardcoded decision = Rovers get 2 channels, Quads get 4+ ??

Challenges

  • QGC Mavlink inspector shows RC_Channel streams for Ch1 (throttle) and CH3 (Yaw) only
    Adding more than 2 channels AI (!) suggests needs recoding and recompiling/installing
  • More RC channel control Servo control in the future ideally without scripts/code changes
  • I subsequently configured the vehicle as MavlinkDefault, looks like more channels, but only Ch1 and Ch3 are not stuck at 1500 (default midpoint)..
  • Steamdeck specific - Please add an EXIT menu item to QGC. Steamdeck in native mode has no window controls (min, max, exit) and no obvious way to exit the app - making it near impossible to exit QGC application (steam+right of left thumbpad works mostly) - an exit app option would be peachy

Thanks team, im learning QGC and expect to get my head around mavlink commands, any help with more joystick channels over mavlink stream would make a difference.

1 Like

Bit stranded here, specifically

  • QGC5 & ArduRover4.6 allows only 2 axies - ch1(yaw) and ch3(throttle) ONLY, which im suspecting is picked up from the Rover Firmware
  • All other channels 2,4-8 cannot be assigned an axis
  • QGC has no HOLD or RELEASE logic for buttons, so vales are “on shot” in my case, deck keeps moving up or down unless midpoint pwm(1500)
  • JoystickCustomActions.json works - but no midpoint return on button release.
  • Joystick calibration doesnt work quite right on steamdeck
  • Joystick button assignment has REPEAT option greyed out, so cant do incremental movements, its mode changes only
  • Im able to map CH9 for button/servo functions via JoystickCustomActions which can get the mower functional, but the calibration has gone out on the Throttle - midpoint now 1700 so mower takes off when it shouldnt (calibration issue above means resetting is non trivial)

Any help or observations welcome - getting a 3rd axis working would make QGC functional in this space, i can work around the rest.

Might be worth asking over in discuss.ardupilot.org.