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 05:10:17 2015 +0000
Revision:
6:98fe30430194
Child:
7:b6e31bfdb2af
Started using class-object structure instead of structs. More control.
New classes: Commander, FPGA, Block, Colour.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dreamselec 6:98fe30430194 1 /*
dreamselec 6:98fe30430194 2 * Block.h
dreamselec 6:98fe30430194 3 *
dreamselec 6:98fe30430194 4 * Created on: 16 Nov 2015
dreamselec 6:98fe30430194 5 * Author: chandansiyag
dreamselec 6:98fe30430194 6 */
dreamselec 6:98fe30430194 7
dreamselec 6:98fe30430194 8 #ifndef _block_h_
dreamselec 6:98fe30430194 9 #define _block_h_
dreamselec 6:98fe30430194 10
dreamselec 6:98fe30430194 11 class Block {
dreamselec 6:98fe30430194 12 public:
dreamselec 6:98fe30430194 13 enum Size {Small = 0, Big = 1};
dreamselec 6:98fe30430194 14 Block();
dreamselec 6:98fe30430194 15 Block(Size size);
dreamselec 6:98fe30430194 16 Block(const Block& rhs);
dreamselec 6:98fe30430194 17 virtual ~Block();
dreamselec 6:98fe30430194 18
dreamselec 6:98fe30430194 19 Size size;
dreamselec 6:98fe30430194 20 Colour *minColour = &_minColour;
dreamselec 6:98fe30430194 21 Colour *maxColour = &_maxColour;
dreamselec 6:98fe30430194 22
dreamselec 6:98fe30430194 23 private:
dreamselec 6:98fe30430194 24 Colour _minColour = Colour();
dreamselec 6:98fe30430194 25 Colour _maxColour = Colour();
dreamselec 6:98fe30430194 26 };
dreamselec 6:98fe30430194 27
dreamselec 6:98fe30430194 28 class Colour{
dreamselec 6:98fe30430194 29 public:
dreamselec 6:98fe30430194 30 Colour();
dreamselec 6:98fe30430194 31 Colour(const Colour& rhs);
dreamselec 6:98fe30430194 32 virtual ~Colour();
dreamselec 6:98fe30430194 33
dreamselec 6:98fe30430194 34 enum Components {Red = 0, Blue = 1, Green = 2, Alpha = 3};
dreamselec 6:98fe30430194 35
dreamselec 6:98fe30430194 36 unsigned int components [4];
dreamselec 6:98fe30430194 37
dreamselec 6:98fe30430194 38 unsigned int getAlpha() const {
dreamselec 6:98fe30430194 39 return components[Alpha];
dreamselec 6:98fe30430194 40 }
dreamselec 6:98fe30430194 41
dreamselec 6:98fe30430194 42 void setAlpha(unsigned int alpha) {
dreamselec 6:98fe30430194 43 this->components[Alpha] = alpha;
dreamselec 6:98fe30430194 44 }
dreamselec 6:98fe30430194 45
dreamselec 6:98fe30430194 46 unsigned int getBlue() const {
dreamselec 6:98fe30430194 47 return components[Blue];
dreamselec 6:98fe30430194 48 }
dreamselec 6:98fe30430194 49
dreamselec 6:98fe30430194 50 void setBlue(unsigned int blue) {
dreamselec 6:98fe30430194 51 this->components[Blue] = blue;
dreamselec 6:98fe30430194 52 }
dreamselec 6:98fe30430194 53
dreamselec 6:98fe30430194 54 unsigned int getGreen() const {
dreamselec 6:98fe30430194 55 return components[Green];
dreamselec 6:98fe30430194 56 }
dreamselec 6:98fe30430194 57
dreamselec 6:98fe30430194 58 void setGreen(unsigned int green) {
dreamselec 6:98fe30430194 59 this->components[Green] = green;
dreamselec 6:98fe30430194 60 }
dreamselec 6:98fe30430194 61
dreamselec 6:98fe30430194 62 unsigned int getRed() const {
dreamselec 6:98fe30430194 63 return components[Red];
dreamselec 6:98fe30430194 64 }
dreamselec 6:98fe30430194 65
dreamselec 6:98fe30430194 66 void setRed(unsigned int red) {
dreamselec 6:98fe30430194 67 this->components[Red] = red;
dreamselec 6:98fe30430194 68 }
dreamselec 6:98fe30430194 69 };
dreamselec 6:98fe30430194 70
dreamselec 6:98fe30430194 71 #endif /* _block_h_ */