Browse Source

Rename vmount to gimbal

master
Julian Oes 3 years ago committed by Daniel Agar
parent
commit
490a0c473b
  1. 2
      ROMFS/px4fmu_common/init.d-posix/rcS
  2. 4
      ROMFS/px4fmu_common/init.d/rcS
  3. 2
      Tools/kconfig/cmake_kconfig_lut.txt
  4. 2
      boards/airmind/mindpx-v2/default.px4board
  5. 2
      boards/atl/mantis-edu/default.px4board
  6. 2
      boards/av/x-v1/default.px4board
  7. 2
      boards/beaglebone/blue/default.px4board
  8. 2
      boards/cuav/nora/default.px4board
  9. 2
      boards/cuav/x7pro/default.px4board
  10. 2
      boards/cubepilot/cubeorange/default.px4board
  11. 2
      boards/cubepilot/cubeyellow/default.px4board
  12. 2
      boards/emlid/navio2/default.px4board
  13. 2
      boards/holybro/durandal-v1/default.px4board
  14. 2
      boards/holybro/kakuteh7/default.px4board
  15. 2
      boards/holybro/pix32v5/default.px4board
  16. 2
      boards/matek/h743-slim/default.px4board
  17. 2
      boards/modalai/fc-v1/default.px4board
  18. 2
      boards/modalai/fc-v2/default.px4board
  19. 2
      boards/mro/ctrl-zero-f7-oem/default.px4board
  20. 2
      boards/mro/ctrl-zero-f7/default.px4board
  21. 2
      boards/mro/ctrl-zero-h7-oem/default.px4board
  22. 2
      boards/mro/ctrl-zero-h7/default.px4board
  23. 2
      boards/mro/pixracerpro/default.px4board
  24. 2
      boards/mro/x21-777/default.px4board
  25. 2
      boards/mro/x21/default.px4board
  26. 2
      boards/nxp/fmuk66-e/default.px4board
  27. 2
      boards/nxp/fmuk66-v3/default.px4board
  28. 2
      boards/nxp/fmurt1062-v1/default.px4board
  29. 2
      boards/px4/fmu-v3/default.px4board
  30. 2
      boards/px4/fmu-v4/default.px4board
  31. 2
      boards/px4/fmu-v4pro/default.px4board
  32. 2
      boards/px4/fmu-v5/debug.px4board
  33. 2
      boards/px4/fmu-v5/default.px4board
  34. 2
      boards/px4/fmu-v5/stackcheck.px4board
  35. 2
      boards/px4/fmu-v5x/default.px4board
  36. 2
      boards/px4/fmu-v6u/default.px4board
  37. 2
      boards/px4/fmu-v6x/default.px4board
  38. 2
      boards/px4/raspberrypi/default.px4board
  39. 2
      boards/px4/sitl/default.px4board
  40. 2
      boards/scumaker/pilotpi/default.px4board
  41. 2
      boards/spracing/h7extreme/default.px4board
  42. 2
      boards/uvify/core/default.px4board
  43. 6
      src/modules/gimbal/CMakeLists.txt
  44. 5
      src/modules/gimbal/Kconfig
  45. 6
      src/modules/gimbal/common.h
  46. 26
      src/modules/gimbal/gimbal.cpp
  47. 0
      src/modules/gimbal/gimbal_params.c
  48. 4
      src/modules/gimbal/gimbal_params.h
  49. 4
      src/modules/gimbal/input.cpp
  50. 6
      src/modules/gimbal/input.h
  51. 12
      src/modules/gimbal/input_mavlink.cpp
  52. 4
      src/modules/gimbal/input_mavlink.h
  53. 4
      src/modules/gimbal/input_rc.cpp
  54. 6
      src/modules/gimbal/input_rc.h
  55. 4
      src/modules/gimbal/input_test.cpp
  56. 4
      src/modules/gimbal/input_test.h
  57. 4
      src/modules/gimbal/output.cpp
  58. 6
      src/modules/gimbal/output.h
  59. 8
      src/modules/gimbal/output_mavlink.cpp
  60. 4
      src/modules/gimbal/output_mavlink.h
  61. 4
      src/modules/gimbal/output_rc.cpp
  62. 4
      src/modules/gimbal/output_rc.h
  63. 5
      src/modules/vmount/Kconfig

2
ROMFS/px4fmu_common/init.d-posix/rcS

@ -234,7 +234,7 @@ fi
if param greater -s MNT_MODE_IN -1 if param greater -s MNT_MODE_IN -1
then then
vmount start gimbal start
fi fi
if param greater -s TRIG_MODE 0 if param greater -s TRIG_MODE 0

4
ROMFS/px4fmu_common/init.d/rcS

@ -486,11 +486,11 @@ else
. ${R}etc/init.d/rc.thermal_cal . ${R}etc/init.d/rc.thermal_cal
# #
# Start vmount to control mounts such as gimbals, disabled by default. # Start gimbal to control mounts such as gimbals, disabled by default.
# #
if param greater -s MNT_MODE_IN -1 if param greater -s MNT_MODE_IN -1
then then
vmount start gimbal start
fi fi
# Check for flow sensor # Check for flow sensor

2
Tools/kconfig/cmake_kconfig_lut.txt

@ -150,7 +150,7 @@ simulator,CONFIG_MODULES_SIMULATOR=y
temperature_compensation,CONFIG_MODULES_TEMPERATURE_COMPENSATION=y temperature_compensation,CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
uuv_att_control,CONFIG_MODULES_UUV_ATT_CONTROL=y uuv_att_control,CONFIG_MODULES_UUV_ATT_CONTROL=y
uuv_pos_control,CONFIG_MODULES_UUV_POS_CONTROL=y uuv_pos_control,CONFIG_MODULES_UUV_POS_CONTROL=y
vmount,CONFIG_MODULES_VMOUNT=y gimbal,CONFIG_MODULES_GIMBAL=y
vtol_att_control,CONFIG_MODULES_VTOL_ATT_CONTROL=y vtol_att_control,CONFIG_MODULES_VTOL_ATT_CONTROL=y
bl_update,CONFIG_SYSTEMCMDS_BL_UPDATE=y bl_update,CONFIG_SYSTEMCMDS_BL_UPDATE=y
dmesg,CONFIG_SYSTEMCMDS_DMESG=y dmesg,CONFIG_SYSTEMCMDS_DMESG=y

