summaryrefslogtreecommitdiff
path: root/fw/fe310/eos/eve/eve_vtrack.h
diff options
context:
space:
mode:
Diffstat (limited to 'fw/fe310/eos/eve/eve_vtrack.h')
-rw-r--r--fw/fe310/eos/eve/eve_vtrack.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/fw/fe310/eos/eve/eve_vtrack.h b/fw/fe310/eos/eve/eve_vtrack.h
new file mode 100644
index 0000000..b75f673
--- /dev/null
+++ b/fw/fe310/eos/eve/eve_vtrack.h
@@ -0,0 +1,28 @@
+#include <stdint.h>
+
+#define EVE_VTRACK_ACC_A 1000
+
+typedef void (*eve_vtrack_start_t) (EVETouch *, void *);
+typedef int (*eve_vtrack_tick_t) (EVETouch *, void *);
+typedef void (*eve_vtrack_stop_t) (EVETouch *, void *);
+
+typedef struct EVEVTrack {
+ eve_vtrack_start_t start;
+ eve_vtrack_tick_t tick;
+ eve_vtrack_stop_t stop;
+ void *param;
+} EVEVTrack;
+
+void eve_vtrack_init(void);
+EVEVTrack *eve_vtrack_get(void);
+void eve_vtrack_set(eve_vtrack_start_t start, eve_vtrack_tick_t tick, eve_vtrack_stop_t stop, void *param);
+void eve_vtrack_reset(void);
+void eve_vtrack_start(EVETouch *touch, uint8_t tag0, uint32_t to);
+void eve_vtrack_stop(EVETouch *touch);
+
+void eve_vtrack_acc_start(EVETouch *touch, void *p);
+int eve_vtrack_acc_tick(EVETouch *touch, void *p);
+
+void eve_vtrack_lho_start(EVETouch *touch, void *p);
+int eve_vtrack_lho_tick(EVETouch *touch, void *p);
+void eve_vtrack_lho_stop(EVETouch *touch, void *p);