ardupilot/libraries/AP_HAL_ChibiOS/LogStructure.h

78 lines
2.6 KiB
C
Raw Normal View History

#pragma once
#include <AP_Logger/LogStructure.h>
#define LOG_IDS_FROM_HAL_CHIBIOS \
LOG_MON_MSG, \
LOG_WDOG_MSG
// @LoggerMessage: MON
// @Description: Main loop performance monitoring message.
// @Field: TimeUS: Time since system startup
// @Field: Dly: Loop delay so far
// @Field: Tsk: Current task
// @Field: IErr: Internal error mask
// @Field: IErrCnt: Count of internal error occurances
// @Field: IErrLn: Internal Error line
// @Field: MM: MAVLink message currently being processed
// @Field: MC: MAVLink command currently being processed
// @Field: SmLn: If semaphore taken, line of semaphore take call
// @Field: SPICnt: count of SPI transactions
// @Field: I2CCnt: count of i2c transactions
struct PACKED log_MON {
LOG_PACKET_HEADER;
uint64_t time_us;
uint32_t loop_delay;
int8_t current_task;
uint32_t internal_error_mask;
uint16_t internal_error_count;
uint16_t internal_error_line;
uint16_t mavmsg;
uint16_t mavcmd;
uint16_t semline;
uint32_t spicnt;
uint32_t i2ccnt;
};
// @LoggerMessage: WDOG
// @Description: Watchdog diagnostics
// @Field: TimeUS: Time since system startup
// @Field: Tsk: current task number
// @Field: IE: internal error mast
// @Field: IEC: internal error count
// @Field: IEL: line internal error was raised on
// @Field: MvMsg: mavlink message being acted on
// @Field: MvCmd: mavlink command being acted on
// @Field: SmLn: line semaphore was taken on
// @Field: FL: fault_line
// @Field: FT: fault_type
// @Field: FA: fault address
// @Field: FP: fault thread priority
// @Field: ICSR: ICS regiuster
// @Field: LR: long return address
// @Field: TN: Thread name
struct PACKED log_WDOG {
LOG_PACKET_HEADER;
uint64_t time_us;
int8_t scheduler_task;
uint32_t internal_errors;
uint16_t internal_error_count;
uint16_t internal_error_last_line;
uint16_t last_mavlink_msgid;
uint16_t last_mavlink_cmd;
uint16_t semaphore_line;
uint16_t fault_line;
uint16_t fault_type;
uint32_t fault_addr;
uint8_t fault_thd_prio;
uint32_t fault_icsr;
uint32_t fault_lr;
char thread_name4[4];
};
#define LOG_STRUCTURE_FROM_HAL_CHIBIOS \
{ LOG_MON_MSG, sizeof(log_MON), \
"MON","QIbIHHHHHII","TimeUS,Dly,Tsk,IErr,IErrCnt,IErrLn,MM,MC,SmLn,SPICnt,I2CCnt", "s----------", "F----------", false }, \
{ LOG_WDOG_MSG, sizeof(log_WDOG), \
"WDOG","QbIHHHHHHHIBIIn","TimeUS,Tsk,IE,IEC,IEL,MvMsg,MvCmd,SmLn,FL,FT,FA,FP,ICSR,LR,TN", "s--------------", "F--------------", false },