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:
Wed Sep 20 07:48:55 2017 +0000
Revision:
51:1a4693774b60
Parent:
49:3ff80c4bc1be
Child:
52:7d9ff7781bdc
modifications done in debug mode. Unless a message is typed it does not go into debug mode. And debug option  is enabled only for 10 mins

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 51:1a4693774b60 104 if ((read_debug_status()== 1) && get_timer_debug()<TIMER_ENABLE_DEBUG_MODE) // checking for the debug status and timer
nikitateggi 49:3ff80c4bc1be 105 {
nikitateggi 51:1a4693774b60 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
nikitateggi 51:1a4693774b60 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 }