mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-26 17:36:40 +08:00
aa7c66e0a7
Place firmware .bin files at the SD card root or staging directory (/fs/microsd/ufw_staging/); on boot the UAVCAN server migrates them to /fs/microsd/ufw/ and updates FW.db, then flashes any connected node whose firmware version mismatches. - Add firmware migration from SD root and staging dir into /fs/microsd/ufw/ - Maintain FW.db flat-file database mapping board IDs to original filenames - Use cache-aligned DMA-safe read/write buffers (required on STM32H7) - Add Tools/auterion/remote_update_fmu.sh for SSH-based FMU+canio updates
59 lines
1.4 KiB
Bash
Executable File
59 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
DIR="$(dirname $(readlink -f $0))"
|
|
DEFAULT_AUTOPILOT_HOST=10.41.1.1
|
|
DEFAULT_AUTOPILOT_PORT=33333
|
|
DEFAULT_AUTOPILOT_USER=auterion
|
|
EXTERNAL_FIRMWARE_FILES=()
|
|
|
|
for i in "$@"
|
|
do
|
|
case $i in
|
|
--file=*)
|
|
PX4_BINARY_FILE="${i#*=}"
|
|
;;
|
|
--default-ip=*)
|
|
DEFAULT_AUTOPILOT_HOST="${i#*=}"
|
|
;;
|
|
--default-port=*)
|
|
DEFAULT_AUTOPILOT_PORT="${i#*=}"
|
|
;;
|
|
--default-user=*)
|
|
DEFAULT_AUTOPILOT_USER="${i#*=}"
|
|
;;
|
|
--revert)
|
|
REVERT_AUTOPILOT_ARGUMENT=-r
|
|
;;
|
|
--wifi)
|
|
DEFAULT_AUTOPILOT_HOST=10.41.0.1
|
|
;;
|
|
--ext-fw=*)
|
|
EXTERNAL_FIRMWARE_FILES+=("${i#*=}")
|
|
;;
|
|
*)
|
|
# unknown option
|
|
;;
|
|
esac
|
|
done
|
|
|
|
# allow these to be overridden
|
|
[ -z "$AUTOPILOT_HOST" ] && AUTOPILOT_HOST=$DEFAULT_AUTOPILOT_HOST
|
|
[ -z "$AUTOPILOT_PORT" ] && AUTOPILOT_PORT=$DEFAULT_AUTOPILOT_PORT
|
|
[ -z "$AUTOPILOT_USER" ] && AUTOPILOT_USER=$DEFAULT_AUTOPILOT_USER
|
|
|
|
ARGUMENTS=()
|
|
ARGUMENTS+=(-d "$AUTOPILOT_HOST")
|
|
ARGUMENTS+=(-p "$AUTOPILOT_PORT")
|
|
ARGUMENTS+=(-u "$AUTOPILOT_USER")
|
|
ARGUMENTS+=(${PX4_BINARY_FILE:+-f "$PX4_BINARY_FILE"})
|
|
for _ext_fw in "${EXTERNAL_FIRMWARE_FILES[@]}"; do
|
|
ARGUMENTS+=(-x "$_ext_fw")
|
|
done
|
|
ARGUMENTS+=($REVERT_AUTOPILOT_ARGUMENT)
|
|
|
|
echo "Flashing $AUTOPILOT_HOST ..."
|
|
|
|
"$DIR"/remote_update_fmu.sh "${ARGUMENTS[@]}"
|
|
|
|
exit 0
|