lecture de carte RFID et vérification par code PIN
Dependencies: BSP_DISCO_F746NG
main.cpp@5:03d1097de75e, 2022-06-16 (annotated)
- Committer:
- maximej
- Date:
- Thu Jun 16 09:20:02 2022 +0000
- Revision:
- 5:03d1097de75e
- Parent:
- 4:1e2613cedb60
JANEZ_Maxime_rendu_final
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bcostm | 0:9933f7db9a9b | 1 | #include "mbed.h" |
Jerome Coutant
3:9f66aabe7b3b
|
2
|
#include "stm32746g_discovery_lcd.h"
|
|
Jerome Coutant
3:9f66aabe7b3b
|
3
|
#include "stm32746g_discovery_ts.h"
|
|
bcostm | 0:9933f7db9a9b | 4 | |
maximej | 4:1e2613cedb60 | 5 | |
maximej | 4:1e2613cedb60 | 6 | BufferedSerial RFID(D1, D0, 9600); // initialisation de la liaison TX RX |
maximej | 5:03d1097de75e | 7 | //AnalogOut gache(A0); |
maximej | 4:1e2613cedb60 | 8 | |
bcostm | 0:9933f7db9a9b | 9 | int main() |
bcostm | 0:9933f7db9a9b | 10 | { |
maximej | 5:03d1097de75e | 11 | // variable de detection tactile |
bcostm | 0:9933f7db9a9b | 12 | TS_StateTypeDef TS_State; |
bcostm | 0:9933f7db9a9b | 13 | uint16_t x, y; |
maximej | 4:1e2613cedb60 | 14 | uint16_t X, Y; |
bcostm | 0:9933f7db9a9b | 15 | uint8_t status; |
maximej | 4:1e2613cedb60 | 16 | |
maximej | 5:03d1097de75e | 17 | // init de la carte |
Jerome Coutant
3:9f66aabe7b3b
|
18
|
BSP_LCD_Init();
|
|
Jerome Coutant
3:9f66aabe7b3b
|
19
|
BSP_LCD_LayerDefaultInit(LTDC_ACTIVE_LAYER, LCD_FB_START_ADDRESS);
|
|
Jerome Coutant
3:9f66aabe7b3b
|
20
|
BSP_LCD_SelectLayer(LTDC_ACTIVE_LAYER);
|
|
bcostm | 0:9933f7db9a9b | 21 | |
Jerome Coutant
3:9f66aabe7b3b
|
22
|
BSP_LCD_DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN DEMO", CENTER_MODE);
|
|
Jerome Coutant
3:9f66aabe7b3b
|
23
|
HAL_Delay(1000);
|
|
Jerome Coutant
3:9f66aabe7b3b
|
24
|
|
|
Jerome Coutant
3:9f66aabe7b3b
|
25
|
status = BSP_TS_Init(BSP_LCD_GetXSize(), BSP_LCD_GetYSize());
|
|
maximej | 4:1e2613cedb60 | 26 | if (status != TS_OK) |
maximej | 4:1e2613cedb60 | 27 | { |
Jerome Coutant
3:9f66aabe7b3b
|
28
|
BSP_LCD_Clear(LCD_COLOR_RED);
|
|
Jerome Coutant
3:9f66aabe7b3b
|
29
|
BSP_LCD_SetBackColor(LCD_COLOR_RED);
|
|
Jerome Coutant
3:9f66aabe7b3b
|
30
|
BSP_LCD_SetTextColor(LCD_COLOR_WHITE);
|
|
Jerome Coutant
3:9f66aabe7b3b
|
31
|
BSP_LCD_DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN INIT FAIL", CENTER_MODE);
|
|
maximej | 4:1e2613cedb60 | 32 | } |
maximej | 4:1e2613cedb60 | 33 | else |
maximej | 4:1e2613cedb60 | 34 | { |
Jerome Coutant
3:9f66aabe7b3b
|
35
|
BSP_LCD_Clear(LCD_COLOR_GREEN);
|
|
Jerome Coutant
3:9f66aabe7b3b
|
36
|
BSP_LCD_SetBackColor(LCD_COLOR_GREEN);
|
|
Jerome Coutant
3:9f66aabe7b3b
|
37
|
BSP_LCD_SetTextColor(LCD_COLOR_WHITE);
|
|
Jerome Coutant
3:9f66aabe7b3b
|
38
|
BSP_LCD_DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN INIT OK", CENTER_MODE);
|
|
bcostm | 0:9933f7db9a9b | 39 | } |
bcostm | 0:9933f7db9a9b | 40 | |
Jerome Coutant
3:9f66aabe7b3b
|
41
|
HAL_Delay(1000);
|
|
Jerome Coutant
3:9f66aabe7b3b
|
42
|
BSP_LCD_SetFont(&Font12);
|
|
maximej | 4:1e2613cedb60 | 43 | BSP_LCD_Clear(LCD_COLOR_BLACK); |
maximej | 4:1e2613cedb60 | 44 | BSP_LCD_SetBackColor(LCD_COLOR_BLACK); |
Jerome Coutant
3:9f66aabe7b3b
|
45
|
BSP_LCD_SetTextColor(LCD_COLOR_WHITE);
|
|
maximej | 4:1e2613cedb60 | 46 | |
maximej | 5:03d1097de75e | 47 | // déclaration des variables |
maximej | 4:1e2613cedb60 | 48 | |
maximej | 5:03d1097de75e | 49 | int cara1 = 0; // caractère du code pin |
maximej | 4:1e2613cedb60 | 50 | int cara2 = 0; |
maximej | 4:1e2613cedb60 | 51 | |
maximej | 5:03d1097de75e | 52 | uint8_t tab1[5]; // stokage des caractères pour les cases |
maximej | 4:1e2613cedb60 | 53 | uint8_t tab2[5]; |
maximej | 4:1e2613cedb60 | 54 | |
maximej | 5:03d1097de75e | 55 | int code = 0; // si code pin bon = 1 |
maximej | 5:03d1097de75e | 56 | int carteRFID = 0; // si pass bon = 1 |
bcostm | 0:9933f7db9a9b | 57 | |
maximej | 4:1e2613cedb60 | 58 | while(1) |
maximej | 4:1e2613cedb60 | 59 | { |
maximej | 4:1e2613cedb60 | 60 | // écriture des texte sur l'écran situer dans les bouttons |
maximej | 4:1e2613cedb60 | 61 | |
maximej | 4:1e2613cedb60 | 62 | BSP_LCD_DisplayStringAt(40,170 ,(uint8_t *)" 1 ", LEFT_MODE); |
maximej | 4:1e2613cedb60 | 63 | BSP_LCD_DisplayStringAt(115,170 ,(uint8_t *)" 2 ", LEFT_MODE); |
maximej | 4:1e2613cedb60 | 64 | BSP_LCD_DisplayStringAt(190,170 ,(uint8_t *)" 3 ", LEFT_MODE); |
maximej | 4:1e2613cedb60 | 65 | BSP_LCD_DisplayStringAt(265,170 ,(uint8_t *)" 4 ", LEFT_MODE); |
maximej | 4:1e2613cedb60 | 66 | BSP_LCD_DisplayStringAt(340,170 ,(uint8_t *)" 5 ", LEFT_MODE); |
maximej | 4:1e2613cedb60 | 67 | BSP_LCD_DisplayStringAt(40,230 ,(uint8_t *)" 6 ", LEFT_MODE); |
maximej | 4:1e2613cedb60 | 68 | BSP_LCD_DisplayStringAt(115,230 ,(uint8_t *)" 7 ", LEFT_MODE); |
maximej | 4:1e2613cedb60 | 69 | BSP_LCD_DisplayStringAt(190,230 ,(uint8_t *)" 8 ", LEFT_MODE); |
maximej | 4:1e2613cedb60 | 70 | BSP_LCD_DisplayStringAt(265,230 ,(uint8_t *)" 9 ", LEFT_MODE); |
maximej | 4:1e2613cedb60 | 71 | BSP_LCD_DisplayStringAt(326,230 ,(uint8_t *)" CLEAR ", LEFT_MODE); |
maximej | 4:1e2613cedb60 | 72 | |
maximej | 5:03d1097de75e | 73 | //Creation des 2 zones du code pin |
maximej | 4:1e2613cedb60 | 74 | |
maximej | 4:1e2613cedb60 | 75 | BSP_LCD_DrawRect(80,75,40,40);// zone 1 |
maximej | 4:1e2613cedb60 | 76 | BSP_LCD_DrawRect(150,75,40,40);// zone 2 |
maximej | 4:1e2613cedb60 | 77 | |
maximej | 4:1e2613cedb60 | 78 | //Creation des bouttons 1 à 9 + clear |
maximej | 4:1e2613cedb60 | 79 | |
maximej | 4:1e2613cedb60 | 80 | BSP_LCD_DrawRect(25,150,50,50); // 1 |
maximej | 4:1e2613cedb60 | 81 | BSP_LCD_DrawRect(100,150,50,50);// 2 |
maximej | 4:1e2613cedb60 | 82 | BSP_LCD_DrawRect(175,150,50,50);// 3 |
maximej | 4:1e2613cedb60 | 83 | BSP_LCD_DrawRect(250,150,50,50);// 4 |
maximej | 4:1e2613cedb60 | 84 | BSP_LCD_DrawRect(325,150,50,50);// 5 |
maximej | 4:1e2613cedb60 | 85 | BSP_LCD_DrawRect(25,210,50,50);// 6 |
maximej | 4:1e2613cedb60 | 86 | BSP_LCD_DrawRect(100,210,50,50);// 7 |
maximej | 4:1e2613cedb60 | 87 | BSP_LCD_DrawRect(175,210,50,50);// 8 |
maximej | 4:1e2613cedb60 | 88 | BSP_LCD_DrawRect(250,210,50,50);// 9 |
maximej | 4:1e2613cedb60 | 89 | BSP_LCD_DrawRect(325,210,50,50);// clear |
maximej | 4:1e2613cedb60 | 90 | |
maximej | 4:1e2613cedb60 | 91 | BSP_LCD_DisplayStringAt(0,LINE(1),(uint8_t *)"PROJET GACHE, JANEZ MAXIME", CENTER_MODE); |
maximej | 4:1e2613cedb60 | 92 | |
maximej | 5:03d1097de75e | 93 | if(RFID.readable()) // lecture de la carte RFID |
maximej | 4:1e2613cedb60 | 94 | { |
maximej | 4:1e2613cedb60 | 95 | char buffer[100]; |
maximej | 4:1e2613cedb60 | 96 | RFID.read(buffer,100); |
maximej | 4:1e2613cedb60 | 97 | printf("%s\r\n", buffer); |
maximej | 5:03d1097de75e | 98 | //BSP_LCD_DisplayStringAt(40,50 ,(uint8_t *)buffer, LEFT_MODE); |
maximej | 4:1e2613cedb60 | 99 | |
maximej | 4:1e2613cedb60 | 100 | if ( buffer[0] == '0' && buffer[1] == 'D' && buffer[2] == '0' && buffer [3] == '0') |
maximej | 4:1e2613cedb60 | 101 | { |
maximej | 4:1e2613cedb60 | 102 | carteRFID = 1; |
maximej | 5:03d1097de75e | 103 | BSP_LCD_DisplayStringAt(0, LINE(3), (uint8_t *)" PASS CORRECT ", CENTER_MODE); |
maximej | 5:03d1097de75e | 104 | } |
maximej | 5:03d1097de75e | 105 | else |
maximej | 5:03d1097de75e | 106 | { |
maximej | 5:03d1097de75e | 107 | carteRFID = 0; |
maximej | 5:03d1097de75e | 108 | BSP_LCD_DisplayStringAt(0, LINE(3), (uint8_t *)"PASS INCORRECT", CENTER_MODE); |
maximej | 5:03d1097de75e | 109 | } |
maximej | 4:1e2613cedb60 | 110 | } |
maximej | 4:1e2613cedb60 | 111 | |
maximej | 5:03d1097de75e | 112 | // choix du 1er caractère du code pin |
maximej | 4:1e2613cedb60 | 113 | |
maximej | 4:1e2613cedb60 | 114 | if(cara1 == 0 && carteRFID == 1) |
maximej | 4:1e2613cedb60 | 115 | { |
maximej | 4:1e2613cedb60 | 116 | if (TS_State.touchDetected) |
maximej | 4:1e2613cedb60 | 117 | { |
maximej | 4:1e2613cedb60 | 118 | if(X > 25 && X < 75) |
maximej | 4:1e2613cedb60 | 119 | { |
maximej | 4:1e2613cedb60 | 120 | if(Y > 150 && Y < 200) |
maximej | 4:1e2613cedb60 | 121 | { |
maximej | 4:1e2613cedb60 | 122 | cara1 = 1; |
maximej | 4:1e2613cedb60 | 123 | } |
maximej | 4:1e2613cedb60 | 124 | } |
maximej | 4:1e2613cedb60 | 125 | } |
maximej | 4:1e2613cedb60 | 126 | |
maximej | 4:1e2613cedb60 | 127 | if (TS_State.touchDetected) |
maximej | 4:1e2613cedb60 | 128 | { |
maximej | 4:1e2613cedb60 | 129 | if(X > 100 && X < 150) |
maximej | 4:1e2613cedb60 | 130 | { |
maximej | 4:1e2613cedb60 | 131 | if(Y > 150 && Y < 200) |
maximej | 4:1e2613cedb60 | 132 | { |
maximej | 4:1e2613cedb60 | 133 | cara1 = 2; |
maximej | 4:1e2613cedb60 | 134 | } |
maximej | 4:1e2613cedb60 | 135 | } |
maximej | 4:1e2613cedb60 | 136 | } |
maximej | 4:1e2613cedb60 | 137 | |
maximej | 4:1e2613cedb60 | 138 | if (TS_State.touchDetected) |
maximej | 4:1e2613cedb60 | 139 | { |
maximej | 4:1e2613cedb60 | 140 | if(X > 175 && X < 225) |
maximej | 4:1e2613cedb60 | 141 | { |
maximej | 4:1e2613cedb60 | 142 | if(Y > 150 && Y < 200) |
maximej | 4:1e2613cedb60 | 143 | { |
maximej | 4:1e2613cedb60 | 144 | cara1 = 3; |
maximej | 4:1e2613cedb60 | 145 | } |
maximej | 4:1e2613cedb60 | 146 | } |
maximej | 4:1e2613cedb60 | 147 | } |
maximej | 4:1e2613cedb60 | 148 | |
maximej | 4:1e2613cedb60 | 149 | if (TS_State.touchDetected) |
maximej | 4:1e2613cedb60 | 150 | { |
maximej | 4:1e2613cedb60 | 151 | if(X > 250 && X < 300) |
maximej | 4:1e2613cedb60 | 152 | { |
maximej | 4:1e2613cedb60 | 153 | if(Y > 150 && Y < 200) |
maximej | 4:1e2613cedb60 | 154 | { |
maximej | 4:1e2613cedb60 | 155 | cara1 = 4; |
maximej | 4:1e2613cedb60 | 156 | } |
maximej | 4:1e2613cedb60 | 157 | } |
maximej | 4:1e2613cedb60 | 158 | } |
maximej | 4:1e2613cedb60 | 159 | |
maximej | 4:1e2613cedb60 | 160 | if (TS_State.touchDetected) |
maximej | 4:1e2613cedb60 | 161 | { |
maximej | 4:1e2613cedb60 | 162 | if(X > 325 && X < 375) |
maximej | 4:1e2613cedb60 | 163 | { |
maximej | 4:1e2613cedb60 | 164 | if(Y > 150 && Y < 200) |
maximej | 4:1e2613cedb60 | 165 | { |
maximej | 4:1e2613cedb60 | 166 | cara1 = 5; |
maximej | 4:1e2613cedb60 | 167 | } |
maximej | 4:1e2613cedb60 | 168 | } |
maximej | 4:1e2613cedb60 | 169 | } |
maximej | 4:1e2613cedb60 | 170 | |
maximej | 4:1e2613cedb60 | 171 | if (TS_State.touchDetected) |
maximej | 4:1e2613cedb60 | 172 | { |
maximej | 4:1e2613cedb60 | 173 | if(X > 25 && X < 75) |
maximej | 4:1e2613cedb60 | 174 | { |
maximej | 4:1e2613cedb60 | 175 | if(Y > 210 && Y < 260) |
maximej | 4:1e2613cedb60 | 176 | { |
maximej | 4:1e2613cedb60 | 177 | cara1 = 6; |
maximej | 4:1e2613cedb60 | 178 | } |
maximej | 4:1e2613cedb60 | 179 | } |
maximej | 4:1e2613cedb60 | 180 | } |
maximej | 4:1e2613cedb60 | 181 | |
maximej | 4:1e2613cedb60 | 182 | if (TS_State.touchDetected) |
maximej | 4:1e2613cedb60 | 183 | { |
maximej | 4:1e2613cedb60 | 184 | if(X > 100 && X < 150) |
maximej | 4:1e2613cedb60 | 185 | { |
maximej | 4:1e2613cedb60 | 186 | if(Y > 210 && Y < 260) |
maximej | 4:1e2613cedb60 | 187 | { |
maximej | 4:1e2613cedb60 | 188 | cara1 = 7; |
maximej | 4:1e2613cedb60 | 189 | } |
maximej | 4:1e2613cedb60 | 190 | } |
maximej | 4:1e2613cedb60 | 191 | } |
bcostm | 0:9933f7db9a9b | 192 | |
maximej | 4:1e2613cedb60 | 193 | if (TS_State.touchDetected) |
maximej | 4:1e2613cedb60 | 194 | { |
maximej | 4:1e2613cedb60 | 195 | if(X > 175 && X < 225) |
maximej | 4:1e2613cedb60 | 196 | { |
maximej | 4:1e2613cedb60 | 197 | if(Y > 210 && Y < 260) |
maximej | 4:1e2613cedb60 | 198 | { |
maximej | 4:1e2613cedb60 | 199 | cara1 = 8; |
maximej | 4:1e2613cedb60 | 200 | } |
maximej | 4:1e2613cedb60 | 201 | } |
maximej | 4:1e2613cedb60 | 202 | } |
maximej | 4:1e2613cedb60 | 203 | |
maximej | 4:1e2613cedb60 | 204 | if (TS_State.touchDetected) |
maximej | 4:1e2613cedb60 | 205 | { |
maximej | 4:1e2613cedb60 | 206 | if(X > 250 && X < 300) |
maximej | 4:1e2613cedb60 | 207 | { |
maximej | 4:1e2613cedb60 | 208 | if(Y > 210 && Y < 260) |
maximej | 4:1e2613cedb60 | 209 | { |
maximej | 4:1e2613cedb60 | 210 | cara1 = 9; |
maximej | 4:1e2613cedb60 | 211 | } |
maximej | 4:1e2613cedb60 | 212 | } |
maximej | 4:1e2613cedb60 | 213 | } |
maximej | 4:1e2613cedb60 | 214 | |
maximej | 4:1e2613cedb60 | 215 | if (TS_State.touchDetected) |
maximej | 4:1e2613cedb60 | 216 | { |
maximej | 4:1e2613cedb60 | 217 | if(X > 325 && X < 375) |
maximej | 4:1e2613cedb60 | 218 | { |
maximej | 4:1e2613cedb60 | 219 | if(Y > 210 && Y < 260) |
maximej | 4:1e2613cedb60 | 220 | { |
maximej | 5:03d1097de75e | 221 | // clear des 2 caratères |
maximej | 4:1e2613cedb60 | 222 | cara1 = 0; |
maximej | 4:1e2613cedb60 | 223 | cara2 = 0; |
maximej | 4:1e2613cedb60 | 224 | } |
maximej | 4:1e2613cedb60 | 225 | } |
maximej | 4:1e2613cedb60 | 226 | } |
maximej | 4:1e2613cedb60 | 227 | } |
maximej | 4:1e2613cedb60 | 228 | |
maximej | 4:1e2613cedb60 | 229 | // écriture du 1er caractère dans la case 1 |
maximej | 4:1e2613cedb60 | 230 | sprintf((char*)tab1, "%d" , cara1); |
maximej | 4:1e2613cedb60 | 231 | BSP_LCD_DisplayStringAt(95,95 ,(uint8_t *)&tab1, LEFT_MODE); |
maximej | 4:1e2613cedb60 | 232 | |
maximej | 5:03d1097de75e | 233 | |
maximej | 5:03d1097de75e | 234 | // choix du 2nd caractère du code pin |
maximej | 4:1e2613cedb60 | 235 | |
maximej | 4:1e2613cedb60 | 236 | if(cara1 != 0) |
maximej | 4:1e2613cedb60 | 237 | { |
maximej | 4:1e2613cedb60 | 238 | if (TS_State.touchDetected) |
maximej | 4:1e2613cedb60 | 239 | { |
maximej | 4:1e2613cedb60 | 240 | if(X > 25 && X < 75) |
maximej | 4:1e2613cedb60 | 241 | { |
maximej | 4:1e2613cedb60 | 242 | if(Y > 150 && Y < 200) |
maximej | 4:1e2613cedb60 | 243 | { |
maximej | 4:1e2613cedb60 | 244 | cara2 = 1; |
maximej | 4:1e2613cedb60 | 245 | } |
maximej | 4:1e2613cedb60 | 246 | } |
maximej | 4:1e2613cedb60 | 247 | } |
maximej | 4:1e2613cedb60 | 248 | |
maximej | 4:1e2613cedb60 | 249 | if (TS_State.touchDetected) |
maximej | 4:1e2613cedb60 | 250 | { |
maximej | 4:1e2613cedb60 | 251 | if(X > 100 && X < 150) |
maximej | 4:1e2613cedb60 | 252 | { |
maximej | 4:1e2613cedb60 | 253 | if(Y > 150 && Y < 200) |
maximej | 4:1e2613cedb60 | 254 | { |
maximej | 4:1e2613cedb60 | 255 | cara2 = 2; |
maximej | 4:1e2613cedb60 | 256 | } |
maximej | 4:1e2613cedb60 | 257 | } |
maximej | 4:1e2613cedb60 | 258 | } |
maximej | 4:1e2613cedb60 | 259 | |
maximej | 4:1e2613cedb60 | 260 | if (TS_State.touchDetected) |
maximej | 4:1e2613cedb60 | 261 | { |
maximej | 4:1e2613cedb60 | 262 | if(X > 175 && X < 225) |
maximej | 4:1e2613cedb60 | 263 | { |
maximej | 4:1e2613cedb60 | 264 | if(Y > 150 && Y < 200) |
maximej | 4:1e2613cedb60 | 265 | { |
maximej | 4:1e2613cedb60 | 266 | cara2 = 3; |
maximej | 4:1e2613cedb60 | 267 | } |
maximej | 4:1e2613cedb60 | 268 | } |
maximej | 4:1e2613cedb60 | 269 | } |
maximej | 4:1e2613cedb60 | 270 | |
maximej | 4:1e2613cedb60 | 271 | if (TS_State.touchDetected) |
maximej | 4:1e2613cedb60 | 272 | { |
maximej | 4:1e2613cedb60 | 273 | if(X > 250 && X < 300) |
maximej | 4:1e2613cedb60 | 274 | { |
maximej | 4:1e2613cedb60 | 275 | if(Y > 150 && Y < 200) |
maximej | 4:1e2613cedb60 | 276 | { |
maximej | 4:1e2613cedb60 | 277 | cara2 = 4; |
maximej | 4:1e2613cedb60 | 278 | } |
maximej | 4:1e2613cedb60 | 279 | } |
maximej | 4:1e2613cedb60 | 280 | } |
maximej | 4:1e2613cedb60 | 281 | |
maximej | 4:1e2613cedb60 | 282 | if (TS_State.touchDetected) |
maximej | 4:1e2613cedb60 | 283 | { |
maximej | 4:1e2613cedb60 | 284 | if(X > 325 && X < 375) |
maximej | 4:1e2613cedb60 | 285 | { |
maximej | 4:1e2613cedb60 | 286 | if(Y > 150 && Y < 200) |
maximej | 4:1e2613cedb60 | 287 | { |
maximej | 4:1e2613cedb60 | 288 | cara2 = 5; |
maximej | 4:1e2613cedb60 | 289 | } |
maximej | 4:1e2613cedb60 | 290 | } |
maximej | 4:1e2613cedb60 | 291 | } |
maximej | 4:1e2613cedb60 | 292 | |
maximej | 4:1e2613cedb60 | 293 | if (TS_State.touchDetected) |
maximej | 4:1e2613cedb60 | 294 | { |
maximej | 4:1e2613cedb60 | 295 | if(X > 25 && X < 75) |
maximej | 4:1e2613cedb60 | 296 | { |
maximej | 4:1e2613cedb60 | 297 | if(Y > 210 && Y < 260) |
maximej | 4:1e2613cedb60 | 298 | { |
maximej | 4:1e2613cedb60 | 299 | cara2 = 6; |
maximej | 4:1e2613cedb60 | 300 | } |
maximej | 4:1e2613cedb60 | 301 | } |
maximej | 4:1e2613cedb60 | 302 | } |
maximej | 4:1e2613cedb60 | 303 | |
maximej | 4:1e2613cedb60 | 304 | if (TS_State.touchDetected) |
maximej | 4:1e2613cedb60 | 305 | { |
maximej | 4:1e2613cedb60 | 306 | if(X > 100 && X < 150) |
maximej | 4:1e2613cedb60 | 307 | { |
maximej | 4:1e2613cedb60 | 308 | if(Y > 210 && Y < 260) |
maximej | 4:1e2613cedb60 | 309 | { |
maximej | 4:1e2613cedb60 | 310 | cara2 = 7; |
maximej | 4:1e2613cedb60 | 311 | } |
maximej | 4:1e2613cedb60 | 312 | } |
maximej | 4:1e2613cedb60 | 313 | } |
maximej | 4:1e2613cedb60 | 314 | |
maximej | 4:1e2613cedb60 | 315 | if (TS_State.touchDetected) |
maximej | 4:1e2613cedb60 | 316 | { |
maximej | 4:1e2613cedb60 | 317 | if(X > 175 && X < 225) |
maximej | 4:1e2613cedb60 | 318 | { |
maximej | 4:1e2613cedb60 | 319 | if(Y > 210 && Y < 260) |
maximej | 4:1e2613cedb60 | 320 | { |
maximej | 4:1e2613cedb60 | 321 | cara2 = 8; |
maximej | 4:1e2613cedb60 | 322 | } |
maximej | 4:1e2613cedb60 | 323 | } |
maximej | 4:1e2613cedb60 | 324 | } |
maximej | 4:1e2613cedb60 | 325 | |
maximej | 4:1e2613cedb60 | 326 | if (TS_State.touchDetected) |
maximej | 4:1e2613cedb60 | 327 | { |
maximej | 4:1e2613cedb60 | 328 | if(X > 250 && X < 300) |
maximej | 4:1e2613cedb60 | 329 | { |
maximej | 4:1e2613cedb60 | 330 | if(Y > 210 && Y < 260) |
maximej | 4:1e2613cedb60 | 331 | { |
maximej | 4:1e2613cedb60 | 332 | cara2 = 9; |
maximej | 4:1e2613cedb60 | 333 | } |
maximej | 4:1e2613cedb60 | 334 | } |
maximej | 4:1e2613cedb60 | 335 | } |
maximej | 4:1e2613cedb60 | 336 | |
maximej | 4:1e2613cedb60 | 337 | if (TS_State.touchDetected) |
maximej | 4:1e2613cedb60 | 338 | { |
maximej | 4:1e2613cedb60 | 339 | if(X > 325 && X < 375) |
maximej | 4:1e2613cedb60 | 340 | { |
maximej | 4:1e2613cedb60 | 341 | if(Y > 210 && Y < 260) |
maximej | 4:1e2613cedb60 | 342 | { |
maximej | 4:1e2613cedb60 | 343 | cara1 = 0; |
maximej | 4:1e2613cedb60 | 344 | cara2 = 0; |
maximej | 4:1e2613cedb60 | 345 | } |
maximej | 4:1e2613cedb60 | 346 | } |
maximej | 4:1e2613cedb60 | 347 | } |
maximej | 4:1e2613cedb60 | 348 | } |
maximej | 4:1e2613cedb60 | 349 | |
maximej | 4:1e2613cedb60 | 350 | // écriture du 1er caractère dans la case 2 |
maximej | 4:1e2613cedb60 | 351 | sprintf((char*)tab2, "%d" , cara2); |
maximej | 4:1e2613cedb60 | 352 | BSP_LCD_DisplayStringAt(170,95 ,(uint8_t *)&tab2, LEFT_MODE); |
maximej | 4:1e2613cedb60 | 353 | |
maximej | 5:03d1097de75e | 354 | if (cara1 == 3 && cara2 == 9) // vérification du bon code pin |
maximej | 4:1e2613cedb60 | 355 | { |
maximej | 5:03d1097de75e | 356 | code = 1; |
maximej | 5:03d1097de75e | 357 | if ( carteRFID == 1 && code == 1) // si le pass + code bon |
maximej | 5:03d1097de75e | 358 | { |
maximej | 5:03d1097de75e | 359 | //BSP_LCD_DisplayStringAt(0, LINE(3), (uint8_t *)"CODE BON, ACCES AUTORISER", CENTER_MODE); |
maximej | 5:03d1097de75e | 360 | BSP_LCD_SetTextColor(LCD_COLOR_GREEN); |
maximej | 5:03d1097de75e | 361 | BSP_LCD_DisplayStringAt(0, LINE(5), (uint8_t *)" CODE CORRECT ", CENTER_MODE); |
maximej | 5:03d1097de75e | 362 | //gache = 1; |
maximej | 5:03d1097de75e | 363 | //HAL_Delay(1000); |
maximej | 5:03d1097de75e | 364 | |
maximej | 5:03d1097de75e | 365 | } |
maximej | 4:1e2613cedb60 | 366 | } |
maximej | 4:1e2613cedb60 | 367 | else |
maximej | 4:1e2613cedb60 | 368 | { |
maximej | 5:03d1097de75e | 369 | BSP_LCD_SetTextColor(LCD_COLOR_WHITE); |
maximej | 5:03d1097de75e | 370 | BSP_LCD_DisplayStringAt(0, LINE(5), (uint8_t *)"CODE INCORRECT", CENTER_MODE); |
maximej | 4:1e2613cedb60 | 371 | } |
maximej | 5:03d1097de75e | 372 | // détection des cordonnées tactile |
Jerome Coutant
3:9f66aabe7b3b
|
373
|
BSP_TS_GetState(&TS_State);
|
|
maximej | 4:1e2613cedb60 | 374 | X = TS_State.touchX[0]; |
maximej | 4:1e2613cedb60 | 375 | Y = TS_State.touchY[0]; |
bcostm | 0:9933f7db9a9b | 376 | } |
bcostm | 0:9933f7db9a9b | 377 | } |