FT810 DISCO-429ZI

Dependencies:   BSP_DISCO_F429ZI EEPROM_DISCO_F429ZI FT810_DISCO-F429ZI GYRO_DISCO_F429ZI KEYPAD_DISCO_F429ZI LCD_DISCO_F429ZI SDRAM_DISCO_F429ZI TS_DISCO_F429ZI mbed

Committer:
mozillain
Date:
Wed Jan 10 07:08:31 2018 +0000
Revision:
1:2e00250c31c8
Parent:
0:4fcdf32ad508
FT810 DISCO-F429ZI

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mozillain 0:4fcdf32ad508 1 #include "mbed.h"
mozillain 0:4fcdf32ad508 2 #include "FT_Platform.h"
mozillain 1:2e00250c31c8 3 #include "Image.h"
mozillain 1:2e00250c31c8 4 #include "pictures.h"
mozillain 1:2e00250c31c8 5 #include "mbcrc.h"
mozillain 1:2e00250c31c8 6 #include "parameters.h"
mozillain 1:2e00250c31c8 7 #include <string>
mozillain 1:2e00250c31c8 8
mozillain 1:2e00250c31c8 9 DigitalOut ho(PF_0);
mozillain 1:2e00250c31c8 10
mozillain 1:2e00250c31c8 11 typedef enum {
mozillain 1:2e00250c31c8 12 NONE_PRESS,
mozillain 1:2e00250c31c8 13 BUTTON_1_PRESS,
mozillain 1:2e00250c31c8 14 BUTTON_2_PRESS,
mozillain 1:2e00250c31c8 15 BUTTON_3_PRESS,
mozillain 1:2e00250c31c8 16 BUTTON_LEFT,
mozillain 1:2e00250c31c8 17 BUTTON_RIGHT,
mozillain 1:2e00250c31c8 18 MENU_PRESS,
mozillain 1:2e00250c31c8 19 } pressValues;
mozillain 1:2e00250c31c8 20
mozillain 1:2e00250c31c8 21 // all screens available in app
mozillain 1:2e00250c31c8 22 typedef enum {
mozillain 1:2e00250c31c8 23 MENU_SCREEN,
mozillain 1:2e00250c31c8 24 AUTOMATIC_SCREEN,
mozillain 1:2e00250c31c8 25 MANUAL_SCREEN,
mozillain 1:2e00250c31c8 26 CALIBRATION_SCREEN,
mozillain 1:2e00250c31c8 27 } screenValues;
mozillain 1:2e00250c31c8 28
mozillain 1:2e00250c31c8 29 char pressedButton;
mozillain 1:2e00250c31c8 30 char activeScreen;
mozillain 1:2e00250c31c8 31
mozillain 0:4fcdf32ad508 32
mozillain 1:2e00250c31c8 33 void main_menu(void);
mozillain 1:2e00250c31c8 34 void LoadImagesAndFonts(void);
mozillain 1:2e00250c31c8 35 void HandleAllBitmaps(void);
mozillain 1:2e00250c31c8 36 void StartDL(void);
mozillain 1:2e00250c31c8 37 void FinishDL(void);
mozillain 1:2e00250c31c8 38 void show_logo(void);
mozillain 1:2e00250c31c8 39 void show_logo1(void);
mozillain 1:2e00250c31c8 40
mozillain 1:2e00250c31c8 41 unsigned char command[8]={0x03,0x06,0x20,0x00,0x00,0x01,0x00,0x00};
mozillain 1:2e00250c31c8 42
mozillain 1:2e00250c31c8 43 Serial RS485(PA_9, PA_10);
mozillain 1:2e00250c31c8 44 FT800 TFT( PE_6, PE_5, PE_2, PE_4, PC_13, PC_15); //(mosi, miso, sclk, ss, intr, pd );
mozillain 1:2e00250c31c8 45
mozillain 1:2e00250c31c8 46
mozillain 1:2e00250c31c8 47
mozillain 1:2e00250c31c8 48 void send_command_to_RS485(unsigned char cmd)
mozillain 1:2e00250c31c8 49 {
mozillain 1:2e00250c31c8 50 RS485.format(8, Serial::None, 1);
mozillain 1:2e00250c31c8 51 RS485.baud(9600);
mozillain 1:2e00250c31c8 52 uint16_t crc16;
mozillain 1:2e00250c31c8 53 crc16 = usMBCRC16( ( unsigned char * ) command, 6 );
mozillain 1:2e00250c31c8 54 command[5] = cmd;
mozillain 1:2e00250c31c8 55 command[6] = ( unsigned char )( crc16 >> 8 );
mozillain 1:2e00250c31c8 56 command[7] = ( unsigned char )( crc16 & 0xFF );
mozillain 1:2e00250c31c8 57
mozillain 1:2e00250c31c8 58 ho = 1; // En high
mozillain 1:2e00250c31c8 59 RS485.putc(command[0]); // slave add
mozillain 1:2e00250c31c8 60 RS485.putc(command[1]); // function code
mozillain 1:2e00250c31c8 61 RS485.putc(command[2]); // Hi PDU add
mozillain 1:2e00250c31c8 62 RS485.putc(command[3]); // low PDU add
mozillain 1:2e00250c31c8 63 RS485.putc(command[4]); // Hi N reg
mozillain 1:2e00250c31c8 64 RS485.putc(command[5]); // Lo N reg
mozillain 1:2e00250c31c8 65 RS485.putc(command[6]); // Hi CRC
mozillain 1:2e00250c31c8 66 RS485.putc(command[7]); // Lo CRC
mozillain 1:2e00250c31c8 67 ho=0; // En low
mozillain 1:2e00250c31c8 68 }
mozillain 1:2e00250c31c8 69
mozillain 1:2e00250c31c8 70 void CalibrationTS()
mozillain 1:2e00250c31c8 71 {
mozillain 1:2e00250c31c8 72 char calibration[25] = {98, 99, 0, 0, 182, 254, 255, 255, 245, 142, 248, 255, 117, 254, 255, 255, 34, 98, 0, 0, 123, 154, 248, 255}; //value for calibration TS, must be changed!!!
mozillain 1:2e00250c31c8 73 for (int i = 0; i < 24; i++) {
mozillain 1:2e00250c31c8 74 TFT.Wr8(REG_TOUCH_TRANSFORM_A + i, calibration[i]);
mozillain 1:2e00250c31c8 75 }
mozillain 1:2e00250c31c8 76 }
mozillain 1:2e00250c31c8 77
mozillain 1:2e00250c31c8 78
mozillain 1:2e00250c31c8 79 void main_menu()
mozillain 1:2e00250c31c8 80 {
mozillain 1:2e00250c31c8 81 StartDL();
mozillain 1:2e00250c31c8 82
mozillain 1:2e00250c31c8 83 TFT.DL(COLOR_RGB(0, 0, 0));
mozillain 1:2e00250c31c8 84 TFT.Text((TFT.DispWidth/2), TFT.DispHeight/24, 31, OPT_CENTERX, "Menu\0");
mozillain 1:2e00250c31c8 85
mozillain 1:2e00250c31c8 86 TFT.DL(TAG_MASK(1));
mozillain 1:2e00250c31c8 87 TFT.DL(TAG(BUTTON_1_PRESS));
mozillain 1:2e00250c31c8 88 TFT.FgColor(0x703800);
mozillain 1:2e00250c31c8 89 // if rectangle is already pressed, draw it lighter
mozillain 1:2e00250c31c8 90 //if (pressedButton == BUTTON_1_PRESS) TFT.FgColor(0x387000);
mozillain 1:2e00250c31c8 91 TFT.Button(100, 80, 600, 100, 31, 0, "Automatic mode"); //B1
mozillain 1:2e00250c31c8 92 TFT.DL(TAG_MASK(0));
mozillain 1:2e00250c31c8 93
mozillain 1:2e00250c31c8 94 TFT.DL(TAG_MASK(1));
mozillain 1:2e00250c31c8 95 TFT.DL(TAG(BUTTON_2_PRESS));
mozillain 1:2e00250c31c8 96 TFT.FgColor(0x387000);
mozillain 1:2e00250c31c8 97 TFT.Button(100, 200, 600, 100, 31, 0, "Manual mode"); //B2
mozillain 1:2e00250c31c8 98 TFT.DL(TAG_MASK(0));
mozillain 1:2e00250c31c8 99
mozillain 1:2e00250c31c8 100 TFT.DL(TAG_MASK(1));
mozillain 1:2e00250c31c8 101 TFT.DL(TAG(BUTTON_3_PRESS));
mozillain 1:2e00250c31c8 102 TFT.FgColor(0x387000);
mozillain 1:2e00250c31c8 103 TFT.Button(100, 320, 600, 100, 31, 0, "Calibration mode"); //B3
mozillain 1:2e00250c31c8 104 TFT.DL(TAG_MASK(0));
mozillain 1:2e00250c31c8 105
mozillain 1:2e00250c31c8 106
mozillain 1:2e00250c31c8 107 TFT.Text((TFT.DispWidth/4), TFT.DispHeight*7.5/8, 28, OPT_CENTERX, "Button: \0"); // draw Text with font 31
mozillain 1:2e00250c31c8 108 TFT.Number((TFT.DispWidth/2), (TFT.DispHeight*7.5/8),28,OPT_CENTERX, pressedButton);
mozillain 1:2e00250c31c8 109
mozillain 1:2e00250c31c8 110 FinishDL();
mozillain 1:2e00250c31c8 111 }
mozillain 0:4fcdf32ad508 112
mozillain 1:2e00250c31c8 113 void automatic_menu()
mozillain 1:2e00250c31c8 114 {
mozillain 1:2e00250c31c8 115 StartDL();
mozillain 1:2e00250c31c8 116
mozillain 1:2e00250c31c8 117 TFT.DL(TAG(0)); // assign TAG value 0 to everything else
mozillain 1:2e00250c31c8 118
mozillain 1:2e00250c31c8 119 TFT.DL(COLOR_RGB(0, 0, 0));
mozillain 1:2e00250c31c8 120 TFT.Text((TFT.DispWidth/2), TFT.DispHeight/24, 31, OPT_CENTERX, "Automatic mode\0");
mozillain 1:2e00250c31c8 121
mozillain 1:2e00250c31c8 122
mozillain 1:2e00250c31c8 123 //TFT.FgColor(0x703800);
mozillain 1:2e00250c31c8 124 TFT.FgColor(0x387000);
mozillain 1:2e00250c31c8 125 TFT.Button(100, 80, 100, 100, 31, 0, "<"); //B1
mozillain 1:2e00250c31c8 126 TFT.FgColor(0x387000);
mozillain 1:2e00250c31c8 127 TFT.Button(400, 80, 100, 100, 31, 0, ">"); //B2
mozillain 1:2e00250c31c8 128
mozillain 1:2e00250c31c8 129
mozillain 1:2e00250c31c8 130
mozillain 1:2e00250c31c8 131 TFT.Number((TFT.DispWidth/2), (TFT.DispHeight*7/8),31,OPT_CENTERX, pressedButton);
mozillain 1:2e00250c31c8 132
mozillain 1:2e00250c31c8 133
mozillain 1:2e00250c31c8 134 TFT.Text((TFT.DispWidth/2), 80, 31, OPT_CENTERX, "Radius (mm):\0");
mozillain 1:2e00250c31c8 135 TFT.Text((TFT.DispWidth/2), 200, 31, OPT_CENTERX, "Number:\0");
mozillain 1:2e00250c31c8 136 TFT.Text((TFT.DispWidth/2), 320, 31, OPT_CENTERX, "Run out (mm):\0");
mozillain 1:2e00250c31c8 137
mozillain 1:2e00250c31c8 138
mozillain 1:2e00250c31c8 139 FinishDL();
mozillain 1:2e00250c31c8 140 }
mozillain 1:2e00250c31c8 141
mozillain 1:2e00250c31c8 142 void manual_menu()
mozillain 1:2e00250c31c8 143 {
mozillain 1:2e00250c31c8 144 StartDL();
mozillain 1:2e00250c31c8 145
mozillain 1:2e00250c31c8 146 TFT.DL(COLOR_RGB(0, 0, 0));
mozillain 1:2e00250c31c8 147 TFT.Text((TFT.DispWidth/2), TFT.DispHeight/24, 31, OPT_CENTERX, "Manual mode\0");
mozillain 1:2e00250c31c8 148
mozillain 1:2e00250c31c8 149 //display the screen
mozillain 1:2e00250c31c8 150 FinishDL();
mozillain 1:2e00250c31c8 151 }
mozillain 1:2e00250c31c8 152
mozillain 1:2e00250c31c8 153
mozillain 1:2e00250c31c8 154 void calibration_menu()
mozillain 1:2e00250c31c8 155 {
mozillain 1:2e00250c31c8 156 StartDL();
mozillain 1:2e00250c31c8 157
mozillain 1:2e00250c31c8 158 TFT.DL(TAG(0)); // assign TAG value 0 to everything else
mozillain 1:2e00250c31c8 159
mozillain 1:2e00250c31c8 160 TFT.DL(COLOR_RGB(0, 0, 0));
mozillain 1:2e00250c31c8 161 TFT.Text((TFT.DispWidth/2), TFT.DispHeight/24, 31, OPT_CENTERX, "Calibration\0");
mozillain 1:2e00250c31c8 162
mozillain 1:2e00250c31c8 163 //display the screen
mozillain 1:2e00250c31c8 164 FinishDL();
mozillain 1:2e00250c31c8 165 }
mozillain 1:2e00250c31c8 166
mozillain 1:2e00250c31c8 167 void StartDL(void)
mozillain 1:2e00250c31c8 168 {
mozillain 1:2e00250c31c8 169 TFT.DLstart();
mozillain 1:2e00250c31c8 170 TFT.DL(CLEAR_COLOR_RGB(255, 255, 255));
mozillain 1:2e00250c31c8 171 TFT.DL(CLEAR(1, 1, 1));
mozillain 1:2e00250c31c8 172 }
mozillain 1:2e00250c31c8 173
mozillain 1:2e00250c31c8 174 void FinishDL(void)
mozillain 1:2e00250c31c8 175 {
mozillain 1:2e00250c31c8 176 TFT.DL(DISPLAY());
mozillain 1:2e00250c31c8 177 TFT.Swap();
mozillain 1:2e00250c31c8 178 TFT.Flush_Co_Buffer();
mozillain 1:2e00250c31c8 179 TFT.WaitCmdfifo_empty();
mozillain 1:2e00250c31c8 180 }
mozillain 1:2e00250c31c8 181
mozillain 1:2e00250c31c8 182 void show_logo(void)
mozillain 1:2e00250c31c8 183 {
mozillain 1:2e00250c31c8 184 /*
mozillain 1:2e00250c31c8 185 TFT.WrCmd32(CMD_INFLATE);
mozillain 1:2e00250c31c8 186 TFT.WrCmd32(IMAGE_ADDR_LOGO);
mozillain 1:2e00250c31c8 187 TFT.WrCmdBufFromFlash(logo, sizeof(logo));
mozillain 1:2e00250c31c8 188
mozillain 1:2e00250c31c8 189 StartDL();
mozillain 1:2e00250c31c8 190 TFT.DL(BITMAP_HANDLE(0));
mozillain 1:2e00250c31c8 191 TFT.DL(BITMAP_SOURCE(IMAGE_ADDR_LOGO));
mozillain 1:2e00250c31c8 192 TFT.DL(BITMAP_LAYOUT(ARGB1555, 0, 309));
mozillain 1:2e00250c31c8 193 //TFT.DL(BITMAP_SIZE(NEAREST, BORDER, BORDER, 840, 480));
mozillain 1:2e00250c31c8 194 TFT.DL(BITMAP_SIZE(BILINEAR, BORDER, BORDER, 0, 309));
mozillain 1:2e00250c31c8 195 FinishDL();
mozillain 1:2e00250c31c8 196
mozillain 1:2e00250c31c8 197 StartDL();
mozillain 1:2e00250c31c8 198 TFT.DL(BEGIN(BITMAPS));
mozillain 1:2e00250c31c8 199 TFT.DL(VERTEX2II(0, 0, 0, 0));
mozillain 1:2e00250c31c8 200 TFT.DL(END());
mozillain 1:2e00250c31c8 201 FinishDL();
mozillain 1:2e00250c31c8 202 */
mozillain 1:2e00250c31c8 203 }
mozillain 1:2e00250c31c8 204
mozillain 1:2e00250c31c8 205 void LoadImagesAndFonts(void)
mozillain 1:2e00250c31c8 206 {
mozillain 1:2e00250c31c8 207 TFT.WrCmd32(CMD_INFLATE);
mozillain 1:2e00250c31c8 208 TFT.WrCmd32(IMAGE_ADDR_HUMIDITY);
mozillain 1:2e00250c31c8 209 TFT.WrCmdBufFromFlash(hum_icon, sizeof(hum_icon));
mozillain 1:2e00250c31c8 210 /*
mozillain 1:2e00250c31c8 211 TFT.WrCmd32(CMD_INFLATE);
mozillain 1:2e00250c31c8 212 TFT.WrCmd32(IMAGE_ADDR_TEMPERATURE);
mozillain 1:2e00250c31c8 213 TFT.WrCmdBufFromFlash(temp_icon, sizeof(temp_icon));
mozillain 1:2e00250c31c8 214
mozillain 1:2e00250c31c8 215 TFT.WrCmd32(CMD_INFLATE);
mozillain 1:2e00250c31c8 216 TFT.WrCmd32(IMAGE_ADDR_SENSOR);
mozillain 1:2e00250c31c8 217 TFT.WrCmdBufFromFlash(HYT_photo, sizeof(HYT_photo));
mozillain 1:2e00250c31c8 218
mozillain 1:2e00250c31c8 219 TFT.WrCmd32(CMD_INFLATE);
mozillain 1:2e00250c31c8 220 TFT.WrCmd32(FONT_SET_ROBOTO_REGULAR_30);
mozillain 1:2e00250c31c8 221 TFT.WrCmdBufFromFlash(font_RobotoRegular30, sizeof(font_RobotoRegular30));
mozillain 1:2e00250c31c8 222
mozillain 1:2e00250c31c8 223 TFT.WrCmd32(CMD_INFLATE);
mozillain 1:2e00250c31c8 224 TFT.WrCmd32(FONT_SET_ROBOTO_REGULAR_16);
mozillain 1:2e00250c31c8 225 TFT.WrCmdBufFromFlash(font_RobotoRegular16, sizeof(font_RobotoRegular16));
mozillain 1:2e00250c31c8 226 */
mozillain 1:2e00250c31c8 227 }
mozillain 1:2e00250c31c8 228
mozillain 1:2e00250c31c8 229
mozillain 1:2e00250c31c8 230 void HandleAllBitmaps(void)
mozillain 1:2e00250c31c8 231 {
mozillain 1:2e00250c31c8 232 StartDL();
mozillain 1:2e00250c31c8 233 TFT.DL(BITMAP_HANDLE(0));
mozillain 1:2e00250c31c8 234 TFT.DL(BITMAP_SOURCE(IMAGE_ADDR_HUMIDITY));
mozillain 1:2e00250c31c8 235 TFT.DL(BITMAP_LAYOUT(ARGB4, 60, 38));
mozillain 1:2e00250c31c8 236 TFT.DL(BITMAP_SIZE(NEAREST, BORDER, BORDER, 30, 38));
mozillain 1:2e00250c31c8 237 /*
mozillain 1:2e00250c31c8 238 TFT.DL(BITMAP_HANDLE(1));
mozillain 1:2e00250c31c8 239 TFT.DL(BITMAP_SOURCE(IMAGE_ADDR_TEMPERATURE));
mozillain 1:2e00250c31c8 240 TFT.DL(BITMAP_LAYOUT(ARGB4, 42, 42));
mozillain 1:2e00250c31c8 241 TFT.DL(BITMAP_SIZE(NEAREST, BORDER, BORDER, 21, 42));
mozillain 1:2e00250c31c8 242
mozillain 1:2e00250c31c8 243 TFT.DL(BITMAP_HANDLE(2));
mozillain 1:2e00250c31c8 244 TFT.DL(BITMAP_SOURCE(IMAGE_ADDR_SENSOR));
mozillain 1:2e00250c31c8 245 TFT.DL(BITMAP_LAYOUT(RGB332, 101, 147));
mozillain 1:2e00250c31c8 246 TFT.DL(BITMAP_SIZE(NEAREST, BORDER, BORDER, 101, 147));
mozillain 1:2e00250c31c8 247
mozillain 1:2e00250c31c8 248 TFT.DL(BITMAP_HANDLE(3));
mozillain 1:2e00250c31c8 249 TFT.DL(BITMAP_SOURCE(FONT_ADDR_ROBOTO_REGULAR_30));
mozillain 1:2e00250c31c8 250 TFT.DL(BITMAP_LAYOUT(L4, 16, 33));
mozillain 1:2e00250c31c8 251 TFT.DL(BITMAP_SIZE(NEAREST, BORDER, BORDER, 32, 33));
mozillain 1:2e00250c31c8 252
mozillain 1:2e00250c31c8 253 TFT.DL(BITMAP_HANDLE(4));
mozillain 1:2e00250c31c8 254 TFT.DL(BITMAP_SOURCE(FONT_ADDR_ROBOTO_REGULAR_16));
mozillain 1:2e00250c31c8 255 TFT.DL(BITMAP_LAYOUT(L4, 8, 20));
mozillain 1:2e00250c31c8 256 TFT.DL(BITMAP_SIZE(NEAREST, BORDER, BORDER, 16, 20));
mozillain 1:2e00250c31c8 257
mozillain 1:2e00250c31c8 258 TFT.SetFont(3, FONT_SET_ROBOTO_REGULAR_30);
mozillain 1:2e00250c31c8 259 TFT.SetFont(4, FONT_SET_ROBOTO_REGULAR_16);
mozillain 1:2e00250c31c8 260 */
mozillain 1:2e00250c31c8 261 FinishDL();
mozillain 1:2e00250c31c8 262 }
mozillain 1:2e00250c31c8 263
mozillain 0:4fcdf32ad508 264 int main(void)
mozillain 0:4fcdf32ad508 265 {
mozillain 1:2e00250c31c8 266 TFT.Calibrate();
mozillain 1:2e00250c31c8 267 //CalibrationTS();
mozillain 1:2e00250c31c8 268 //DigitalOut led2(LED2); led2=1;
mozillain 1:2e00250c31c8 269 activeScreen = MENU_SCREEN;
mozillain 1:2e00250c31c8 270 pressedButton = NONE_PRESS;
mozillain 1:2e00250c31c8 271 main_menu();
mozillain 0:4fcdf32ad508 272
mozillain 1:2e00250c31c8 273 while(1) {
mozillain 1:2e00250c31c8 274 wait_ms(9000);
mozillain 1:2e00250c31c8 275 pressedButton = TFT.Rd8(REG_TOUCH_TAG);
mozillain 1:2e00250c31c8 276
mozillain 1:2e00250c31c8 277 switch(activeScreen)
mozillain 1:2e00250c31c8 278 {
mozillain 1:2e00250c31c8 279 case MENU_SCREEN: {
mozillain 1:2e00250c31c8 280 main_menu();
mozillain 1:2e00250c31c8 281 if (pressedButton == BUTTON_1_PRESS) {activeScreen = AUTOMATIC_SCREEN; pressedButton = NONE_PRESS; break;}
mozillain 1:2e00250c31c8 282 else if (pressedButton == BUTTON_2_PRESS) {activeScreen = MANUAL_SCREEN; pressedButton = NONE_PRESS; break;}
mozillain 1:2e00250c31c8 283 else if (pressedButton == BUTTON_3_PRESS) {activeScreen = CALIBRATION_SCREEN; pressedButton = NONE_PRESS; break;}
mozillain 1:2e00250c31c8 284 }
mozillain 1:2e00250c31c8 285 case AUTOMATIC_SCREEN: automatic_menu();
mozillain 1:2e00250c31c8 286 case MANUAL_SCREEN: manual_menu();
mozillain 1:2e00250c31c8 287 case CALIBRATION_SCREEN: calibration_menu();
mozillain 1:2e00250c31c8 288 break;
mozillain 1:2e00250c31c8 289 }
mozillain 1:2e00250c31c8 290
mozillain 1:2e00250c31c8 291
mozillain 1:2e00250c31c8 292 }
mozillain 0:4fcdf32ad508 293 }
mozillain 1:2e00250c31c8 294
mozillain 1:2e00250c31c8 295
mozillain 1:2e00250c31c8 296
mozillain 1:2e00250c31c8 297
mozillain 1:2e00250c31c8 298
mozillain 1:2e00250c31c8 299
mozillain 1:2e00250c31c8 300
mozillain 1:2e00250c31c8 301
mozillain 1:2e00250c31c8 302
mozillain 1:2e00250c31c8 303
mozillain 1:2e00250c31c8 304
mozillain 1:2e00250c31c8 305
mozillain 1:2e00250c31c8 306
mozillain 1:2e00250c31c8 307
mozillain 1:2e00250c31c8 308
mozillain 1:2e00250c31c8 309
mozillain 1:2e00250c31c8 310
mozillain 1:2e00250c31c8 311
mozillain 1:2e00250c31c8 312
mozillain 1:2e00250c31c8 313 /*
mozillain 1:2e00250c31c8 314
mozillain 1:2e00250c31c8 315 nt main(void)
mozillain 0:4fcdf32ad508 316 {
mozillain 1:2e00250c31c8 317 TFT.Calibrate();
mozillain 1:2e00250c31c8 318 //CalibrationTS();
mozillain 1:2e00250c31c8 319 //DigitalOut led2(LED2); led2=1;
mozillain 1:2e00250c31c8 320 activeScreen = MENU_SCREEN;
mozillain 1:2e00250c31c8 321 pressedButton = NONE_PRESS;
mozillain 1:2e00250c31c8 322 main_menu();
mozillain 1:2e00250c31c8 323
mozillain 1:2e00250c31c8 324 while(1) {
mozillain 1:2e00250c31c8 325
mozillain 1:2e00250c31c8 326 pressedButton = TFT.Rd8(REG_TOUCH_TAG);
mozillain 1:2e00250c31c8 327
mozillain 1:2e00250c31c8 328 switch(activeScreen)
mozillain 1:2e00250c31c8 329 {
mozillain 1:2e00250c31c8 330 case MENU_SCREEN: main_menu();
mozillain 1:2e00250c31c8 331 case AUTOMATIC_SCREEN: automatic_menu();
mozillain 1:2e00250c31c8 332 case MANUAL_SCREEN: manual_menu();
mozillain 1:2e00250c31c8 333 case CALIBRATION_SCREEN: calibration_menu()
mozillain 1:2e00250c31c8 334 }
mozillain 1:2e00250c31c8 335
mozillain 1:2e00250c31c8 336 if (activeScreen == MENU_SCREEN) {
mozillain 1:2e00250c31c8 337 main_menu();
mozillain 1:2e00250c31c8 338 if (pressedButton) {
mozillain 1:2e00250c31c8 339 wait_ms(10);
mozillain 1:2e00250c31c8 340 if (pressedButton == BUTTON_1_PRESS) {activeScreen = AUTOMATIC_SCREEN;}
mozillain 1:2e00250c31c8 341 else if (pressedButton == BUTTON_2_PRESS) {activeScreen = MANUAL_SCREEN;}
mozillain 1:2e00250c31c8 342 else if (pressedButton == BUTTON_3_PRESS) {activeScreen = CALIBRATION_SCREEN;}
mozillain 1:2e00250c31c8 343 pressedButton = NONE_PRESS;
mozillain 1:2e00250c31c8 344 }
mozillain 1:2e00250c31c8 345 }
mozillain 1:2e00250c31c8 346 else {
mozillain 1:2e00250c31c8 347 switch(activeScreen)
mozillain 1:2e00250c31c8 348 if (activeScreen == AUTOMATIC_SCREEN ) automatic_menu();
mozillain 1:2e00250c31c8 349 else if (activeScreen == MANUAL_SCREEN) manual_menu();
mozillain 1:2e00250c31c8 350 else if (activeScreen == CALIBRATION_SCREEN) calibration_menu();
mozillain 1:2e00250c31c8 351
mozillain 1:2e00250c31c8 352 }
mozillain 1:2e00250c31c8 353
mozillain 1:2e00250c31c8 354
mozillain 1:2e00250c31c8 355
mozillain 1:2e00250c31c8 356 if (activeScreen == MENU_SCREEN) {
mozillain 1:2e00250c31c8 357 main_menu();
mozillain 1:2e00250c31c8 358 if (pressedButton) {
mozillain 1:2e00250c31c8 359 wait_ms(150);
mozillain 1:2e00250c31c8 360 if (pressedButton == BUTTON_1_PRESS) {
mozillain 1:2e00250c31c8 361 activeScreen = AUTOMATIC_SCREEN;
mozillain 1:2e00250c31c8 362 } else if (pressedButton == BUTTON_2_PRESS) {
mozillain 1:2e00250c31c8 363 activeScreen = MANUAL_SCREEN;
mozillain 1:2e00250c31c8 364 } else if (pressedButton == BUTTON_3_PRESS) {
mozillain 1:2e00250c31c8 365 activeScreen = CALIBRATION_SCREEN;
mozillain 1:2e00250c31c8 366 }
mozillain 1:2e00250c31c8 367 pressedButton = NONE_PRESS;
mozillain 1:2e00250c31c8 368 }
mozillain 1:2e00250c31c8 369 else {
mozillain 1:2e00250c31c8 370 if (activeScreen == AUTOMATIC_SCREEN ) automatic_menu();
mozillain 1:2e00250c31c8 371 else if (activeScreen == MANUAL_SCREEN) manual_menu();
mozillain 1:2e00250c31c8 372 else if (activeScreen == TEST_SCREEN) calibration_menu();
mozillain 1:2e00250c31c8 373
mozillain 1:2e00250c31c8 374 }
mozillain 1:2e00250c31c8 375 pressedButton = NONE_PRESS;
mozillain 1:2e00250c31c8 376 }
mozillain 1:2e00250c31c8 377 }
mozillain 1:2e00250c31c8 378 */