Light Show library for organic, calm, light display.
Dependencies: BLE_API mbed nRF51822
Fork of mbed_blinky by
light_show.cpp@24:52319c0a14b8, 2016-01-30 (annotated)
- 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?
User | Revision | Line number | New 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 | } |