Browse Source

Merge pull request #7048 from mavlink/revert-7017-ArdupilotStreams

Revert "ArduPilot: Don't starts streams from QGC side. Assume firmware side does the right thing"
QGC4.4
Don Gagne 7 years ago committed by GitHub
parent
commit
8394fda9cd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 15
      src/FirmwarePlugin/APM/APMFirmwarePlugin.cc
  2. 1
      src/FirmwarePlugin/APM/APMFirmwarePlugin.h
  3. 10
      src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.cc
  4. 2
      src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.h

15
src/FirmwarePlugin/APM/APMFirmwarePlugin.cc

@ -593,6 +593,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);
@ -628,6 +640,9 @@ void APMFirmwarePlugin::initializeVehicle(Vehicle* vehicle)
// No version set // No version set
break; break;
} }
} else {
// Streams are not started automatically on APM stack
initializeStreamRates(vehicle);
} }
} }

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;

10
src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.cc

@ -169,6 +169,16 @@ 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::isCapable(const Vehicle* vehicle, FirmwareCapabilities capabilities) bool ArduSubFirmwarePlugin::isCapable(const Vehicle* vehicle, FirmwareCapabilities capabilities)
{ {
Q_UNUSED(vehicle); Q_UNUSED(vehicle);

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 isCapable(const Vehicle *vehicle, FirmwareCapabilities capabilities) final; bool isCapable(const Vehicle *vehicle, FirmwareCapabilities capabilities) final;
bool supportsThrottleModeCenterZero(void) final; bool supportsThrottleModeCenterZero(void) final;

Loading…
Cancel
Save