[Feature] Fota added query interface and updated DEMO

Change-Id: Ie70eee8eb5dc7742c48060c88da9dd2aaeab0425
diff --git a/src/lynq/lib/liblynq-fota/include/iot_rock.h b/src/lynq/lib/liblynq-fota/include/iot_rock.h
index d6f0a2c..fbeba75 100755
--- a/src/lynq/lib/liblynq-fota/include/iot_rock.h
+++ b/src/lynq/lib/liblynq-fota/include/iot_rock.h
@@ -128,6 +128,7 @@
 ssize_t lynq_nand_read(int fd, void *buf, size_t count);

 ssize_t lynq_nand_write(int fd, void *buf, size_t count);

 int lynq_nand_close(int fd);

+int lynq_get_upgrade_status(void);

 #endif

 

 

diff --git a/src/lynq/lib/liblynq-fota/rock_ua/rock_ua.c b/src/lynq/lib/liblynq-fota/rock_ua/rock_ua.c
index 90992a3..41e0a14 100755
--- a/src/lynq/lib/liblynq-fota/rock_ua/rock_ua.c
+++ b/src/lynq/lib/liblynq-fota/rock_ua/rock_ua.c
@@ -2093,16 +2093,19 @@
 
 int lynq_nand_open(const char *pathname, int flags)
 {
+    printf("pathname:%s---flags:%d",pathname,flags);
     return mtk_device_wrap_open(pathname,flags);
 }
 
 ssize_t lynq_nand_read(int fd, void *buf, size_t count)
 {
+    printf("rfd:%d---buf:%s---count:%d",fd,buf,count);
     return mtk_device_wrap_read(fd,buf,count);
 }
 
 ssize_t lynq_nand_write(int fd, void *buf, size_t count)
 {
+    printf("wfd:%d---buf:%s---count:%d",fd,buf,count);
     return mtk_device_wrap_write(fd,buf,count);
 }
 
@@ -2110,3 +2113,32 @@
 {
     return mtk_device_wrap_close(fd);
 }
+
+/**
+ * @brief Obtain the upgrade result
+ * 
+ * @param void
+ * @return 0xff:open file fail,0:upgrade success,1,upgrade wait 
+ */
+ int lynq_get_upgrade_status(void)
+{
+    int lynq_state_fd;
+    int lynq_upgrade_wait = 1;
+    OTA_STATUS lynq_ota_status;
+
+    memset(&lynq_ota_status, 0, sizeof(lynq_ota_status));
+
+    lynq_state_fd = open(FILE_FOTA_STATE,O_RDWR | O_CREAT,0777);
+
+    if (lynq_state_fd < 0) 
+    {
+        return 0xff;
+    }
+    read(lynq_state_fd,(unsigned char *)&lynq_ota_status,sizeof(lynq_ota_status));
+    close(lynq_state_fd);
+    if((lynq_ota_status.ota_run != 0) && (lynq_ota_status.update_result == 0))
+    {
+        return lynq_upgrade_wait;
+    }
+    return lynq_ota_status.update_result;
+}
\ No newline at end of file
diff --git a/src/lynq/packages/thirdpart/Konoda/lynq-konoda-rock/src/main.c b/src/lynq/packages/thirdpart/Konoda/lynq-konoda-rock/src/main.c
index 4af951d..6a76781 100755
--- a/src/lynq/packages/thirdpart/Konoda/lynq-konoda-rock/src/main.c
+++ b/src/lynq/packages/thirdpart/Konoda/lynq-konoda-rock/src/main.c
@@ -19,8 +19,8 @@
 
 int main(int argc,char argv[])
 {
-
-
+    
+    int lynq_upgrade_state = 0;
     int first_run = 1; 
     int ret = 0;
     int fd_down,size,fd_target;
@@ -48,19 +48,22 @@
    lynq_ftp_download(&ftp_log_info);
    LYVERBLOG("[+UP]: Download the FTP data success\n");
 */
-LYVERBLOG("[+UP]: input MD5 data:");	
-	while(fgets(input_md5_data,64,stdin) != NULL)
-	{
-		LYVERBLOG("[+UP]: receive MD5 data:%s\n",input_md5_data);
-		ret = lynq_md5_file_verfy(UPDATA_ADDR, input_md5_data);
-		break;
-	}
+    lynq_upgrade_state = lynq_get_upgrade_status();
+    LYVERBLOG("[+UP]:Upgrade state:%d",lynq_upgrade_state);
 
-   fd_down = open(UPDATA_ADDR,O_RDONLY);
-	if (fd_down < 0) {
-		LYVERBLOG("[+UP]: open source  error\n");
-	    return 1;
-	}
+    LYVERBLOG("[+UP]: input MD5 data:");	
+    while(fgets(input_md5_data,64,stdin) != NULL)
+    {
+        LYVERBLOG("[+UP]: receive MD5 data:%s\n",input_md5_data);
+        ret = lynq_md5_file_verfy(UPDATA_ADDR, input_md5_data);
+        break;
+    }
+
+    fd_down = open(UPDATA_ADDR,O_RDONLY);
+    if (fd_down < 0) {
+    	LYVERBLOG("[+UP]: open source  error\n");
+        return 1;
+    }
 
     fd_target = lynq_nand_open(FLASH_DEV_DELTA,O_RDWR);
  
@@ -80,12 +83,12 @@
 	lynq_nand_close(fd_target);
 	close(fd_down);
 
-LYVERBLOG("+[UA]: Upgrade to start ret:%d\n",ret);
+    LYVERBLOG("+[UA]: Upgrade to start ret:%d\n",ret);
 //	if(ret == 0)
 	{
 		lynq_rock_main(first_run);
 	}
-LYVERBLOG("+[UA]: Upgrade to end\n");
+    LYVERBLOG("+[UA]: Upgrade to end\n");
   
   return 0;