- telem_record t = read_telem(in);
- int n = dim(clock);
- real sample_time = t.time / 100 + clock_bias;
- if (n > 0 && sample_time < clock[n-1]) {
- clock_bias += 65536 / 100;
- sample_time += 65536 / 100;
+ int n = dim(telem);
+ telem[n] = read_telem(in);
+ telem[n].time += clock_bias;
+ if (n > 0 && telem[n].time < telem[n-1].time) {
+ clock_bias += 65536;
+ telem[n].time += 65536;
+ }
+ }
+ int clock_start = telem[0].time;
+ int clock_end = telem[dim(telem)-1].time;
+ int samples = clock_end - clock_start;
+
+ int j = 0;
+ for (int i = 0; i < samples; i++) {
+ clock[i] = i / 100;
+ pressure_value[i] = telem[j].pressure;
+ accelerometer_value[i] = telem[j].accel;
+ if (j < dim(telem)-1) {
+ int cur_time = clock_start + i;
+ if (cur_time - telem[j].time > telem[j+1].time - cur_time)
+ j++;