2
boards/airmind/mindpx-v2/default.px4board

@ -74,7 +74,7 @@ CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_UUV_ATT_CONTROL=y CONFIG_MODULES_UUV_ATT_CONTROL=y
CONFIG_MODULES_UUV_POS_CONTROL=y CONFIG_MODULES_UUV_POS_CONTROL=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_BL_UPDATE=y CONFIG_SYSTEMCMDS_BL_UPDATE=y
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y

2
boards/atl/mantis-edu/default.px4board

@ -31,7 +31,7 @@ CONFIG_MODULES_NAVIGATOR=y
CONFIG_MODULES_RC_UPDATE=y CONFIG_MODULES_RC_UPDATE=y
CONFIG_MODULES_SENSORS=y CONFIG_MODULES_SENSORS=y
CONFIG_MODULES_SIH=y CONFIG_MODULES_SIH=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_SYSTEMCMDS_BL_UPDATE=y CONFIG_SYSTEMCMDS_BL_UPDATE=y
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y
CONFIG_SYSTEMCMDS_DMESG=y CONFIG_SYSTEMCMDS_DMESG=y

2
boards/av/x-v1/default.px4board

@ -71,7 +71,7 @@ CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_UUV_ATT_CONTROL=y CONFIG_MODULES_UUV_ATT_CONTROL=y
CONFIG_MODULES_UUV_POS_CONTROL=y CONFIG_MODULES_UUV_POS_CONTROL=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_BL_UPDATE=y CONFIG_SYSTEMCMDS_BL_UPDATE=y
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y

2
boards/beaglebone/blue/default.px4board

@ -56,7 +56,7 @@ CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_UUV_ATT_CONTROL=y CONFIG_MODULES_UUV_ATT_CONTROL=y
CONFIG_MODULES_UUV_POS_CONTROL=y CONFIG_MODULES_UUV_POS_CONTROL=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_DYN=y CONFIG_SYSTEMCMDS_DYN=y
CONFIG_SYSTEMCMDS_LED_CONTROL=y CONFIG_SYSTEMCMDS_LED_CONTROL=y

2
boards/cuav/nora/default.px4board

@ -76,7 +76,7 @@ CONFIG_MODULES_ROVER_POS_CONTROL=y
CONFIG_MODULES_SENSORS=y CONFIG_MODULES_SENSORS=y
CONFIG_MODULES_SIH=y CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_BL_UPDATE=y CONFIG_SYSTEMCMDS_BL_UPDATE=y
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y

2
boards/cuav/x7pro/default.px4board

@ -77,7 +77,7 @@ CONFIG_MODULES_ROVER_POS_CONTROL=y
CONFIG_MODULES_SENSORS=y CONFIG_MODULES_SENSORS=y
CONFIG_MODULES_SIH=y CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_BL_UPDATE=y CONFIG_SYSTEMCMDS_BL_UPDATE=y
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y

2
boards/cubepilot/cubeorange/default.px4board

@ -72,7 +72,7 @@ CONFIG_MODULES_ROVER_POS_CONTROL=y
CONFIG_MODULES_SENSORS=y CONFIG_MODULES_SENSORS=y
CONFIG_MODULES_SIH=y CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_BL_UPDATE=y CONFIG_SYSTEMCMDS_BL_UPDATE=y
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y

2
boards/cubepilot/cubeyellow/default.px4board

@ -74,7 +74,7 @@ CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_UUV_ATT_CONTROL=y CONFIG_MODULES_UUV_ATT_CONTROL=y
CONFIG_MODULES_UUV_POS_CONTROL=y CONFIG_MODULES_UUV_POS_CONTROL=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_BL_UPDATE=y CONFIG_SYSTEMCMDS_BL_UPDATE=y
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y

2
boards/emlid/navio2/default.px4board

@ -58,7 +58,7 @@ CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_UUV_ATT_CONTROL=y CONFIG_MODULES_UUV_ATT_CONTROL=y
CONFIG_MODULES_UUV_POS_CONTROL=y CONFIG_MODULES_UUV_POS_CONTROL=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_DYN=y CONFIG_SYSTEMCMDS_DYN=y
CONFIG_SYSTEMCMDS_LED_CONTROL=y CONFIG_SYSTEMCMDS_LED_CONTROL=y

2
boards/holybro/durandal-v1/default.px4board

@ -69,7 +69,7 @@ CONFIG_MODULES_ROVER_POS_CONTROL=y
CONFIG_MODULES_SENSORS=y CONFIG_MODULES_SENSORS=y
CONFIG_MODULES_SIH=y CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_BL_UPDATE=y CONFIG_SYSTEMCMDS_BL_UPDATE=y
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y

2
boards/holybro/kakuteh7/default.px4board

@ -62,7 +62,7 @@ CONFIG_MODULES_ROVER_POS_CONTROL=y
CONFIG_MODULES_SENSORS=y CONFIG_MODULES_SENSORS=y
CONFIG_MODULES_SIH=y CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_BL_UPDATE=y CONFIG_SYSTEMCMDS_BL_UPDATE=y
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y

2
boards/holybro/pix32v5/default.px4board

@ -79,7 +79,7 @@ CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_UUV_ATT_CONTROL=y CONFIG_MODULES_UUV_ATT_CONTROL=y
CONFIG_MODULES_UUV_POS_CONTROL=y CONFIG_MODULES_UUV_POS_CONTROL=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_BL_UPDATE=y CONFIG_SYSTEMCMDS_BL_UPDATE=y
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y

