forked from xuos/xiuos
json file download needs to check whether the sd card is mounted successfully
This commit is contained in:
parent
9fd61d3d2a
commit
b41a1709c6
|
@ -274,6 +274,8 @@ static struct SdioDevDone dev_done =
|
|||
SdioRead,
|
||||
};
|
||||
|
||||
static bool is_mount_ok = false;
|
||||
|
||||
#if defined(FS_VFS) && defined(MOUNT_SDCARD_FS)
|
||||
#include <iot-vfs.h>
|
||||
|
||||
|
@ -283,11 +285,14 @@ static struct SdioDevDone dev_done =
|
|||
*/
|
||||
static int MountSDCardFs(enum FilesystemType fs_type)
|
||||
{
|
||||
if (MountFilesystem(SDIO_BUS_NAME, SDIO_DEVICE_NAME, SDIO_DRIVER_NAME, fs_type, "/") == 0)
|
||||
if (MountFilesystem(SDIO_BUS_NAME, SDIO_DEVICE_NAME, SDIO_DRIVER_NAME, fs_type, "/") == 0){
|
||||
KPrintf("Sd card mount to '/'");
|
||||
else
|
||||
is_mount_ok = true;
|
||||
} else {
|
||||
KPrintf("Sd card mount to '/' failed!");
|
||||
|
||||
is_mount_ok = false;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
@ -329,6 +334,7 @@ static void SdCardDetach(void)
|
|||
|
||||
#ifdef MOUNT_SDCARD_FS
|
||||
UnmountFileSystem("/");
|
||||
is_mount_ok = false;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -350,9 +356,10 @@ static uint8 SdCardReadCd(void)
|
|||
return BusDevReadData(pin->owner_haldev, &read_param);
|
||||
}
|
||||
|
||||
static int sd_card_status = 0;
|
||||
static void SdCardTask(void* parameter)
|
||||
{
|
||||
static int sd_card_status = 0;
|
||||
|
||||
while (1) {
|
||||
if (!SdCardReadCd()) {
|
||||
if (!sd_card_status) {
|
||||
|
@ -368,11 +375,6 @@ static void SdCardTask(void* parameter)
|
|||
}
|
||||
}
|
||||
|
||||
int GetSdCardStatus(void)
|
||||
{
|
||||
return sd_card_status;
|
||||
}
|
||||
|
||||
#ifdef MOUNT_SDCARD
|
||||
int MountSDCard()
|
||||
{
|
||||
|
@ -390,6 +392,13 @@ int MountSDCard()
|
|||
}
|
||||
#endif
|
||||
|
||||
bool GetSdMountStatus(void)
|
||||
{
|
||||
if(!is_mount_ok)
|
||||
KPrintf("The SD card was not mounted successfully or not inserted, please check!\r\n");
|
||||
return is_mount_ok;
|
||||
}
|
||||
|
||||
int Imxrt1052HwSdioInit(void)
|
||||
{
|
||||
x_err_t ret = EOK;
|
||||
|
|
|
@ -874,7 +874,7 @@ static void mqttCloudInteraction(void* parameter)
|
|||
reconnect:
|
||||
if((AdapterNetActive() == 0) && MQTT_Connect() && MQTT_SubscribeTopic(topicdatabuff[0]) && MQTT_SubscribeTopic(topicdatabuff[1]))
|
||||
{
|
||||
KPrintf("Log in to the cloud platform and subscribe to the ota topic successfully.\n");
|
||||
KPrintf("Log in to the cloud platform and subscribe to the topic successfully.\n");
|
||||
PropertyVersion();
|
||||
}
|
||||
else
|
||||
|
@ -888,9 +888,9 @@ reconnect:
|
|||
uint8_t jsonfilename[32];
|
||||
memset(jsontopicdatabuff,0,sizeof(jsontopicdatabuff));
|
||||
sprintf(jsontopicdatabuff,"protocol/%s/files",CLIENTID);
|
||||
if(MQTT_SubscribeTopic(jsontopicdatabuff))
|
||||
if(!MQTT_SubscribeTopic(jsontopicdatabuff))
|
||||
{
|
||||
KPrintf("subscribe to the json download topic successfully.\n");
|
||||
KPrintf("subscribe to the json download topic failed!\n");
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -1015,8 +1015,8 @@ reconnect:
|
|||
}
|
||||
#ifdef USING_DOWNLOAD_JSON
|
||||
// 3.下载json文件,SD卡要确保已经插入
|
||||
extern int GetSdCardStatus(void);
|
||||
if(strstr((char *)Platform_mqtt.cmdbuff,jsontopicdatabuff) && GetSdCardStatus())
|
||||
extern bool GetSdMountStatus(void);
|
||||
if(strstr((char *)Platform_mqtt.cmdbuff,jsontopicdatabuff) && GetSdMountStatus())
|
||||
{
|
||||
KPrintf("------Start download joson file !------\r\n");
|
||||
memset(jsonfilename,0,sizeof(jsonfilename));
|
||||
|
@ -1079,8 +1079,6 @@ reconnect:
|
|||
{
|
||||
KPrintf("firmware file transfer failed,start reboot!\n");
|
||||
}
|
||||
MQTT_UnSubscribeTopic(topicdatabuff[0]);
|
||||
MQTT_UnSubscribeTopic(topicdatabuff[1]);
|
||||
MQTT_Disconnect();
|
||||
mcuboot.flash_deinit();
|
||||
MdelayKTask(2000);
|
||||
|
@ -1319,7 +1317,6 @@ reconnect:
|
|||
{
|
||||
KPrintf("firmware file transfer failed,start reboot!\n");
|
||||
}
|
||||
MQTT_UnSubscribeTopic(topicdatabuff);
|
||||
MQTT_Disconnect();
|
||||
mcuboot.flash_deinit();
|
||||
MdelayKTask(2000);
|
||||
|
|
Loading…
Reference in New Issue