pocket tanks

Dependencies:   4DGL-uLCD-SE pockettanks SDFileSystem mbed wave_player

Fork of ECE2035_FroggerGame_SUM1025 by Le Tran

Shiftbrite.h

Committer:
ece2035ta
Date:
2015-10-22
Revision:
3:8f68c00dd75a
Parent:
0:7fe3c940e4b5

File content as of revision 3:8f68c00dd75a:

#include "mbed.h"

//Setup a new class for a Shiftbrite RGB LED module
class Shiftbrite
{
public:
    Shiftbrite(PinName pin_e, PinName pin_l, PinName pin_do, PinName pin_di, PinName pin_clk);
    void write(int red, int green, int blue);

private:
//class sets up the pins
    DigitalOut _pin_e;
    DigitalOut _pin_l;
    SPI _spi;
};

Shiftbrite::Shiftbrite(PinName pin_e, PinName pin_l, PinName pin_do, PinName pin_di, PinName pin_clk)
    : _pin_e(pin_e), _pin_l(pin_l), _spi(pin_do, pin_di, pin_clk)
{
 // spi set up
    _pin_e=0;
    _pin_l=0;
    _spi.format(16,0);
    _spi.frequency(500000);
}

void Shiftbrite::write(int red, int green, int blue)
{
    unsigned int low_color=0;
    unsigned int high_color=0;
    high_color=(blue<<4)|((red&0x3C0)>>6);
    low_color=(((red&0x3F)<<10)|(green));
    _spi.write(high_color);
    _spi.write(low_color);
    _pin_l=1;
    _pin_e=0;
}