IOT Cooler that has an integrated MP3 Player attached

Dependencies:   4DGL-uLCD-SE PinDetect SDFileSystem mbed wave_player

Committer:
anevil14
Date:
Fri May 01 16:52:11 2015 +0000
Revision:
0:16db2db8886d
IOT Cooler Code

Who changed what in which revision?

UserRevisionLine numberNew contents of line
anevil14 0:16db2db8886d 1 #include "WavDis.h"
anevil14 0:16db2db8886d 2
anevil14 0:16db2db8886d 3 void WavDis::Update()
anevil14 0:16db2db8886d 4 {
anevil14 0:16db2db8886d 5 UpdateLEDs();
anevil14 0:16db2db8886d 6
anevil14 0:16db2db8886d 7 string s = "";
anevil14 0:16db2db8886d 8
anevil14 0:16db2db8886d 9 switch (currentState)
anevil14 0:16db2db8886d 10 {
anevil14 0:16db2db8886d 11 case stop:
anevil14 0:16db2db8886d 12 s = currentSong.substr(0,(currentSong.size() - 4));
anevil14 0:16db2db8886d 13 //FirstLine
anevil14 0:16db2db8886d 14 if (screen_lock == false) {
anevil14 0:16db2db8886d 15 screen_lock = true;
anevil14 0:16db2db8886d 16 lcd.text_width(1.5); //4X size text
anevil14 0:16db2db8886d 17 lcd.text_height(1.5);
anevil14 0:16db2db8886d 18 lcd.color(GREEN);
anevil14 0:16db2db8886d 19 lcd.locate(0,1);
anevil14 0:16db2db8886d 20 lcd.printf("%s ", s.c_str());
anevil14 0:16db2db8886d 21 //SecondLine
anevil14 0:16db2db8886d 22 lcd.locate(0,2);
anevil14 0:16db2db8886d 23 lcd.printf("Stopped ");
anevil14 0:16db2db8886d 24 screen_lock = false;
anevil14 0:16db2db8886d 25 }
anevil14 0:16db2db8886d 26 break;
anevil14 0:16db2db8886d 27 case play_state:
anevil14 0:16db2db8886d 28 s = currentSong.substr(0,(currentSong.size() - 4));
anevil14 0:16db2db8886d 29 //FirstLine
anevil14 0:16db2db8886d 30 if (screen_lock == false) {
anevil14 0:16db2db8886d 31 screen_lock = true;
anevil14 0:16db2db8886d 32 lcd.text_width(1.5); //4X size text
anevil14 0:16db2db8886d 33 lcd.text_height(1.5);
anevil14 0:16db2db8886d 34 lcd.color(GREEN);
anevil14 0:16db2db8886d 35 lcd.locate(0,1);
anevil14 0:16db2db8886d 36 lcd.printf("%s ", s.c_str());
anevil14 0:16db2db8886d 37 //SecondLine
anevil14 0:16db2db8886d 38 lcd.locate(0,2);
anevil14 0:16db2db8886d 39 lcd.printf("Now Playing");
anevil14 0:16db2db8886d 40 screen_lock = false;
anevil14 0:16db2db8886d 41 }
anevil14 0:16db2db8886d 42 break;
anevil14 0:16db2db8886d 43 case Need_SD:
anevil14 0:16db2db8886d 44 lcd.locate(0,0);
anevil14 0:16db2db8886d 45 lcd.printf("Insert SD Card");
anevil14 0:16db2db8886d 46 break;
anevil14 0:16db2db8886d 47 }
anevil14 0:16db2db8886d 48 }
anevil14 0:16db2db8886d 49
anevil14 0:16db2db8886d 50 void WavDis::UpdateTemp(float temp) {
anevil14 0:16db2db8886d 51 if (screen_lock == false) {
anevil14 0:16db2db8886d 52 screen_lock = true;
anevil14 0:16db2db8886d 53 lcd.text_width(1.5); //4X size text
anevil14 0:16db2db8886d 54 lcd.text_height(1.5);
anevil14 0:16db2db8886d 55 lcd.color(WHITE);
anevil14 0:16db2db8886d 56 lcd.locate(0,7);
anevil14 0:16db2db8886d 57 if (temp < 60.00) {
anevil14 0:16db2db8886d 58 lcd.filled_circle(60, 100, 20, BLUE);
anevil14 0:16db2db8886d 59 //lcd.locate(0,8);
anevil14 0:16db2db8886d 60 lcd.printf("Temperature: \n%.2f", temp);
anevil14 0:16db2db8886d 61 } else if (temp >= 60.00) {
anevil14 0:16db2db8886d 62 lcd.filled_circle(60, 100, 20, RED);
anevil14 0:16db2db8886d 63 //lcd.locate(0,8);
anevil14 0:16db2db8886d 64 lcd.printf("Temperature: \n%.2f", temp);
anevil14 0:16db2db8886d 65 }
anevil14 0:16db2db8886d 66 screen_lock = false;
anevil14 0:16db2db8886d 67 }
anevil14 0:16db2db8886d 68 return;
anevil14 0:16db2db8886d 69 }
anevil14 0:16db2db8886d 70
anevil14 0:16db2db8886d 71 void WavDis::UpdateSong(string songName)
anevil14 0:16db2db8886d 72 {
anevil14 0:16db2db8886d 73 currentSong = songName;
anevil14 0:16db2db8886d 74 Update();
anevil14 0:16db2db8886d 75 }
anevil14 0:16db2db8886d 76
anevil14 0:16db2db8886d 77 void WavDis::UpdateState(SystemState state)
anevil14 0:16db2db8886d 78 {
anevil14 0:16db2db8886d 79 currentState = state;
anevil14 0:16db2db8886d 80 Update();
anevil14 0:16db2db8886d 81 }
anevil14 0:16db2db8886d 82
anevil14 0:16db2db8886d 83 void WavDis::UpdateVolume(int volume)
anevil14 0:16db2db8886d 84 {
anevil14 0:16db2db8886d 85 if (screen_lock == false) {
anevil14 0:16db2db8886d 86 screen_lock = true;
anevil14 0:16db2db8886d 87 lcd.text_width(1); //4X size text
anevil14 0:16db2db8886d 88 lcd.text_height(1);
anevil14 0:16db2db8886d 89 lcd.color(GREEN);
anevil14 0:16db2db8886d 90 lcd.locate(0,3);
anevil14 0:16db2db8886d 91 lcd.printf("Volume: \n%d ", volume);
anevil14 0:16db2db8886d 92 screen_lock = false;
anevil14 0:16db2db8886d 93 }
anevil14 0:16db2db8886d 94 }
anevil14 0:16db2db8886d 95
anevil14 0:16db2db8886d 96 void WavDis::UpdateLEDs()
anevil14 0:16db2db8886d 97 {
anevil14 0:16db2db8886d 98 led1 = 1;
anevil14 0:16db2db8886d 99 switch (currentState)
anevil14 0:16db2db8886d 100 {
anevil14 0:16db2db8886d 101 case stop:
anevil14 0:16db2db8886d 102 led2 = 0;
anevil14 0:16db2db8886d 103 led3 = 0;
anevil14 0:16db2db8886d 104 led4 = 0;
anevil14 0:16db2db8886d 105 break;
anevil14 0:16db2db8886d 106 case play_state:
anevil14 0:16db2db8886d 107 led2 = 1;
anevil14 0:16db2db8886d 108 led3 = 1;
anevil14 0:16db2db8886d 109 led4 = 1;
anevil14 0:16db2db8886d 110 break;
anevil14 0:16db2db8886d 111 }
anevil14 0:16db2db8886d 112
anevil14 0:16db2db8886d 113 }