From d628b0d022b27c6ff6c16ead4248a16d8f3cee17 Mon Sep 17 00:00:00 2001 From: Rustom Jehangir Date: Mon, 11 Apr 2016 22:05:48 -0700 Subject: [PATCH] Sub: Add 'SimpleROV' frame configuration for 3/4-dof ROVs --- ArduSub/APM_Config.h | 1 + ArduSub/GCS_Mavlink.cpp | 2 +- ArduSub/Parameters.cpp | 2 +- ArduSub/Sub.h | 2 ++ ArduSub/config.h | 2 ++ ArduSub/defines.h | 1 + ArduSub/wscript | 2 +- 7 files changed, 9 insertions(+), 3 deletions(-) diff --git a/ArduSub/APM_Config.h b/ArduSub/APM_Config.h index 244bae5920..3c6b5b5bd3 100644 --- a/ArduSub/APM_Config.h +++ b/ArduSub/APM_Config.h @@ -10,6 +10,7 @@ * BLUEROV_FRAME * VECTORED_FRAME * VECTORED6DOF_FRAME + * SIMPLEROV_FRAME */ // uncomment the lines below to disable features (flash sizes listed are for APM2 boards and will underestimate savings on Pixhawk and other boards) diff --git a/ArduSub/GCS_Mavlink.cpp b/ArduSub/GCS_Mavlink.cpp index 0aba37ca71..175e351ea5 100644 --- a/ArduSub/GCS_Mavlink.cpp +++ b/ArduSub/GCS_Mavlink.cpp @@ -95,7 +95,7 @@ NOINLINE void Sub::send_heartbeat(mavlink_channel_t chan) MAV_TYPE_ROCKET, #elif (FRAME_CONFIG == COAX_FRAME) //because mavlink did not define a singlecopter, we use a rocket MAV_TYPE_ROCKET, -#elif (FRAME_CONFIG == BLUEROV_FRAME || FRAME_CONFIG == VECTORED_FRAME || FRAME_CONFIG == VECTORED6DOF_FRAME) +#elif (FRAME_CONFIG == BLUEROV_FRAME || FRAME_CONFIG == VECTORED_FRAME || FRAME_CONFIG == VECTORED6DOF_FRAME || FRAME_CONFIG == SIMPLEROV_FRAME ) MAV_TYPE_SUBMARINE, #else #error Unrecognised frame type diff --git a/ArduSub/Parameters.cpp b/ArduSub/Parameters.cpp index 7806aa50cc..c128852712 100644 --- a/ArduSub/Parameters.cpp +++ b/ArduSub/Parameters.cpp @@ -942,7 +942,7 @@ const AP_Param::Info Sub::var_info[] = { GOBJECT(rally, "RALLY_", AP_Rally), #endif -//#if (FRAME_CONFIG == VECTORED_FRAME || FRAME_CONFIG == BLUEROV_FRAME || FRAME_CONFIG == VECTORED6DOF_FRAME) +//#if (FRAME_CONFIG == VECTORED_FRAME || FRAME_CONFIG == BLUEROV_FRAME || FRAME_CONFIG == VECTORED6DOF_FRAME || FRAME_CONFIG == SIMPLEROV ) // @Group: MOT_ // @Path: ../libraries/AP_Motors/AP_Motors6DOF.cpp GOBJECT(motors, "MOT_", AP_Motors6DOF), diff --git a/ArduSub/Sub.h b/ArduSub/Sub.h index 365c047ecb..21178c15e6 100644 --- a/ArduSub/Sub.h +++ b/ArduSub/Sub.h @@ -325,6 +325,8 @@ private: #define MOTOR_CLASS AP_MotorsVectoredROV #elif FRAME_CONFIG == VECTORED6DOF_FRAME #define MOTOR_CLASS AP_MotorsVectored6DOF +#elif FRAME_CONFIG == SIMPLEROV_FRAME + #define MOTOR_CLASS AP_MotorsSimpleROV #else #error Unrecognised frame type diff --git a/ArduSub/config.h b/ArduSub/config.h index ed3fe7b790..a9b7cf8bff 100644 --- a/ArduSub/config.h +++ b/ArduSub/config.h @@ -72,6 +72,8 @@ # define FRAME_CONFIG_STRING "ROV_VECTORED_FRAME" #elif FRAME_CONFIG == VECTORED6DOF_FRAME # define FRAME_CONFIG_STRING "ROV_VECTORED6DOF_FRAME" +#elif FRAME_CONFIG == SIMPLEROV_FRAME + # define FRAME_CONFIG_STRING "ROV_SIMPLEROV_FRAME" #else # define FRAME_CONFIG_STRING "UNKNOWN" #endif diff --git a/ArduSub/defines.h b/ArduSub/defines.h index 8ff18f1987..0b823e97fc 100644 --- a/ArduSub/defines.h +++ b/ArduSub/defines.h @@ -88,6 +88,7 @@ enum aux_sw_func { #define BLUEROV_FRAME 10 #define VECTORED_FRAME 11 #define VECTORED6DOF_FRAME 12 +#define SIMPLEROV_FRAME 13 // HIL enumerations #define HIL_MODE_DISABLED 0 diff --git a/ArduSub/wscript b/ArduSub/wscript index 12ed2990de..3a53561638 100644 --- a/ArduSub/wscript +++ b/ArduSub/wscript @@ -35,7 +35,7 @@ def build(bld): ) frames = ( - 'bluerov','vectored','vectored6DOF', + 'bluerov','vectored','vectored6DOF','simplerov' ) for frame in frames: