Use a touchscreen display to select which sensor measurement to display

Dependencies:   mbed DisplayModule24_demo_day10

Committer:
ldelaney17
Date:
Tue Jan 17 21:28:13 2017 +0000
Revision:
8:a7b7edb66de5
Parent:
7:b275c76de4ba
final commit; cleaned up debug code; added comments; set 10s ticker period

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ldelaney17 0:b1840c1fbeb8 1 #include "mbed.h"
ldelaney17 1:f2a5ea8ff543 2 #include "acc.h"
ldelaney17 3:4cd5469a146f 3 #include "tmp.h"
ldelaney17 6:3ee97b2c012c 4 #include "display.h"
ldelaney17 7:b275c76de4ba 5 #include "compass.h"
ldelaney17 6:3ee97b2c012c 6
ldelaney17 6:3ee97b2c012c 7
ldelaney17 0:b1840c1fbeb8 8 DigitalOut myled(LED1);
ldelaney17 1:f2a5ea8ff543 9 I2C connection(p9, p10);
ldelaney17 1:f2a5ea8ff543 10 Serial pc(USBTX, USBRX);
ldelaney17 6:3ee97b2c012c 11 PinName dataBus[]= {p30, p29, p28, p27, p26, p25, p24, p23};
ldelaney17 6:3ee97b2c012c 12 ILI932x myLCD(BUS_8, dataBus, p15, p17, p16, p14, p20, "myLCD", 240, 320); // Bus 8 bit, bus pin array, CS, RST, DC, WR, RD, name, xpixels, ypixels
ldelaney17 6:3ee97b2c012c 13 extern DmTouch touch(DmTouch::DM_TFT24_104, p5, p6, p7, p8, p11);
ldelaney17 6:3ee97b2c012c 14 Ticker tDisplay;
ldelaney17 6:3ee97b2c012c 15 Ticker tTouch;
ldelaney17 6:3ee97b2c012c 16 bool a, t, c;
ldelaney17 2:1ab4c19b99d4 17
ldelaney17 0:b1840c1fbeb8 18 int main() {
ldelaney17 8:a7b7edb66de5 19 touch.init(); //initialize all connections
ldelaney17 7:b275c76de4ba 20 temp_init();
ldelaney17 7:b275c76de4ba 21 acc_init();
ldelaney17 7:b275c76de4ba 22 compass_init();
ldelaney17 8:a7b7edb66de5 23 a = false; //set the global flag variables to start false
ldelaney17 6:3ee97b2c012c 24 t = false;
ldelaney17 6:3ee97b2c012c 25 c = false;
ldelaney17 8:a7b7edb66de5 26 tDisplay.attach(&display, 10); //10s ticker, per spec, controls the display
ldelaney17 8:a7b7edb66de5 27 tTouch.attach(&update_touch, 0.07); //.07s ticker, updates the flags for what is selected
ldelaney17 8:a7b7edb66de5 28 while(1) { //loop doing nothing
ldelaney17 6:3ee97b2c012c 29 }
ldelaney17 6:3ee97b2c012c 30 }
ldelaney17 6:3ee97b2c012c 31
ldelaney17 6:3ee97b2c012c 32 bool in_A(int x, int y){
ldelaney17 6:3ee97b2c012c 33 //circle: 150, 100 | r = 40
ldelaney17 6:3ee97b2c012c 34 x -= 150;
ldelaney17 6:3ee97b2c012c 35 y -= 100;
ldelaney17 6:3ee97b2c012c 36 if (x*x + y*y < 40*40)
ldelaney17 6:3ee97b2c012c 37 return true;
ldelaney17 6:3ee97b2c012c 38 else
ldelaney17 6:3ee97b2c012c 39 return false;
ldelaney17 6:3ee97b2c012c 40 }
ldelaney17 6:3ee97b2c012c 41
ldelaney17 8:a7b7edb66de5 42 //check if coord is in T's circle
ldelaney17 6:3ee97b2c012c 43 bool in_T(int x, int y){
ldelaney17 6:3ee97b2c012c 44 //circle: 40, 100 | r = 40
ldelaney17 6:3ee97b2c012c 45 x -= 40;
ldelaney17 6:3ee97b2c012c 46 y -= 100;
ldelaney17 6:3ee97b2c012c 47 if (x*x + y*y < 40*40)
ldelaney17 6:3ee97b2c012c 48 return true;
ldelaney17 6:3ee97b2c012c 49 else
ldelaney17 6:3ee97b2c012c 50 return false;
ldelaney17 0:b1840c1fbeb8 51 }
ldelaney17 2:1ab4c19b99d4 52
ldelaney17 6:3ee97b2c012c 53 bool in_C(int x, int y){
ldelaney17 6:3ee97b2c012c 54 //circle: 260, 100 | r = 40
ldelaney17 6:3ee97b2c012c 55 x -= 260;
ldelaney17 6:3ee97b2c012c 56 y -= 100;
ldelaney17 6:3ee97b2c012c 57 if (x*x + y*y < 40*40)
ldelaney17 6:3ee97b2c012c 58 return true;
ldelaney17 6:3ee97b2c012c 59 else
ldelaney17 6:3ee97b2c012c 60 return false;
ldelaney17 6:3ee97b2c012c 61 }
ldelaney17 2:1ab4c19b99d4 62