myled

Dependencies:   mbed

main.cpp

Committer:
redplam
Date:
2014-04-08
Revision:
0:f134649523c1

File content as of revision 0:f134649523c1:

#include "mbed.h"
#include "led.h"
//#include "mbed.h"

PwmOut led_blue(PTA5);
PwmOut led_green(PTC8);
PwmOut led_red (PTC9);
//unsigned int led_period = 1000;
//unsigned int led_pulsewidth = 50;
//unsigned int led_step =10;
//unsigned int pwm_red_led(int brightness);
//unsigned int pwm_blue_led(int brightness);
//unsigned int pwm_green_led(int brightness);
unsigned int led_red_pulsewidth;
unsigned int led_green_pulsewidth;
unsigned int led_blue_pulsewidth;
unsigned int led_period =1000;
unsigned int led_pulsewidth = 0;
unsigned int led_step = 10;

unsigned int pwm_blue_led(int brightness )
{
    if (brightness==1) {
        led_blue_pulsewidth=led_blue_pulsewidth+led_step;
        led_blue.pulsewidth_us(led_blue_pulsewidth);
    };
    if (brightness==0) {
        led_blue_pulsewidth=led_blue_pulsewidth-led_step;
        led_blue.pulsewidth_us(led_blue_pulsewidth);
    };
    return led_blue_pulsewidth;
}
unsigned int pwm_green_led(int brightness)
{
    if (brightness==1) {
        led_green_pulsewidth=led_green_pulsewidth+led_step;
        led_green.pulsewidth_us(led_green_pulsewidth);
    }
    if (brightness==0) {
        led_green_pulsewidth=led_green_pulsewidth-led_step;
        led_green.pulsewidth_us(led_green_pulsewidth);
    }
    return led_green_pulsewidth;
}
unsigned int pwm_red_led(int brightness)
{
    if (brightness==1) {
        led_red_pulsewidth=led_red_pulsewidth+led_step;
        led_red.pulsewidth_us(led_red_pulsewidth);
    }
    if (brightness==0) {
        led_red_pulsewidth=led_red_pulsewidth-led_step;
        led_red.pulsewidth_us(led_red_pulsewidth);
    }
    return led_red_pulsewidth;
}
int main(void)
{
    while(1) {
        led_blue.period_us(led_period);
        led_blue_pulsewidth=led_pulsewidth;
        for (int i=1; i<=100; i++) {
            pwm_blue_led(1);
            wait (0.1);
        }
        for (int i=1; i<=100; i++) {
            pwm_blue_led(0);
            wait (0.1);
        }
        led_blue_pulsewidth=10;    // set to 0
        pwm_blue_led(0);           // set to 0

        led_red.period_us(led_period);
        led_red_pulsewidth=led_pulsewidth;
        for (int i=1; i<=100; i++) {
            pwm_red_led(1);
            wait (0.1);
        }
        for (int i=1; i<=100; i++) {
            pwm_red_led(0);
            wait (0.1);
        }
        led_red_pulsewidth=10;    // set to 0
        pwm_red_led(0);           // set to 0
        
        led_green.period_us(led_period);
        led_green_pulsewidth=led_pulsewidth;
        for (int i=1; i<=100; i++) {
            pwm_green_led(1);
            wait (0.1);
        }
        for (int i=1; i<=100; i++) {
            pwm_green_led(0);
            wait (0.1);
        }
        led_green_pulsewidth=10;    // set to 0
        pwm_green_led(0);           // set to 0
    }

}