808

Dependents:   Chromatograph_Mobile

Revision:
12:f0980f7a75ae
Parent:
11:2f11d40f0f9a
Child:
13:5959af2ac87a
--- a/src/FT_GPU_Hal.cpp	Thu Jun 18 13:14:32 2020 +0000
+++ b/src/FT_GPU_Hal.cpp	Sat Aug 08 18:30:58 2020 +0000
@@ -30,7 +30,7 @@
     _spi.frequency(SPI_SPEED_START);          // start with 10 Mhz SPI clock
     _ss = 1;                           // cs high
     _pd = 1;                           // PD high
-    Bootup();
+    _IsOn=Bootup();
     _address = 0;
     _bitmap_count = 0;
     _bitmapCount = 0;
@@ -40,16 +40,18 @@
 
 ft_bool_t FT813::Bootup(void)
 {
-   //pc.printf("Bootup() entered\r\n");//temp
+   //printf("Bootup() entered\r\n");//temp
     Open();
 
-    BootupConfig();
-
-    return(1);
+    return BootupConfig();   
 }
 
+ft_bool_t FT813::IsOn(void)
+{
+    return FT813::_IsOn;
+}
 
-ft_void_t FT813::BootupConfig(void)
+char FT813::BootupConfig(void)
 {
     ft_uint8_t chipid;
     /* Do a power cycle for safer side */
@@ -78,8 +80,20 @@
     chipid = Rd8(REG_ID);
   //chipid = Rd8(0x0C0000);
     //pc.printf("ID1: 0x%08X\n", chipid);//temp
-    while(chipid != 0x7C) //раскомментить как заработает
-    wait(1);//tmp
+    
+    //Если дисплей не отвечает то прервать инициализацию
+    char sec=0;
+    while(chipid != 0x7C) //раскомментить как заработает    
+    {
+        wait_ms(100);
+        sec++;
+        if (sec>5)
+            {
+            printf("ERR!: Display is not connected\r\n");
+            return 0;
+            } 
+        }
+    //tmp
     //printf("ID2: 0x%08X\n", chipid);//tmp
 
     // Speed up
@@ -134,6 +148,7 @@
     /* This value is specific to customer requirement and derived by experiment */
 //    Wr16(REG_TOUCH_RZTHRESH,2400);
     Wr16(REG_TOUCH_RZTHRESH, 1800); //поменяно с 0xFFFF на 1800
+    return 1; //дисплей включен и настроен
 }
 
 /* API to initialize the SPI interface */