Simple driver for blinkm module

Dependencies:   mbed

Committer:
chris215
Date:
Tue Sep 21 06:54:02 2010 +0000
Revision:
0:364e81107e71

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
chris215 0:364e81107e71 1 #include "mbed.h"
chris215 0:364e81107e71 2
chris215 0:364e81107e71 3 //prototypes
chris215 0:364e81107e71 4 void FadeToColor(char r,char g, char b);
chris215 0:364e81107e71 5 void FastColorChg(char r,char g, char b);
chris215 0:364e81107e71 6 void PlayScript(char s);
chris215 0:364e81107e71 7 void BlinkInit(void);
chris215 0:364e81107e71 8 //DEFINES
chris215 0:364e81107e71 9 #define BLINKADR 0x12
chris215 0:364e81107e71 10
chris215 0:364e81107e71 11 I2C blink(p9,p10);
chris215 0:364e81107e71 12
chris215 0:364e81107e71 13 int main() {
chris215 0:364e81107e71 14 BlinkInit();
chris215 0:364e81107e71 15 FadeToColor(0x00,0x00,0x00);
chris215 0:364e81107e71 16 wait(2);
chris215 0:364e81107e71 17 FadeToColor(0xff,0xff,0xff);
chris215 0:364e81107e71 18 wait(2);
chris215 0:364e81107e71 19 while(1) {
chris215 0:364e81107e71 20 PlayScript(12); //virtual candle
chris215 0:364e81107e71 21 wait(60); // 10 sec script play
chris215 0:364e81107e71 22 PlayScript(13); //water reflexion
chris215 0:364e81107e71 23 wait(60); // 10 sec script play
chris215 0:364e81107e71 24 PlayScript(11); //moonlight
chris215 0:364e81107e71 25 wait(60); // 10 sec script play
chris215 0:364e81107e71 26 PlayScript(16); //thunderstorms
chris215 0:364e81107e71 27 wait(60); // 10 sec script play
chris215 0:364e81107e71 28 }
chris215 0:364e81107e71 29 }
chris215 0:364e81107e71 30 void BlinkInit(void)
chris215 0:364e81107e71 31 {
chris215 0:364e81107e71 32 char data[1] = {'o'};
chris215 0:364e81107e71 33 blink.frequency(400000);
chris215 0:364e81107e71 34 blink.write(0x00, data, 1); // will stop it at whatever address
chris215 0:364e81107e71 35 }
chris215 0:364e81107e71 36 void FadeToColor(char r,char g, char b)
chris215 0:364e81107e71 37 {
chris215 0:364e81107e71 38 char data[4] = {'c',r,g,b};
chris215 0:364e81107e71 39 blink.write(BLINKADR, data, 4);
chris215 0:364e81107e71 40 }
chris215 0:364e81107e71 41 void FastColorChg(char r,char g, char b)
chris215 0:364e81107e71 42 {
chris215 0:364e81107e71 43 char data[4] = {'n',r,g,b};
chris215 0:364e81107e71 44 blink.write(BLINKADR, data, 4);
chris215 0:364e81107e71 45 }
chris215 0:364e81107e71 46 void PlayScript(char s)
chris215 0:364e81107e71 47 {
chris215 0:364e81107e71 48 FadeToColor(0x00,0x00,0x00); // fade to black
chris215 0:364e81107e71 49 wait(0.25); //100 ms to make sure fade is complete
chris215 0:364e81107e71 50 if(s < 19) //only 19 scripts onboard
chris215 0:364e81107e71 51 {
chris215 0:364e81107e71 52 char data[4] = {'p',s,0,0}; //play script from start indefinetly
chris215 0:364e81107e71 53 blink.write(BLINKADR, data, 4);
chris215 0:364e81107e71 54 }
chris215 0:364e81107e71 55 }
chris215 0:364e81107e71 56