Browse Source

Copter: move telemetry_delayed up into base class

mission-4.1.18
Peter Barker 9 years ago committed by Andrew Tridgell
parent
commit
e977d85e0c
  1. 1
      ArduCopter/Copter.h
  2. 18
      ArduCopter/GCS_Mavlink.cpp
  3. 2
      ArduCopter/GCS_Mavlink.h

1
ArduCopter/Copter.h

@ -649,7 +649,6 @@ private: @@ -649,7 +649,6 @@ private:
void send_rpm(mavlink_channel_t chan);
void rpm_update();
void send_pid_tuning(mavlink_channel_t chan);
bool telemetry_delayed(mavlink_channel_t chan);
void gcs_send_message(enum ap_message id);
void gcs_send_mission_item_reached_message(uint16_t mission_index);
void gcs_data_stream_send(void);

18
ArduCopter/GCS_Mavlink.cpp

@ -499,27 +499,15 @@ void Copter::send_pid_tuning(mavlink_channel_t chan) @@ -499,27 +499,15 @@ void Copter::send_pid_tuning(mavlink_channel_t chan)
}
}
// are we still delaying telemetry to try to avoid Xbee bricking?
bool Copter::telemetry_delayed(mavlink_channel_t chan)
uint32_t GCS_MAVLINK_Copter::telem_delay() const
{
uint32_t tnow = millis() >> 10;
if (tnow > (uint32_t)g.telem_delay) {
return false;
}
if (chan == MAVLINK_COMM_0 && hal.gpio->usb_connected()) {
// this is USB telemetry, so won't be an Xbee
return false;
}
// we're either on the 2nd UART, or no USB cable is connected
// we need to delay telemetry by the TELEM_DELAY time
return true;
return (uint32_t)(copter.g.telem_delay);
}
// try to send a message, return false if it won't fit in the serial tx buffer
bool GCS_MAVLINK_Copter::try_send_message(enum ap_message id)
{
if (copter.telemetry_delayed(chan)) {
if (telemetry_delayed(chan)) {
return false;
}

2
ArduCopter/GCS_Mavlink.h

@ -11,6 +11,8 @@ public: @@ -11,6 +11,8 @@ public:
protected:
uint32_t telem_delay() const override;
private:
void handleMessage(mavlink_message_t * msg) override;

Loading…
Cancel
Save