Browse Source

APM Sub: default attitude streamrate to 20Hz

QGC4.4
Jacob Walser 7 years ago
parent
commit
36db082c49
  1. 20
      src/FirmwarePlugin/APM/APMFirmwarePlugin.cc
  2. 1
      src/FirmwarePlugin/APM/APMFirmwarePlugin.h
  3. 11
      src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.cc
  4. 2
      src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.h

20
src/FirmwarePlugin/APM/APMFirmwarePlugin.cc

@ -595,6 +595,18 @@ void APMFirmwarePlugin::_adjustCalibrationMessageSeverity(mavlink_message_t* mes
mavlink_msg_statustext_encode_chan(message->sysid, message->compid, 0, message, &statusText); mavlink_msg_statustext_encode_chan(message->sysid, message->compid, 0, message, &statusText);
} }
void APMFirmwarePlugin::initializeStreamRates(Vehicle* vehicle)
{
vehicle->requestDataStream(MAV_DATA_STREAM_RAW_SENSORS, 2);
vehicle->requestDataStream(MAV_DATA_STREAM_EXTENDED_STATUS, 2);
vehicle->requestDataStream(MAV_DATA_STREAM_RC_CHANNELS, 2);
vehicle->requestDataStream(MAV_DATA_STREAM_POSITION, 3);
vehicle->requestDataStream(MAV_DATA_STREAM_EXTRA1, 10);
vehicle->requestDataStream(MAV_DATA_STREAM_EXTRA2, 10);
vehicle->requestDataStream(MAV_DATA_STREAM_EXTRA3, 3);
}
void APMFirmwarePlugin::initializeVehicle(Vehicle* vehicle) void APMFirmwarePlugin::initializeVehicle(Vehicle* vehicle)
{ {
vehicle->setFirmwarePluginInstanceData(new APMFirmwarePluginInstanceData); vehicle->setFirmwarePluginInstanceData(new APMFirmwarePluginInstanceData);
@ -632,13 +644,7 @@ void APMFirmwarePlugin::initializeVehicle(Vehicle* vehicle)
} }
} else { } else {
// Streams are not started automatically on APM stack // Streams are not started automatically on APM stack
vehicle->requestDataStream(MAV_DATA_STREAM_RAW_SENSORS, 2); initializeStreamRates(vehicle);
vehicle->requestDataStream(MAV_DATA_STREAM_EXTENDED_STATUS, 2);
vehicle->requestDataStream(MAV_DATA_STREAM_RC_CHANNELS, 2);
vehicle->requestDataStream(MAV_DATA_STREAM_POSITION, 3);
vehicle->requestDataStream(MAV_DATA_STREAM_EXTRA1, 10);
vehicle->requestDataStream(MAV_DATA_STREAM_EXTRA2, 10);
vehicle->requestDataStream(MAV_DATA_STREAM_EXTRA3, 3);
} }
} }

1
src/FirmwarePlugin/APM/APMFirmwarePlugin.h

@ -92,6 +92,7 @@ public:
int manualControlReservedButtonCount(void) override; int manualControlReservedButtonCount(void) override;
bool adjustIncomingMavlinkMessage (Vehicle* vehicle, mavlink_message_t* message) override; bool adjustIncomingMavlinkMessage (Vehicle* vehicle, mavlink_message_t* message) override;
void adjustOutgoingMavlinkMessage (Vehicle* vehicle, LinkInterface* outgoingLink, mavlink_message_t* message) override; void adjustOutgoingMavlinkMessage (Vehicle* vehicle, LinkInterface* outgoingLink, mavlink_message_t* message) override;
virtual void initializeStreamRates (Vehicle* vehicle);
void initializeVehicle (Vehicle* vehicle) override; void initializeVehicle (Vehicle* vehicle) override;
bool sendHomePositionToVehicle (void) override; bool sendHomePositionToVehicle (void) override;
void addMetaDataToFact (QObject* parameterMetaData, Fact* fact, MAV_TYPE vehicleType) override; void addMetaDataToFact (QObject* parameterMetaData, Fact* fact, MAV_TYPE vehicleType) override;

11
src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.cc

@ -164,6 +164,17 @@ int ArduSubFirmwarePlugin::manualControlReservedButtonCount(void)
return 0; return 0;
} }
void ArduSubFirmwarePlugin::initializeStreamRates(Vehicle* vehicle) {
vehicle->requestDataStream(MAV_DATA_STREAM_RAW_SENSORS, 2);
vehicle->requestDataStream(MAV_DATA_STREAM_EXTENDED_STATUS, 2);
vehicle->requestDataStream(MAV_DATA_STREAM_RC_CHANNELS, 2);
vehicle->requestDataStream(MAV_DATA_STREAM_POSITION, 3);
vehicle->requestDataStream(MAV_DATA_STREAM_EXTRA1, 20);
vehicle->requestDataStream(MAV_DATA_STREAM_EXTRA2, 10);
vehicle->requestDataStream(MAV_DATA_STREAM_EXTRA3, 3);
}
bool ArduSubFirmwarePlugin::supportsThrottleModeCenterZero(void) bool ArduSubFirmwarePlugin::supportsThrottleModeCenterZero(void)
{ {
return false; return false;

2
src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.h

@ -115,6 +115,8 @@ public:
int defaultJoystickTXMode(void) final { return 3; } int defaultJoystickTXMode(void) final { return 3; }
void initializeStreamRates(Vehicle* vehicle) override final;
bool supportsThrottleModeCenterZero(void) final; bool supportsThrottleModeCenterZero(void) final;
bool supportsRadio(void) final; bool supportsRadio(void) final;

Loading…
Cancel
Save