Light Show library for organic, calm, light display.

Dependencies:   BLE_API mbed nRF51822

Fork of mbed_blinky by Mbed

Committer:
nargetdev
Date:
Sat Jan 30 20:07:55 2016 +0000
Revision:
24:52319c0a14b8
Parent:
23:4bb74b53e112
Child:
25:d48f46d753fd
main test harness

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nargetdev 23:4bb74b53e112 1 #include "rgb_led.h"
nargetdev 23:4bb74b53e112 2
nargetdev 24:52319c0a14b8 3 Rgb::Rgb(PinName r, PinName g, PinName b, Serial* pc):
nargetdev 24:52319c0a14b8 4 red(r), green(g), blue(b), pc(pc) {}
nargetdev 24:52319c0a14b8 5
nargetdev 24:52319c0a14b8 6 void Rgb::init()
nargetdev 24:52319c0a14b8 7 {
nargetdev 24:52319c0a14b8 8 red.period(0.01f);
nargetdev 24:52319c0a14b8 9 green.period(0.01f);
nargetdev 24:52319c0a14b8 10 blue.period(0.01f);
nargetdev 24:52319c0a14b8 11
nargetdev 24:52319c0a14b8 12
nargetdev 24:52319c0a14b8 13 // Set RTC time to Wed, 28 Oct 2009 11:35:37
nargetdev 24:52319c0a14b8 14 set_time(1256729737);
nargetdev 24:52319c0a14b8 15 t.start();
nargetdev 24:52319c0a14b8 16
nargetdev 24:52319c0a14b8 17 }
nargetdev 24:52319c0a14b8 18
nargetdev 24:52319c0a14b8 19 void Rgb::write(int channel, float intensity)
nargetdev 24:52319c0a14b8 20 {
nargetdev 24:52319c0a14b8 21 switch (channel) {
nargetdev 24:52319c0a14b8 22 case RED:
nargetdev 24:52319c0a14b8 23 red.write(intensity);
nargetdev 24:52319c0a14b8 24 break;
nargetdev 24:52319c0a14b8 25 case GREEN:
nargetdev 24:52319c0a14b8 26 green.write(intensity);
nargetdev 24:52319c0a14b8 27 break;
nargetdev 24:52319c0a14b8 28 case BLUE:
nargetdev 24:52319c0a14b8 29 blue.write(intensity);
nargetdev 24:52319c0a14b8 30 break;
nargetdev 24:52319c0a14b8 31 }
nargetdev 24:52319c0a14b8 32 }
nargetdev 24:52319c0a14b8 33
nargetdev 23:4bb74b53e112 34
nargetdev 23:4bb74b53e112 35
nargetdev 23:4bb74b53e112 36
nargetdev 23:4bb74b53e112 37
nargetdev 23:4bb74b53e112 38 void Rgb::write_rgb ()
nargetdev 23:4bb74b53e112 39 {
nargetdev 23:4bb74b53e112 40 red.write(rgb_c[0]/2.0);
nargetdev 23:4bb74b53e112 41 green.write(rgb_c[1]/2.0);
nargetdev 23:4bb74b53e112 42 blue.write(rgb_c[2]/2.0);
nargetdev 23:4bb74b53e112 43 }
nargetdev 23:4bb74b53e112 44
nargetdev 23:4bb74b53e112 45 //public:
nargetdev 23:4bb74b53e112 46
nargetdev 23:4bb74b53e112 47
nargetdev 23:4bb74b53e112 48
nargetdev 24:52319c0a14b8 49 void Rgb::quiet()
nargetdev 24:52319c0a14b8 50 {
nargetdev 24:52319c0a14b8 51 red.write(0);
nargetdev 24:52319c0a14b8 52 green.write(0);
nargetdev 24:52319c0a14b8 53 blue.write(0);
nargetdev 24:52319c0a14b8 54 printf("zero_out()\r\n");
nargetdev 24:52319c0a14b8 55 }
nargetdev 23:4bb74b53e112 56
nargetdev 24:52319c0a14b8 57 void Rgb::channel_check()
nargetdev 23:4bb74b53e112 58 {
nargetdev 23:4bb74b53e112 59
nargetdev 23:4bb74b53e112 60 red.write(1.0f);
nargetdev 23:4bb74b53e112 61 wait(.5);
nargetdev 23:4bb74b53e112 62 red.write(0.0f);
nargetdev 23:4bb74b53e112 63
nargetdev 23:4bb74b53e112 64 green.write(1.0f);
nargetdev 23:4bb74b53e112 65 wait(.5);
nargetdev 23:4bb74b53e112 66 green.write(0.0f);
nargetdev 23:4bb74b53e112 67
nargetdev 23:4bb74b53e112 68 blue.write(1.0f);
nargetdev 23:4bb74b53e112 69 wait(.5);
nargetdev 23:4bb74b53e112 70 blue.write(0.0f);
nargetdev 23:4bb74b53e112 71 }