forked from PX4/PX4-Autopilot
-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Removed old shell commands which were for the update with old bootloader and didn't work anymore. Added "tail -f /dev/null" to keep the container running in drone so the px4 binaries are available when the update happens.
- Loading branch information
1 parent
053f925
commit 36077dc
Showing
3 changed files
with
48 additions
and
27 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,47 @@ | ||
#!/bin/sh -e | ||
|
||
aframe="" | ||
if [ ! -z "$AIRFRAME" ]; then | ||
aframe="--airframe ${AIRFRAME}" | ||
fi | ||
SALUKI_FILE_INFO="/saluki_file_info.json" | ||
|
||
extract_bin_from_px4() { | ||
local px4_file=$1 | ||
local target_dir=$2 | ||
local target=${target_dir}/$(basename ${px4_file%.px4}).bin | ||
|
||
# check file exists | ||
if [ ! -f $px4_file ]; then | ||
echo "File $px4_file does not exist" | ||
exit 1 | ||
fi | ||
|
||
echo "Extracting $target from $px4_file" | ||
# binary is stored in the 'image' field of the json file | ||
# as base64 encoded and gzipped | ||
cat ${px4_file} | jq -r '.image' | base64 -d | pigz -d > $target | ||
validation_file=${target_dir}/$(basename ${px4_file%.px4})-validation.txt | ||
generate_validation_file ${px4_file} ${validation_file} | ||
} | ||
|
||
function generate_validation_file() { | ||
local px4_filename=${1} | ||
local validation_file=${2} | ||
echo "generating validation file for ${px4_filename} to ${validation_file}" | ||
|
||
cat ${SALUKI_FILE_INFO} |jq -c '.files[] |select (.filename | contains("'${px4_filename}'"))' > ${validation_file} | ||
} | ||
|
||
# export px4 files if the container is started with the PX4_EXPORT_DIR | ||
if [ -n "$PX4_EXPORT_DIR" ]; then | ||
echo "Exporting PX4 files to $PX4_EXPORT_DIR" | ||
|
||
# find all px4 files in the firmware directory | ||
for px4_file in /firmware/*.px4; do | ||
extract_bin_from_px4 $px4_file $PX4_EXPORT_DIR | ||
done | ||
|
||
mode="" | ||
if [ ! -z "$FLIGHT_MODE" ]; then | ||
mode="--flightmode ${FLIGHT_MODE}" | ||
# copy saluki_file_info.json to the export directory | ||
cp ${SALUKI_FILE_INFO} $PX4_EXPORT_DIR/saluki_file_info.json | ||
fi | ||
|
||
/bin/px_uploader.py --port=/dev/px4serial --udp-addr=192.168.200.101 --baud-flightstack=57600,115200,1000000,2000000 --baud-bootloader=2000000 px4_fmu-v5x_ssrc-*.px4 ssrc_saluki-v1_default-*.px4 ssrc_saluki-v2_default-*.px4 | ||
# keep the container running so px4 update can get the | ||
# px4 firmware files from the container | ||
# tail -f /dev/null |