Alex Allen / flash

flash.cpp

Committer:
AlexAllen
Date:
2012-12-08
Revision:
3:86859efa4841
Parent:
2:dfc82b5b4124

File content as of revision 3:86859efa4841:

/* Copyright (c) 2011 Alex Allen, MIT License
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software 
 * and associated documentation files (the "Software"), to deal in the Software without restriction, 
 * including without limitation the rights to use, copy, modify, merge, publish, distribute, 
 * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is 
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all copies or 
 * substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING 
 * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 
 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */
#include "flash.h"
#include "mbed.h"

DigitalOut led1(LED1);
DigitalOut led2(LED2);
DigitalOut led3(LED3);
DigitalOut led4(LED4);

void lightup()
{
    led1 = 1;
    wait(0.1);
    led1 = 0;
    
    led2 = 1;
    wait(0.1);
    led2 = 0; 
       
    led3 = 1;
    wait(0.1);
    led3 = 0;
    
    led4 = 1;
    wait(0.1);
    led4 = 0;
    
    led3 = 1;
    wait(0.1);
    led3 = 0;
    
    led2 = 1;
    wait(0.1);
    led2 = 0;
    
    led1 = 1;
    wait(0.1);
    led1 = 0;
    wait(0.1);    
}

void timer()
{
        led1 = 1;
        led2 = 1;
        led3 = 1;
        led4 = 1;
        
        wait(1);
        led4 = 0;
        wait(1);
        led3 = 0;       
        wait(1);
        led2 = 0;
        wait(1);
        led1 = 0;
        wait(1);
}

void flash(int times, float gap)
{
    for(int i=0; i<times; i++)
    {
        led1 = 1;
        led2 = 1;
        led3 = 1;
        led4 = 1;
        
        wait(gap);
        
        led1 = 0;
        led2 = 0;
        led3 = 0;
        led4 = 0;
        
        wait(gap);
    }
}

void flash1(float gap)
{
    led1 = 1;
    wait(gap);
    led1 = 0;
    wait(gap);   
}

void flash2(float gap)
{
    led2 = 1;
    wait(gap);
    led2 = 0;
    wait(gap);
}

void errormsg1(float gap)
{
    while(1)
    {
        led2 = led3 = 0;
        led1 = led4 = 1;
        wait(gap);
        led1 = led4 = 0;
        led2 = led3 = 1;
        wait(gap);
    }
}

void errormsg2(float gap)
{
    while(1)
    {
        led4 = led3 = 0;
        led1 = led2 = 1;
        wait(gap);
        led1 = led2 = 0;
        led4 = led3 = 1;
        wait(gap);
    }
}

void signal(float gap)
{
    led1 = 1;
    wait(gap);
    led2 = 1;
    wait(gap);
    led3 = 1;
    wait(gap);
    led4 = 1;
    wait(2.0);
    led1 = led2 = led3 = led4 = 0;
}