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:
Tue Dec 12 11:13:10 2017 +0000
Revision:
76:611154b3b597
Parent:
54:f2a413d5dffd
made separate function for hex to char

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