demo that cycles the led strip with a fade and with no fade

Dependencies:   mbed

Committer:
MattShilling
Date:
Fri May 12 20:58:31 2017 +0000
Revision:
0:b33f0064af58
publish strip_master_demo;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MattShilling 0:b33f0064af58 1 #include "mbed.h"
MattShilling 0:b33f0064af58 2
MattShilling 0:b33f0064af58 3 Serial pc(USBTX, USBRX); // tx, rx
MattShilling 0:b33f0064af58 4
MattShilling 0:b33f0064af58 5 PwmOut blue(D2);
MattShilling 0:b33f0064af58 6 PwmOut green(D3);
MattShilling 0:b33f0064af58 7 PwmOut red(D4);
MattShilling 0:b33f0064af58 8
MattShilling 0:b33f0064af58 9 #define RED 0
MattShilling 0:b33f0064af58 10 #define GREEN 2
MattShilling 0:b33f0064af58 11 #define BLUE 1
MattShilling 0:b33f0064af58 12
MattShilling 0:b33f0064af58 13 volatile bool fade = false;
MattShilling 0:b33f0064af58 14
MattShilling 0:b33f0064af58 15 volatile float amnt = 1;
MattShilling 0:b33f0064af58 16
MattShilling 0:b33f0064af58 17 void handle_input(){
MattShilling 0:b33f0064af58 18
MattShilling 0:b33f0064af58 19 //if(pc.readable()){
MattShilling 0:b33f0064af58 20 char input = pc.getc();
MattShilling 0:b33f0064af58 21
MattShilling 0:b33f0064af58 22 // on/off
MattShilling 0:b33f0064af58 23 if(input == '1'){
MattShilling 0:b33f0064af58 24 pc.printf("On/Off 1 Sec Cycle!\n");
MattShilling 0:b33f0064af58 25 fade = false;
MattShilling 0:b33f0064af58 26 }
MattShilling 0:b33f0064af58 27
MattShilling 0:b33f0064af58 28 // fade
MattShilling 0:b33f0064af58 29 else if(input == '2'){
MattShilling 0:b33f0064af58 30 pc.printf("Fade On/Off 1 sec cycle!\n");
MattShilling 0:b33f0064af58 31 fade = true;
MattShilling 0:b33f0064af58 32 }
MattShilling 0:b33f0064af58 33
MattShilling 0:b33f0064af58 34
MattShilling 0:b33f0064af58 35 }
MattShilling 0:b33f0064af58 36
MattShilling 0:b33f0064af58 37 int main() {
MattShilling 0:b33f0064af58 38
MattShilling 0:b33f0064af58 39 // set the
MattShilling 0:b33f0064af58 40 blue.period_ms(10);
MattShilling 0:b33f0064af58 41 green.period_ms(10);
MattShilling 0:b33f0064af58 42 red.period_ms(10);
MattShilling 0:b33f0064af58 43
MattShilling 0:b33f0064af58 44 while(1){
MattShilling 0:b33f0064af58 45
MattShilling 0:b33f0064af58 46
MattShilling 0:b33f0064af58 47 if(pc.readable()){
MattShilling 0:b33f0064af58 48 handle_input();
MattShilling 0:b33f0064af58 49
MattShilling 0:b33f0064af58 50 red = 1;
MattShilling 0:b33f0064af58 51 green.pulsewidth_us((int)(amnt*100));
MattShilling 0:b33f0064af58 52 blue = 1;
MattShilling 0:b33f0064af58 53
MattShilling 0:b33f0064af58 54 }
MattShilling 0:b33f0064af58 55
MattShilling 0:b33f0064af58 56 }
MattShilling 0:b33f0064af58 57 }