2
boards/matek/h743-slim/default.px4board

@ -52,7 +52,7 @@ CONFIG_MODULES_NAVIGATOR=y
CONFIG_MODULES_RC_UPDATE=y CONFIG_MODULES_RC_UPDATE=y
CONFIG_MODULES_SENSORS=y CONFIG_MODULES_SENSORS=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_SYSTEMCMDS_BL_UPDATE=y CONFIG_SYSTEMCMDS_BL_UPDATE=y
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y
CONFIG_SYSTEMCMDS_DMESG=y CONFIG_SYSTEMCMDS_DMESG=y

2
boards/modalai/fc-v1/default.px4board

@ -74,7 +74,7 @@ CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_UUV_ATT_CONTROL=y CONFIG_MODULES_UUV_ATT_CONTROL=y
CONFIG_MODULES_UUV_POS_CONTROL=y CONFIG_MODULES_UUV_POS_CONTROL=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_BL_UPDATE=y CONFIG_SYSTEMCMDS_BL_UPDATE=y
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y

2
boards/modalai/fc-v2/default.px4board

@ -70,7 +70,7 @@ CONFIG_MODULES_ROVER_POS_CONTROL=y
CONFIG_MODULES_SENSORS=y CONFIG_MODULES_SENSORS=y
CONFIG_MODULES_SIH=y CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_BL_UPDATE=y CONFIG_SYSTEMCMDS_BL_UPDATE=y
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y

2
boards/mro/ctrl-zero-f7-oem/default.px4board

@ -72,7 +72,7 @@ CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_UUV_ATT_CONTROL=y CONFIG_MODULES_UUV_ATT_CONTROL=y
CONFIG_MODULES_UUV_POS_CONTROL=y CONFIG_MODULES_UUV_POS_CONTROL=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_BL_UPDATE=y CONFIG_SYSTEMCMDS_BL_UPDATE=y
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y

2
boards/mro/ctrl-zero-f7/default.px4board

@ -72,7 +72,7 @@ CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_UUV_ATT_CONTROL=y CONFIG_MODULES_UUV_ATT_CONTROL=y
CONFIG_MODULES_UUV_POS_CONTROL=y CONFIG_MODULES_UUV_POS_CONTROL=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_BL_UPDATE=y CONFIG_SYSTEMCMDS_BL_UPDATE=y
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y

2
boards/mro/ctrl-zero-h7-oem/default.px4board

@ -71,7 +71,7 @@ CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_UUV_ATT_CONTROL=y CONFIG_MODULES_UUV_ATT_CONTROL=y
CONFIG_MODULES_UUV_POS_CONTROL=y CONFIG_MODULES_UUV_POS_CONTROL=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y
CONFIG_SYSTEMCMDS_BL_UPDATE=y CONFIG_SYSTEMCMDS_BL_UPDATE=y

2
boards/mro/ctrl-zero-h7/default.px4board

@ -72,7 +72,7 @@ CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_UUV_ATT_CONTROL=y CONFIG_MODULES_UUV_ATT_CONTROL=y
CONFIG_MODULES_UUV_POS_CONTROL=y CONFIG_MODULES_UUV_POS_CONTROL=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y
CONFIG_SYSTEMCMDS_BL_UPDATE=y CONFIG_SYSTEMCMDS_BL_UPDATE=y

2
boards/mro/pixracerpro/default.px4board

@ -70,7 +70,7 @@ CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_UUV_ATT_CONTROL=y CONFIG_MODULES_UUV_ATT_CONTROL=y
CONFIG_MODULES_UUV_POS_CONTROL=y CONFIG_MODULES_UUV_POS_CONTROL=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_BL_UPDATE=y CONFIG_SYSTEMCMDS_BL_UPDATE=y
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y

2
boards/mro/x21-777/default.px4board

@ -73,7 +73,7 @@ CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_UUV_ATT_CONTROL=y CONFIG_MODULES_UUV_ATT_CONTROL=y
CONFIG_MODULES_UUV_POS_CONTROL=y CONFIG_MODULES_UUV_POS_CONTROL=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_BL_UPDATE=y CONFIG_SYSTEMCMDS_BL_UPDATE=y
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y

2
boards/mro/x21/default.px4board

@ -74,7 +74,7 @@ CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_UUV_ATT_CONTROL=y CONFIG_MODULES_UUV_ATT_CONTROL=y
CONFIG_MODULES_UUV_POS_CONTROL=y CONFIG_MODULES_UUV_POS_CONTROL=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_BL_UPDATE=y CONFIG_SYSTEMCMDS_BL_UPDATE=y
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y

2
boards/nxp/fmuk66-e/default.px4board

@ -72,7 +72,7 @@ CONFIG_MODULES_ROVER_POS_CONTROL=y
CONFIG_MODULES_SENSORS=y CONFIG_MODULES_SENSORS=y
CONFIG_MODULES_SIH=y CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_DUMPFILE=y CONFIG_SYSTEMCMDS_DUMPFILE=y
CONFIG_SYSTEMCMDS_I2CDETECT=y CONFIG_SYSTEMCMDS_I2CDETECT=y

2
boards/nxp/fmuk66-v3/default.px4board

@ -76,7 +76,7 @@ CONFIG_MODULES_ROVER_POS_CONTROL=y
CONFIG_MODULES_SENSORS=y CONFIG_MODULES_SENSORS=y
CONFIG_MODULES_SIH=y CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_DUMPFILE=y CONFIG_SYSTEMCMDS_DUMPFILE=y
CONFIG_SYSTEMCMDS_I2CDETECT=y CONFIG_SYSTEMCMDS_I2CDETECT=y

