Path: blob/master/Tools/Replay/DataFlashFileReader.h
9314 views
#pragma once12#include <AP_Logger/AP_Logger.h>34#define LOGREADER_MAX_FORMATS 255 // must be >= highest MESSAGE56class AP_LoggerFileReader7{8public:910AP_LoggerFileReader();11~AP_LoggerFileReader();1213bool open_log(const char *logfile);14bool update();1516virtual bool handle_log_format_msg(const struct log_Format &f) = 0;17virtual bool handle_msg(const struct log_Format &f, uint8_t *msg) = 0;1819void format_type(uint16_t type, char dest[5]);20void get_packet_counts(uint64_t dest[]);21float get_percent_read(); // Get percentage of log file read2223protected:24int fd = -1;2526struct log_Format formats[LOGREADER_MAX_FORMATS] {};2728private:29ssize_t read_input(void *buf, size_t count);3031uint64_t bytes_read = 0;32uint64_t file_size = 0; // Total size of the log file33uint32_t message_count = 0;34uint64_t start_micros;3536uint64_t packet_counts[LOGREADER_MAX_FORMATS] = {};37};383940