Browse Source

Copter: GCS_MAVLink takes care of mavlink capabilities

master
Peter Barker 7 years ago committed by Peter Barker
parent
commit
f759c7ac7e
  1. 3
      ArduCopter/Copter.h
  2. 17
      ArduCopter/GCS_Mavlink.cpp
  3. 1
      ArduCopter/GCS_Mavlink.h
  4. 17
      ArduCopter/capabilities.cpp
  5. 2
      ArduCopter/system.cpp

3
ArduCopter/Copter.h

@ -658,9 +658,6 @@ private: @@ -658,9 +658,6 @@ private:
// baro_ground_effect.cpp
void update_ground_effect_detector(void);
// capabilities.cpp
void init_capabilities(void);
// commands.cpp
void update_home_from_EKF();
void set_home_to_current_location_inflight();

17
ArduCopter/GCS_Mavlink.cpp

@ -1359,3 +1359,20 @@ float GCS_MAVLINK_Copter::vfr_hud_alt() const @@ -1359,3 +1359,20 @@ float GCS_MAVLINK_Copter::vfr_hud_alt() const
}
return GCS_MAVLINK::vfr_hud_alt();
}
uint64_t GCS_MAVLINK_Copter::capabilities() const
{
return (MAV_PROTOCOL_CAPABILITY_MISSION_FLOAT |
MAV_PROTOCOL_CAPABILITY_PARAM_FLOAT |
MAV_PROTOCOL_CAPABILITY_MISSION_INT |
MAV_PROTOCOL_CAPABILITY_COMMAND_INT |
MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_LOCAL_NED |
MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_GLOBAL_INT |
MAV_PROTOCOL_CAPABILITY_FLIGHT_TERMINATION |
MAV_PROTOCOL_CAPABILITY_SET_ATTITUDE_TARGET |
#if AP_TERRAIN_AVAILABLE && AC_TERRAIN
(copter.terrain.enabled() ? MAV_PROTOCOL_CAPABILITY_TERRAIN : 0) |
#endif
MAV_PROTOCOL_CAPABILITY_COMPASS_CALIBRATION |
GCS_MAVLINK::capabilities());
}

1
ArduCopter/GCS_Mavlink.h

@ -40,6 +40,7 @@ protected: @@ -40,6 +40,7 @@ protected:
bool set_home_to_current_location(bool lock) override WARN_IF_UNUSED;
bool set_home(const Location& loc, bool lock) override WARN_IF_UNUSED;
void send_nav_controller_output() const override;
uint64_t capabilities() const override;
private:

17
ArduCopter/capabilities.cpp

@ -1,17 +0,0 @@ @@ -1,17 +0,0 @@
#include "Copter.h"
void Copter::init_capabilities(void)
{
hal.util->set_capabilities(MAV_PROTOCOL_CAPABILITY_MISSION_FLOAT |
MAV_PROTOCOL_CAPABILITY_PARAM_FLOAT |
MAV_PROTOCOL_CAPABILITY_MISSION_INT |
MAV_PROTOCOL_CAPABILITY_COMMAND_INT |
MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_LOCAL_NED |
MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_GLOBAL_INT |
MAV_PROTOCOL_CAPABILITY_FLIGHT_TERMINATION |
MAV_PROTOCOL_CAPABILITY_SET_ATTITUDE_TARGET |
MAV_PROTOCOL_CAPABILITY_COMPASS_CALIBRATION);
#if AP_TERRAIN_AVAILABLE && AC_TERRAIN
hal.util->set_capabilities(MAV_PROTOCOL_CAPABILITY_TERRAIN);
#endif
}

2
ArduCopter/system.cpp

@ -28,8 +28,6 @@ void Copter::init_ardupilot() @@ -28,8 +28,6 @@ void Copter::init_ardupilot()
AP::fwversion().fw_string,
(unsigned)hal.util->available_memory());
init_capabilities();
//
// Report firmware version code expect on console (check of actual EEPROM format version is done in load_parameters function)
//

Loading…
Cancel
Save