[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