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:
nikitateggi
Date:
Fri Sep 15 19:44:48 2017 +0000
Revision:
49:3ff80c4bc1be
Parent:
41:1141a75eacc4
Child:
51:1a4693774b60
Merged code -2; it includes sd card read, delete , entering into the debug mode and lpf for ecg - need to be tested

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