Light Show library for organic, calm, light display.

Dependencies:   BLE_API mbed nRF51822

Fork of mbed_blinky by Mbed

Committer:
nargetdev
Date:
Mon Feb 01 02:45:51 2016 +0000
Revision:
27:a55dde8334f3
Parent:
26:8bc9984c4600
light_show library

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nargetdev 25:d48f46d753fd 1 #include "utility.h"
nargetdev 25:d48f46d753fd 2 #include "macros.h"
nargetdev 25:d48f46d753fd 3
nargetdev 25:d48f46d753fd 4
nargetdev 25:d48f46d753fd 5 /** random seed for unique identification **/
nargetdev 26:8bc9984c4600 6 unsigned long seed = 2345;
nargetdev 25:d48f46d753fd 7
nargetdev 25:d48f46d753fd 8 unsigned int hash(unsigned int x)
nargetdev 25:d48f46d753fd 9 {
nargetdev 25:d48f46d753fd 10 x = ((x >> 16) ^ x) * 0x45d9f3b;
nargetdev 25:d48f46d753fd 11 x = ((x >> 16) ^ x) * 0x45d9f3b;
nargetdev 25:d48f46d753fd 12 x = ((x >> 16) ^ x);
nargetdev 25:d48f46d753fd 13 seed*=2;
nargetdev 25:d48f46d753fd 14 seed+=17;
nargetdev 25:d48f46d753fd 15 return x%100;
nargetdev 25:d48f46d753fd 16 }
nargetdev 25:d48f46d753fd 17
nargetdev 25:d48f46d753fd 18
nargetdev 25:d48f46d753fd 19 void identify(unsigned int m, Rgb& strip)
nargetdev 25:d48f46d753fd 20 {
nargetdev 25:d48f46d753fd 21 DEBUG("IDENTIFYING as: ");
nargetdev 25:d48f46d753fd 22 unsigned int hashable;
nargetdev 25:d48f46d753fd 23 float write_me;
nargetdev 25:d48f46d753fd 24
nargetdev 25:d48f46d753fd 25 int r, g, b;
nargetdev 25:d48f46d753fd 26
nargetdev 25:d48f46d753fd 27 hashable = hash(m + seed);
nargetdev 25:d48f46d753fd 28 write_me = hashable/100.0;
nargetdev 25:d48f46d753fd 29 r = hashable >= 50;
nargetdev 25:d48f46d753fd 30 strip.write(RED, r);
nargetdev 25:d48f46d753fd 31
nargetdev 25:d48f46d753fd 32 hashable = hash(m + seed);
nargetdev 25:d48f46d753fd 33 write_me = hashable/100.0;
nargetdev 25:d48f46d753fd 34 g = hashable >= 50;
nargetdev 25:d48f46d753fd 35 strip.write(GREEN, g);
nargetdev 25:d48f46d753fd 36
nargetdev 25:d48f46d753fd 37 hashable = hash(m + seed);
nargetdev 25:d48f46d753fd 38 write_me = hashable/100.0;
nargetdev 25:d48f46d753fd 39 b = hashable >= 50;
nargetdev 25:d48f46d753fd 40 strip.write(BLUE, b);
nargetdev 25:d48f46d753fd 41
nargetdev 25:d48f46d753fd 42 // char* STR;
nargetdev 25:d48f46d753fd 43 // sprintf(STR, "r, g, b: %f\t\r\n", write_me);
nargetdev 25:d48f46d753fd 44 // DEBUG(STR);
nargetdev 25:d48f46d753fd 45 DEBUG("%d%d%d\r\n",r,g,b);
nargetdev 25:d48f46d753fd 46 }