Loading Makefile +5 −0 Original line number Diff line number Diff line Loading @@ -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 Loading include/driver/mmsimple.h 0 → 100644 +34 −0 Original line number Diff line number Diff line #ifndef MMSIMPLE_H #define MMSIMPLE_H class MicroMoodySimple { private: MicroMoodySimple(const MicroMoodySimple ©); 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 src/driver/mmsimple.cc 0 → 100644 +32 −0 Original line number Diff line number Diff line #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); Loading
Makefile +5 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
include/driver/mmsimple.h 0 → 100644 +34 −0 Original line number Diff line number Diff line #ifndef MMSIMPLE_H #define MMSIMPLE_H class MicroMoodySimple { private: MicroMoodySimple(const MicroMoodySimple ©); 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
src/driver/mmsimple.cc 0 → 100644 +32 −0 Original line number Diff line number Diff line #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);