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 10:33:17 2017 +0000
Revision:
52:7d9ff7781bdc
Parent:
51:1a4693774b60
Child:
53:cc6e65480a67
Modified the bluetooth part. checking both ack and checksum and all the data are visible on the app.

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