2
boards/nxp/fmurt1062-v1/default.px4board

@ -48,7 +48,7 @@ CONFIG_MODULES_MC_RATE_CONTROL=y
CONFIG_MODULES_NAVIGATOR=y CONFIG_MODULES_NAVIGATOR=y
CONFIG_MODULES_RC_UPDATE=y CONFIG_MODULES_RC_UPDATE=y
CONFIG_MODULES_SENSORS=y CONFIG_MODULES_SENSORS=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_SYSTEMCMDS_DMESG=y CONFIG_SYSTEMCMDS_DMESG=y
CONFIG_SYSTEMCMDS_DUMPFILE=y CONFIG_SYSTEMCMDS_DUMPFILE=y
CONFIG_SYSTEMCMDS_I2CDETECT=y CONFIG_SYSTEMCMDS_I2CDETECT=y

2
boards/px4/fmu-v3/default.px4board

@ -77,7 +77,7 @@ CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_UUV_ATT_CONTROL=y CONFIG_MODULES_UUV_ATT_CONTROL=y
CONFIG_MODULES_UUV_POS_CONTROL=y CONFIG_MODULES_UUV_POS_CONTROL=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_BL_UPDATE=y CONFIG_SYSTEMCMDS_BL_UPDATE=y
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y

2
boards/px4/fmu-v4/default.px4board

@ -78,7 +78,7 @@ CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_UUV_ATT_CONTROL=y CONFIG_MODULES_UUV_ATT_CONTROL=y
CONFIG_MODULES_UUV_POS_CONTROL=y CONFIG_MODULES_UUV_POS_CONTROL=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_BL_UPDATE=y CONFIG_SYSTEMCMDS_BL_UPDATE=y
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y

2
boards/px4/fmu-v4pro/default.px4board

@ -75,7 +75,7 @@ CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_UUV_ATT_CONTROL=y CONFIG_MODULES_UUV_ATT_CONTROL=y
CONFIG_MODULES_UUV_POS_CONTROL=y CONFIG_MODULES_UUV_POS_CONTROL=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_BL_UPDATE=y CONFIG_SYSTEMCMDS_BL_UPDATE=y
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y

2
boards/px4/fmu-v5/debug.px4board

@ -32,7 +32,7 @@ CONFIG_MODULES_SIH=n
CONFIG_MODULES_TEMPERATURE_COMPENSATION=n CONFIG_MODULES_TEMPERATURE_COMPENSATION=n
CONFIG_MODULES_UUV_ATT_CONTROL=n CONFIG_MODULES_UUV_ATT_CONTROL=n
CONFIG_MODULES_UUV_POS_CONTROL=n CONFIG_MODULES_UUV_POS_CONTROL=n
CONFIG_MODULES_VMOUNT=n CONFIG_MODULES_GIMBAL=n
CONFIG_SYSTEMCMDS_SERIAL_TEST=n CONFIG_SYSTEMCMDS_SERIAL_TEST=n
CONFIG_BOARD_CONSTRAINED_FLASH=y CONFIG_BOARD_CONSTRAINED_FLASH=y
CONFIG_BOARD_TESTING=y CONFIG_BOARD_TESTING=y

2
boards/px4/fmu-v5/default.px4board

@ -80,7 +80,7 @@ CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_UUV_ATT_CONTROL=y CONFIG_MODULES_UUV_ATT_CONTROL=y
CONFIG_MODULES_UUV_POS_CONTROL=y CONFIG_MODULES_UUV_POS_CONTROL=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y
CONFIG_SYSTEMCMDS_BL_UPDATE=y CONFIG_SYSTEMCMDS_BL_UPDATE=y

2
boards/px4/fmu-v5/stackcheck.px4board

@ -28,6 +28,6 @@ CONFIG_MODULES_LOCAL_POSITION_ESTIMATOR=n
CONFIG_MODULES_ROVER_POS_CONTROL=n CONFIG_MODULES_ROVER_POS_CONTROL=n
CONFIG_MODULES_SIH=n CONFIG_MODULES_SIH=n
CONFIG_MODULES_TEMPERATURE_COMPENSATION=n CONFIG_MODULES_TEMPERATURE_COMPENSATION=n
CONFIG_MODULES_VMOUNT=n CONFIG_MODULES_GIMBAL=n
CONFIG_BOARD_CONSTRAINED_FLASH=y CONFIG_BOARD_CONSTRAINED_FLASH=y
CONFIG_BOARD_TESTING=y CONFIG_BOARD_TESTING=y

2
boards/px4/fmu-v5x/default.px4board

@ -80,7 +80,7 @@ CONFIG_MODULES_ROVER_POS_CONTROL=y
CONFIG_MODULES_SENSORS=y CONFIG_MODULES_SENSORS=y
CONFIG_MODULES_SIH=y CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y
CONFIG_SYSTEMCMDS_BL_UPDATE=y CONFIG_SYSTEMCMDS_BL_UPDATE=y

2
boards/px4/fmu-v6u/default.px4board

@ -72,7 +72,7 @@ CONFIG_MODULES_ROVER_POS_CONTROL=y
CONFIG_MODULES_SENSORS=y CONFIG_MODULES_SENSORS=y
CONFIG_MODULES_SIH=y CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_BL_UPDATE=y CONFIG_SYSTEMCMDS_BL_UPDATE=y
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y

2
boards/px4/fmu-v6x/default.px4board

@ -68,7 +68,7 @@ CONFIG_MODULES_ROVER_POS_CONTROL=y
CONFIG_MODULES_SENSORS=y CONFIG_MODULES_SENSORS=y
CONFIG_MODULES_SIH=y CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_BL_UPDATE=y CONFIG_SYSTEMCMDS_BL_UPDATE=y
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y

2
boards/px4/raspberrypi/default.px4board

