DataFlash: Log EKF solution status message

This message is a bitmasked integer that will be used by control software to determine what data is available from the EKF and decide what control modes are available.
Duplicate static mode message removed. Static mode is now contained in the bitmasked solution status message
This commit is contained in:
priseborough 2014-12-20 06:47:34 +11:00 committed by Randy Mackay
parent 4eb19c2324
commit 685fa383e4
2 changed files with 6 additions and 6 deletions

View File

@ -345,8 +345,8 @@ struct PACKED log_EKF4 {
int8_t offsetNorth;
int8_t offsetEast;
uint8_t faults;
uint8_t staticmode;
uint8_t timeouts;
uint8_t solution;
};
struct PACKED log_EKF5 {
@ -505,7 +505,7 @@ struct PACKED log_Esc {
{ LOG_EKF3_MSG, sizeof(log_EKF3), \
"EKF3","Icccccchhhc","TimeMS,IVN,IVE,IVD,IPN,IPE,IPD,IMX,IMY,IMZ,IVT" }, \
{ LOG_EKF4_MSG, sizeof(log_EKF4), \
"EKF4","IcccccccbbBBB","TimeMS,SV,SP,SH,SMX,SMY,SMZ,SVT,OFN,EFE,FS,StaticMode,TS" }, \
"EKF4","IcccccccbbBBB","TimeMS,SV,SP,SH,SMX,SMY,SMZ,SVT,OFN,EFE,FS,TS,SS" }, \
{ LOG_TERRAIN_MSG, sizeof(log_TERRAIN), \
"TERR","IBLLHffHH","TimeMS,Status,Lat,Lng,Spacing,TerrH,CHeight,Pending,Loaded" }, \
{ LOG_UBX1_MSG, sizeof(log_Ubx1), \

View File

@ -982,11 +982,11 @@ void DataFlash_Class::Log_Write_EKF(AP_AHRS_NavEKF &ahrs)
Vector3f magVar;
float tasVar;
Vector2f offset;
uint8_t faultStatus;
uint8_t timeoutStatus;
uint8_t faultStatus, timeoutStatus, solutionStatus;
ahrs.get_NavEKF().getVariances(velVar, posVar, hgtVar, magVar, tasVar, offset);
ahrs.get_NavEKF().getFilterFaults(faultStatus);
ahrs.get_NavEKF().getFilterTimeouts(timeoutStatus);
ahrs.get_NavEKF().getFilterStatus(solutionStatus);
struct log_EKF4 pkt4 = {
LOG_PACKET_HEADER_INIT(LOG_EKF4_MSG),
time_ms : hal.scheduler->millis(),
@ -1000,8 +1000,8 @@ void DataFlash_Class::Log_Write_EKF(AP_AHRS_NavEKF &ahrs)
offsetNorth : (int8_t)(offset.x),
offsetEast : (int8_t)(offset.y),
faults : (uint8_t)(faultStatus),
staticmode : (uint8_t)(ahrs.get_NavEKF().getStaticMode()),
timeouts : (uint8_t)(timeoutStatus)
timeouts : (uint8_t)(timeoutStatus),
solution : (uint8_t)(solutionStatus)
};
WriteBlock(&pkt4, sizeof(pkt4));