diff options
author | Keith Packard <keithp@keithp.com> | 2013-01-16 15:13:31 -0800 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2013-01-16 15:21:24 -0800 |
commit | 249ee968305ae6e8fcf0a10e5cf9cc5826bd81dd (patch) | |
tree | d2f7b8d8c6283bb33cf8b2e0f93777c31778201c /src/kalman/load_csv.5c | |
parent | dd60d85d07b881ac03294a8cf607e469f2e69610 (diff) |
altos: Add computation of MicroPeak Kalman correction coefficients
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/kalman/load_csv.5c')
-rw-r--r-- | src/kalman/load_csv.5c | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/src/kalman/load_csv.5c b/src/kalman/load_csv.5c index 15e83166..0086c6db 100644 --- a/src/kalman/load_csv.5c +++ b/src/kalman/load_csv.5c @@ -31,6 +31,7 @@ namespace load_csv { real time; real height; real acceleration; + real pressure; } record_t; public record_t parse_record(file f, real accel_scale) { @@ -40,16 +41,28 @@ namespace load_csv { int time_off = 4; int height_off = 11; int accel_off = 8; - if (string_to_integer(data[0]) == 2) { + int pres_off = 9; + switch (string_to_integer(data[0])) { + case 2: time_off = 4; accel_off = 9; + pres_off = 10; height_off = 12; + break; + case 5: + time_off = 4; + accel_off = 10; + pres_off = 11; + height_off = 13; + break; } return (record_t) { .done = false, - .time = string_to_real(data[time_off]), - .height = imprecise(string_to_real(data[height_off])), - .acceleration = imprecise(string_to_real(data[accel_off]) * accel_scale) }; + .time = string_to_real(data[time_off]), + .height = imprecise(string_to_real(data[height_off])), + .acceleration = imprecise(string_to_real(data[accel_off]) * accel_scale), + .pressure = imprecise(string_to_real(data[pres_off])) + }; } public void dump(file f) { |