Embedded software Assessment 2

Dependencies:   MCP23017 SDFileSystem USBDevice WattBob_TextLCD mbed

Committer:
muaiyd
Date:
Sat Feb 15 19:12:16 2014 +0000
Revision:
5:99cf489dcae4
Parent:
4:4bb228d1f6c2
Child:
6:7c31aabc2533
interrupt test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
muaiyd 0:86bba6bf9b6f 1 #include "MCP23017.h"
muaiyd 0:86bba6bf9b6f 2 #include "WattBob_TextLCD.h"
muaiyd 0:86bba6bf9b6f 3 #include "mbed.h"
muaiyd 0:86bba6bf9b6f 4
muaiyd 0:86bba6bf9b6f 5 MCP23017 Port(p9,p10,0x40) ; // 16-bit parallel I/O object
muaiyd 0:86bba6bf9b6f 6 WattBob_TextLCD LCD(&Port); // pointer to 2*16 chacater LCD object
muaiyd 0:86bba6bf9b6f 7
muaiyd 1:9a3cfeca7ecd 8 Timer TimeA;
muaiyd 4:4bb228d1f6c2 9 Ticker CallFunction1;
muaiyd 4:4bb228d1f6c2 10 Ticker CallFunction2;
muaiyd 4:4bb228d1f6c2 11 Ticker CallFunction3;
muaiyd 4:4bb228d1f6c2 12 Ticker CallFunction4;
muaiyd 4:4bb228d1f6c2 13 Ticker CallFunction5;
muaiyd 4:4bb228d1f6c2 14 Ticker CallFunction6;
muaiyd 4:4bb228d1f6c2 15 Ticker CallFunction7;
muaiyd 1:9a3cfeca7ecd 16
muaiyd 4:4bb228d1f6c2 17 DigitalOut led1(LED1);
muaiyd 4:4bb228d1f6c2 18 DigitalOut led2(LED2);
muaiyd 4:4bb228d1f6c2 19 DigitalOut led3(LED3);
muaiyd 4:4bb228d1f6c2 20 DigitalOut led4(LED4);
muaiyd 5:99cf489dcae4 21
muaiyd 5:99cf489dcae4 22 InterruptIn FrequencyIn(p5);
muaiyd 0:86bba6bf9b6f 23 void Write_LCD(const char STR[],int8_t PY,int8_t PX,bool clr){
muaiyd 0:86bba6bf9b6f 24 if(clr)
muaiyd 0:86bba6bf9b6f 25 LCD.cls();
muaiyd 0:86bba6bf9b6f 26 LCD.locate(PY,PX);
muaiyd 0:86bba6bf9b6f 27 LCD.printf(STR);
muaiyd 0:86bba6bf9b6f 28 }
muaiyd 0:86bba6bf9b6f 29
muaiyd 0:86bba6bf9b6f 30 void Init_LCD(){
muaiyd 0:86bba6bf9b6f 31 Port.write_bit(1,BL_BIT);
muaiyd 0:86bba6bf9b6f 32 Write_LCD("Muaiyd",0,4,1);
muaiyd 0:86bba6bf9b6f 33 Write_LCD("Heriot-Watt Uni.",1,0,0);
muaiyd 4:4bb228d1f6c2 34 }
muaiyd 4:4bb228d1f6c2 35
muaiyd 4:4bb228d1f6c2 36 void job1(){
muaiyd 4:4bb228d1f6c2 37 Write_LCD("2 S",0,0,1);
muaiyd 4:4bb228d1f6c2 38 led1=!led1;
muaiyd 4:4bb228d1f6c2 39 }
muaiyd 4:4bb228d1f6c2 40
muaiyd 4:4bb228d1f6c2 41 void job2(){
muaiyd 4:4bb228d1f6c2 42 Write_LCD("4 S",0,5,0);
muaiyd 4:4bb228d1f6c2 43 led2=!led2;
muaiyd 4:4bb228d1f6c2 44 }
muaiyd 4:4bb228d1f6c2 45
muaiyd 4:4bb228d1f6c2 46 void job3(){
muaiyd 4:4bb228d1f6c2 47 Write_LCD("6 S",0,9,0);
muaiyd 4:4bb228d1f6c2 48 led3=!led3;
muaiyd 4:4bb228d1f6c2 49 }
muaiyd 4:4bb228d1f6c2 50
muaiyd 4:4bb228d1f6c2 51 void job4(){
muaiyd 4:4bb228d1f6c2 52 Write_LCD("8 S",0,12,0);
muaiyd 4:4bb228d1f6c2 53 led4=!led4;
muaiyd 4:4bb228d1f6c2 54 }
muaiyd 4:4bb228d1f6c2 55
muaiyd 4:4bb228d1f6c2 56 void job5(){
muaiyd 4:4bb228d1f6c2 57 Write_LCD("10 S",1,0,0);
muaiyd 4:4bb228d1f6c2 58 }
muaiyd 4:4bb228d1f6c2 59
muaiyd 4:4bb228d1f6c2 60 void job6(){
muaiyd 4:4bb228d1f6c2 61 Write_LCD("12 S",1,5,0);
muaiyd 4:4bb228d1f6c2 62 }
muaiyd 4:4bb228d1f6c2 63
muaiyd 4:4bb228d1f6c2 64 void job7(){
muaiyd 4:4bb228d1f6c2 65 Write_LCD("22 S",1,10,0);
muaiyd 0:86bba6bf9b6f 66 }