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
Child:
25:d48f46d753fd
main test harness

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nargetdev 24:52319c0a14b8 1 #include "light_show.h"
nargetdev 24:52319c0a14b8 2
nargetdev 24:52319c0a14b8 3 void Light_show::drive ()
nargetdev 24:52319c0a14b8 4 {
nargetdev 24:52319c0a14b8 5 // printf("Updating RGB values...\r\n");
nargetdev 24:52319c0a14b8 6 for (i=0; i<3; i++) {
nargetdev 24:52319c0a14b8 7 if (!(rgb & (0x1 << i) )) {
nargetdev 24:52319c0a14b8 8 if ( in > WAIT[i]) {
nargetdev 24:52319c0a14b8 9 // printf("%d, %d, result: %d\r\n", rgb, (0x1 << i), (!(rgb & (0x1 << i)) ) );
nargetdev 24:52319c0a14b8 10 rgb_c[i] = -cos((in - WAIT[i])*SCALE[i]) + 1;
nargetdev 24:52319c0a14b8 11 } else {
nargetdev 24:52319c0a14b8 12 rgb_c[i] = 0.0;
nargetdev 24:52319c0a14b8 13 }
nargetdev 24:52319c0a14b8 14 } else
nargetdev 24:52319c0a14b8 15 rgb_c[i] = 0.0;
nargetdev 24:52319c0a14b8 16 pc->printf("%f\t",rgb_c[i]);
nargetdev 24:52319c0a14b8 17 }
nargetdev 24:52319c0a14b8 18 pc->printf("\n\r");
nargetdev 24:52319c0a14b8 19 // exit(0);
nargetdev 24:52319c0a14b8 20 }
nargetdev 24:52319c0a14b8 21
nargetdev 24:52319c0a14b8 22 void Light_show::randomize_params()
nargetdev 24:52319c0a14b8 23 {
nargetdev 24:52319c0a14b8 24 float rand_seed = t.read();
nargetdev 24:52319c0a14b8 25 pc->printf("%f\n\r", rand_seed);
nargetdev 24:52319c0a14b8 26 int rand_int = t.read() * 7919;
nargetdev 24:52319c0a14b8 27
nargetdev 24:52319c0a14b8 28 time_t seconds = time(NULL);
nargetdev 24:52319c0a14b8 29 pc->printf("Time as seconds since January 1, 1970 = %d\n\r", seconds);
nargetdev 24:52319c0a14b8 30
nargetdev 24:52319c0a14b8 31 srand(rand_int);
nargetdev 24:52319c0a14b8 32 pc->printf("A random %d\r\n", rand() );
nargetdev 24:52319c0a14b8 33
nargetdev 24:52319c0a14b8 34 // generate random values in 0.0 - 1.0
nargetdev 24:52319c0a14b8 35 uint8_t blah;
nargetdev 24:52319c0a14b8 36 for (int j = 0; j < 3; j++) {
nargetdev 24:52319c0a14b8 37 srand(rand_int+j);
nargetdev 24:52319c0a14b8 38 blah = rand();
nargetdev 24:52319c0a14b8 39 SCALE[j] = (float) blah;
nargetdev 24:52319c0a14b8 40 SCALE[j] /= (float) 0xff;
nargetdev 24:52319c0a14b8 41 SCALE[j] = SCALE[j]*HPI + 1;
nargetdev 24:52319c0a14b8 42 pc->printf("scale %d, %f\n\r", i, SCALE[i]);
nargetdev 24:52319c0a14b8 43 srand(blah+j % 17 + 7);
nargetdev 24:52319c0a14b8 44 blah = rand();
nargetdev 24:52319c0a14b8 45 WAIT[j] = (float) blah;
nargetdev 24:52319c0a14b8 46 WAIT[j] /= (float) 0xff;
nargetdev 24:52319c0a14b8 47 WAIT[j] *= HPI;
nargetdev 24:52319c0a14b8 48 pc->printf("wait %d, %f\n\r", i, WAIT[i]);
nargetdev 24:52319c0a14b8 49 }
nargetdev 24:52319c0a14b8 50 rgb = 0x0;
nargetdev 24:52319c0a14b8 51 printf("Params Initialized\r\n");
nargetdev 24:52319c0a14b8 52 }