3rd year group project. Electronic and Electrical Engineering. Heriot-Watt University. This is the code for the mbed for the Automatic Little Object Organiser (ALOO).

Dependencies:   MCP23017 TCS3472_I2C WattBob_TextLCD mbed

Committer:
dreamselec
Date:
Mon Nov 16 23:44:44 2015 +0000
Revision:
9:dc8f155b71c8
Parent:
8:e1da2ae62885
Child:
10:16ba52f8e025
Testing of command parsing successful. Implementing ability to declare new has block.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dreamselec 6:98fe30430194 1 #include "Block.h"
dreamselec 7:b6e31bfdb2af 2 #include "mbed.h"
dreamselec 7:b6e31bfdb2af 3 #include "MCP23017.h"
dreamselec 2:7a55cb10259f 4
dreamselec 9:dc8f155b71c8 5
dreamselec 4:4eebb4de22a7 6 #ifndef _globals_h_
dreamselec 4:4eebb4de22a7 7 #define _globals_h_
dreamselec 2:7a55cb10259f 8
dreamselec 4:4eebb4de22a7 9 extern mbed::Serial pc;
dreamselec 4:4eebb4de22a7 10 extern MCP23017::MCP23017 *i2cport;
dreamselec 7:b6e31bfdb2af 11 extern int kDefaultBaudRate;
dreamselec 2:7a55cb10259f 12 //extern SerialBase gParity;
dreamselec 2:7a55cb10259f 13 extern int gStopBits;
dreamselec 8:e1da2ae62885 14 extern bool connectedToPC;
dreamselec 2:7a55cb10259f 15
dreamselec 6:98fe30430194 16 const int kCommandBufferSize = 80;
dreamselec 7:b6e31bfdb2af 17 const int kSmallBufferSize = 5;
dreamselec 2:7a55cb10259f 18
dreamselec 2:7a55cb10259f 19 #define FOREVER for(;;)
dreamselec 2:7a55cb10259f 20
dreamselec 6:98fe30430194 21 const char CommandTypeValue [3] = {'!', '?', ':'};
dreamselec 6:98fe30430194 22 const char kCommandTerminator = ';';
dreamselec 8:e1da2ae62885 23 enum CommandTypeRaw { InvalidType = -1, Set = 0, Query = 1, Reply = 2 };
dreamselec 6:98fe30430194 24
dreamselec 9:dc8f155b71c8 25 const Block kDefaultHazBlock = Block(Block::Small);
dreamselec 9:dc8f155b71c8 26 extern Block _HazBlock;
dreamselec 9:dc8f155b71c8 27
dreamselec 6:98fe30430194 28 enum Servos {Stopping = 1, Sorting = 2};
dreamselec 6:98fe30430194 29 enum StoppingServoPositions {Stop = 0, Go = 1};
dreamselec 6:98fe30430194 30 enum SortingServoPositions {NonHaz = 0, Haz = 1};
dreamselec 6:98fe30430194 31
dreamselec 8:e1da2ae62885 32 void connectToPC(CommandTypeRaw typeRaw=Set);
dreamselec 8:e1da2ae62885 33 void disconnectToPC(CommandTypeRaw typeRaw=Set);
dreamselec 8:e1da2ae62885 34 void hazBlock(CommandTypeRaw typeRaw);
dreamselec 8:e1da2ae62885 35 void getCurrentBlock(CommandTypeRaw typeRaw=Query);
dreamselec 8:e1da2ae62885 36
dreamselec 8:e1da2ae62885 37 void setIntegrationTime(int integrationTime);
dreamselec 8:e1da2ae62885 38 void previewOnPC(bool on);
dreamselec 8:e1da2ae62885 39
dreamselec 8:e1da2ae62885 40 void testServos();
dreamselec 8:e1da2ae62885 41 void resetServos();
dreamselec 8:e1da2ae62885 42
dreamselec 8:e1da2ae62885 43 void getPortInfo();
dreamselec 8:e1da2ae62885 44 void setPortBaudRate(int baudRate);
dreamselec 8:e1da2ae62885 45
dreamselec 8:e1da2ae62885 46
dreamselec 6:98fe30430194 47 #endif