Embedded software Assessment 2

Dependencies:   MCP23017 SDFileSystem USBDevice WattBob_TextLCD mbed

Function.h

Committer:
muaiyd
Date:
2014-02-15
Revision:
5:99cf489dcae4
Parent:
4:4bb228d1f6c2
Child:
6:7c31aabc2533

File content as of revision 5:99cf489dcae4:

#include "MCP23017.h"
#include "WattBob_TextLCD.h"
#include "mbed.h"

MCP23017 Port(p9,p10,0x40) ; // 16-bit parallel I/O object 
WattBob_TextLCD LCD(&Port); // pointer to 2*16 chacater LCD object

Timer TimeA;
Ticker CallFunction1;
Ticker CallFunction2;
Ticker CallFunction3;
Ticker CallFunction4;
Ticker CallFunction5;
Ticker CallFunction6;
Ticker CallFunction7;

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

InterruptIn FrequencyIn(p5);
void Write_LCD(const char STR[],int8_t PY,int8_t PX,bool clr){
    if(clr)
        LCD.cls();
    LCD.locate(PY,PX);
    LCD.printf(STR);
}

void Init_LCD(){
    Port.write_bit(1,BL_BIT); 
    Write_LCD("Muaiyd",0,4,1);
    Write_LCD("Heriot-Watt Uni.",1,0,0);
}

void job1(){
    Write_LCD("2 S",0,0,1); 
    led1=!led1;
}

void job2(){
    Write_LCD("4 S",0,5,0);  
    led2=!led2;  
}

void job3(){
    Write_LCD("6 S",0,9,0); 
    led3=!led3;  
}

void job4(){
    Write_LCD("8 S",0,12,0); 
    led4=!led4;   
}

void job5(){
    Write_LCD("10 S",1,0,0);    
}

void job6(){
    Write_LCD("12 S",1,5,0);    
}

void job7(){
    Write_LCD("22 S",1,10,0);    
}