Embedded software Assessment 2

Dependencies:   MCP23017 SDFileSystem USBDevice WattBob_TextLCD mbed

Committer:
muaiyd
Date:
Sat Feb 15 18:37:26 2014 +0000
Revision:
4:4bb228d1f6c2
Parent:
1:9a3cfeca7ecd
Child:
5:99cf489dcae4
Child:
7:d9f86e1b8185
Finish timing

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 0:86bba6bf9b6f 21 void Write_LCD(const char STR[],int8_t PY,int8_t PX,bool clr){
muaiyd 0:86bba6bf9b6f 22 if(clr)
muaiyd 0:86bba6bf9b6f 23 LCD.cls();
muaiyd 0:86bba6bf9b6f 24 LCD.locate(PY,PX);
muaiyd 0:86bba6bf9b6f 25 LCD.printf(STR);
muaiyd 0:86bba6bf9b6f 26 }
muaiyd 0:86bba6bf9b6f 27
muaiyd 0:86bba6bf9b6f 28 void Init_LCD(){
muaiyd 0:86bba6bf9b6f 29 Port.write_bit(1,BL_BIT);
muaiyd 0:86bba6bf9b6f 30 Write_LCD("Muaiyd",0,4,1);
muaiyd 0:86bba6bf9b6f 31 Write_LCD("Heriot-Watt Uni.",1,0,0);
muaiyd 4:4bb228d1f6c2 32 }
muaiyd 4:4bb228d1f6c2 33
muaiyd 4:4bb228d1f6c2 34 void job1(){
muaiyd 4:4bb228d1f6c2 35 Write_LCD("2 S",0,0,1);
muaiyd 4:4bb228d1f6c2 36 led1=!led1;
muaiyd 4:4bb228d1f6c2 37 }
muaiyd 4:4bb228d1f6c2 38
muaiyd 4:4bb228d1f6c2 39 void job2(){
muaiyd 4:4bb228d1f6c2 40 Write_LCD("4 S",0,5,0);
muaiyd 4:4bb228d1f6c2 41 led2=!led2;
muaiyd 4:4bb228d1f6c2 42 }
muaiyd 4:4bb228d1f6c2 43
muaiyd 4:4bb228d1f6c2 44 void job3(){
muaiyd 4:4bb228d1f6c2 45 Write_LCD("6 S",0,9,0);
muaiyd 4:4bb228d1f6c2 46 led3=!led3;
muaiyd 4:4bb228d1f6c2 47 }
muaiyd 4:4bb228d1f6c2 48
muaiyd 4:4bb228d1f6c2 49 void job4(){
muaiyd 4:4bb228d1f6c2 50 Write_LCD("8 S",0,12,0);
muaiyd 4:4bb228d1f6c2 51 led4=!led4;
muaiyd 4:4bb228d1f6c2 52 }
muaiyd 4:4bb228d1f6c2 53
muaiyd 4:4bb228d1f6c2 54 void job5(){
muaiyd 4:4bb228d1f6c2 55 Write_LCD("10 S",1,0,0);
muaiyd 4:4bb228d1f6c2 56 }
muaiyd 4:4bb228d1f6c2 57
muaiyd 4:4bb228d1f6c2 58 void job6(){
muaiyd 4:4bb228d1f6c2 59 Write_LCD("12 S",1,5,0);
muaiyd 4:4bb228d1f6c2 60 }
muaiyd 4:4bb228d1f6c2 61
muaiyd 4:4bb228d1f6c2 62 void job7(){
muaiyd 4:4bb228d1f6c2 63 Write_LCD("22 S",1,10,0);
muaiyd 0:86bba6bf9b6f 64 }