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

globals.h

Committer:
dreamselec
Date:
2015-11-16
Revision:
8:e1da2ae62885
Parent:
7:b6e31bfdb2af
Child:
9:dc8f155b71c8

File content as of revision 8:e1da2ae62885:

#include "Block.h"
#include "mbed.h"
#include "MCP23017.h"

#ifndef _globals_h_
#define _globals_h_

extern mbed::Serial pc;
extern MCP23017::MCP23017 *i2cport;
extern int kDefaultBaudRate;
//extern SerialBase gParity;
extern int gStopBits;
extern bool connectedToPC;

const int kCommandBufferSize = 80;
const int kSmallBufferSize = 5;

#define FOREVER for(;;)

const char CommandTypeValue [3] = {'!', '?', ':'};
const char kCommandTerminator = ';';
enum CommandTypeRaw { InvalidType = -1, Set = 0, Query = 1, Reply = 2 };

enum Servos {Stopping = 1, Sorting = 2};
enum StoppingServoPositions {Stop = 0, Go = 1};
enum SortingServoPositions {NonHaz = 0, Haz = 1};

const Block kDefaultHazBlock = Block(Block::Small);
extern Block _HazBlock;

void connectToPC(CommandTypeRaw typeRaw=Set);
void disconnectToPC(CommandTypeRaw typeRaw=Set);
void hazBlock(CommandTypeRaw typeRaw);
void getCurrentBlock(CommandTypeRaw typeRaw=Query);

void setIntegrationTime(int integrationTime);
void previewOnPC(bool on);

void testServos();
void resetServos();

void getPortInfo();
void setPortBaudRate(int baudRate);


#endif