From 528f9a5adef428669351c8e0d21f6358c49f732f Mon Sep 17 00:00:00 2001 From: Gautier Hattenberger Date: Wed, 17 Sep 2025 16:55:30 +0200 Subject: [PATCH] [cam_gimbal] rewrite the pan/tilt control module (#3538) - generic pan/tilt gimbal control with several builtin modes - gimbal position and orientation configurable - specialization possible for gimbals not matching the default scheme (with an example using the Caddx GM3 3 axis gimbal) - remove all the old unused code using gimbal control --- conf/joystick/attack3_joystick_raw.xml | 27 + conf/modules/cam_gimbal.xml | 38 + conf/modules/cam_point.xml | 56 -- conf/modules/cam_roll.xml | 26 - conf/modules/cam_segment.xml | 18 - conf/modules/gimbal_caddx_gm3.xml | 30 + sw/airborne/modules/cam_control/cam.c | 318 -------- sw/airborne/modules/cam_control/cam.h | 99 --- sw/airborne/modules/cam_control/cam_gimbal.c | 367 +++++++++ sw/airborne/modules/cam_control/cam_gimbal.h | 111 +++ sw/airborne/modules/cam_control/cam_roll.c | 77 -- sw/airborne/modules/cam_control/cam_roll.h | 29 - sw/airborne/modules/cam_control/cam_segment.c | 48 -- sw/airborne/modules/cam_control/cam_segment.h | 35 - .../modules/cam_control/gimbal_caddx_gm3.c | 91 +++ .../modules/cam_control/gimbal_caddx_gm3.h | 38 + sw/airborne/modules/cam_control/point.c | 746 ------------------ sw/airborne/modules/cam_control/point.h | 38 - 18 files changed, 702 insertions(+), 1490 deletions(-) create mode 100644 conf/joystick/attack3_joystick_raw.xml create mode 100644 conf/modules/cam_gimbal.xml delete mode 100644 conf/modules/cam_point.xml delete mode 100644 conf/modules/cam_roll.xml delete mode 100644 conf/modules/cam_segment.xml create mode 100644 conf/modules/gimbal_caddx_gm3.xml delete mode 100644 sw/airborne/modules/cam_control/cam.c delete mode 100644 sw/airborne/modules/cam_control/cam.h create mode 100644 sw/airborne/modules/cam_control/cam_gimbal.c create mode 100644 sw/airborne/modules/cam_control/cam_gimbal.h delete mode 100644 sw/airborne/modules/cam_control/cam_roll.c delete mode 100644 sw/airborne/modules/cam_control/cam_roll.h delete mode 100644 sw/airborne/modules/cam_control/cam_segment.c delete mode 100644 sw/airborne/modules/cam_control/cam_segment.h create mode 100644 sw/airborne/modules/cam_control/gimbal_caddx_gm3.c create mode 100644 sw/airborne/modules/cam_control/gimbal_caddx_gm3.h delete mode 100644 sw/airborne/modules/cam_control/point.c delete mode 100644 sw/airborne/modules/cam_control/point.h diff --git a/conf/joystick/attack3_joystick_raw.xml b/conf/joystick/attack3_joystick_raw.xml new file mode 100644 index 0000000000..d4d65b056e --- /dev/null +++ b/conf/joystick/attack3_joystick_raw.xml @@ -0,0 +1,27 @@ + + + + + +