summaryrefslogtreecommitdiff
path: root/Venus_Skeleton/dataTypes.h
diff options
context:
space:
mode:
authorPeter de Kok <p.j.s.d.kok@gmail.com>2015-05-27 12:05:16 +0200
committerPeter de Kok <p.j.s.d.kok@gmail.com>2015-05-27 12:05:16 +0200
commit16d6305f3246dfbd95233cb19f5ff0d13a79f91e (patch)
tree0d0f6b76522f2fc6d98393af7977d5b42681df9a /Venus_Skeleton/dataTypes.h
parentad6d3568fb3dbfa3f41ec2f72e065a329fa7e1f6 (diff)
downloadcode-16d6305f3246dfbd95233cb19f5ff0d13a79f91e.tar.gz
Changed some structure and fixed some compile errors
Some C++ structures don't work for Arduino, unless you put them in a header file.
Diffstat (limited to 'Venus_Skeleton/dataTypes.h')
-rw-r--r--Venus_Skeleton/dataTypes.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/Venus_Skeleton/dataTypes.h b/Venus_Skeleton/dataTypes.h
new file mode 100644
index 0000000..374f23b
--- /dev/null
+++ b/Venus_Skeleton/dataTypes.h
@@ -0,0 +1,60 @@
+// ****************
+// ** Data types **
+// ****************
+
+// Left and Right
+typedef enum {
+ L,
+ R
+} lr_t;
+
+// Sensor data
+typedef struct {
+ // ir
+ bool IR_left_detected;
+ bool IR_right_detected; // usually an integer (16-bit)
+ bool sample_turret_detected;
+ bool sample_gripper_detected;
+ int distance; // 16-bit
+ // ..
+ long timer; // 32-bit
+} sensor_data_t;
+enum {
+ CHANGED_SENS_COMPASS = 1 << 0,
+ CHANGED_SENS_OBSTACLETURRET = 1 << 1,
+ CHANGED_SENS_IRLEFT = 1 << 2,
+ CHANGED_SENS_IRRIGHT = 1 << 3,
+ CHANGED_SENS_SAMPLETURRET = 1 << 4,
+ CHANGED_SENS_SAMPLEGRIPPER = 1 << 5
+};
+
+// Raspberry Pi Data type declarations
+typedef enum {
+ PI_DATATYPE_COMPASS,
+ PI_DATATYPE_OBSTACLETURRET,
+ PI_DATATYPE_IRLEFT,
+ PI_DATATYPE_IRRIGHT,
+ PI_DATATYPE_SAMPLETURRET,
+ PI_DATATYPE_SAMPLEGRIPPER,
+ PI_DATATYPE_BEACONTURRET,
+ PI_DATATYPE_LAB,
+ PI_DATATYPE_MOVETO,
+ PI_DATATYPE_GRIPPER,
+ PI_DATATYPE_TURRET,
+ PI_DATATYPE_ALL
+} pi_datatype_t;
+
+// Operation modes
+typedef enum {
+ OPMODE_WAIT,
+ OPMODE_INITIALSEQUENCE,
+ OPMODE_RANDOM,
+ OPMODE_MAPPING,
+ OPMODE_CHECKSAMPLE,
+ OPMODE_GRABSAMPLE,
+ OPMODE_GOTOLABLOCATION,
+ OPMODE_WAITFORLAB,
+ OPMODE_FINDMAGNET,
+ OPMODE_LABSEQUENCE,
+ OPMODE_ERROR
+} opmode_t;