AP_Logger: expand servo status logging

This commit is contained in:
Andrew Tridgell 2022-12-02 14:17:14 +11:00
parent 7963ee8a13
commit db60b2586e
3 changed files with 24 additions and 4 deletions

View File

@ -255,7 +255,8 @@ public:
void Write_Radio(const mavlink_radio_t &packet); void Write_Radio(const mavlink_radio_t &packet);
void Write_Message(const char *message); void Write_Message(const char *message);
void Write_MessageF(const char *fmt, ...); void Write_MessageF(const char *fmt, ...);
void Write_ServoStatus(uint64_t time_us, uint8_t id, float position, float force, float speed, uint8_t power_pct); void Write_ServoStatus(uint64_t time_us, uint8_t id, float position, float force, float speed, uint8_t power_pct,
float pos_cmd, float voltage, float current, float mot_temp, float pcb_temp, uint8_t error);
void Write_Compass(); void Write_Compass();
void Write_Mode(uint8_t mode, const ModeReason reason); void Write_Mode(uint8_t mode, const ModeReason reason);

View File

@ -451,7 +451,8 @@ bool AP_Logger_Backend::Write_Mode(uint8_t mode, const ModeReason reason)
/* /*
write servo status from CAN servo write servo status from CAN servo
*/ */
void AP_Logger::Write_ServoStatus(uint64_t time_us, uint8_t id, float position, float force, float speed, uint8_t power_pct) void AP_Logger::Write_ServoStatus(uint64_t time_us, uint8_t id, float position, float force, float speed, uint8_t power_pct,
float pos_cmd, float voltage, float current, float mot_temp, float pcb_temp, uint8_t error)
{ {
const struct log_CSRV pkt { const struct log_CSRV pkt {
LOG_PACKET_HEADER_INIT(LOG_CSRV_MSG), LOG_PACKET_HEADER_INIT(LOG_CSRV_MSG),
@ -460,7 +461,13 @@ void AP_Logger::Write_ServoStatus(uint64_t time_us, uint8_t id, float position,
position : position, position : position,
force : force, force : force,
speed : speed, speed : speed,
power_pct : power_pct power_pct : power_pct,
pos_cmd : pos_cmd,
voltage : voltage,
current : current,
mot_temp : mot_temp,
pcb_temp : pcb_temp,
error : error,
}; };
WriteBlock(&pkt, sizeof(pkt)); WriteBlock(&pkt, sizeof(pkt));
} }

View File

@ -491,6 +491,12 @@ struct PACKED log_CSRV {
float force; float force;
float speed; float speed;
uint8_t power_pct; uint8_t power_pct;
float pos_cmd;
float voltage;
float current;
float mot_temp;
float pcb_temp;
uint8_t error;
}; };
struct PACKED log_ARSP { struct PACKED log_ARSP {
@ -754,6 +760,12 @@ struct PACKED log_VER {
// @Field: Force: Force being applied // @Field: Force: Force being applied
// @Field: Speed: Current servo movement speed // @Field: Speed: Current servo movement speed
// @Field: Pow: Amount of rated power being applied // @Field: Pow: Amount of rated power being applied
// @Field: PosCmd: commanded servo position
// @Field: V: Voltage
// @Field: A: Current
// @Field: MotT: motor temperature
// @Field: PCBT: PCB temperature
// @Field: Err: error flags
// @LoggerMessage: DMS // @LoggerMessage: DMS
// @Description: DataFlash-Over-MAVLink statistics // @Description: DataFlash-Over-MAVLink statistics
@ -1271,7 +1283,7 @@ LOG_STRUCTURE_FROM_AVOIDANCE \
"TERR","QBLLHffHHf","TimeUS,Status,Lat,Lng,Spacing,TerrH,CHeight,Pending,Loaded,ROfs", "s-DU-mm--m", "F-GG-00--0", true }, \ "TERR","QBLLHffHHf","TimeUS,Status,Lat,Lng,Spacing,TerrH,CHeight,Pending,Loaded,ROfs", "s-DU-mm--m", "F-GG-00--0", true }, \
LOG_STRUCTURE_FROM_ESC_TELEM \ LOG_STRUCTURE_FROM_ESC_TELEM \
{ LOG_CSRV_MSG, sizeof(log_CSRV), \ { LOG_CSRV_MSG, sizeof(log_CSRV), \
"CSRV","QBfffB","TimeUS,Id,Pos,Force,Speed,Pow", "s#---%", "F-0000", true }, \ "CSRV","QBfffBfffffB","TimeUS,Id,Pos,Force,Speed,Pow,PosCmd,V,A,MotT,PCBT,Err", "s#---%dvAOO-", "F-000000000-", true }, \
{ LOG_PIDR_MSG, sizeof(log_PID), \ { LOG_PIDR_MSG, sizeof(log_PID), \
"PIDR", PID_FMT, PID_LABELS, PID_UNITS, PID_MULTS, true }, \ "PIDR", PID_FMT, PID_LABELS, PID_UNITS, PID_MULTS, true }, \
{ LOG_PIDP_MSG, sizeof(log_PID), \ { LOG_PIDP_MSG, sizeof(log_PID), \