mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-01-20 15:48:29 -04:00
Copter: move precision landing logging up into AC_PrecLand
This commit is contained in:
parent
105f94f1fd
commit
65b1868863
@ -462,11 +462,6 @@ void Copter::twentyfive_hz_logging()
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if PRECISION_LANDING == ENABLED
|
|
||||||
// log output
|
|
||||||
Log_Write_Precland();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if MODE_AUTOROTATE_ENABLED == ENABLED
|
#if MODE_AUTOROTATE_ENABLED == ENABLED
|
||||||
if (should_log(MASK_LOG_ATTITUDE_MED) || should_log(MASK_LOG_ATTITUDE_FAST)) {
|
if (should_log(MASK_LOG_ATTITUDE_MED) || should_log(MASK_LOG_ATTITUDE_FAST)) {
|
||||||
//update autorotation log
|
//update autorotation log
|
||||||
|
@ -792,7 +792,6 @@ private:
|
|||||||
#if FRAME_CONFIG == HELI_FRAME
|
#if FRAME_CONFIG == HELI_FRAME
|
||||||
void Log_Write_Heli(void);
|
void Log_Write_Heli(void);
|
||||||
#endif
|
#endif
|
||||||
void Log_Write_Precland();
|
|
||||||
void Log_Write_GuidedTarget(uint8_t target_type, const Vector3f& pos_target, const Vector3f& vel_target);
|
void Log_Write_GuidedTarget(uint8_t target_type, const Vector3f& pos_target, const Vector3f& vel_target);
|
||||||
void Log_Write_SysID_Setup(uint8_t systemID_axis, float waveform_magnitude, float frequency_start, float frequency_stop, float time_fade_in, float time_const_freq, float time_record, float time_fade_out);
|
void Log_Write_SysID_Setup(uint8_t systemID_axis, float waveform_magnitude, float frequency_start, float frequency_stop, float time_fade_in, float time_const_freq, float time_record, float time_fade_out);
|
||||||
void Log_Write_SysID_Data(float waveform_time, float waveform_sample, float waveform_freq, float angle_x, float angle_y, float angle_z, float accel_x, float accel_y, float accel_z);
|
void Log_Write_SysID_Data(float waveform_time, float waveform_sample, float waveform_freq, float angle_x, float angle_y, float angle_z, float accel_x, float accel_y, float accel_z);
|
||||||
|
@ -366,60 +366,6 @@ void Copter::Log_Write_Heli()
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// precision landing logging
|
|
||||||
struct PACKED log_Precland {
|
|
||||||
LOG_PACKET_HEADER;
|
|
||||||
uint64_t time_us;
|
|
||||||
uint8_t healthy;
|
|
||||||
uint8_t target_acquired;
|
|
||||||
float pos_x;
|
|
||||||
float pos_y;
|
|
||||||
float vel_x;
|
|
||||||
float vel_y;
|
|
||||||
float meas_x;
|
|
||||||
float meas_y;
|
|
||||||
float meas_z;
|
|
||||||
uint32_t last_meas;
|
|
||||||
uint32_t ekf_outcount;
|
|
||||||
uint8_t estimator;
|
|
||||||
};
|
|
||||||
|
|
||||||
// Write a precision landing entry
|
|
||||||
void Copter::Log_Write_Precland()
|
|
||||||
{
|
|
||||||
#if PRECISION_LANDING == ENABLED
|
|
||||||
// exit immediately if not enabled
|
|
||||||
if (!precland.enabled()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
Vector3f target_pos_meas = Vector3f(0.0f,0.0f,0.0f);
|
|
||||||
Vector2f target_pos_rel = Vector2f(0.0f,0.0f);
|
|
||||||
Vector2f target_vel_rel = Vector2f(0.0f,0.0f);
|
|
||||||
precland.get_target_position_relative_cm(target_pos_rel);
|
|
||||||
precland.get_target_velocity_relative_cms(target_vel_rel);
|
|
||||||
precland.get_target_position_measurement_cm(target_pos_meas);
|
|
||||||
|
|
||||||
struct log_Precland pkt = {
|
|
||||||
LOG_PACKET_HEADER_INIT(LOG_PRECLAND_MSG),
|
|
||||||
time_us : AP_HAL::micros64(),
|
|
||||||
healthy : precland.healthy(),
|
|
||||||
target_acquired : precland.target_acquired(),
|
|
||||||
pos_x : target_pos_rel.x,
|
|
||||||
pos_y : target_pos_rel.y,
|
|
||||||
vel_x : target_vel_rel.x,
|
|
||||||
vel_y : target_vel_rel.y,
|
|
||||||
meas_x : target_pos_meas.x,
|
|
||||||
meas_y : target_pos_meas.y,
|
|
||||||
meas_z : target_pos_meas.z,
|
|
||||||
last_meas : precland.last_backend_los_meas_ms(),
|
|
||||||
ekf_outcount : precland.ekf_outlier_count(),
|
|
||||||
estimator : precland.estimator_type()
|
|
||||||
};
|
|
||||||
logger.WriteBlock(&pkt, sizeof(pkt));
|
|
||||||
#endif // PRECISION_LANDING == ENABLED
|
|
||||||
}
|
|
||||||
|
|
||||||
// guided target logging
|
// guided target logging
|
||||||
struct PACKED log_GuidedTarget {
|
struct PACKED log_GuidedTarget {
|
||||||
LOG_PACKET_HEADER;
|
LOG_PACKET_HEADER;
|
||||||
@ -552,26 +498,6 @@ const struct LogStructure Copter::log_structure[] = {
|
|||||||
"HELI", "Qffff", "TimeUS,DRRPM,ERRPM,Gov,Throt", "s----", "F----" },
|
"HELI", "Qffff", "TimeUS,DRRPM,ERRPM,Gov,Throt", "s----", "F----" },
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @LoggerMessage: PL
|
|
||||||
// @Description: Precision Landing messages
|
|
||||||
// @Field: TimeUS: Time since system startup
|
|
||||||
// @Field: Heal: True if Precision Landing is healthy
|
|
||||||
// @Field: TAcq: True if landing target is detected
|
|
||||||
// @Field: pX: Target position relative to vehicle, X-Axis (0 if target not found)
|
|
||||||
// @Field: pY: Target position relative to vehicle, Y-Axis (0 if target not found)
|
|
||||||
// @Field: vX: Target velocity relative to vehicle, X-Axis (0 if target not found)
|
|
||||||
// @Field: vY: Target velocity relative to vehicle, Y-Axis (0 if target not found)
|
|
||||||
// @Field: mX: Target's relative to origin position as 3-D Vector, X-Axis
|
|
||||||
// @Field: mY: Target's relative to origin position as 3-D Vector, Y-Axis
|
|
||||||
// @Field: mZ: Target's relative to origin position as 3-D Vector, Z-Axis
|
|
||||||
// @Field: LastMeasMS: Time when target was last detected
|
|
||||||
// @Field: EKFOutl: EKF's outlier count
|
|
||||||
// @Field: Est: Type of estimator used
|
|
||||||
#if PRECISION_LANDING == ENABLED
|
|
||||||
{ LOG_PRECLAND_MSG, sizeof(log_Precland),
|
|
||||||
"PL", "QBBfffffffIIB", "TimeUS,Heal,TAcq,pX,pY,vX,vY,mX,mY,mZ,LastMeasMS,EKFOutl,Est", "s--mmnnmmms--","F--BBBBBBBC--" },
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// @LoggerMessage: SIDD
|
// @LoggerMessage: SIDD
|
||||||
// @Description: System ID data
|
// @Description: System ID data
|
||||||
// @Field: TimeUS: Time since system startup
|
// @Field: TimeUS: Time since system startup
|
||||||
@ -645,7 +571,6 @@ void Copter::Log_Write_Data(LogDataID id, uint16_t value) {}
|
|||||||
void Copter::Log_Write_Data(LogDataID id, float value) {}
|
void Copter::Log_Write_Data(LogDataID id, float value) {}
|
||||||
void Copter::Log_Write_Parameter_Tuning(uint8_t param, float tuning_val, float tune_min, float tune_max) {}
|
void Copter::Log_Write_Parameter_Tuning(uint8_t param, float tuning_val, float tune_min, float tune_max) {}
|
||||||
void Copter::Log_Sensor_Health() {}
|
void Copter::Log_Sensor_Health() {}
|
||||||
void Copter::Log_Write_Precland() {}
|
|
||||||
void Copter::Log_Write_GuidedTarget(uint8_t target_type, const Vector3f& pos_target, const Vector3f& vel_target) {}
|
void Copter::Log_Write_GuidedTarget(uint8_t target_type, const Vector3f& pos_target, const Vector3f& vel_target) {}
|
||||||
void Copter::Log_Write_SysID_Setup(uint8_t systemID_axis, float waveform_magnitude, float frequency_start, float frequency_stop, float time_fade_in, float time_const_freq, float time_record, float time_fade_out) {}
|
void Copter::Log_Write_SysID_Setup(uint8_t systemID_axis, float waveform_magnitude, float frequency_start, float frequency_stop, float time_fade_in, float time_const_freq, float time_record, float time_fade_out) {}
|
||||||
void Copter::Log_Write_SysID_Data(float waveform_time, float waveform_sample, float waveform_freq, float angle_x, float angle_y, float angle_z, float accel_x, float accel_y, float accel_z) {}
|
void Copter::Log_Write_SysID_Data(float waveform_time, float waveform_sample, float waveform_freq, float angle_x, float angle_y, float angle_z, float accel_x, float accel_y, float accel_z) {}
|
||||||
|
@ -154,7 +154,6 @@ enum LoggingParameters {
|
|||||||
LOG_MOTBATT_MSG,
|
LOG_MOTBATT_MSG,
|
||||||
LOG_PARAMTUNE_MSG,
|
LOG_PARAMTUNE_MSG,
|
||||||
LOG_HELI_MSG,
|
LOG_HELI_MSG,
|
||||||
LOG_PRECLAND_MSG,
|
|
||||||
LOG_GUIDEDTARGET_MSG,
|
LOG_GUIDEDTARGET_MSG,
|
||||||
LOG_SYSIDD_MSG,
|
LOG_SYSIDD_MSG,
|
||||||
LOG_SYSIDS_MSG,
|
LOG_SYSIDS_MSG,
|
||||||
|
Loading…
Reference in New Issue
Block a user