@ -55,7 +55,7 @@ CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_UUV_ATT_CONTROL=y CONFIG_MODULES_UUV_ATT_CONTROL=y
CONFIG_MODULES_UUV_POS_CONTROL=y CONFIG_MODULES_UUV_POS_CONTROL=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_DYN=y CONFIG_SYSTEMCMDS_DYN=y
CONFIG_SYSTEMCMDS_LED_CONTROL=y CONFIG_SYSTEMCMDS_LED_CONTROL=y

2
boards/px4/sitl/default.px4board

@ -43,7 +43,7 @@ CONFIG_MODULES_SIMULATOR=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_UUV_ATT_CONTROL=y CONFIG_MODULES_UUV_ATT_CONTROL=y
CONFIG_MODULES_UUV_POS_CONTROL=y CONFIG_MODULES_UUV_POS_CONTROL=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y
CONFIG_SYSTEMCMDS_DYN=y CONFIG_SYSTEMCMDS_DYN=y

2
boards/scumaker/pilotpi/default.px4board

@ -53,7 +53,7 @@ CONFIG_MODULES_ROVER_POS_CONTROL=y
CONFIG_MODULES_SENSORS=y CONFIG_MODULES_SENSORS=y
CONFIG_MODULES_SIH=y CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_MODULES_VTOL_ATT_CONTROL=y CONFIG_MODULES_VTOL_ATT_CONTROL=y
CONFIG_SYSTEMCMDS_DYN=y CONFIG_SYSTEMCMDS_DYN=y
CONFIG_SYSTEMCMDS_LED_CONTROL=y CONFIG_SYSTEMCMDS_LED_CONTROL=y

2
boards/spracing/h7extreme/default.px4board

@ -39,7 +39,7 @@ CONFIG_MODULES_CONTROL_ALLOCATOR=y
CONFIG_MODULES_NAVIGATOR=y CONFIG_MODULES_NAVIGATOR=y
CONFIG_MODULES_RC_UPDATE=y CONFIG_MODULES_RC_UPDATE=y
CONFIG_MODULES_SENSORS=y CONFIG_MODULES_SENSORS=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_SYSTEMCMDS_DMESG=y CONFIG_SYSTEMCMDS_DMESG=y
CONFIG_SYSTEMCMDS_DUMPFILE=y CONFIG_SYSTEMCMDS_DUMPFILE=y
CONFIG_SYSTEMCMDS_HARDFAULT_LOG=y CONFIG_SYSTEMCMDS_HARDFAULT_LOG=y

2
boards/uvify/core/default.px4board

@ -59,7 +59,7 @@ CONFIG_MODULES_RC_UPDATE=y
CONFIG_MODULES_SENSORS=y CONFIG_MODULES_SENSORS=y
CONFIG_MODULES_SIH=y CONFIG_MODULES_SIH=y
CONFIG_MODULES_TEMPERATURE_COMPENSATION=y CONFIG_MODULES_TEMPERATURE_COMPENSATION=y
CONFIG_MODULES_VMOUNT=y CONFIG_MODULES_GIMBAL=y
CONFIG_SYSTEMCMDS_BL_UPDATE=y CONFIG_SYSTEMCMDS_BL_UPDATE=y
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y
CONFIG_SYSTEMCMDS_DMESG=y CONFIG_SYSTEMCMDS_DMESG=y

6
src/modules/vmount/CMakeLists.txt → src/modules/gimbal/CMakeLists.txt

@ -31,8 +31,8 @@
# #
############################################################################ ############################################################################
px4_add_module( px4_add_module(
MODULE drivers__vmount MODULE drivers__gimbal
MAIN vmount MAIN gimbal
COMPILE_FLAGS COMPILE_FLAGS
SRCS SRCS
input.cpp input.cpp
@ -42,7 +42,7 @@ px4_add_module(
output.cpp output.cpp
output_mavlink.cpp output_mavlink.cpp
output_rc.cpp output_rc.cpp
vmount.cpp gimbal.cpp
DEPENDS DEPENDS
geo geo
) )

5
src/modules/gimbal/Kconfig

@ -0,0 +1,5 @@
menuconfig MODULES_GIMBAL
bool "gimbal"
default n
---help---
Enable support for GIMBAL

6
src/modules/vmount/common.h → src/modules/gimbal/common.h

@ -36,12 +36,12 @@
#include <stdint.h> #include <stdint.h>
namespace vmount namespace gimbal
{ {
/** /**
* @struct ControlData * @struct ControlData
* This defines the common API between an input and an output of the vmount driver. * This defines the common API between an input and an output of the gimbal driver.
* Each output must support the (full) set of the commands, and an input can create all * Each output must support the (full) set of the commands, and an input can create all
* or a subset of the types. * or a subset of the types.
*/ */
@ -87,4 +87,4 @@ struct ControlData {
}; };
} /* namespace vmount */ } /* namespace gimbal */

26
src/modules/vmount/vmount.cpp → src/modules/gimbal/gimbal.cpp

