Sille Van Landschoot / RGB-fun

Dependents:   m3Dpi MQTT-Thermostat-example Final_project_Tran Final_project_Tran ... more

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?

UserRevisionLine numberNew 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 }