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:
Sun Nov 22 20:29:08 2015 +0000
Revision:
15:777390eb5afd
Parent:
14:cf2f255b5560
Child:
17:af373246bf80
For some reason cannot assign Commander's command and commandValue properties, to received string. The execution stop not that statement. Noticed using print statements.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dreamselec 10:16ba52f8e025 1
dreamselec 2:7a55cb10259f 2
dreamselec 9:dc8f155b71c8 3
dreamselec 4:4eebb4de22a7 4 #ifndef _globals_h_
dreamselec 4:4eebb4de22a7 5 #define _globals_h_
dreamselec 2:7a55cb10259f 6
dreamselec 10:16ba52f8e025 7 #include "Block.h"
dreamselec 10:16ba52f8e025 8 #include "mbed.h"
dreamselec 10:16ba52f8e025 9 //#include "MCP23017.h"
dreamselec 10:16ba52f8e025 10 //#include "fpga.h"
dreamselec 10:16ba52f8e025 11
dreamselec 10:16ba52f8e025 12 class FPGA;
dreamselec 10:16ba52f8e025 13 class TCS3472_I2C;
dreamselec 10:16ba52f8e025 14 class MCP23017;
dreamselec 10:16ba52f8e025 15 class WattBob_TextLCD;
dreamselec 10:16ba52f8e025 16
dreamselec 4:4eebb4de22a7 17 extern mbed::Serial pc;
dreamselec 10:16ba52f8e025 18 extern MCP23017 *i2cport;
dreamselec 7:b6e31bfdb2af 19 extern int kDefaultBaudRate;
dreamselec 10:16ba52f8e025 20 extern WattBob_TextLCD *lcd;
dreamselec 2:7a55cb10259f 21 //extern SerialBase gParity;
dreamselec 2:7a55cb10259f 22 extern int gStopBits;
dreamselec 8:e1da2ae62885 23 extern bool connectedToPC;
dreamselec 10:16ba52f8e025 24 extern bool runServoTest;
dreamselec 2:7a55cb10259f 25
dreamselec 6:98fe30430194 26 const int kCommandBufferSize = 80;
dreamselec 7:b6e31bfdb2af 27 const int kSmallBufferSize = 5;
dreamselec 2:7a55cb10259f 28
dreamselec 2:7a55cb10259f 29 #define FOREVER for(;;)
dreamselec 2:7a55cb10259f 30
dreamselec 6:98fe30430194 31 const char CommandTypeValue [3] = {'!', '?', ':'};
dreamselec 6:98fe30430194 32 const char kCommandTerminator = ';';
dreamselec 8:e1da2ae62885 33 enum CommandTypeRaw { InvalidType = -1, Set = 0, Query = 1, Reply = 2 };
dreamselec 6:98fe30430194 34
dreamselec 9:dc8f155b71c8 35 const Block kDefaultHazBlock = Block(Block::Small);
dreamselec 9:dc8f155b71c8 36 extern Block _HazBlock;
dreamselec 10:16ba52f8e025 37 extern FPGA *fpga;
dreamselec 10:16ba52f8e025 38
dreamselec 10:16ba52f8e025 39 extern TCS3472_I2C rgbSensor;
dreamselec 9:dc8f155b71c8 40
dreamselec 6:98fe30430194 41 enum Servos {Stopping = 1, Sorting = 2};
dreamselec 6:98fe30430194 42 enum StoppingServoPositions {Stop = 0, Go = 1};
dreamselec 10:16ba52f8e025 43 enum SortingServoPositions {NonHaz = 1, Haz = 0};
dreamselec 10:16ba52f8e025 44
dreamselec 10:16ba52f8e025 45 int readSwitches();
dreamselec 6:98fe30430194 46
dreamselec 8:e1da2ae62885 47 void connectToPC(CommandTypeRaw typeRaw=Set);
dreamselec 8:e1da2ae62885 48 void disconnectToPC(CommandTypeRaw typeRaw=Set);
dreamselec 8:e1da2ae62885 49 void hazBlock(CommandTypeRaw typeRaw);
dreamselec 8:e1da2ae62885 50 void getCurrentBlock(CommandTypeRaw typeRaw=Query);
dreamselec 8:e1da2ae62885 51
dreamselec 15:777390eb5afd 52 void setIntegrationTimeTo(float integrationTime);
dreamselec 8:e1da2ae62885 53 void previewOnPC(bool on);
dreamselec 10:16ba52f8e025 54 void readColourSensor ();
dreamselec 8:e1da2ae62885 55
dreamselec 8:e1da2ae62885 56 void testServos();
dreamselec 8:e1da2ae62885 57 void resetServos();
dreamselec 8:e1da2ae62885 58
dreamselec 8:e1da2ae62885 59 void getPortInfo();
dreamselec 8:e1da2ae62885 60 void setPortBaudRate(int baudRate);
dreamselec 14:cf2f255b5560 61 void setPortParity(int parity);
dreamselec 8:e1da2ae62885 62
dreamselec 8:e1da2ae62885 63
dreamselec 6:98fe30430194 64 #endif