@ -49,7 +49,7 @@
#include <px4_platform_common/defines.h> #include <px4_platform_common/defines.h>
#include <px4_platform_common/tasks.h> #include <px4_platform_common/tasks.h>
#include "vmount_params.h" #include "gimbal_params.h"
#include "input_mavlink.h" #include "input_mavlink.h"
#include "input_rc.h" #include "input_rc.h"
#include "input_test.h" #include "input_test.h"
@ -64,7 +64,7 @@
#include <px4_platform_common/atomic.h> #include <px4_platform_common/atomic.h>
using namespace time_literals; using namespace time_literals;
using namespace vmount; using namespace gimbal;
static px4::atomic<bool> thread_should_exit {false}; static px4::atomic<bool> thread_should_exit {false};
static px4::atomic<bool> thread_running {false}; static px4::atomic<bool> thread_running {false};
@ -85,10 +85,10 @@ static void usage();
static void update_params(ParameterHandles &param_handles, Parameters &params); static void update_params(ParameterHandles &param_handles, Parameters &params);
static bool initialize_params(ParameterHandles &param_handles, Parameters &params); static bool initialize_params(ParameterHandles &param_handles, Parameters &params);
static int vmount_thread_main(int argc, char *argv[]); static int gimbal_thread_main(int argc, char *argv[]);
extern "C" __EXPORT int vmount_main(int argc, char *argv[]); extern "C" __EXPORT int gimbal_main(int argc, char *argv[]);
static int vmount_thread_main(int argc, char *argv[]) static int gimbal_thread_main(int argc, char *argv[])
{ {
ParameterHandles param_handles; ParameterHandles param_handles;
Parameters params {}; Parameters params {};
@ -302,7 +302,7 @@ static int vmount_thread_main(int argc, char *argv[])
return 0; return 0;
} }
int vmount_main(int argc, char *argv[]) int gimbal_main(int argc, char *argv[])
{ {
if (argc < 2) { if (argc < 2) {
PX4_ERR("missing command"); PX4_ERR("missing command");
@ -319,16 +319,16 @@ int vmount_main(int argc, char *argv[])
thread_should_exit.store(false); thread_should_exit.store(false);
int vmount_task = px4_task_spawn_cmd("vmount", int gimbal_task = px4_task_spawn_cmd("gimbal",
SCHED_DEFAULT, SCHED_DEFAULT,
SCHED_PRIORITY_DEFAULT, SCHED_PRIORITY_DEFAULT,
2100, 2100,
vmount_thread_main, gimbal_thread_main,
nullptr); nullptr);
int counter = 0; int counter = 0;
while (!thread_running.load() && vmount_task >= 0) { while (!thread_running.load() && gimbal_task >= 0) {
px4_usleep(5000); px4_usleep(5000);
if (++counter >= 100) { if (++counter >= 100) {
@ -336,7 +336,7 @@ int vmount_main(int argc, char *argv[])
} }
} }
if (vmount_task < 0) { if (gimbal_task < 0) {
PX4_ERR("failed to start"); PX4_ERR("failed to start");
return -1; return -1;
} }
@ -529,12 +529,12 @@ Documentation how to use it is on the [gimbal_control](https://docs.px4.io/maste
### Examples ### Examples
Test the output by setting a angles (all omitted axes are set to 0): Test the output by setting a angles (all omitted axes are set to 0):
$ vmount test pitch -45 yaw 30 $ gimbal test pitch -45 yaw 30
)DESCR_STR"); )DESCR_STR");
PRINT_MODULE_USAGE_NAME("vmount", "driver"); PRINT_MODULE_USAGE_NAME("gimbal", "driver");
PRINT_MODULE_USAGE_COMMAND("start"); PRINT_MODULE_USAGE_COMMAND("start");
PRINT_MODULE_USAGE_COMMAND_DESCR("test", "Test the output: set a fixed angle for one or multiple axes (vmount must be running)"); PRINT_MODULE_USAGE_COMMAND_DESCR("test", "Test the output: set a fixed angle for one or multiple axes (gimbal must be running)");
PRINT_MODULE_USAGE_ARG("roll|pitch|yaw <angle>", "Specify an axis and an angle in degrees", false); PRINT_MODULE_USAGE_ARG("roll|pitch|yaw <angle>", "Specify an axis and an angle in degrees", false);
PRINT_MODULE_USAGE_DEFAULT_COMMANDS(); PRINT_MODULE_USAGE_DEFAULT_COMMANDS();
} }

0
src/modules/vmount/vmount_params.c → src/modules/gimbal/gimbal_params.c

4
src/modules/vmount/vmount_params.h → src/modules/gimbal/gimbal_params.h

@ -37,7 +37,7 @@
#include <stdint.h> #include <stdint.h>
#include <lib/parameters/param.h> #include <lib/parameters/param.h>
namespace vmount namespace gimbal
{ {
struct Parameters { struct Parameters {
@ -88,4 +88,4 @@ struct ParameterHandles {
param_t mnt_rc_in_mode; param_t mnt_rc_in_mode;
}; };
} /* namespace vmount */ } /* namespace gimbal */

4
src/modules/vmount/input.cpp → src/modules/gimbal/input.cpp

@ -34,7 +34,7 @@
#include "input.h" #include "input.h"
namespace vmount namespace gimbal
{ {
InputBase::InputBase(Parameters &parameters) : InputBase::InputBase(Parameters &parameters) :
@ -56,4 +56,4 @@ void InputBase::control_data_set_lon_lat(ControlData &control_data, double lon,
} }
} /* namespace vmount */ } /* namespace gimbal */

6
src/modules/vmount/input.h → src/modules/gimbal/input.h

@ -35,9 +35,9 @@
#include "common.h" #include "common.h"
#include "math.h" #include "math.h"
#include "vmount_params.h" #include "gimbal_params.h"
namespace vmount namespace gimbal
{ {
struct Parameters; struct Parameters;
@ -67,4 +67,4 @@ protected:
}; };
} /* namespace vmount */ } /* namespace gimbal */

12
src/modules/vmount/input_mavlink.cpp → src/modules/gimbal/input_mavlink.cpp

