AP_ESC_Telem: add logging of power percentage

This commit is contained in:
Iampete1 2024-07-27 20:03:36 +01:00 committed by Peter Hall
parent 8ec3d0f0a9
commit 34549cf0cb
2 changed files with 15 additions and 7 deletions

View File

@ -502,6 +502,9 @@ void AP_ESC_Telem::update_telem_data(const uint8_t esc_index, const AP_ESC_Telem
if (data_mask & AP_ESC_Telem_Backend::TelemetryType::FLAGS) {
_telem_data[esc_index].flags = new_data.flags;
}
if (data_mask & AP_ESC_Telem_Backend::TelemetryType::POWER_PERCENTAGE) {
_telem_data[esc_index].power_percentage = new_data.power_percentage;
}
#endif //AP_EXTENDED_ESC_TELEM_ENABLED
#if AP_EXTENDED_DSHOT_TELEM_V2_ENABLED
@ -657,7 +660,8 @@ void AP_ESC_Telem::update()
const bool has_ext_data = telemdata.types &
(AP_ESC_Telem_Backend::TelemetryType::INPUT_DUTY |
AP_ESC_Telem_Backend::TelemetryType::OUTPUT_DUTY |
AP_ESC_Telem_Backend::TelemetryType::FLAGS);
AP_ESC_Telem_Backend::TelemetryType::FLAGS |
AP_ESC_Telem_Backend::TelemetryType::POWER_PERCENTAGE);
if (has_ext_data) {
// @LoggerMessage: ESCX
// @Description: ESC extended telemetry data
@ -666,16 +670,18 @@ void AP_ESC_Telem::update()
// @Field: inpct: input duty cycle in percent
// @Field: outpct: output duty cycle in percent
// @Field: flags: manufacturer-specific status flags
// @Field: Pwr: Power percentage
AP::logger().WriteStreaming("ESCX",
"TimeUS,Instance,inpct,outpct,flags",
"s" "#" "%" "%" "-",
"F" "-" "-" "-" "-",
"Q" "B" "B" "B" "I",
"TimeUS,Instance,inpct,outpct,flags,Pwr",
"s" "#" "%" "%" "-" "%",
"F" "-" "-" "-" "-" "-",
"Q" "B" "B" "B" "I" "B",
AP_HAL::micros64(),
i,
telemdata.input_duty,
telemdata.output_duty,
telemdata.flags);
telemdata.flags,
telemdata.power_percentage);
}
#endif //AP_EXTENDED_ESC_TELEM_ENABLED
}

View File

@ -27,6 +27,7 @@ public:
uint8_t input_duty; // input duty cycle
uint8_t output_duty; // output duty cycle
uint32_t flags; // Status flags
uint8_t power_percentage; // Percentage of output power
#endif // AP_EXTENDED_ESC_TELEM_ENABLED
// return true if the data is stale
@ -58,7 +59,8 @@ public:
#if AP_EXTENDED_ESC_TELEM_ENABLED
INPUT_DUTY = 1 << 10,
OUTPUT_DUTY = 1 << 11,
FLAGS = 1 << 12
FLAGS = 1 << 12,
POWER_PERCENTAGE = 1 << 13,
#endif // AP_EXTENDED_ESC_TELEM_ENABLED
};