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
Block.h@6:98fe30430194, 2015-11-16 (annotated)
- 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?
User | Revision | Line number | New 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_ */ |