diff options
author | Justin Berger <j.david.berger@gmail.com> | 2018-06-07 23:42:05 -0600 |
---|---|---|
committer | Justin Berger <j.david.berger@gmail.com> | 2018-06-07 23:42:05 -0600 |
commit | fcf3528bfeba5e4646dbb0626a87c297d940a787 (patch) | |
tree | 8aebd196ab090cef2d2b96a017f86d242c667f9a /src/survive_playback.c | |
parent | 9224b6e2ce9747f09d154be2117a43f0d14511ac (diff) | |
download | libsurvive-fcf3528bfeba5e4646dbb0626a87c297d940a787.tar.gz libsurvive-fcf3528bfeba5e4646dbb0626a87c297d940a787.tar.bz2 |
Added debug message to ootx; mag reading to playback
Diffstat (limited to 'src/survive_playback.c')
-rw-r--r-- | src/survive_playback.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/survive_playback.c b/src/survive_playback.c index a5c4519..50b2e5c 100644 --- a/src/survive_playback.c +++ b/src/survive_playback.c @@ -166,8 +166,9 @@ void survive_recording_imu_process(struct SurviveObject *so, int mask, FLT *acce if (recordingData == 0) return; - write_to_output(recordingData, "%s I %d %u %0.6f %0.6f %0.6f %0.6f %0.6f %0.6f %d\n", so->codename, mask, timecode, - accelgyro[0], accelgyro[1], accelgyro[2], accelgyro[3], accelgyro[4], accelgyro[5], id); + write_to_output(recordingData, "%s I %d %u %0.6f %0.6f %0.6f %0.6f %0.6f %0.6f %0.6f %0.6f %0.6f %d\n", + so->codename, mask, timecode, accelgyro[0], accelgyro[1], accelgyro[2], accelgyro[3], accelgyro[4], + accelgyro[5], accelgyro[6], accelgyro[7], accelgyro[8], id); } struct SurvivePlaybackData { @@ -184,16 +185,20 @@ typedef struct SurvivePlaybackData SurvivePlaybackData; static int parse_and_run_imu(const char *line, SurvivePlaybackData *driver) { char dev[10]; int timecode = 0; - FLT accelgyro[6]; + FLT accelgyro[9] = {}; int mask; int id; int rr = sscanf(line, "%s I %d %d " FLT_format " " FLT_format " " FLT_format " " FLT_format " " FLT_format - " " FLT_format "%d", + " " FLT_format " " FLT_format " " FLT_format " " FLT_format "%d", dev, &mask, &timecode, &accelgyro[0], &accelgyro[1], &accelgyro[2], &accelgyro[3], &accelgyro[4], - &accelgyro[5], &id); + &accelgyro[5], &accelgyro[6], &accelgyro[7], &accelgyro[8], &id); - if (rr != 10) { + if (rr == 10) { + // Older formats might not have mag data + id = accelgyro[6]; + accelgyro[6] = 0; + } else if (rr != 13) { fprintf(stderr, "Warning: On line %d, only %d values read: '%s'\n", driver->lineno, rr, line); return -1; } |