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