@ -43,7 +43,7 @@
#include <math.h> #include <math.h>
#include <matrix/matrix/math.hpp> #include <matrix/matrix/math.hpp>
namespace vmount namespace gimbal
{ {
InputMavlinkROI::InputMavlinkROI(Parameters &parameters) : InputMavlinkROI::InputMavlinkROI(Parameters &parameters) :
@ -273,9 +273,9 @@ InputMavlinkCmdMount::_process_command(ControlData &control_data, const vehicle_
control_data.type_data.angle.frames[1] = ControlData::TypeData::TypeAngle::Frame::AngleAbsoluteFrame; control_data.type_data.angle.frames[1] = ControlData::TypeData::TypeAngle::Frame::AngleAbsoluteFrame;
control_data.type_data.angle.frames[2] = ControlData::TypeData::TypeAngle::Frame::AngleBodyFrame; control_data.type_data.angle.frames[2] = ControlData::TypeData::TypeAngle::Frame::AngleBodyFrame;
// vmount spec has roll on channel 0, MAVLink spec has pitch on channel 0 // gimbal spec has roll on channel 0, MAVLink spec has pitch on channel 0
const float roll = math::radians(vehicle_command.param2); const float roll = math::radians(vehicle_command.param2);
// vmount spec has pitch on channel 1, MAVLink spec has roll on channel 1 // gimbal spec has pitch on channel 1, MAVLink spec has roll on channel 1
const float pitch = math::radians(vehicle_command.param1); const float pitch = math::radians(vehicle_command.param1);
// both specs have yaw on channel 2 // both specs have yaw on channel 2
float yaw = math::radians(vehicle_command.param3); float yaw = math::radians(vehicle_command.param3);
@ -694,9 +694,9 @@ InputMavlinkGimbalV2::_process_command(ControlData &control_data, const vehicle_
control_data.type_data.angle.frames[1] = ControlData::TypeData::TypeAngle::Frame::AngleAbsoluteFrame; control_data.type_data.angle.frames[1] = ControlData::TypeData::TypeAngle::Frame::AngleAbsoluteFrame;
control_data.type_data.angle.frames[2] = ControlData::TypeData::TypeAngle::Frame::AngleBodyFrame; control_data.type_data.angle.frames[2] = ControlData::TypeData::TypeAngle::Frame::AngleBodyFrame;
// vmount spec has roll on channel 0, MAVLink spec has pitch on channel 0 // gimbal spec has roll on channel 0, MAVLink spec has pitch on channel 0
const float roll = math::radians(vehicle_command.param2); const float roll = math::radians(vehicle_command.param2);
// vmount spec has pitch on channel 1, MAVLink spec has roll on channel 1 // gimbal spec has pitch on channel 1, MAVLink spec has roll on channel 1
const float pitch = math::radians(vehicle_command.param1); const float pitch = math::radians(vehicle_command.param1);
// both specs have yaw on channel 2 // both specs have yaw on channel 2
float yaw = math::radians(vehicle_command.param3); float yaw = math::radians(vehicle_command.param3);
@ -970,4 +970,4 @@ void InputMavlinkGimbalV2::_read_control_data_from_position_setpoint_sub(Control
control_data.type_data.lonlat.altitude = position_setpoint_triplet.current.alt; control_data.type_data.lonlat.altitude = position_setpoint_triplet.current.alt;
} }
} /* namespace vmount */ } /* namespace gimbal */

4
src/modules/vmount/input_mavlink.h → src/modules/gimbal/input_mavlink.h

@ -51,7 +51,7 @@
#include <lib/geo/geo.h> #include <lib/geo/geo.h>
namespace vmount namespace gimbal
{ {
class InputMavlinkROI : public InputBase class InputMavlinkROI : public InputBase
@ -130,4 +130,4 @@ private:
uint8_t _cur_roi_mode = vehicle_roi_s::ROI_NONE; uint8_t _cur_roi_mode = vehicle_roi_s::ROI_NONE;
}; };
} /* namespace vmount */ } /* namespace gimbal */

4
src/modules/vmount/input_rc.cpp → src/modules/gimbal/input_rc.cpp

@ -42,7 +42,7 @@
#include <px4_platform_common/defines.h> #include <px4_platform_common/defines.h>
namespace vmount namespace gimbal
{ {
InputRC::InputRC(Parameters &parameters) : InputRC::InputRC(Parameters &parameters) :
@ -219,4 +219,4 @@ void InputRC::print_status() const
_parameters.mnt_man_pitch, _parameters.mnt_man_yaw); _parameters.mnt_man_pitch, _parameters.mnt_man_yaw);
} }
} /* namespace vmount */ } /* namespace gimbal */

6
src/modules/vmount/input_rc.h → src/modules/gimbal/input_rc.h

@ -35,10 +35,10 @@
#pragma once #pragma once
#include "input.h" #include "input.h"
#include "vmount_params.h" #include "gimbal_params.h"
#include <uORB/topics/manual_control_setpoint.h> #include <uORB/topics/manual_control_setpoint.h>
namespace vmount namespace gimbal
{ {
class InputRC : public InputBase class InputRC : public InputBase
@ -64,4 +64,4 @@ private:
float _last_set_aux_values[3] {}; float _last_set_aux_values[3] {};
}; };
} /* namespace vmount */ } /* namespace gimbal */

4
src/modules/vmount/input_test.cpp → src/modules/gimbal/input_test.cpp

@ -38,7 +38,7 @@
#include <lib/mathlib/mathlib.h> #include <lib/mathlib/mathlib.h>
namespace vmount namespace gimbal
{ {
InputTest::InputTest(Parameters &parameters) : InputTest::InputTest(Parameters &parameters) :
@ -101,4 +101,4 @@ void InputTest::set_test_input(int roll_deg, int pitch_deg, int yaw_deg)
_has_been_set.store(true); _has_been_set.store(true);
} }
} /* namespace vmount */ } /* namespace gimbal */

4
src/modules/vmount/input_test.h → src/modules/gimbal/input_test.h

@ -36,7 +36,7 @@
#include "input.h" #include "input.h"
#include <px4_platform_common/atomic.h> #include <px4_platform_common/atomic.h>
namespace vmount namespace gimbal
{ {
class InputTest : public InputBase class InputTest : public InputBase
@ -61,4 +61,4 @@ private:
}; };
} /* namespace vmount */ } /* namespace gimbal */

4
src/modules/vmount/output.cpp → src/modules/gimbal/output.cpp

