Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: BLE_API mbed nRF51822
Fork of mbed_blinky by
utility.cpp@26:8bc9984c4600, 2016-02-01 (annotated)
- Committer:
- nargetdev
- Date:
- Mon Feb 01 01:43:59 2016 +0000
- Revision:
- 26:8bc9984c4600
- Parent:
- 25:d48f46d753fd
commented and sane
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 | } |
