mirror of https://github.com/ArduPilot/ardupilot
Log.pde : Updated Flash Logging to log Floats properly vs scaled integers.
This commit is contained in:
parent
e22832a832
commit
9c19138fb8
|
@ -291,26 +291,21 @@ static void Log_Write_Raw()
|
|||
Vector3f accel = imu.get_accel();
|
||||
//Vector3f accel_filt = imu.get_accel_filtered();
|
||||
|
||||
gyro *= t7; // Scale up for storage as long integers
|
||||
accel *= t7;
|
||||
//gyro *= t7; // Scale up for storage as long integers
|
||||
//accel *= t7;
|
||||
//accel_filt *= t7;
|
||||
|
||||
DataFlash.WriteByte(HEAD_BYTE1);
|
||||
DataFlash.WriteByte(HEAD_BYTE2);
|
||||
DataFlash.WriteByte(LOG_RAW_MSG);
|
||||
|
||||
DataFlash.WriteLong(gyro.x);
|
||||
DataFlash.WriteLong(gyro.y);
|
||||
DataFlash.WriteLong(gyro.z);
|
||||
DataFlash.WriteLong(get_int(gyro.x));
|
||||
DataFlash.WriteLong(get_int(gyro.y));
|
||||
DataFlash.WriteLong(get_int(gyro.z));
|
||||
|
||||
|
||||
//DataFlash.WriteLong(accels_rot.x * t7);
|
||||
//DataFlash.WriteLong(accels_rot.y * t7);
|
||||
//DataFlash.WriteLong(accels_rot.z * t7);
|
||||
|
||||
DataFlash.WriteLong(accel.x);
|
||||
DataFlash.WriteLong(accel.y);
|
||||
DataFlash.WriteLong(accel.z);
|
||||
DataFlash.WriteLong(get_int(accel.x));
|
||||
DataFlash.WriteLong(get_int(accel.y));
|
||||
DataFlash.WriteLong(get_int(accel.z));
|
||||
|
||||
DataFlash.WriteByte(END_BYTE);
|
||||
}
|
||||
|
@ -321,9 +316,9 @@ static void Log_Read_Raw()
|
|||
float logvar;
|
||||
Serial.printf_P(PSTR("RAW,"));
|
||||
for (int y = 0; y < 6; y++) {
|
||||
logvar = (float)DataFlash.ReadLong() / t7;
|
||||
logvar = get_float(DataFlash.ReadLong());
|
||||
Serial.print(logvar);
|
||||
Serial.print(",");
|
||||
Serial.print(", ");
|
||||
}
|
||||
Serial.println(" ");
|
||||
}
|
||||
|
@ -777,7 +772,13 @@ static void Log_Read_Startup()
|
|||
|
||||
static void Log_Write_Data(int8_t _type, float _data)
|
||||
{
|
||||
Log_Write_Data(_type, (int32_t)(_data * 1000));
|
||||
DataFlash.WriteByte(HEAD_BYTE1);
|
||||
DataFlash.WriteByte(HEAD_BYTE2);
|
||||
DataFlash.WriteByte(LOG_DATA_MSG);
|
||||
DataFlash.WriteByte(_type);
|
||||
DataFlash.WriteByte(1);
|
||||
DataFlash.WriteLong(get_int(_data));
|
||||
DataFlash.WriteByte(END_BYTE);
|
||||
}
|
||||
|
||||
static void Log_Write_Data(int8_t _type, int32_t _data)
|
||||
|
@ -786,6 +787,7 @@ static void Log_Write_Data(int8_t _type, int32_t _data)
|
|||
DataFlash.WriteByte(HEAD_BYTE2);
|
||||
DataFlash.WriteByte(LOG_DATA_MSG);
|
||||
DataFlash.WriteByte(_type);
|
||||
DataFlash.WriteByte(0);
|
||||
DataFlash.WriteLong(_data);
|
||||
DataFlash.WriteByte(END_BYTE);
|
||||
}
|
||||
|
@ -794,8 +796,15 @@ static void Log_Write_Data(int8_t _type, int32_t _data)
|
|||
static void Log_Read_Data()
|
||||
{
|
||||
int8_t temp1 = DataFlash.ReadByte();
|
||||
int32_t temp2 = DataFlash.ReadLong();
|
||||
Serial.printf_P(PSTR("DATA: %d, %ld\n"), temp1, temp2);
|
||||
int8_t temp2 = DataFlash.ReadByte();
|
||||
|
||||
if(temp2 == 1){
|
||||
float temp3 = get_float(DataFlash.ReadLong());
|
||||
Serial.printf_P(PSTR("DATA: %d, %1.6f\n"), temp1, temp3);
|
||||
}else{
|
||||
int32_t temp3 = DataFlash.ReadLong();
|
||||
Serial.printf_P(PSTR("DATA: %d, %ld\n"), temp1, temp3);
|
||||
}
|
||||
}
|
||||
|
||||
// Write an PID packet. Total length : 28 bytes
|
||||
|
|
Loading…
Reference in New Issue