screen display for roommate tracker

Dependencies:   mbed-rtos mbed uLCD_4D_Picaso

Dependents:   RoommateTracker

Committer:
jbaker66
Date:
Mon Apr 25 14:07:25 2016 +0000
Revision:
0:831eff5e20cb
screen display complete

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jbaker66 0:831eff5e20cb 1 #include "mbed.h"
jbaker66 0:831eff5e20cb 2 #include "uLCD_4D_Picaso.h"
jbaker66 0:831eff5e20cb 3 #include "Adafruit_FONA.h"
jbaker66 0:831eff5e20cb 4 #include "rtos.h"
jbaker66 0:831eff5e20cb 5 #include <string>
jbaker66 0:831eff5e20cb 6 #include <vector>
jbaker66 0:831eff5e20cb 7
jbaker66 0:831eff5e20cb 8 #define FONA_RST p12
jbaker66 0:831eff5e20cb 9 #define FONA_TX p13
jbaker66 0:831eff5e20cb 10 #define FONA_RX p14
jbaker66 0:831eff5e20cb 11 #define FONA_RI p11
jbaker66 0:831eff5e20cb 12
jbaker66 0:831eff5e20cb 13 using namespace std;
jbaker66 0:831eff5e20cb 14 Serial pc(USBTX, USBRX);
jbaker66 0:831eff5e20cb 15 Adafruit_FONA fona(FONA_TX, FONA_RX, FONA_RST, FONA_RI);
jbaker66 0:831eff5e20cb 16
jbaker66 0:831eff5e20cb 17 Mutex mut;
jbaker66 0:831eff5e20cb 18 uLCD_4D_Picaso lcd(p28, p27, p30);
jbaker66 0:831eff5e20cb 19
jbaker66 0:831eff5e20cb 20 vector <string> T_names;
jbaker66 0:831eff5e20cb 21 vector<string>::iterator name;
jbaker66 0:831eff5e20cb 22
jbaker66 0:831eff5e20cb 23
jbaker66 0:831eff5e20cb 24
jbaker66 0:831eff5e20cb 25 char names[] = "Jesse\r\nGeorge\r\n";
jbaker66 0:831eff5e20cb 26
jbaker66 0:831eff5e20cb 27 char phone[] = "7067664360\r\n4045189567\r\n";
jbaker66 0:831eff5e20cb 28
jbaker66 0:831eff5e20cb 29 int main() {
jbaker66 0:831eff5e20cb 30 //set up strings
jbaker66 0:831eff5e20cb 31 name = T_names.begin();
jbaker66 0:831eff5e20cb 32 name[1] = "Jesse";
jbaker66 0:831eff5e20cb 33 name[2] = "George";
jbaker66 0:831eff5e20cb 34 name[3] = "Cole";
jbaker66 0:831eff5e20cb 35 name[4] = "Brandon";
jbaker66 0:831eff5e20cb 36
jbaker66 0:831eff5e20cb 37 lcd.setbaudWait(Picaso::BAUD_600000);
jbaker66 0:831eff5e20cb 38 lcd.touch_Set(0);
jbaker66 0:831eff5e20cb 39 lcd.txt_Opacity(Picaso::OPAQUE);
jbaker66 0:831eff5e20cb 40
jbaker66 0:831eff5e20cb 41 //Set up header
jbaker66 0:831eff5e20cb 42
jbaker66 0:831eff5e20cb 43 lcd.txt_MoveCursor(0, 6);
jbaker66 0:831eff5e20cb 44 lcd.txt_Attributes(Picaso::BOLD);
jbaker66 0:831eff5e20cb 45 lcd.txt_FGcolour(Picaso::RED);
jbaker66 0:831eff5e20cb 46 lcd.putStr("mbed Roomate Tracker");
jbaker66 0:831eff5e20cb 47 lcd.txt_MoveCursor(2, 0);
jbaker66 0:831eff5e20cb 48 lcd.txt_FGcolour(Picaso::CYAN);
jbaker66 0:831eff5e20cb 49 lcd.putStr("Who's home?");
jbaker66 0:831eff5e20cb 50
jbaker66 0:831eff5e20cb 51 //print names
jbaker66 0:831eff5e20cb 52
jbaker66 0:831eff5e20cb 53 lcd.txt_MoveCursor(4, 0);
jbaker66 0:831eff5e20cb 54 lcd.txt_Attributes(Picaso::UNDERLINED);
jbaker66 0:831eff5e20cb 55 lcd.putStr(names);
jbaker66 0:831eff5e20cb 56
jbaker66 0:831eff5e20cb 57 //Set up touch boxes
jbaker66 0:831eff5e20cb 58 lcd.gfx_RectangleFilled(150, 250, 230, 310, Picaso::WHITE);
jbaker66 0:831eff5e20cb 59 lcd.gfx_RectangleFilled(0, 250, 80, 310, Picaso::WHITE);
jbaker66 0:831eff5e20cb 60 lcd.txt_MoveCursor(23, 3);
jbaker66 0:831eff5e20cb 61 lcd.txt_FGcolour(Picaso::WHITE);
jbaker66 0:831eff5e20cb 62 lcd.txt_Attributes(Picaso::UNDERLINED);
jbaker66 0:831eff5e20cb 63 lcd.putStr("HOME");
jbaker66 0:831eff5e20cb 64 lcd.txt_MoveCursor(23,22);
jbaker66 0:831eff5e20cb 65 lcd.putStr("AWAY");
jbaker66 0:831eff5e20cb 66
jbaker66 0:831eff5e20cb 67 int status = 0;
jbaker66 0:831eff5e20cb 68 int x = 0;
jbaker66 0:831eff5e20cb 69 int y = 0;
jbaker66 0:831eff5e20cb 70 while (1) {
jbaker66 0:831eff5e20cb 71 status = lcd.touch_Get(0);
jbaker66 0:831eff5e20cb 72 if (status) {
jbaker66 0:831eff5e20cb 73 x = lcd.touch_Get(1);
jbaker66 0:831eff5e20cb 74 y = lcd.touch_Get(2);
jbaker66 0:831eff5e20cb 75 if (status == 1 && x <= 80 && y >= 250) {
jbaker66 0:831eff5e20cb 76 pc.printf("Text roomates home: I'm home\r\n");
jbaker66 0:831eff5e20cb 77 } else if (status == 1 && x >= 150 && y >= 250) {
jbaker66 0:831eff5e20cb 78 pc.printf("Text roommates away: I'm home\r\n");
jbaker66 0:831eff5e20cb 79 }
jbaker66 0:831eff5e20cb 80 }
jbaker66 0:831eff5e20cb 81 }
jbaker66 0:831eff5e20cb 82 }