From f6a24c9f83212eb1bfd427964a5829b6ad58dacb Mon Sep 17 00:00:00 2001 From: neo Date: Wed, 5 Jun 2024 18:54:47 +0200 Subject: [PATCH] main & auto fts module dev --- .../init.d/airframes/0002_auto_fts | 4 ++-- ROMFS/px4fmu_common/init.d/rcS | 2 +- boards/px4/fts-auto/init/rc.board_defaults | 19 +++++++++++-------- boards/px4/fts-can/init/rc.board_defaults | 9 +++++---- build_6c.sh | 7 +++++++ build_afts.sh | 4 ++-- build_mfts.sh | 6 +++--- flash_6c.sh | 6 ++++++ src/modules/fts_control/fts_control_params.c | 2 +- src/modules/mavlink/CMakeLists.txt | 2 ++ src/modules/mavlink/mavlink_main.cpp | 3 --- src/modules/mavlink/mavlink_main.h | 1 - src/modules/mavlink/streams/HEARTBEAT.hpp | 10 ++++++++-- 13 files changed, 48 insertions(+), 27 deletions(-) create mode 100755 build_6c.sh create mode 100755 flash_6c.sh diff --git a/ROMFS/px4fmu_common/init.d/airframes/0002_auto_fts b/ROMFS/px4fmu_common/init.d/airframes/0002_auto_fts index e554255..bdc996f 100644 --- a/ROMFS/px4fmu_common/init.d/airframes/0002_auto_fts +++ b/ROMFS/px4fmu_common/init.d/airframes/0002_auto_fts @@ -14,11 +14,11 @@ # FTS_TYPE = 1 -> MAIN FTS MODULE # FTS_TYPE = 2 -> AUTO FTS MODULE -param set-default FTS_TYPE 2 +# param set-default FTS_TYPE 2 # FTS_SIM_MODE = 0 -> NORMAL OPERATION # FTS_SIM_MODE = 1 -> TERMINATION IS NOT EXECUTED BUT SIMULATED VIA MAVLINK MESSAGE & LOGGING -param set-default FTS_SIM_MODE 0 +# param set-default FTS_SIM_MODE 0 param set-default MAV_TYPE 37 diff --git a/ROMFS/px4fmu_common/init.d/rcS b/ROMFS/px4fmu_common/init.d/rcS index ece6ede..8684920 100644 --- a/ROMFS/px4fmu_common/init.d/rcS +++ b/ROMFS/px4fmu_common/init.d/rcS @@ -558,4 +558,4 @@ unset VEHICLE_TYPE # # Boot is complete, inform MAVLink app(s) that the system is now fully up and running. # -mavlink boot_complete +# mavlink boot_complete diff --git a/boards/px4/fts-auto/init/rc.board_defaults b/boards/px4/fts-auto/init/rc.board_defaults index 8232f5b..081e021 100644 --- a/boards/px4/fts-auto/init/rc.board_defaults +++ b/boards/px4/fts-auto/init/rc.board_defaults @@ -3,15 +3,18 @@ # board specific defaults #------------------------------------------------------------------------------ +param set-default SYS_AUTOSTART 2 -param set-default BAT1_V_DIV 18.1 -param set-default BAT2_V_DIV 18.1 - -param set-default BAT1_A_PER_V 36.367515152 -param set-default BAT2_A_PER_V 36.367515152 +#param set-default FTS_TYPE 2 +#param set-default FTS_SIM_MODE 0 param set-default SYS_USE_IO 1 +param set-default SENS_IMU_MODE 0 -param set-default SYS_AUTOSTART 1 -param set-default SYS_TYPE 37 - +# MAIN-FTS INTERFACE (9600 BAUD) +# MAV_0 - TELEM 1 - TTYS5 - UART7 (PE7/PE8) +param set-default MAV_0_CONFIG 101 +param set-default MAV_0_FORWARD 0 +param set-default MAV_0_MODE 1 +param set-default MAV_0_RADIO_CTL 0 +param set-default MAV_0_RATE 2400 diff --git a/boards/px4/fts-can/init/rc.board_defaults b/boards/px4/fts-can/init/rc.board_defaults index 504b3ec..20e8b1c 100644 --- a/boards/px4/fts-can/init/rc.board_defaults +++ b/boards/px4/fts-can/init/rc.board_defaults @@ -3,12 +3,13 @@ # board specific defaults #------------------------------------------------------------------------------ +param set-default SYS_AUTOSTART 1 -#param set-default FTS_TYPE 1 -#param set-default FTS_SIM_MODE 0 +param set-default FTS_TYPE 1 +param set-default FTS_SIM_MODE 0 -#param set-default SYS_USE_IO 0 -#param set-default SENS_IMU_MODE 0 +param set-default SYS_USE_IO 0 +param set-default SENS_IMU_MODE 0 # FC INTERFACE (9600 BAUD) # MAV_0 - TELEM 1 - TTYS5 - UART7 (PE7/PE8) diff --git a/build_6c.sh b/build_6c.sh new file mode 100755 index 0000000..fc600db --- /dev/null +++ b/build_6c.sh @@ -0,0 +1,7 @@ +#!/bin/bash -xe +# BUILD AUTO-FTS FIRMWARE +source venv/bin/activate +#rm -rf build/ +#git submodule update --recursive +#make -j$(nproc) px4_fts-can +make px4_fmu-v6c diff --git a/build_afts.sh b/build_afts.sh index de3dca3..17c88ba 100755 --- a/build_afts.sh +++ b/build_afts.sh @@ -1,7 +1,7 @@ #!/bin/bash -xe # BUILD AUTO-FTS FIRMWARE source venv/bin/activate -rm -rf build/ -git submodule update --recursive +#rm -rf build/ +#git submodule update --recursive #make -j$(nproc) px4_fts-can make px4_fts-auto \ No newline at end of file diff --git a/build_mfts.sh b/build_mfts.sh index 9f89423..fd42c43 100755 --- a/build_mfts.sh +++ b/build_mfts.sh @@ -1,7 +1,7 @@ #!/bin/bash -xe # BUILD MAIN-FTS FIRMWARE source venv/bin/activate -rm -rf build/ -git submodule update --recursive +#rm -rf build/ +#git submodule update --recursive make px4_fts-can -#make px4_fts-proto_default \ No newline at end of file +#make px4_fts-can_default \ No newline at end of file diff --git a/flash_6c.sh b/flash_6c.sh new file mode 100755 index 0000000..2191b77 --- /dev/null +++ b/flash_6c.sh @@ -0,0 +1,6 @@ +#!/bin/bash -xe + +# build firmware +./build_6c.sh +# flash firmware +st-flash write build/px4_fmu-v6c_default/px4_fmu-v6c_default.bin 0x08020000 diff --git a/src/modules/fts_control/fts_control_params.c b/src/modules/fts_control/fts_control_params.c index 824a197..f525c24 100644 --- a/src/modules/fts_control/fts_control_params.c +++ b/src/modules/fts_control/fts_control_params.c @@ -39,7 +39,7 @@ */ /** - * Enable FTS relates funtions. + * Enable FTS module. * * @boolean * @group FTS Control diff --git a/src/modules/mavlink/CMakeLists.txt b/src/modules/mavlink/CMakeLists.txt index 8b006c5..ec9d4c3 100644 --- a/src/modules/mavlink/CMakeLists.txt +++ b/src/modules/mavlink/CMakeLists.txt @@ -41,6 +41,8 @@ px4_add_git_submodule(TARGET git_mavlink_v2 PATH "${MAVLINK_GIT_DIR}") # always generate uAvionix dialect set(MAVLINK_DIALECT_UAVIONIX "uAvionix") +message(STATUS "VENV: ${CMAKE_SOURCE_DIR}/venv/bin/activate") +execute_process(COMMAND source ${CMAKE_SOURCE_DIR}/venv/bin/activate) add_custom_command( OUTPUT ${MAVLINK_LIBRARY_DIR}/${MAVLINK_DIALECT_UAVIONIX}/${MAVLINK_DIALECT_UAVIONIX}.h COMMAND diff --git a/src/modules/mavlink/mavlink_main.cpp b/src/modules/mavlink/mavlink_main.cpp index 59bdf46..40f6cbf 100644 --- a/src/modules/mavlink/mavlink_main.cpp +++ b/src/modules/mavlink/mavlink_main.cpp @@ -1842,9 +1842,6 @@ Mavlink::configure_streams_to_default(const char *configure_single_stream) configure_stream_local("UAVIONIX_ADSB_OUT_DYNAMIC", 5.0f); break; - case MAVLINK_MODE_FTS: - break; - default: ret = -1; break; diff --git a/src/modules/mavlink/mavlink_main.h b/src/modules/mavlink/mavlink_main.h index b4611da..85c0361 100644 --- a/src/modules/mavlink/mavlink_main.h +++ b/src/modules/mavlink/mavlink_main.h @@ -211,7 +211,6 @@ public: MAVLINK_MODE_GIMBAL, MAVLINK_MODE_ONBOARD_LOW_BANDWIDTH, MAVLINK_MODE_UAVIONIX, - MAVLINK_MODE_FTS, MAVLINK_MODE_COUNT }; diff --git a/src/modules/mavlink/streams/HEARTBEAT.hpp b/src/modules/mavlink/streams/HEARTBEAT.hpp index 7c21111..48032b4 100644 --- a/src/modules/mavlink/streams/HEARTBEAT.hpp +++ b/src/modules/mavlink/streams/HEARTBEAT.hpp @@ -129,9 +129,15 @@ private: } else if (vehicle_status.calibration_enabled) { system_status = MAV_STATE_CALIBRATING; } - // custom heartbeat compliant to Nimbus FTS + // custom heartbeat compliant to Nimbus Ground FTS + custom_mode = custom_mode; + base_mode = base_mode; + system_status = system_status; mavlink_msg_heartbeat_send(_mavlink->get_channel(), _mavlink->get_system_type(), 20, - base_mode, custom_mode.data, system_status); + 0, 0, 3); + // standard heartbeat + //mavlink_msg_heartbeat_send(_mavlink->get_channel(), _mavlink->get_system_type(), 20, + // base_mode, custom_mode.data, system_status); return true; }