Skip to content
Snippets Groups Projects
Commit 4436c14a authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

add mmsimple driver

parent 0d84f5e5
No related branches found
No related tags found
No related merge requests found
......@@ -14,6 +14,11 @@ ifneq ($(findstring lm75,${drivers}), )
COMMON_FLAGS += -DDRIVER_LM75
endif
ifneq ($(findstring mmsimple,${drivers}), )
TARGETS += src/driver/mmsimple.cc
COMMON_FLAGS += -DDRIVER_MMSIMPLE
endif
ifneq ($(findstring sharp96,${drivers}), )
TARGETS += src/driver/sharp96.cc
COMMON_FLAGS += -DDRIVER_SHARP6
......
#ifndef MMSIMPLE_H
#define MMSIMPLE_H
class MicroMoodySimple {
private:
MicroMoodySimple(const MicroMoodySimple &copy);
unsigned char const address;
unsigned char txbuf[3];
void sendCmd(unsigned char byte);
public:
MicroMoodySimple(unsigned char const addr) : address(addr) {}
void off();
void red();
void redOn();
void redOff();
void green();
void greenOn();
void greenOff();
void blue();
void blueOn();
void blueOff();
void toggleRed();
void toggleGreen();
void toggleBlue();
void setBrightness(unsigned char red, unsigned char green);
};
extern MicroMoodySimple moody;
#endif
#include "driver/mmsimple.h"
#include "driver/i2c.h"
void MicroMoodySimple::sendCmd(unsigned char byte)
{
txbuf[0] = byte;
i2c.xmit(address, 3, txbuf, 0, txbuf);
}
void MicroMoodySimple::setBrightness(unsigned char red, unsigned char green)
{
txbuf[0] = 13;
txbuf[1] = green;
txbuf[2] = red;
i2c.xmit(address, 3, txbuf, 0, txbuf);
}
void MicroMoodySimple::off() { sendCmd(0); }
void MicroMoodySimple::redOff() { sendCmd(1); }
void MicroMoodySimple::greenOff() { sendCmd(2); }
void MicroMoodySimple::blueOff() { sendCmd(3); }
void MicroMoodySimple::redOn() { sendCmd(4); }
void MicroMoodySimple::greenOn() { sendCmd(5); }
void MicroMoodySimple::blueOn() { sendCmd(6); }
void MicroMoodySimple::toggleRed() { sendCmd(7); }
void MicroMoodySimple::toggleGreen() { sendCmd(8); }
void MicroMoodySimple::toggleBlue() { sendCmd(9); }
void MicroMoodySimple::red() { sendCmd(10); }
void MicroMoodySimple::green() { sendCmd(11); }
void MicroMoodySimple::blue() { sendCmd(12); }
MicroMoodySimple moody(0x11);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment