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.
Dependents: m3Dpi MQTT-Thermostat-example Final_project_Tran Final_project_Tran ... more
effects/HeartBeatEffect.cpp@3:edc6e64bfc65, 2015-10-21 (annotated)
- Committer:
- sillevl
- Date:
- Wed Oct 21 17:12:10 2015 +0000
- Revision:
- 3:edc6e64bfc65
- Parent:
- HeartBeatEffect.cpp@2:ed46f45e1d66
- Child:
- 4:a7a26506c62f
RGB fun!
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| sillevl | 2:ed46f45e1d66 | 1 | |
| sillevl | 2:ed46f45e1d66 | 2 | #include "HeartBeatEffect.h" |
| sillevl | 2:ed46f45e1d66 | 3 | |
| sillevl | 2:ed46f45e1d66 | 4 | HeartBeatEffect::HeartBeatEffect(RGB* led) : Effect(led){ |
| sillevl | 2:ed46f45e1d66 | 5 | updown = true; |
| sillevl | 2:ed46f45e1d66 | 6 | brightness = 0; |
| sillevl | 2:ed46f45e1d66 | 7 | } |
| sillevl | 2:ed46f45e1d66 | 8 | |
| sillevl | 2:ed46f45e1d66 | 9 | void HeartBeatEffect::run(){ |
| sillevl | 2:ed46f45e1d66 | 10 | if(updown){ |
| sillevl | 2:ed46f45e1d66 | 11 | brightness += 10; |
| sillevl | 2:ed46f45e1d66 | 12 | } else { |
| sillevl | 2:ed46f45e1d66 | 13 | brightness -= 20; |
| sillevl | 2:ed46f45e1d66 | 14 | } |
| sillevl | 2:ed46f45e1d66 | 15 | |
| sillevl | 2:ed46f45e1d66 | 16 | if(brightness > 255 || brightness < 0) changeDirection(); |
| sillevl | 2:ed46f45e1d66 | 17 | brightness = saturate(brightness); |
| sillevl | 2:ed46f45e1d66 | 18 | |
| sillevl | 2:ed46f45e1d66 | 19 | setLight(brightness); |
| sillevl | 2:ed46f45e1d66 | 20 | wait(0.02 * speed); |
| sillevl | 2:ed46f45e1d66 | 21 | } |
| sillevl | 2:ed46f45e1d66 | 22 | |
| sillevl | 2:ed46f45e1d66 | 23 | void HeartBeatEffect::setLight(int value){ |
| sillevl | 2:ed46f45e1d66 | 24 | |
| sillevl | 2:ed46f45e1d66 | 25 | led->setColor( value << 16); |
| sillevl | 2:ed46f45e1d66 | 26 | } |
| sillevl | 2:ed46f45e1d66 | 27 | |
| sillevl | 2:ed46f45e1d66 | 28 | void HeartBeatEffect::changeDirection(){ |
| sillevl | 2:ed46f45e1d66 | 29 | updown = !updown; |
| sillevl | 2:ed46f45e1d66 | 30 | } |
| sillevl | 2:ed46f45e1d66 | 31 | |
| sillevl | 2:ed46f45e1d66 | 32 | int HeartBeatEffect::saturate(int value){ |
| sillevl | 2:ed46f45e1d66 | 33 | if(value > 255) value = 255; |
| sillevl | 2:ed46f45e1d66 | 34 | if(value < 0) value = 0; |
| sillevl | 2:ed46f45e1d66 | 35 | return value; |
| sillevl | 2:ed46f45e1d66 | 36 | } |