aboutsummaryrefslogtreecommitdiff
path: root/tools/disambiguate/disambiguate.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/disambiguate/disambiguate.c')
-rw-r--r--tools/disambiguate/disambiguate.c37
1 files changed, 18 insertions, 19 deletions
diff --git a/tools/disambiguate/disambiguate.c b/tools/disambiguate/disambiguate.c
index 7e46625..6e468dd 100644
--- a/tools/disambiguate/disambiguate.c
+++ b/tools/disambiguate/disambiguate.c
@@ -6,54 +6,53 @@
#include <stdlib.h>
#include <string.h>
#include <math.h>
-#include "../../include/disambiguator.h"
+#include "disambiguator.h"
int main() {
- FILE * f = fopen( "raw_light_data_from_watchman.sorted.csv", "r" );
+ FILE * f = fopen( "new_lightcap_data.csv", "r" );
if (f == NULL) {
fprintf(stderr, "ERROR OPENING INPUT FILE\n");
return -1;
}
- long last = 0, lastl = 0;
+ uint32_t last = 0, lastl = 0;
- disambiguator d;
+ struct disambiguator d;
disambiguator_init(&d);
for (;;) {
char controller[10];
int sensor;
int unknown;
- int length;
- long time;
+ uint32_t length;
+ uint32_t time;
- if (fscanf(f, "%s %d %d %d %li", controller, &sensor, &unknown, &length, &time) != 5) {
+ if (fscanf(f, "%s %d %d %d %d", controller, &sensor, &unknown, &length, &time) != 5) {
break;
}
if (lastl > time) {
- printf("BACKWARDS: %li %li\n", lastl, time);
+ //printf("BACKWARDS: %li %li\n", lastl, time);
}
lastl = time;
+ if (strcmp(controller, "HMD") != 0) continue;
+ char cc = (length - 2750) / 500;
switch (disambiguator_step(&d, time, length)) {
default:
case P_UNKNOWN:
- //printf("UNKN %s %2d %li %d\n", controller, sensor, time - last, length);
+ //printf("UNKN %s %2d %d %d\n", controller, sensor, time - last, length);
continue;
- case P_SYNC:
- {
- double l = length;
- char cc = round(l / 500) - 6;
- int ll = (length+125)/250;
- printf("SYNC %s %2d %10li %5d %c%d %10li %d %d\n", controller, sensor, time, length, (cc & 0x1) ? 'k' : 'j', (cc >> 1) & 0x3, time-last, ll & 1, (ll >> 1) - 6);
- last = time;
- }
+ case P_MASTER:
+ printf("MASTR %s %2d %10d %5d %c%d %10d\n", controller, sensor, time, length, (cc & 0x1) ? 'k' : 'j', (cc >> 1) & 0x3, time-last);
+ last = time;
+ continue;
+ case P_SLAVE:
+ printf("SLAVE %s %2d %10d %5d %c%d %10d\n", controller, sensor, time, length, (cc & 0x1) ? 'k' : 'j', (cc >> 1) & 0x3, time-last);
continue;
case P_SWEEP:
- printf("SWEEP %s %2d %10li %5d\n", controller, sensor, time - last, length);
+ printf("SWEEP %s %2d %10d %5d\n", controller, sensor, time - last, length);
continue;
}
}
fclose(f);
}
-