created separate function for hex to char

Dependencies:   SDFileSystem ds3231 eeprom_Nikita mbed testUniGraphic_150217

Fork of SS_SensePOC2P0_11Dec2017_USERPID by rashmi v

Committer:
rashmivenkataramaiah
Date:
Fri Sep 08 10:35:21 2017 +0000
Revision:
41:1141a75eacc4
Parent:
38:7238f3531ce9
Child:
49:3ff80c4bc1be
Modified PID tracking; 1	First open the Pid in write mode and then in append mode; 2	PID to increment only after a test is completed; 3	PID stored in SD card;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nikitateggi 0:c47fb0c1bbf6 1 #include "mbed.h"
nikitateggi 20:7c64e6ecad76 2 #include "eeprom_pgm.h"
nikitateggi 7:11f926351d8f 3 //#include "ili9325.h"
nikitateggi 0:c47fb0c1bbf6 4 #include "display_modules.h"
nikitateggi 0:c47fb0c1bbf6 5 #include "touch_modules.h"
nikitateggi 29:7edc76b15e3d 6 //InterruptIn Touch_D(PTD6);
nikitateggi 29:7edc76b15e3d 7 InterruptIn Touch_D(PTD2);
nikitateggi 0:c47fb0c1bbf6 8 int i;
avp2417 35:43133f017ed4 9 unsigned int xt=0;
avp2417 35:43133f017ed4 10 unsigned int yt=0;
nikitateggi 1:8316c23ec6b9 11 Serial kc(USBTX, USBRX);
avp2417 37:92fcbf22bf91 12 Timer t1;
nikitateggi 0:c47fb0c1bbf6 13
nikitateggi 0:c47fb0c1bbf6 14 void touch1() //determining the touch co-ordinates
nikitateggi 4:6bd81bb1790d 15 {
nikitateggi 4:6bd81bb1790d 16 xt = (X_MAX*readTouchX()/TOTAL1);
nikitateggi 0:c47fb0c1bbf6 17 yt = (Y_MAX*readTouchY()/TOTAL1);
nidhinvarghese 11:9a6545c2eb5d 18 kc.printf("%d\n", xt);
nidhinvarghese 11:9a6545c2eb5d 19 kc.printf("%d\n", yt);
nikitateggi 4:6bd81bb1790d 20 }
nikitateggi 0:c47fb0c1bbf6 21
nikitateggi 0:c47fb0c1bbf6 22
avp2417 37:92fcbf22bf91 23 void detect_touch(unsigned char display_state) // detect the touch //debounce
nikitateggi 0:c47fb0c1bbf6 24 {
avp2417 37:92fcbf22bf91 25 kc.printf("display state=%d\n",display_state);
avp2417 37:92fcbf22bf91 26 uint32_t time_ms=0;
avp2417 37:92fcbf22bf91 27 switch (display_state)
avp2417 37:92fcbf22bf91 28
avp2417 37:92fcbf22bf91 29 {
avp2417 37:92fcbf22bf91 30
nikitateggi 38:7238f3531ce9 31 case 3: time_ms= 300000; // timer for 5 min
avp2417 37:92fcbf22bf91 32 touch_func_with_timer(time_ms);
avp2417 37:92fcbf22bf91 33 break;
avp2417 37:92fcbf22bf91 34 case 6: time_ms= 60000; // timer for 1 min
avp2417 37:92fcbf22bf91 35 touch_func_with_timer(time_ms);
avp2417 37:92fcbf22bf91 36 break;
avp2417 37:92fcbf22bf91 37 default : touch_func_without_timer();
avp2417 37:92fcbf22bf91 38 break;
avp2417 37:92fcbf22bf91 39
avp2417 37:92fcbf22bf91 40 }
avp2417 37:92fcbf22bf91 41 }
avp2417 37:92fcbf22bf91 42
avp2417 37:92fcbf22bf91 43 void touch_func_without_timer()
avp2417 37:92fcbf22bf91 44 {
avp2417 37:92fcbf22bf91 45 while(i==1)
nikitateggi 0:c47fb0c1bbf6 46 {
avp2417 37:92fcbf22bf91 47 while(Touch_D)//touch detection
avp2417 37:92fcbf22bf91 48 {
nikitateggi 0:c47fb0c1bbf6 49 wait_ms(200); ///wait for debounce check
nikitateggi 0:c47fb0c1bbf6 50 if (Touch_D)
nikitateggi 3:9a06c2bed650 51 {
nikitateggi 3:9a06c2bed650 52
nikitateggi 3:9a06c2bed650 53 Touch_D.fall(&touch1);
nikitateggi 3:9a06c2bed650 54 //determine the touch co-ordinates
nikitateggi 0:c47fb0c1bbf6 55 break;
nikitateggi 0:c47fb0c1bbf6 56 }
nikitateggi 3:9a06c2bed650 57 DisableTouch();
nikitateggi 1:8316c23ec6b9 58 //kc.printf("touch");
nikitateggi 1:8316c23ec6b9 59
nikitateggi 0:c47fb0c1bbf6 60 }
avp2417 37:92fcbf22bf91 61 }
avp2417 37:92fcbf22bf91 62 }
avp2417 37:92fcbf22bf91 63
avp2417 37:92fcbf22bf91 64 void no_touch()
avp2417 37:92fcbf22bf91 65 {
avp2417 37:92fcbf22bf91 66 xt=0;yt=0;
nikitateggi 1:8316c23ec6b9 67
avp2417 37:92fcbf22bf91 68 }
nikitateggi 0:c47fb0c1bbf6 69
nikitateggi 0:c47fb0c1bbf6 70
nikitateggi 0:c47fb0c1bbf6 71 unsigned char touch_main() //determining the touch for home screen
nikitateggi 0:c47fb0c1bbf6 72 {
nikitateggi 0:c47fb0c1bbf6 73
avp2417 35:43133f017ed4 74 unsigned char state=0;
nikitateggi 0:c47fb0c1bbf6 75
avp2417 35:43133f017ed4 76 if ( ((xt >=SYSCFG_HOME_X_MIN) && (xt<=SYSCFG_HOME_X_MAX)) && ( (yt>=SYSCFG_HOME_Y_MIN) && (yt<= SYSCFG_HOME_Y_MAX) ) ) // system configuration
nikitateggi 1:8316c23ec6b9 77 {
nikitateggi 1:8316c23ec6b9 78
nikitateggi 1:8316c23ec6b9 79 state=2;
nikitateggi 1:8316c23ec6b9 80 }
nikitateggi 1:8316c23ec6b9 81
avp2417 35:43133f017ed4 82 else if ( ((xt >=TEST_HOME_X_MIN) && (xt<=TEST_HOME_X_MAX)) && ( (yt>=TEST_HOME_Y_MIN) && (yt<=TEST_HOME_Y_MAX) ) ) // test
nikitateggi 1:8316c23ec6b9 83 {
nikitateggi 1:8316c23ec6b9 84 state=3;
nikitateggi 1:8316c23ec6b9 85 }
nikitateggi 1:8316c23ec6b9 86 else
nikitateggi 1:8316c23ec6b9 87 state=10;
nikitateggi 1:8316c23ec6b9 88
nikitateggi 1:8316c23ec6b9 89 return state;
nikitateggi 1:8316c23ec6b9 90 }
nikitateggi 1:8316c23ec6b9 91
nikitateggi 1:8316c23ec6b9 92
nikitateggi 4:6bd81bb1790d 93 unsigned char touch_main_1() //determining the touch for System Configuration screen
nikitateggi 1:8316c23ec6b9 94 {
nikitateggi 1:8316c23ec6b9 95
avp2417 35:43133f017ed4 96 unsigned char state=0;
nikitateggi 1:8316c23ec6b9 97
avp2417 35:43133f017ed4 98 if ( ((xt >=BT_MAIN_X_MIN) && (xt<=BT_MAIN_X_MAX)) && ( (yt>= BT_MAIN_Y_MIN) && (yt<=BT_MAIN_Y_MAX) ) ) // ble
nikitateggi 1:8316c23ec6b9 99 {
nikitateggi 1:8316c23ec6b9 100
nikitateggi 20:7c64e6ecad76 101 state=12;
nikitateggi 1:8316c23ec6b9 102 }
nikitateggi 1:8316c23ec6b9 103
avp2417 35:43133f017ed4 104 else if ( ((xt >=DELETE_MAIN_X_MIN) && (xt<=DELETE_MAIN_X_MAX)) && ( (yt>=DELETE_MAIN_Y_MIN) && (yt<=DELETE_MAIN_Y_MAX) ) ) // DELETE
nikitateggi 1:8316c23ec6b9 105 {
nikitateggi 1:8316c23ec6b9 106 // state=4;
nikitateggi 1:8316c23ec6b9 107
nikitateggi 1:8316c23ec6b9 108
nikitateggi 1:8316c23ec6b9 109 }
avp2417 35:43133f017ed4 110 else if ( ((xt >=PATIENT_INFO_MAIN_X_MIN) && (xt<=PATIENT_INFO_MAIN_X_MAX)) && ( (yt>=PATIENT_INFO_MAIN_Y_MIN) && (yt<=PATIENT_INFO_MAIN_Y_MAX) ) ) // file
nikitateggi 1:8316c23ec6b9 111 {
nikitateggi 31:0f67acfc6236 112 state=11;
nikitateggi 1:8316c23ec6b9 113
nikitateggi 1:8316c23ec6b9 114 }
nikitateggi 29:7edc76b15e3d 115 else if ( ((xt >=HOME_MAIN_X_MIN) && (xt<=HOME_MAIN_X_MAX)) && ( (yt>=HOME_MAIN_Y_MIN) && (yt<=HOME_MAIN_Y_MAX) ) ) // home
nikitateggi 1:8316c23ec6b9 116 {
suhasini 6:5e33a0f01476 117 state=1; //////////
nikitateggi 1:8316c23ec6b9 118
nikitateggi 1:8316c23ec6b9 119 }
nikitateggi 1:8316c23ec6b9 120 else
nikitateggi 1:8316c23ec6b9 121 state=10;
nikitateggi 1:8316c23ec6b9 122
nikitateggi 1:8316c23ec6b9 123 return state;
nikitateggi 1:8316c23ec6b9 124 }
nikitateggi 1:8316c23ec6b9 125
nikitateggi 4:6bd81bb1790d 126
nikitateggi 4:6bd81bb1790d 127 unsigned char touch_main_2() //determining the touch for TEST screen
nikitateggi 1:8316c23ec6b9 128 {
nikitateggi 1:8316c23ec6b9 129
avp2417 35:43133f017ed4 130 unsigned char state=0;
nikitateggi 1:8316c23ec6b9 131
nikitateggi 29:7edc76b15e3d 132 if ( ((xt >=BG_MAIN_X_MIN) && (xt<=BG_MAIN_X_MAX)) && ( (yt>=BG_MAIN_Y_MIN) && (yt<=BG_MAIN_Y_MAX) ) ) // GLC
nikitateggi 0:c47fb0c1bbf6 133 {
nikitateggi 0:c47fb0c1bbf6 134
nikitateggi 1:8316c23ec6b9 135 state=4;
nikitateggi 0:c47fb0c1bbf6 136 }
nikitateggi 0:c47fb0c1bbf6 137
nikitateggi 29:7edc76b15e3d 138 else if ( ((xt >=ECG_MAIN_X_MIN) && (xt<=ECG_MAIN_X_MAX)) && ( (yt>=ECG_MAIN_Y_MIN) && (yt<=ECG_MAIN_Y_MAX) ) ) // ECG
nikitateggi 0:c47fb0c1bbf6 139 {
nikitateggi 1:8316c23ec6b9 140 state=5;
nikitateggi 0:c47fb0c1bbf6 141
nikitateggi 0:c47fb0c1bbf6 142
nikitateggi 0:c47fb0c1bbf6 143 }
nikitateggi 29:7edc76b15e3d 144 else if ( ((xt >=BP_MAIN_X_MIN) && (xt<=BP_MAIN_X_MAX)) && ( (yt>=BP_MAIN_Y_MIN) && (yt<=BP_MAIN_Y_MAX) ) ) // BP
nikitateggi 0:c47fb0c1bbf6 145 {
nikitateggi 3:9a06c2bed650 146 state=6;
nikitateggi 0:c47fb0c1bbf6 147
nikitateggi 0:c47fb0c1bbf6 148 }
nikitateggi 29:7edc76b15e3d 149 else if ( ((xt >= HOME_MAIN_X_MIN) && (xt<= HOME_MAIN_X_MAX)) && ( (yt>=HOME_MAIN_Y_MIN) && (yt<= HOME_MAIN_Y_MAX) ) ) // Home
nikitateggi 0:c47fb0c1bbf6 150 {
nikitateggi 1:8316c23ec6b9 151 state=1;
nikitateggi 0:c47fb0c1bbf6 152
nikitateggi 0:c47fb0c1bbf6 153 }
avp2417 37:92fcbf22bf91 154 else if (xt==0 && yt==0)
avp2417 37:92fcbf22bf91 155 {
avp2417 37:92fcbf22bf91 156 state=1;
avp2417 37:92fcbf22bf91 157 }
nikitateggi 1:8316c23ec6b9 158 else
avp2417 37:92fcbf22bf91 159 {
nikitateggi 4:6bd81bb1790d 160 state=10; // default - goes to wait for a valid touch
avp2417 37:92fcbf22bf91 161 }
nikitateggi 0:c47fb0c1bbf6 162 return state;
nikitateggi 0:c47fb0c1bbf6 163 }
nikitateggi 1:8316c23ec6b9 164
nikitateggi 1:8316c23ec6b9 165
nikitateggi 1:8316c23ec6b9 166
nikitateggi 1:8316c23ec6b9 167
nikitateggi 1:8316c23ec6b9 168
nikitateggi 0:c47fb0c1bbf6 169
nikitateggi 4:6bd81bb1790d 170 unsigned char touch_ecg() // determining the touch for ecg main screen
nikitateggi 0:c47fb0c1bbf6 171 {
nikitateggi 0:c47fb0c1bbf6 172
avp2417 35:43133f017ed4 173 unsigned char state=0;
nikitateggi 29:7edc76b15e3d 174 if ( ((xt >=START_MAIN_X_MIN) && (xt<=START_MAIN_X_MAX)) && ( (yt>=START_MAIN_Y_MIN) && (yt<=START_MAIN_Y_MAX) ) ) // START
nikitateggi 1:8316c23ec6b9 175 {
nikitateggi 1:8316c23ec6b9 176
nikitateggi 1:8316c23ec6b9 177 state=8;
nikitateggi 1:8316c23ec6b9 178 }
nikitateggi 1:8316c23ec6b9 179
nikitateggi 31:0f67acfc6236 180 else if ( ((xt >=MAIN_X_MIN) && (xt<=MAIN_X_MAX)) && ( (yt>=MAIN_Y_MIN) && (yt<=MAIN_Y_MAX) ) ) // RETURN
nikitateggi 1:8316c23ec6b9 181 {
suhasini 5:a3ea7c82b7e1 182 state=3;
nikitateggi 1:8316c23ec6b9 183 }
nikitateggi 1:8316c23ec6b9 184 else
nikitateggi 1:8316c23ec6b9 185 state=10;
nikitateggi 1:8316c23ec6b9 186
nikitateggi 0:c47fb0c1bbf6 187 return state;
nikitateggi 0:c47fb0c1bbf6 188 }
nikitateggi 0:c47fb0c1bbf6 189
nikitateggi 0:c47fb0c1bbf6 190
nikitateggi 4:6bd81bb1790d 191 unsigned char touch_ret() // determining the touch for ecg screen after the test
nikitateggi 1:8316c23ec6b9 192 {
nikitateggi 1:8316c23ec6b9 193
avp2417 35:43133f017ed4 194 unsigned char state=0;
nikitateggi 20:7c64e6ecad76 195 int8_t type=0;
nikitateggi 24:d992ee8369f4 196 type=eprom_read_8(30);
nikitateggi 1:8316c23ec6b9 197
nikitateggi 29:7edc76b15e3d 198 if ( ((xt >=RET_TEST_X_MIN) && (xt<=RET_TEST_X_MAX)) && ( (yt>=RET_TEST_Y_MIN) && (yt<=RET_TEST_Y_MAX) ) ) // RET //CHANGED 12/06/17//
nikitateggi 1:8316c23ec6b9 199 {
nikitateggi 20:7c64e6ecad76 200 state=3;
nikitateggi 20:7c64e6ecad76 201
nikitateggi 20:7c64e6ecad76 202 }
avp2417 35:43133f017ed4 203 else if ( ((xt >=RETEST_HOME_X_MIN) && (xt<=RETEST_HOME_X_MAX)) && ( (yt>=RETEST_HOME_Y_MIN) && (yt<=RETEST_HOME_Y_MAX) ) ) // RETEST
nikitateggi 20:7c64e6ecad76 204 {
nikitateggi 20:7c64e6ecad76 205 if (type==0)
rashmivenkataramaiah 41:1141a75eacc4 206 state=7;
nikitateggi 20:7c64e6ecad76 207 else if (type==1)
rashmivenkataramaiah 41:1141a75eacc4 208 state=8;
rashmivenkataramaiah 41:1141a75eacc4 209 else if (type==2)
rashmivenkataramaiah 41:1141a75eacc4 210 state=9;
avp2417 37:92fcbf22bf91 211 }
rashmivenkataramaiah 41:1141a75eacc4 212 else if (xt==0 && yt==0)
rashmivenkataramaiah 41:1141a75eacc4 213 {
avp2417 37:92fcbf22bf91 214 state=3;
rashmivenkataramaiah 41:1141a75eacc4 215 }
rashmivenkataramaiah 41:1141a75eacc4 216 else
nikitateggi 1:8316c23ec6b9 217 state=10;
nikitateggi 1:8316c23ec6b9 218 return state;
nikitateggi 1:8316c23ec6b9 219 }
nikitateggi 1:8316c23ec6b9 220
nikitateggi 1:8316c23ec6b9 221
nikitateggi 1:8316c23ec6b9 222
nikitateggi 0:c47fb0c1bbf6 223
nikitateggi 4:6bd81bb1790d 224 unsigned char touch_bp() // //determining the touch for bp main screen
nikitateggi 0:c47fb0c1bbf6 225
nikitateggi 0:c47fb0c1bbf6 226 {
avp2417 35:43133f017ed4 227 unsigned char state=0;
nikitateggi 29:7edc76b15e3d 228 if ( ((xt >=START_MAIN_X_MIN) && (xt<=START_MAIN_X_MAX)) && ( (yt>=START_MAIN_Y_MIN) && (yt<=START_MAIN_Y_MAX) ) ) // START
nikitateggi 0:c47fb0c1bbf6 229 {
nikitateggi 0:c47fb0c1bbf6 230
suhasini 5:a3ea7c82b7e1 231 state=9;
nikitateggi 0:c47fb0c1bbf6 232 }
nikitateggi 0:c47fb0c1bbf6 233
nikitateggi 31:0f67acfc6236 234 else if ( ((xt >=MAIN_X_MIN) && (xt<=MAIN_X_MAX)) && ( (yt>=MAIN_Y_MIN) && (yt<=MAIN_Y_MAX) ) ) // RETURN
nikitateggi 0:c47fb0c1bbf6 235 {
suhasini 5:a3ea7c82b7e1 236 state=3;
nikitateggi 3:9a06c2bed650 237 }
nikitateggi 3:9a06c2bed650 238 else
nikitateggi 1:8316c23ec6b9 239 state=10;
nikitateggi 0:c47fb0c1bbf6 240
nikitateggi 0:c47fb0c1bbf6 241 return state;
nikitateggi 0:c47fb0c1bbf6 242 }
nikitateggi 0:c47fb0c1bbf6 243
nikitateggi 0:c47fb0c1bbf6 244
nikitateggi 0:c47fb0c1bbf6 245
nikitateggi 4:6bd81bb1790d 246 unsigned char touch_glc() //determining the touch for GLC screen
nikitateggi 0:c47fb0c1bbf6 247 {
avp2417 35:43133f017ed4 248 unsigned char state=0;
nikitateggi 1:8316c23ec6b9 249
nikitateggi 20:7c64e6ecad76 250 /* if ( ((xt >=70) && (xt<=170)) && ( (yt>= 140) && (yt<= 195) ) ) // START
nikitateggi 0:c47fb0c1bbf6 251 {
nikitateggi 0:c47fb0c1bbf6 252
nikitateggi 1:8316c23ec6b9 253 state=7;
nikitateggi 0:c47fb0c1bbf6 254 }
nikitateggi 0:c47fb0c1bbf6 255
nikitateggi 12:ab85607bb10a 256 else if ( ((xt >=70) && (xt<=170)) && ( (yt>=70) && (yt<=140) ) ) // RETURN
nikitateggi 0:c47fb0c1bbf6 257 {
suhasini 5:a3ea7c82b7e1 258 state=3;
nikitateggi 20:7c64e6ecad76 259 } */
nikitateggi 20:7c64e6ecad76 260
nikitateggi 29:7edc76b15e3d 261 if ( ((xt >=FPS_MAIN_X_MIN) && (xt<=FPS_MAIN_X_MAX)) && ( (yt>=FPS_MAIN_Y_MIN) && (yt<=FPS_MAIN_Y_MAX) ) ) //fasting // 12/06/17 newly added
nikitateggi 20:7c64e6ecad76 262 {
nikitateggi 20:7c64e6ecad76 263
nikitateggi 20:7c64e6ecad76 264 state=7;
nikitateggi 24:d992ee8369f4 265 eprom_write_16(20,0);
nikitateggi 20:7c64e6ecad76 266 }
nikitateggi 20:7c64e6ecad76 267
nikitateggi 29:7edc76b15e3d 268 else if ( ((xt >=PP_MAIN_X_MIN) && (xt<=PP_MAIN_X_MAX)) && ( (yt>=PP_MAIN_Y_MIN) && (yt<=PP_MAIN_Y_MAX) ) ) // pp
nikitateggi 20:7c64e6ecad76 269 {
nikitateggi 20:7c64e6ecad76 270 state=7;
nikitateggi 24:d992ee8369f4 271 eprom_write_16(20,1);
nikitateggi 20:7c64e6ecad76 272
nikitateggi 20:7c64e6ecad76 273
nikitateggi 20:7c64e6ecad76 274 }
nikitateggi 29:7edc76b15e3d 275 else if ( ((xt >= RANDOM_MAIN_X_MIN) && (xt<=RANDOM_MAIN_X_MAX)) && ( (yt>=RANDOM_MAIN_Y_MIN) && (yt<=RANDOM_MAIN_Y_MAX) ) ) // random
nikitateggi 20:7c64e6ecad76 276 {
nikitateggi 20:7c64e6ecad76 277 state=7;
nikitateggi 24:d992ee8369f4 278 eprom_write_16(20,2);
nikitateggi 20:7c64e6ecad76 279
nikitateggi 20:7c64e6ecad76 280 }
avp2417 35:43133f017ed4 281 else if ( ((xt >=BG_RET_MAIN_X_MIN) && (xt<=BG_RET_MAIN_X_MAX)) && ( (yt>=BG_RET_MAIN_Y_MIN) && (yt<=BG_RET_MAIN_Y_MAX) ) ) // return
nikitateggi 20:7c64e6ecad76 282 {
nikitateggi 20:7c64e6ecad76 283 state=3; //////////
nikitateggi 20:7c64e6ecad76 284
nikitateggi 20:7c64e6ecad76 285 }
nikitateggi 20:7c64e6ecad76 286
nikitateggi 20:7c64e6ecad76 287
nikitateggi 20:7c64e6ecad76 288 else
nikitateggi 20:7c64e6ecad76 289 state=10;
nikitateggi 0:c47fb0c1bbf6 290
nikitateggi 0:c47fb0c1bbf6 291 return state;
nikitateggi 0:c47fb0c1bbf6 292 }
nikitateggi 0:c47fb0c1bbf6 293
nikitateggi 1:8316c23ec6b9 294
nikitateggi 1:8316c23ec6b9 295
suhasini 5:a3ea7c82b7e1 296 unsigned char touch_again_ecg() //determining the touch for Repeat test
nikitateggi 1:8316c23ec6b9 297 {
nikitateggi 1:8316c23ec6b9 298
avp2417 35:43133f017ed4 299 unsigned char state=0;
nikitateggi 1:8316c23ec6b9 300
nikitateggi 29:7edc76b15e3d 301 if ( ((xt >=YES_MAIN_X_MIN) && (xt<=YES_MAIN_X_MAX)) && ( (yt>=YES_MAIN_Y_MIN) && (yt<=YES_MAIN_Y_MAX) ) ) // YES
nikitateggi 1:8316c23ec6b9 302 {
nikitateggi 1:8316c23ec6b9 303 state=8;
nikitateggi 1:8316c23ec6b9 304
nikitateggi 1:8316c23ec6b9 305 }
nikitateggi 29:7edc76b15e3d 306 else if ( ((xt >=NO_MAIN_X_MIN) && (xt<=NO_MAIN_X_MAX)) && ( (yt>=NO_MAIN_Y_MIN) && (yt<=NO_MAIN_Y_MAX) ) ) // NO
nikitateggi 1:8316c23ec6b9 307 {
nikitateggi 1:8316c23ec6b9 308 state=3;
nikitateggi 1:8316c23ec6b9 309
nikitateggi 1:8316c23ec6b9 310 }
nikitateggi 1:8316c23ec6b9 311 else
nikitateggi 1:8316c23ec6b9 312 state=10;
nikitateggi 1:8316c23ec6b9 313 return state;
nikitateggi 1:8316c23ec6b9 314 }
nikitateggi 1:8316c23ec6b9 315
nikitateggi 1:8316c23ec6b9 316
suhasini 5:a3ea7c82b7e1 317 unsigned char touch_again_glc() //determining the touch for Repeat test
suhasini 5:a3ea7c82b7e1 318 {
suhasini 5:a3ea7c82b7e1 319
avp2417 35:43133f017ed4 320 unsigned char state=0;
suhasini 5:a3ea7c82b7e1 321
nikitateggi 29:7edc76b15e3d 322 if ( ((xt >=YES_MAIN_X_MIN) && (xt<=YES_MAIN_X_MAX)) && ( (yt>=YES_MAIN_Y_MIN) && (yt<=YES_MAIN_Y_MAX) ) ) // YES
suhasini 5:a3ea7c82b7e1 323 {
suhasini 5:a3ea7c82b7e1 324 state=7;
suhasini 5:a3ea7c82b7e1 325
suhasini 5:a3ea7c82b7e1 326 }
nikitateggi 29:7edc76b15e3d 327 else if ( ((xt >=YES_MAIN_Y_MAX) && (xt<=NO_MAIN_Y_MIN)) && ( (yt>=NO_MAIN_Y_MIN) && (yt<=NO_MAIN_Y_MAX) ) ) // NO
suhasini 5:a3ea7c82b7e1 328 {
suhasini 5:a3ea7c82b7e1 329 state=3;
suhasini 5:a3ea7c82b7e1 330
suhasini 5:a3ea7c82b7e1 331 }
suhasini 5:a3ea7c82b7e1 332 else
suhasini 5:a3ea7c82b7e1 333 state=10;
suhasini 5:a3ea7c82b7e1 334 return state;
suhasini 5:a3ea7c82b7e1 335 }
suhasini 5:a3ea7c82b7e1 336
suhasini 5:a3ea7c82b7e1 337 unsigned char touch_again_bp() //determining the touch for Repeat test
suhasini 5:a3ea7c82b7e1 338 {
suhasini 5:a3ea7c82b7e1 339
avp2417 35:43133f017ed4 340 unsigned char state=0;
suhasini 5:a3ea7c82b7e1 341
nikitateggi 29:7edc76b15e3d 342 if ( ((xt >=YES_MAIN_X_MIN) && (xt<=YES_MAIN_X_MAX)) && ( (yt>=YES_MAIN_Y_MIN) && (yt<=YES_MAIN_Y_MAX) ) ) // YES
suhasini 5:a3ea7c82b7e1 343 {
suhasini 5:a3ea7c82b7e1 344 state=9;
suhasini 5:a3ea7c82b7e1 345
suhasini 5:a3ea7c82b7e1 346 }
nikitateggi 29:7edc76b15e3d 347 else if ( ((xt >=NO_MAIN_X_MIN) && (xt<=NO_MAIN_X_MAX)) && ( (yt>=NO_MAIN_Y_MIN) && (yt<=NO_MAIN_Y_MAX) ) ) // NO
suhasini 5:a3ea7c82b7e1 348 {
suhasini 5:a3ea7c82b7e1 349 state=3;
suhasini 5:a3ea7c82b7e1 350
suhasini 5:a3ea7c82b7e1 351 }
suhasini 5:a3ea7c82b7e1 352 else
suhasini 5:a3ea7c82b7e1 353 state=10;
suhasini 5:a3ea7c82b7e1 354 return state;
suhasini 5:a3ea7c82b7e1 355 }
suhasini 5:a3ea7c82b7e1 356
nikitateggi 31:0f67acfc6236 357 unsigned char BT_return() // //determining the touch for bp main screen
nikitateggi 31:0f67acfc6236 358
nikitateggi 31:0f67acfc6236 359 {
avp2417 35:43133f017ed4 360 unsigned char state=0;
nikitateggi 31:0f67acfc6236 361
nikitateggi 31:0f67acfc6236 362 if ( ((xt >=MAIN_X_MIN) && (xt<=MAIN_X_MAX)) && ( (yt>=MAIN_Y_MIN) && (yt<=MAIN_Y_MAX) ) ) // RETURN
nikitateggi 31:0f67acfc6236 363 {
nikitateggi 31:0f67acfc6236 364 state=1;
nikitateggi 31:0f67acfc6236 365 }
nikitateggi 31:0f67acfc6236 366 else
nikitateggi 31:0f67acfc6236 367 state=10;
nikitateggi 31:0f67acfc6236 368
nikitateggi 31:0f67acfc6236 369 return state;
nikitateggi 31:0f67acfc6236 370 }
nikitateggi 1:8316c23ec6b9 371
nikitateggi 29:7edc76b15e3d 372 //TOUCH Functionalities for old display//
nikitateggi 0:c47fb0c1bbf6 373
nikitateggi 29:7edc76b15e3d 374 /*int readTouchY(void) // read the Y co-ordinate
nikitateggi 4:6bd81bb1790d 375 {
nikitateggi 0:c47fb0c1bbf6 376 DigitalOut YD(PTD6);
nikitateggi 0:c47fb0c1bbf6 377 DigitalIn XL(PTD7);
nikitateggi 0:c47fb0c1bbf6 378 DigitalOut YU(PTC0);
nikitateggi 0:c47fb0c1bbf6 379 YU = 1;
nikitateggi 0:c47fb0c1bbf6 380 YD = 0;
nikitateggi 0:c47fb0c1bbf6 381 AnalogIn XR(PTB0);
nikitateggi 0:c47fb0c1bbf6 382 XL.mode(PullNone);
nikitateggi 0:c47fb0c1bbf6 383 return XR.read_u16();
nikitateggi 0:c47fb0c1bbf6 384 }
nikitateggi 0:c47fb0c1bbf6 385
nikitateggi 4:6bd81bb1790d 386
nikitateggi 4:6bd81bb1790d 387 int readTouchX(void) // // read the X co-ordinate
nikitateggi 4:6bd81bb1790d 388 {
nikitateggi 0:c47fb0c1bbf6 389 DigitalOut XR(PTB0);
nikitateggi 0:c47fb0c1bbf6 390 DigitalIn YD(PTD6);
nikitateggi 0:c47fb0c1bbf6 391 DigitalOut XL(PTD7);
nikitateggi 0:c47fb0c1bbf6 392
nikitateggi 0:c47fb0c1bbf6 393 XR = 1;
nikitateggi 0:c47fb0c1bbf6 394 XL = 0;
nikitateggi 0:c47fb0c1bbf6 395 AnalogIn YU(PTC0);
nikitateggi 0:c47fb0c1bbf6 396 YD.mode(PullNone);
nikitateggi 0:c47fb0c1bbf6 397 return YU.read_u16();
nikitateggi 0:c47fb0c1bbf6 398 }
nikitateggi 0:c47fb0c1bbf6 399
nikitateggi 4:6bd81bb1790d 400 void EnableTouch(void) // Enable touch
nikitateggi 4:6bd81bb1790d 401 {
nikitateggi 0:c47fb0c1bbf6 402
nikitateggi 0:c47fb0c1bbf6 403 DigitalIn YD(PTD6);
nikitateggi 0:c47fb0c1bbf6 404 DigitalOut XL(PTD7);
nikitateggi 0:c47fb0c1bbf6 405 DigitalIn YU(PTC0);
nikitateggi 0:c47fb0c1bbf6 406 DigitalIn XR(PTB0);
nikitateggi 0:c47fb0c1bbf6 407 XL=0;
nikitateggi 0:c47fb0c1bbf6 408 YD.mode(PullUp);
nikitateggi 0:c47fb0c1bbf6 409 YU.mode(PullNone);
nikitateggi 0:c47fb0c1bbf6 410 XR.mode(PullNone);
nikitateggi 4:6bd81bb1790d 411 i=1;
nikitateggi 0:c47fb0c1bbf6 412 Touch_D.fall(&touch1);
nikitateggi 0:c47fb0c1bbf6 413 Touch_D.enable_irq();
nikitateggi 0:c47fb0c1bbf6 414
nikitateggi 4:6bd81bb1790d 415 }
nikitateggi 4:6bd81bb1790d 416
nikitateggi 4:6bd81bb1790d 417 void DisableTouch (void) // Disable touch
nikitateggi 4:6bd81bb1790d 418 {
nikitateggi 0:c47fb0c1bbf6 419 Touch_D.disable_irq();
nikitateggi 0:c47fb0c1bbf6 420 i=0;
nikitateggi 0:c47fb0c1bbf6 421 DigitalOut YD(PTD6);
nikitateggi 0:c47fb0c1bbf6 422 DigitalOut XL(PTD7);
nikitateggi 0:c47fb0c1bbf6 423 DigitalOut YU(PTC0);
nikitateggi 0:c47fb0c1bbf6 424 DigitalOut XR(PTB0);
nikitateggi 0:c47fb0c1bbf6 425 }
nikitateggi 29:7edc76b15e3d 426 */
nikitateggi 29:7edc76b15e3d 427
nikitateggi 29:7edc76b15e3d 428
nikitateggi 29:7edc76b15e3d 429 //TOUCH Functionalities for new display//
nikitateggi 29:7edc76b15e3d 430
nikitateggi 29:7edc76b15e3d 431 int readTouchY(void) // read the Y co-ordinate
nikitateggi 29:7edc76b15e3d 432 {
nikitateggi 29:7edc76b15e3d 433 DigitalOut YD(PTD2);
nikitateggi 29:7edc76b15e3d 434 DigitalIn XL(PTC13);
nikitateggi 29:7edc76b15e3d 435 DigitalOut YU(PTC0);
nikitateggi 29:7edc76b15e3d 436 YU = 1;
nikitateggi 29:7edc76b15e3d 437 YD = 0;
nikitateggi 29:7edc76b15e3d 438 AnalogIn XR(PTB0);
nikitateggi 29:7edc76b15e3d 439 XL.mode(PullNone);
nikitateggi 29:7edc76b15e3d 440 return XR.read_u16();
nikitateggi 29:7edc76b15e3d 441 }
nikitateggi 0:c47fb0c1bbf6 442
nikitateggi 0:c47fb0c1bbf6 443
nikitateggi 29:7edc76b15e3d 444 int readTouchX(void) // // read the X co-ordinate
nikitateggi 29:7edc76b15e3d 445 {
nikitateggi 29:7edc76b15e3d 446 DigitalOut XR(PTB0);
nikitateggi 29:7edc76b15e3d 447 DigitalIn YD(PTD2);
nikitateggi 29:7edc76b15e3d 448 DigitalOut XL(PTC13);
nikitateggi 29:7edc76b15e3d 449
nikitateggi 29:7edc76b15e3d 450 XR = 1;
nikitateggi 29:7edc76b15e3d 451 XL = 0;
nikitateggi 29:7edc76b15e3d 452 AnalogIn YU(PTC0);
nikitateggi 29:7edc76b15e3d 453 YD.mode(PullNone);
nikitateggi 29:7edc76b15e3d 454 return YU.read_u16();
nikitateggi 29:7edc76b15e3d 455 }
nikitateggi 29:7edc76b15e3d 456
nikitateggi 29:7edc76b15e3d 457 void EnableTouch(void) // Enable touch
nikitateggi 29:7edc76b15e3d 458 {
nikitateggi 29:7edc76b15e3d 459
nikitateggi 29:7edc76b15e3d 460 DigitalIn YD(PTD2);
nikitateggi 29:7edc76b15e3d 461 DigitalOut XL(PTC13);
nikitateggi 29:7edc76b15e3d 462 DigitalIn YU(PTC0);
nikitateggi 29:7edc76b15e3d 463 DigitalIn XR(PTB0);
nikitateggi 29:7edc76b15e3d 464 XL=0;
nikitateggi 29:7edc76b15e3d 465 YD.mode(PullUp);
nikitateggi 29:7edc76b15e3d 466 YU.mode(PullNone);
nikitateggi 29:7edc76b15e3d 467 XR.mode(PullNone);
nikitateggi 29:7edc76b15e3d 468 i=1;
nikitateggi 29:7edc76b15e3d 469 Touch_D.fall(&touch1);
nikitateggi 29:7edc76b15e3d 470 Touch_D.enable_irq();
nikitateggi 29:7edc76b15e3d 471
nikitateggi 29:7edc76b15e3d 472 }
nikitateggi 29:7edc76b15e3d 473
nikitateggi 29:7edc76b15e3d 474 void DisableTouch (void) // Disable touch
nikitateggi 29:7edc76b15e3d 475 {
nikitateggi 29:7edc76b15e3d 476 Touch_D.disable_irq();
nikitateggi 29:7edc76b15e3d 477 i=0;
nikitateggi 29:7edc76b15e3d 478 DigitalOut YD(PTD2);
nikitateggi 29:7edc76b15e3d 479 DigitalOut XL(PTC13);
nikitateggi 29:7edc76b15e3d 480 DigitalOut YU(PTC0);
nikitateggi 29:7edc76b15e3d 481 DigitalOut XR(PTB0);
avp2417 37:92fcbf22bf91 482 }
avp2417 37:92fcbf22bf91 483
avp2417 37:92fcbf22bf91 484 uint32_t get_timer()
avp2417 37:92fcbf22bf91 485 {
avp2417 37:92fcbf22bf91 486 kc.printf("time=%d",t1.read_ms());
avp2417 37:92fcbf22bf91 487 return t1.read_ms();
avp2417 37:92fcbf22bf91 488 }
avp2417 37:92fcbf22bf91 489
avp2417 37:92fcbf22bf91 490
avp2417 37:92fcbf22bf91 491
avp2417 37:92fcbf22bf91 492 void touch_func_with_timer(uint32_t time_ms)
avp2417 37:92fcbf22bf91 493 {
avp2417 37:92fcbf22bf91 494 t1.reset();
avp2417 37:92fcbf22bf91 495 while(i==1)
avp2417 37:92fcbf22bf91 496 {
avp2417 37:92fcbf22bf91 497 t1.start();
avp2417 37:92fcbf22bf91 498 if (get_timer()<time_ms)
avp2417 37:92fcbf22bf91 499 {
avp2417 37:92fcbf22bf91 500 while(Touch_D)//touch detection
avp2417 37:92fcbf22bf91 501 {
avp2417 37:92fcbf22bf91 502 wait_ms(200); ///wait for debounce check
avp2417 37:92fcbf22bf91 503 if (Touch_D)
avp2417 37:92fcbf22bf91 504 {
avp2417 37:92fcbf22bf91 505 Touch_D.fall(&touch1);
avp2417 37:92fcbf22bf91 506
avp2417 37:92fcbf22bf91 507 //determine the touch co-ordinates
avp2417 37:92fcbf22bf91 508 break;
avp2417 37:92fcbf22bf91 509 }
avp2417 37:92fcbf22bf91 510 DisableTouch();
avp2417 37:92fcbf22bf91 511 //kc.printf("touch");
avp2417 37:92fcbf22bf91 512
avp2417 37:92fcbf22bf91 513 }
avp2417 37:92fcbf22bf91 514 }
avp2417 37:92fcbf22bf91 515 else
avp2417 37:92fcbf22bf91 516 {
avp2417 37:92fcbf22bf91 517 t1.stop();
avp2417 37:92fcbf22bf91 518 t1.reset();
avp2417 37:92fcbf22bf91 519 DisableTouch();
avp2417 37:92fcbf22bf91 520 no_touch();
avp2417 37:92fcbf22bf91 521 break;
avp2417 37:92fcbf22bf91 522
avp2417 37:92fcbf22bf91 523 }
avp2417 37:92fcbf22bf91 524
avp2417 37:92fcbf22bf91 525 }
avp2417 37:92fcbf22bf91 526 }