diff options
author | Peter de Kok <p.j.s.d.kok@gmail.com> | 2015-05-27 12:05:16 +0200 |
---|---|---|
committer | Peter de Kok <p.j.s.d.kok@gmail.com> | 2015-05-27 12:05:16 +0200 |
commit | 16d6305f3246dfbd95233cb19f5ff0d13a79f91e (patch) | |
tree | 0d0f6b76522f2fc6d98393af7977d5b42681df9a /Venus_Skeleton/dataTypes.h | |
parent | ad6d3568fb3dbfa3f41ec2f72e065a329fa7e1f6 (diff) | |
download | code-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.h | 60 |
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; |