10 _startup_messagewriter(writer)
81 #if CONFIG_HAL_BOARD == HAL_BOARD_SITL 187 const char *
fmt =
nullptr;
197 if (fmt ==
nullptr) {
210 for (uint8_t i=0; i<strlen(fmt); i++) {
214 int8_t tmp = va_arg(arg_list,
int);
215 memcpy(&buffer[offset], &tmp,
sizeof(int8_t));
216 offset +=
sizeof(int8_t);
221 int16_t tmp = va_arg(arg_list,
int);
222 memcpy(&buffer[offset], &tmp,
sizeof(int16_t));
223 offset +=
sizeof(int16_t);
227 double tmp = va_arg(arg_list,
double);
228 memcpy(&buffer[offset], &tmp,
sizeof(
double));
229 offset +=
sizeof(double);
235 int32_t tmp = va_arg(arg_list,
int);
236 memcpy(&buffer[offset], &tmp,
sizeof(int32_t));
237 offset +=
sizeof(int32_t);
241 float tmp = va_arg(arg_list,
double);
242 memcpy(&buffer[offset], &tmp,
sizeof(
float));
243 offset +=
sizeof(float);
251 uint8_t tmp = va_arg(arg_list,
int);
252 memcpy(&buffer[offset], &tmp,
sizeof(uint8_t));
253 offset +=
sizeof(uint8_t);
258 uint16_t tmp = va_arg(arg_list,
int);
259 memcpy(&buffer[offset], &tmp,
sizeof(uint16_t));
260 offset +=
sizeof(uint16_t);
265 uint32_t tmp = va_arg(arg_list, uint32_t);
266 memcpy(&buffer[offset], &tmp,
sizeof(uint32_t));
267 offset +=
sizeof(uint32_t);
277 int64_t tmp = va_arg(arg_list, int64_t);
278 memcpy(&buffer[offset], &tmp,
sizeof(int64_t));
279 offset +=
sizeof(int64_t);
283 uint64_t tmp = va_arg(arg_list, uint64_t);
284 memcpy(&buffer[offset], &tmp,
sizeof(uint64_t));
285 offset +=
sizeof(uint64_t);
290 char *tmp = va_arg(arg_list,
char*);
291 memcpy(&buffer[offset], tmp, charlen);
static const uint8_t LS_NAME_SIZE
virtual void WriteMoreStartupMessages()
bool Log_Write_Emit_FMT(uint8_t msg_type)
struct log_write_fmt * next
DFMessageWriter_DFLogStart * _startup_messagewriter
const uint8_t _num_multipliers
vehicle_startup_message_Log_Writer vehicle_message_writer()
static const uint8_t LS_MULTIPLIERS_SIZE
bool Log_Write_Format_Units(const struct LogStructure *structure)
bool Log_Write_Format(const struct LogStructure *structure)
uint8_t num_types() const
virtual bool StartNewLogOK() const
virtual void periodic_tasks()
virtual void start_new_log_reset_variables()
static uint8_t buffer[SRXL_FRAMELEN_MAX]
void set_mission(const AP_Mission *mission)
struct DataFlash_Class::@194 _params
bool _writing_startup_messages
virtual bool in_main_thread() const =0
const struct UnitStructure * unit(uint8_t unit) const
uint8_t num_units() const
const struct LogStructure * structure(uint16_t num) const
uint8_t num_multipliers() const
const struct LogStructure * structure(uint8_t structure) const
bool in_log_download() const
virtual void set_dataflash_backend(class DataFlash_Backend *backend)
void backend_starting_new_log(const DataFlash_Backend *backend)
virtual bool _WritePrioritisedBlock(const void *pBuffer, uint16_t size, bool is_critical)=0
bool fill_log_write_logstructure(struct LogStructure &logstruct, const uint8_t msg_type) const
virtual bool WritesOK() const =0
virtual bool WriteBlockCheckStartupMessages()
bool WritePrioritisedBlock(const void *pBuffer, uint16_t size, bool is_critical)
const AP_Int32 & _log_bitmask
bool log_while_disarmed(void) const
virtual void periodic_10Hz(const uint32_t now)
virtual void periodic_fullrate(const uint32_t now)
static const uint8_t LS_LABELS_SIZE
bool WritesEnabled() const
void set_mission(const AP_Mission *mission)
const struct MultiplierStructure * multiplier(uint16_t num) const
const struct MultiplierStructure * multiplier(uint8_t multiplier) const
DataFlash_Backend(DataFlash_Class &front, class DFMessageWriter_DFLogStart *writer)
bool ShouldLog(bool is_critical)
virtual void periodic_1Hz(const uint32_t now)
static const uint8_t LS_FORMAT_SIZE
virtual uint32_t bufferspace_available()=0
const struct UnitStructure * unit(uint16_t num) const
uint32_t _last_periodic_1Hz
virtual uint16_t start_new_log(void)=0
bool Log_Write(uint8_t msg_type, va_list arg_list, bool is_critical=false)
vehicle_startup_message_Log_Writer _vehicle_messages
uint32_t _last_periodic_10Hz
static const uint8_t LS_UNITS_SIZE
virtual void push_log_blocks()
const AP_HAL::HAL & hal
-*- tab-width: 4; Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil -*-
AP_HAL::Scheduler * scheduler
bool vehicle_is_armed() const
virtual bool logging_started(void) const =0
struct DataFlash_Class::log_write_fmt * log_write_fmts