Game for Project 2

Dependencies:   4DGL-uLCD-SE SDFileSystem mbed wave_player

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Shiftbrite.h Source File

Shiftbrite.h

00001 #include "mbed.h"
00002 
00003 //Setup a new class for a Shiftbrite RGB LED module
00004 class Shiftbrite
00005 {
00006 public:
00007     Shiftbrite(PinName pin_e, PinName pin_l, PinName pin_do, PinName pin_di, PinName pin_clk);
00008     void write(int red, int green, int blue);
00009 
00010 private:
00011 //class sets up the pins
00012     DigitalOut _pin_e;
00013     DigitalOut _pin_l;
00014     SPI _spi;
00015 };
00016 
00017 Shiftbrite::Shiftbrite(PinName pin_e, PinName pin_l, PinName pin_do, PinName pin_di, PinName pin_clk)
00018     : _pin_e(pin_e), _pin_l(pin_l), _spi(pin_do, pin_di, pin_clk)
00019 {
00020  // spi set up
00021     _pin_e=0;
00022     _pin_l=0;
00023     _spi.format(16,0);
00024     _spi.frequency(500000);
00025 }
00026 
00027 void Shiftbrite::write(int red, int green, int blue)
00028 {
00029     unsigned int low_color=0;
00030     unsigned int high_color=0;
00031     high_color=(blue<<4)|((red&0x3C0)>>6);
00032     low_color=(((red&0x3F)<<10)|(green));
00033     _spi.write(high_color);
00034     _spi.write(low_color);
00035     _pin_l=1;
00036     _pin_e=0;
00037 }