@ -43,7 +43,7 @@
#include <mathlib/mathlib.h> #include <mathlib/mathlib.h>
#include <matrix/math.hpp> #include <matrix/math.hpp>
namespace vmount namespace gimbal
{ {
OutputBase::OutputBase(const Parameters &parameters) OutputBase::OutputBase(const Parameters &parameters)
@ -241,5 +241,5 @@ void OutputBase::set_stabilize(bool roll_stabilize, bool pitch_stabilize, bool y
_stabilize[2] = yaw_stabilize; _stabilize[2] = yaw_stabilize;
} }
} /* namespace vmount */ } /* namespace gimbal */

6
src/modules/vmount/output.h → src/modules/gimbal/output.h

@ -35,7 +35,7 @@
#pragma once #pragma once
#include "common.h" #include "common.h"
#include "vmount_params.h" #include "gimbal_params.h"
#include <drivers/drv_hrt.h> #include <drivers/drv_hrt.h>
#include <lib/geo/geo.h> #include <lib/geo/geo.h>
#include <uORB/Publication.hpp> #include <uORB/Publication.hpp>
@ -44,7 +44,7 @@
#include <uORB/topics/vehicle_attitude.h> #include <uORB/topics/vehicle_attitude.h>
#include <uORB/topics/vehicle_global_position.h> #include <uORB/topics/vehicle_global_position.h>
namespace vmount namespace gimbal
{ {
class OutputBase class OutputBase
@ -98,4 +98,4 @@ private:
}; };
} /* namespace vmount */ } /* namespace gimbal */

8
src/modules/vmount/output_mavlink.cpp → src/modules/gimbal/output_mavlink.cpp

@ -39,7 +39,7 @@
#include <px4_platform_common/defines.h> #include <px4_platform_common/defines.h>
namespace vmount namespace gimbal
{ {
OutputMavlinkV1::OutputMavlinkV1(const Parameters &parameters) OutputMavlinkV1::OutputMavlinkV1(const Parameters &parameters)
@ -97,8 +97,8 @@ void OutputMavlinkV1::update(const ControlData &control_data, bool new_setpoints
vehicle_command.timestamp = t; vehicle_command.timestamp = t;
vehicle_command.command = vehicle_command_s::VEHICLE_CMD_DO_MOUNT_CONTROL; vehicle_command.command = vehicle_command_s::VEHICLE_CMD_DO_MOUNT_CONTROL;
// vmount spec has roll, pitch on channels 0, 1, respectively; MAVLink spec has roll, pitch on channels 1, 0, respectively // gimbal spec has roll, pitch on channels 0, 1, respectively; MAVLink spec has roll, pitch on channels 1, 0, respectively
// vmount uses radians, MAVLink uses degrees // gimbal uses radians, MAVLink uses degrees
vehicle_command.param1 = math::degrees(_angle_outputs[1] + math::radians(_parameters.mnt_off_pitch)); vehicle_command.param1 = math::degrees(_angle_outputs[1] + math::radians(_parameters.mnt_off_pitch));
vehicle_command.param2 = math::degrees(_angle_outputs[0] + math::radians(_parameters.mnt_off_roll)); vehicle_command.param2 = math::degrees(_angle_outputs[0] + math::radians(_parameters.mnt_off_roll));
vehicle_command.param3 = math::degrees(_angle_outputs[2] + math::radians(_parameters.mnt_off_yaw)); vehicle_command.param3 = math::degrees(_angle_outputs[2] + math::radians(_parameters.mnt_off_yaw));
@ -238,4 +238,4 @@ void OutputMavlinkV2::_publish_gimbal_device_set_attitude()
_gimbal_device_set_attitude_pub.publish(set_attitude); _gimbal_device_set_attitude_pub.publish(set_attitude);
} }
} /* namespace vmount */ } /* namespace gimbal */

4
src/modules/vmount/output_mavlink.h → src/modules/gimbal/output_mavlink.h

@ -43,7 +43,7 @@
#include <uORB/topics/gimbal_device_attitude_status.h> #include <uORB/topics/gimbal_device_attitude_status.h>
namespace vmount namespace gimbal
{ {
class OutputMavlinkV1 : public OutputBase class OutputMavlinkV1 : public OutputBase
{ {
@ -86,4 +86,4 @@ private:
bool _gimbal_device_found {false}; bool _gimbal_device_found {false};
}; };
} /* namespace vmount */ } /* namespace gimbal */

4
src/modules/vmount/output_rc.cpp → src/modules/gimbal/output_rc.cpp

@ -40,7 +40,7 @@
using math::constrain; using math::constrain;
namespace vmount namespace gimbal
{ {
OutputRC::OutputRC(const Parameters &parameters) OutputRC::OutputRC(const Parameters &parameters)
@ -109,4 +109,4 @@ void OutputRC::_stream_device_attitude_status()
_attitude_status_pub.publish(attitude_status); _attitude_status_pub.publish(attitude_status);
} }
} /* namespace vmount */ } /* namespace gimbal */

4
src/modules/vmount/output_rc.h → src/modules/gimbal/output_rc.h

@ -40,7 +40,7 @@
#include <uORB/topics/actuator_controls.h> #include <uORB/topics/actuator_controls.h>
#include <uORB/topics/gimbal_device_attitude_status.h> #include <uORB/topics/gimbal_device_attitude_status.h>
namespace vmount namespace gimbal
{ {
class OutputRC : public OutputBase class OutputRC : public OutputBase
@ -62,4 +62,4 @@ private:
bool _retract_gimbal = true; bool _retract_gimbal = true;
}; };
} /* namespace vmount */ } /* namespace gimbal */

5
src/modules/vmount/Kconfig

@ -1,5 +0,0 @@
menuconfig MODULES_VMOUNT
bool "vmount"
default n
---help---
Enable support for vmount
Loading…
Cancel
Save