screen display for roommate tracker
Dependencies: mbed-rtos mbed uLCD_4D_Picaso
main.cpp@0:831eff5e20cb, 2016-04-25 (annotated)
- Committer:
- jbaker66
- Date:
- Mon Apr 25 14:07:25 2016 +0000
- Revision:
- 0:831eff5e20cb
screen display complete
Who changed what in which revision?
User | Revision | Line number | New 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 | } |