Skip to content

Commit

Permalink
mavlink USB auto start/stop on boards with VBUS
Browse files Browse the repository at this point in the history
 - no longer start sercon or mavlink usb by default
 - on USB connection (VBUS) monitor serial USB at low rate and start Mavlink if there's a HEARTBEAT or nshterm on 3 consecutive carriage returns
 - the mavlink USB instance is automatically stopped and serdis executed if USB is disconnected
 - skipping Mavlink USB (and sercon) saves a considerable amount of memory on older boards
  • Loading branch information
dagar committed Oct 3, 2021
1 parent 07e307b commit 6d78054
Show file tree
Hide file tree
Showing 46 changed files with 447 additions and 453 deletions.
4 changes: 2 additions & 2 deletions .ci/Jenkinsfile-hardware
Original file line number Diff line number Diff line change
Expand Up @@ -867,8 +867,8 @@ void checkStatus() {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ls /etc"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ls /obj"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ls /proc"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "mavlink status streams"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "mavlink status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "mavlink status streams" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "mavlink status" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "mount"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "mtd status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param show" || true'
Expand Down
5 changes: 0 additions & 5 deletions ROMFS/cannode/init.d/rcS
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,6 @@ set +e
#------------------------------------------------------------------------------
set R /

#
# Start CDC/ACM serial driver.
#
sercon

#
# Print full system version.
#
Expand Down
5 changes: 0 additions & 5 deletions ROMFS/px4fmu_common/init.d/rcS
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,6 @@ set STARTUP_TUNE 1
set USE_IO no
set VEHICLE_TYPE none

#
# Start CDC/ACM serial driver.
#
sercon

#
# Print full system version.
#
Expand Down
8 changes: 0 additions & 8 deletions ROMFS/px4fmu_test/init.d/rcS
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,6 @@ then
led_control on -c blue
fi

if sercon
then
echo "[i] USB interface connected"

# Try to get an USB console
nshterm /dev/ttyACM0 &
fi

#
# Try to mount the microSD card.
#
Expand Down
4 changes: 2 additions & 2 deletions Tools/mavlink_shell.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ def __init__(self, portname, baudrate, devnum=0, debug=0):
self.port = devnum
self.debug("Connecting with MAVLink to %s ..." % portname)
self.mav = mavutil.mavlink_connection(portname, autoreconnect=True, baud=baudrate)
self.mav.mav.heartbeat_send(mavutil.mavlink.MAV_TYPE_GENERIC, mavutil.mavlink.MAV_AUTOPILOT_INVALID, 0, 0, 0)
self.mav.wait_heartbeat()
self.debug("HEARTBEAT OK\n")
self.debug("Locked serial device\n")
Expand Down Expand Up @@ -226,8 +227,7 @@ def erase_last_n_chars(N):
# handle heartbeat sending
heartbeat_time = timer()
if heartbeat_time > next_heartbeat_time:
mav_serialport.mav.mav.heartbeat_send(mavutil.mavlink.MAV_TYPE_GCS,
mavutil.mavlink.MAV_AUTOPILOT_GENERIC, 0, 0, 0)
mav_serialport.mav.mav.heartbeat_send(mavutil.mavlink.MAV_TYPE_GENERIC, mavutil.mavlink.MAV_AUTOPILOT_INVALID, 0, 0, 0)
next_heartbeat_time = heartbeat_time + 1

except serial.serialutil.SerialException as e:
Expand Down
7 changes: 0 additions & 7 deletions boards/airmind/mindpx-v2/init/rc.board_mavlink

This file was deleted.

3 changes: 0 additions & 3 deletions boards/atl/mantis-edu/init/rc.board_mavlink
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,3 @@ mavlink stream -d ${GIMBAL_TTY} -s GIMBAL_DEVICE_SET_ATTITUDE -r 20

# optical flow
mavlink start -d /dev/ttyS2 -m custom -b 500000

# Start MAVLink on the USB port
mavlink start -d /dev/ttyACM0
7 changes: 0 additions & 7 deletions boards/bitcraze/crazyflie/init/rc.board_mavlink

This file was deleted.

7 changes: 0 additions & 7 deletions boards/bitcraze/crazyflie21/init/rc.board_mavlink

This file was deleted.

7 changes: 0 additions & 7 deletions boards/cuav/nora/init/rc.board_mavlink

This file was deleted.

7 changes: 0 additions & 7 deletions boards/cuav/x7pro/init/rc.board_mavlink

This file was deleted.

3 changes: 0 additions & 3 deletions boards/cubepilot/cubeorange/init/rc.board_mavlink
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@
# Board specific MAVLink startup script.
#------------------------------------------------------------------------------

# Start MAVLink on the USB port
mavlink start -d /dev/ttyACM0

# Start ADS-B receiver mavlink connection if console not present
if [ ! -e /dev/console ]
then
Expand Down
7 changes: 0 additions & 7 deletions boards/cubepilot/cubeyellow/init/rc.board_mavlink

This file was deleted.

7 changes: 0 additions & 7 deletions boards/holybro/durandal-v1/init/rc.board_mavlink

This file was deleted.

7 changes: 0 additions & 7 deletions boards/holybro/kakutef7/init/rc.board_mavlink

This file was deleted.

7 changes: 0 additions & 7 deletions boards/holybro/pix32v5/init/rc.board_mavlink

This file was deleted.

7 changes: 0 additions & 7 deletions boards/modalai/fc-v1/init/rc.board_mavlink

This file was deleted.

7 changes: 0 additions & 7 deletions boards/modalai/fc-v2/init/rc.board_mavlink

This file was deleted.

7 changes: 0 additions & 7 deletions boards/mro/ctrl-zero-f7-oem/init/rc.board_mavlink

This file was deleted.

7 changes: 0 additions & 7 deletions boards/mro/ctrl-zero-f7/init/rc.board_mavlink

This file was deleted.

7 changes: 0 additions & 7 deletions boards/mro/ctrl-zero-h7-oem/init/rc.board_mavlink

This file was deleted.

7 changes: 0 additions & 7 deletions boards/mro/ctrl-zero-h7/init/rc.board_mavlink

This file was deleted.

7 changes: 0 additions & 7 deletions boards/mro/pixracerpro/init/rc.board_mavlink

This file was deleted.

7 changes: 0 additions & 7 deletions boards/mro/x21-777/init/rc.board_mavlink

This file was deleted.

7 changes: 0 additions & 7 deletions boards/mro/x21/init/rc.board_mavlink

This file was deleted.

7 changes: 0 additions & 7 deletions boards/nxp/fmuk66-e/init/rc.board_mavlink

This file was deleted.

7 changes: 0 additions & 7 deletions boards/nxp/fmuk66-v3/init/rc.board_mavlink

This file was deleted.

7 changes: 0 additions & 7 deletions boards/nxp/fmurt1062-v1/init/rc.board_mavlink

This file was deleted.

7 changes: 0 additions & 7 deletions boards/omnibus/f4sd/init/rc.board_mavlink

This file was deleted.

7 changes: 0 additions & 7 deletions boards/px4/fmu-v2/init/rc.board_mavlink

This file was deleted.

7 changes: 0 additions & 7 deletions boards/px4/fmu-v3/init/rc.board_mavlink

This file was deleted.

8 changes: 0 additions & 8 deletions boards/px4/fmu-v4/init/rc.board_mavlink

This file was deleted.

7 changes: 0 additions & 7 deletions boards/px4/fmu-v4pro/init/rc.board_mavlink

This file was deleted.

7 changes: 0 additions & 7 deletions boards/px4/fmu-v5/init/rc.board_mavlink

This file was deleted.

13 changes: 0 additions & 13 deletions boards/px4/fmu-v5x/init/rc.board_mavlink

This file was deleted.

7 changes: 0 additions & 7 deletions boards/px4/fmu-v6u/init/rc.board_mavlink

This file was deleted.

7 changes: 0 additions & 7 deletions boards/px4/fmu-v6x/init/rc.board_mavlink

This file was deleted.

7 changes: 0 additions & 7 deletions boards/spracing/h7extreme/init/rc.board_mavlink

This file was deleted.

7 changes: 0 additions & 7 deletions boards/uvify/core/init/rc.board_mavlink

This file was deleted.

Loading

0 comments on commit 6d78054

Please sign in to comment.