Game for Project 2
Dependencies: 4DGL-uLCD-SE SDFileSystem mbed wave_player
Shiftbrite.h@0:7fe3c940e4b5, 2015-06-25 (annotated)
- Committer:
- leuyentran
- Date:
- Thu Jun 25 14:35:52 2015 +0000
- Revision:
- 0:7fe3c940e4b5
Georgia Tech ECE2035 Sum 15
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
leuyentran | 0:7fe3c940e4b5 | 1 | #include "mbed.h" |
leuyentran | 0:7fe3c940e4b5 | 2 | |
leuyentran | 0:7fe3c940e4b5 | 3 | //Setup a new class for a Shiftbrite RGB LED module |
leuyentran | 0:7fe3c940e4b5 | 4 | class Shiftbrite |
leuyentran | 0:7fe3c940e4b5 | 5 | { |
leuyentran | 0:7fe3c940e4b5 | 6 | public: |
leuyentran | 0:7fe3c940e4b5 | 7 | Shiftbrite(PinName pin_e, PinName pin_l, PinName pin_do, PinName pin_di, PinName pin_clk); |
leuyentran | 0:7fe3c940e4b5 | 8 | void write(int red, int green, int blue); |
leuyentran | 0:7fe3c940e4b5 | 9 | |
leuyentran | 0:7fe3c940e4b5 | 10 | private: |
leuyentran | 0:7fe3c940e4b5 | 11 | //class sets up the pins |
leuyentran | 0:7fe3c940e4b5 | 12 | DigitalOut _pin_e; |
leuyentran | 0:7fe3c940e4b5 | 13 | DigitalOut _pin_l; |
leuyentran | 0:7fe3c940e4b5 | 14 | SPI _spi; |
leuyentran | 0:7fe3c940e4b5 | 15 | }; |
leuyentran | 0:7fe3c940e4b5 | 16 | |
leuyentran | 0:7fe3c940e4b5 | 17 | Shiftbrite::Shiftbrite(PinName pin_e, PinName pin_l, PinName pin_do, PinName pin_di, PinName pin_clk) |
leuyentran | 0:7fe3c940e4b5 | 18 | : _pin_e(pin_e), _pin_l(pin_l), _spi(pin_do, pin_di, pin_clk) |
leuyentran | 0:7fe3c940e4b5 | 19 | { |
leuyentran | 0:7fe3c940e4b5 | 20 | // spi set up |
leuyentran | 0:7fe3c940e4b5 | 21 | _pin_e=0; |
leuyentran | 0:7fe3c940e4b5 | 22 | _pin_l=0; |
leuyentran | 0:7fe3c940e4b5 | 23 | _spi.format(16,0); |
leuyentran | 0:7fe3c940e4b5 | 24 | _spi.frequency(500000); |
leuyentran | 0:7fe3c940e4b5 | 25 | } |
leuyentran | 0:7fe3c940e4b5 | 26 | |
leuyentran | 0:7fe3c940e4b5 | 27 | void Shiftbrite::write(int red, int green, int blue) |
leuyentran | 0:7fe3c940e4b5 | 28 | { |
leuyentran | 0:7fe3c940e4b5 | 29 | unsigned int low_color=0; |
leuyentran | 0:7fe3c940e4b5 | 30 | unsigned int high_color=0; |
leuyentran | 0:7fe3c940e4b5 | 31 | high_color=(blue<<4)|((red&0x3C0)>>6); |
leuyentran | 0:7fe3c940e4b5 | 32 | low_color=(((red&0x3F)<<10)|(green)); |
leuyentran | 0:7fe3c940e4b5 | 33 | _spi.write(high_color); |
leuyentran | 0:7fe3c940e4b5 | 34 | _spi.write(low_color); |
leuyentran | 0:7fe3c940e4b5 | 35 | _pin_l=1; |
leuyentran | 0:7fe3c940e4b5 | 36 | _pin_e=0; |
leuyentran | 0:7fe3c940e4b5 | 37 | } |