aboutsummaryrefslogtreecommitdiff
path: root/data_recorder.c
diff options
context:
space:
mode:
authorJustin Berger <j.david.berger@gmail.com>2018-03-16 23:27:36 -0600
committerJustin Berger <j.david.berger@gmail.com>2018-03-16 23:27:36 -0600
commit0529854c1f0fc3756cb93db839b83055b681ebc2 (patch)
treeacfa41455a62e3134bd5c56c639c9abcc4450b3f /data_recorder.c
parent910a0acb448feaeb18d1d9929f610d9a550d0272 (diff)
downloadlibsurvive-0529854c1f0fc3756cb93db839b83055b681ebc2.tar.gz
libsurvive-0529854c1f0fc3756cb93db839b83055b681ebc2.tar.bz2
Removed GFX guts out of data_recorder
Diffstat (limited to 'data_recorder.c')
-rw-r--r--data_recorder.c114
1 files changed, 12 insertions, 102 deletions
diff --git a/data_recorder.c b/data_recorder.c
index 1392bed..271b996 100644
--- a/data_recorder.c
+++ b/data_recorder.c
@@ -4,7 +4,6 @@
#include <unistd.h>
#endif
-#include <CNFGFunctions.h>
#include <os_generic.h>
#include <stdarg.h>
#include <stdint.h>
@@ -25,28 +24,6 @@ struct SurviveContext *ctx;
FILE *output_file = 0;
-void HandleKey(int keycode, int bDown) {
- if (!bDown)
- return;
-
- if (keycode == 'O' || keycode == 'o') {
- survive_send_magic(ctx, 1, 0, 0);
- }
- if (keycode == 'F' || keycode == 'f') {
- survive_send_magic(ctx, 0, 0, 0);
- }
-}
-
-void HandleButton(int x, int y, int button, int bDown) {}
-
-void HandleMotion(int x, int y, int mask) {}
-
-void HandleDestroy() {}
-
-int bufferpts[32 * 2 * 3];
-char buffermts[32 * 128 * 3];
-int buffertimeto[32 * 3];
-
double timestamp_in_us() {
static double start_time_us = 0;
if (start_time_us == 0)
@@ -74,6 +51,7 @@ int my_config_process(SurviveObject *so, char *ct0conf, int len) {
fwrite("\n", 1, 1, output_file);
return survive_default_htc_config_process(so, ct0conf, len);
}
+
void my_lighthouse_process(SurviveContext *ctx, uint8_t lighthouse, SurvivePose *pose) {
survive_default_lighthouse_pose_process(ctx, lighthouse, pose);
write_to_output("%d LH_POSE %0.6f %0.6f %0.6f %0.6f %0.6f %0.6f %0.6f\n", lighthouse, pose->Pos[0], pose->Pos[1],
@@ -98,51 +76,38 @@ void my_light_process(struct SurviveObject *so, int sensor_id, int acode,
survive_default_light_process(so, sensor_id, acode, timeinsweep, timecode,
length, lh);
- if (acode == -1 || sensor_id < 0) {
+ if (acode == -1) {
write_to_output("%s S %d %d %d %u %u %u\n", so->codename, sensor_id, acode, timeinsweep, timecode, length, lh);
return;
}
- int jumpoffset = sensor_id;
-
- if (strcmp(so->codename, "WM0") == 0)
- jumpoffset += 32;
- else if (strcmp(so->codename, "WM1") == 0)
- jumpoffset += 64;
-
const char *LH_ID = 0;
const char *LH_Axis = 0;
switch (acode) {
case 0:
case 2:
- bufferpts[jumpoffset * 2 + 0] = (timeinsweep - 100000) / 500;
LH_ID = "L";
LH_Axis = "X";
break;
case 1:
case 3:
- bufferpts[jumpoffset * 2 + 1] = (timeinsweep - 100000) / 500;
LH_ID = "L";
LH_Axis = "Y";
break;
case 4:
case 6:
- bufferpts[jumpoffset * 2 + 0] = (timeinsweep - 100000) / 500;
LH_ID = "R";
LH_Axis = "X";
break;
case 5:
case 7:
- bufferpts[jumpoffset * 2 + 1] = (timeinsweep - 100000) / 500;
LH_ID = "R";
LH_Axis = "Y";
break;
}
-
write_to_output("%s %s %s %d %d %d %u %u %u\n", so->codename, LH_ID, LH_Axis, sensor_id, acode, timeinsweep,
timecode, length, lh);
- buffertimeto[jumpoffset] = 0;
}
void my_imu_process(struct SurviveObject *so, int mask, FLT *accelgyro,
@@ -152,47 +117,17 @@ void my_imu_process(struct SurviveObject *so, int mask, FLT *accelgyro,
accelgyro[1], accelgyro[2], accelgyro[3], accelgyro[4], accelgyro[5], id);
}
-void *GuiThread(void *v) {
- CNFGBGColor = 0x000000;
- CNFGDialogColor = 0x444444;
- CNFGSetup("Survive GUI Debug", 640, 480);
-
- short screenx, screeny;
- while (1) {
- CNFGHandleInput();
- CNFGClearFrame();
- CNFGColor(0xFFFFFF);
- CNFGGetDimensions(&screenx, &screeny);
-
- int i;
- for (i = 0; i < 32 * 3; i++) {
- if (buffertimeto[i] < 50) {
- uint32_t color = i * 3231349;
- uint8_t r = color & 0xff;
- uint8_t g = (color >> 8) & 0xff;
- uint8_t b = (color >> 16) & 0xff;
- r = (r * (5 - buffertimeto[i])) / 5;
- g = (g * (5 - buffertimeto[i])) / 5;
- b = (b * (5 - buffertimeto[i])) / 5;
- CNFGColor((b << 16) | (g << 8) | r);
- CNFGTackRectangle(bufferpts[i * 2 + 0], bufferpts[i * 2 + 1],
- bufferpts[i * 2 + 0] + 5,
- bufferpts[i * 2 + 1] + 5);
- CNFGPenX = bufferpts[i * 2 + 0];
- CNFGPenY = bufferpts[i * 2 + 1];
- CNFGDrawText(buffermts, 2);
- buffertimeto[i]++;
- }
+int main(int argc, char **argv) {
+ if (argc > 1) {
+ output_file = fopen(argv[1], "w");
+ if (output_file == 0) {
+ fprintf(stderr, "Could not open %s for writing", argv[1]);
+ return -1;
}
-
- CNFGSwapBuffers();
- OGUSleep(10000);
+ } else {
+ output_file = stdout;
}
-}
-int SurviveThreadLoaded = 0;
-
-void *SurviveThread(void *junk) {
ctx = survive_init_with_config_cb(0, my_config_process);
survive_install_light_fn(ctx, my_light_process);
@@ -201,41 +136,16 @@ void *SurviveThread(void *junk) {
survive_install_raw_pose_fn(ctx, my_raw_pose_process);
survive_install_angle_fn(ctx, my_angle_process);
survive_install_info_fn(ctx, my_info_process);
+
survive_cal_install(ctx);
+
if (!ctx) {
fprintf(stderr, "Fatal. Could not start\n");
exit(1);
}
- SurviveThreadLoaded = 1;
-
while (survive_poll(ctx) == 0) {
}
return 0;
}
-
-int main(int argc, char **argv) {
- if (argc > 1) {
- output_file = fopen(argv[1], "w");
- if (output_file == 0) {
- fprintf(stderr, "Could not open %s for writing", argv[1]);
- return -1;
- }
- } else {
- output_file = stdout;
- }
- SurviveThread(0);
- /*
- // Create the libsurvive thread
- OGCreateThread(SurviveThread, 0);
-
- // Wait for the survive thread to load
- while (!SurviveThreadLoaded) {
- OGUSleep(100);
- }
-
- // Run the Gui in the main thread
- GuiThread(0);
- */
-}