GCS_MAVLink: move send-logs-via-mavlink code into DataFlash
This commit is contained in:
parent
305531952f
commit
4c1aff03a3
@ -129,6 +129,13 @@ public:
|
|||||||
// call to reset the timeout window for entering the cli
|
// call to reset the timeout window for entering the cli
|
||||||
void reset_cli_timeout();
|
void reset_cli_timeout();
|
||||||
|
|
||||||
|
bool is_high_bandwidth() { return chan == MAVLINK_COMM_0; }
|
||||||
|
// return true if this channel has hardware flow control
|
||||||
|
bool have_flow_control();
|
||||||
|
|
||||||
|
mavlink_channel_t get_chan() const { return chan; }
|
||||||
|
uint32_t get_last_heartbeat_time() const { return last_heartbeat_time; };
|
||||||
|
|
||||||
uint32_t last_heartbeat_time; // milliseconds
|
uint32_t last_heartbeat_time; // milliseconds
|
||||||
|
|
||||||
// last time we got a non-zero RSSI from RADIO_STATUS
|
// last time we got a non-zero RSSI from RADIO_STATUS
|
||||||
@ -231,8 +238,6 @@ protected:
|
|||||||
mavlink_channel_t chan;
|
mavlink_channel_t chan;
|
||||||
uint8_t packet_overhead(void) const { return packet_overhead_chan(chan); }
|
uint8_t packet_overhead(void) const { return packet_overhead_chan(chan); }
|
||||||
|
|
||||||
void handle_log_send(DataFlash_Class &dataflash);
|
|
||||||
|
|
||||||
// saveable rate of each stream
|
// saveable rate of each stream
|
||||||
AP_Int16 streamRates[NUM_STREAMS];
|
AP_Int16 streamRates[NUM_STREAMS];
|
||||||
|
|
||||||
@ -259,7 +264,6 @@ protected:
|
|||||||
void handle_gps_inject(const mavlink_message_t *msg, AP_GPS &gps);
|
void handle_gps_inject(const mavlink_message_t *msg, AP_GPS &gps);
|
||||||
|
|
||||||
void handle_common_message(mavlink_message_t *msg);
|
void handle_common_message(mavlink_message_t *msg);
|
||||||
void handle_log_message(mavlink_message_t *msg, DataFlash_Class &dataflash);
|
|
||||||
void handle_setup_signing(const mavlink_message_t *msg);
|
void handle_setup_signing(const mavlink_message_t *msg);
|
||||||
uint8_t handle_preflight_reboot(const mavlink_command_long_t &packet, bool disable_overrides);
|
uint8_t handle_preflight_reboot(const mavlink_command_long_t &packet, bool disable_overrides);
|
||||||
uint8_t handle_rc_bind(const mavlink_command_long_t &packet);
|
uint8_t handle_rc_bind(const mavlink_command_long_t &packet);
|
||||||
@ -324,33 +328,6 @@ private:
|
|||||||
// exists so we can separate the cli entry time from the system start time
|
// exists so we can separate the cli entry time from the system start time
|
||||||
uint32_t _cli_timeout;
|
uint32_t _cli_timeout;
|
||||||
|
|
||||||
uint8_t _log_listing:1; // sending log list
|
|
||||||
uint8_t _log_sending:1; // sending log data
|
|
||||||
|
|
||||||
// next log list entry to send
|
|
||||||
uint16_t _log_next_list_entry;
|
|
||||||
|
|
||||||
// last log list entry to send
|
|
||||||
uint16_t _log_last_list_entry;
|
|
||||||
|
|
||||||
// number of log files
|
|
||||||
uint16_t _log_num_logs;
|
|
||||||
|
|
||||||
// log number for data send
|
|
||||||
uint16_t _log_num_data;
|
|
||||||
|
|
||||||
// offset in log
|
|
||||||
uint32_t _log_data_offset;
|
|
||||||
|
|
||||||
// size of log file
|
|
||||||
uint32_t _log_data_size;
|
|
||||||
|
|
||||||
// number of bytes left to send
|
|
||||||
uint32_t _log_data_remaining;
|
|
||||||
|
|
||||||
// start page of log data
|
|
||||||
uint16_t _log_data_page;
|
|
||||||
|
|
||||||
// perf counters
|
// perf counters
|
||||||
static AP_HAL::Util::perf_counter_t _perf_packet;
|
static AP_HAL::Util::perf_counter_t _perf_packet;
|
||||||
static AP_HAL::Util::perf_counter_t _perf_update;
|
static AP_HAL::Util::perf_counter_t _perf_update;
|
||||||
@ -415,19 +392,8 @@ private:
|
|||||||
virtual bool handle_guided_request(AP_Mission::Mission_Command &cmd) = 0;
|
virtual bool handle_guided_request(AP_Mission::Mission_Command &cmd) = 0;
|
||||||
virtual void handle_change_alt_request(AP_Mission::Mission_Command &cmd) = 0;
|
virtual void handle_change_alt_request(AP_Mission::Mission_Command &cmd) = 0;
|
||||||
|
|
||||||
void handle_log_request_list(mavlink_message_t *msg, DataFlash_Class &dataflash);
|
|
||||||
void handle_log_request_data(mavlink_message_t *msg, DataFlash_Class &dataflash);
|
|
||||||
void handle_log_request_erase(mavlink_message_t *msg, DataFlash_Class &dataflash);
|
|
||||||
void handle_log_request_end(mavlink_message_t *msg, DataFlash_Class &dataflash);
|
|
||||||
void handle_log_send_listing(DataFlash_Class &dataflash);
|
|
||||||
bool handle_log_send_data(DataFlash_Class &dataflash);
|
|
||||||
|
|
||||||
|
|
||||||
void lock_channel(mavlink_channel_t chan, bool lock);
|
void lock_channel(mavlink_channel_t chan, bool lock);
|
||||||
|
|
||||||
// return true if this channel has hardware flow control
|
|
||||||
bool have_flow_control(void);
|
|
||||||
|
|
||||||
mavlink_signing_t signing;
|
mavlink_signing_t signing;
|
||||||
static mavlink_signing_streams_t signing_streams;
|
static mavlink_signing_streams_t signing_streams;
|
||||||
static uint32_t last_signing_save_ms;
|
static uint32_t last_signing_save_ms;
|
||||||
|
@ -1680,8 +1680,16 @@ void GCS_MAVLINK::handle_common_message(mavlink_message_t *msg)
|
|||||||
case MAVLINK_MSG_ID_TIMESYNC:
|
case MAVLINK_MSG_ID_TIMESYNC:
|
||||||
handle_timesync(msg);
|
handle_timesync(msg);
|
||||||
break;
|
break;
|
||||||
|
case MAVLINK_MSG_ID_LOG_REQUEST_LIST:
|
||||||
|
/* fall through */
|
||||||
|
case MAVLINK_MSG_ID_LOG_REQUEST_DATA:
|
||||||
|
/* fall through */
|
||||||
|
case MAVLINK_MSG_ID_LOG_ERASE:
|
||||||
|
/* fall through */
|
||||||
|
case MAVLINK_MSG_ID_LOG_REQUEST_END:
|
||||||
|
/* fall through */
|
||||||
case MAVLINK_MSG_ID_REMOTE_LOG_BLOCK_STATUS:
|
case MAVLINK_MSG_ID_REMOTE_LOG_BLOCK_STATUS:
|
||||||
DataFlash_Class::instance()->handle_mavlink_msg(chan, msg);
|
DataFlash_Class::instance()->handle_mavlink_msg(*this, msg);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user