diff --git a/Tools/ci/package_build_artifacts.sh b/Tools/ci/package_build_artifacts.sh index 844a892b39..bae31eab96 100755 --- a/Tools/ci/package_build_artifacts.sh +++ b/Tools/ci/package_build_artifacts.sh @@ -26,6 +26,23 @@ for uavcan_bin in **/**/*.uavcan.bin; do fi done +# Also check for CAN node binaries in deploy directories +for deploy_bin in **/deploy/*.bin; do + if [ -f "$deploy_bin" ]; then + # Extract build directory name from deploy path + build_dir=$(echo "$deploy_bin" | sed 's|build/\([^/]*\)/.*|\1|') + + # Create subdirectory for this CAN node + can_node_dir="artifacts/can_nodes/$build_dir" + mkdir -p "$can_node_dir" + + # Copy the bin file + cp "$deploy_bin" "$can_node_dir/" + + echo "Packaged CAN node firmware from deploy: $deploy_bin -> $can_node_dir/" + fi +done + cp **/**/*.elf artifacts/ 2>/dev/null || true for build_dir_path in build/*/ ; do build_dir_path=${build_dir_path::${#build_dir_path}-1} diff --git a/docs/en/dronecan/px4_cannode_fw.md b/docs/en/dronecan/px4_cannode_fw.md index c165b74662..10f2023c29 100644 --- a/docs/en/dronecan/px4_cannode_fw.md +++ b/docs/en/dronecan/px4_cannode_fw.md @@ -20,6 +20,25 @@ make ark_can-flow_default This will create an output in **build/ark_can-flow_default** named **XX-X.X.XXXXXXXX.uavcan.bin**. Follow the instructions at [DroneCAN firmware update](index.md#firmware-update) to flash the firmware. +## Firmware Releases + +When PX4 creates official releases, CAN node firmware files are packaged separately from regular flight controller firmware: + +- **Flight controller firmware**: Available as `.px4` files in the root of the release +- **CAN node firmware**: Available as `.uavcan.bin` files organized in named subdirectories under `can_nodes/` + +For example, in a release you might find: +``` +├── px4_fmu-v5_default.px4 (flight controller firmware) +├── can_nodes/ +│ ├── ark_can-flow_default/ +│ │ └── 1234-1.0.abcd1234.uavcan.bin (CAN node firmware) +│ └── ark_can-gps_default/ +│ └── 5678-2.0.efgh5678.uavcan.bin (CAN node firmware) +``` + +Use the `.uavcan.bin` files from the appropriate subdirectory to flash your CAN nodes. + ## Developer Information This section has information that is relevant to developers who want to add support for new DroneCAN hardware to the PX4 Autopilot. diff --git a/docs/ko/dronecan/px4_cannode_fw.md b/docs/ko/dronecan/px4_cannode_fw.md index 65262d4152..3d60a7f375 100644 --- a/docs/ko/dronecan/px4_cannode_fw.md +++ b/docs/ko/dronecan/px4_cannode_fw.md @@ -20,6 +20,25 @@ make ark_can-flow_default This will create an output in **build/ark_can-flow_default** named **XX-X.X.XXXXXXXX.uavcan.bin**. Follow the instructions at [DroneCAN firmware update](index.md#firmware-update) to flash the firmware. +## Firmware Releases + +When PX4 creates official releases, CAN node firmware files are packaged separately from regular flight controller firmware: + +- **Flight controller firmware**: Available as `.px4` files in the root of the release +- **CAN node firmware**: Available as `.uavcan.bin` files organized in named subdirectories under `can_nodes/` + +For example, in a release you might find: +``` +├── px4_fmu-v5_default.px4 (flight controller firmware) +├── can_nodes/ +│ ├── ark_can-flow_default/ +│ │ └── 1234-1.0.abcd1234.uavcan.bin (CAN node firmware) +│ └── ark_can-gps_default/ +│ └── 5678-2.0.efgh5678.uavcan.bin (CAN node firmware) +``` + +Use the `.uavcan.bin` files from the appropriate subdirectory to flash your CAN nodes. + ## 개발자 정보 This section has information that is relevant to developers who want to add support for new DroneCAN hardware to the PX4 Autopilot.