1.1.Linux增加区分自动和手动模式升级

This commit is contained in:
payton 2023-12-27 11:56:51 +08:00
parent b998092203
commit 5d2ca48ce3
3 changed files with 17 additions and 3 deletions

View File

@ -346,6 +346,7 @@ typedef enum {
typedef enum { typedef enum {
WDT_OTA_STS_INVALID = 0, WDT_OTA_STS_INVALID = 0,
WDT_OTA_STS_LOADER_DETECTING_FW, WDT_OTA_STS_LOADER_DETECTING_FW,
WDT_OTA_STS_LOADER_DETECTING_FW_AUTO,
WDT_OTA_STS_UBOOT_UPDATE_FAILED, WDT_OTA_STS_UBOOT_UPDATE_FAILED,
WDT_OTA_STS_UBOOT_UPDATE_OPEN_FAILED, WDT_OTA_STS_UBOOT_UPDATE_OPEN_FAILED,
WDT_OTA_STS_UBOOT_UPDATE_READ_FAILED, WDT_OTA_STS_UBOOT_UPDATE_READ_FAILED,
@ -353,6 +354,7 @@ typedef enum {
WDT_OTA_STS_UBOOT_UPDATE_UNKNOWN, WDT_OTA_STS_UBOOT_UPDATE_UNKNOWN,
WDT_OTA_STS_UBOOT_UPDATE_OK, WDT_OTA_STS_UBOOT_UPDATE_OK,
WDT_OTA_STS_LINUX_TRIGGER, WDT_OTA_STS_LINUX_TRIGGER,
WDT_OTA_STS_LINUX_TRIGGER_AUTO,
} WDT_OTA_STS; } WDT_OTA_STS;
#define WDT_OTA_MAKEFOURCC(sts) MAKEFOURCC('O','T','A', sts) #define WDT_OTA_MAKEFOURCC(sts) MAKEFOURCC('O','T','A', sts)

View File

@ -4100,8 +4100,13 @@ INT32 PhotoExe_OnNR(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
INT32 PhotoExe_OnFocusEnd(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray) INT32 PhotoExe_OnFocusEnd(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{ {
extern UIMenuStoreInfo currentInfo; extern UIMenuStoreInfo currentInfo;
currentInfo.OtaFlag = WDT_OTA_MAKEFOURCC(WDT_OTA_STS_LINUX_TRIGGER); if((PWR_ON_SETUP == sf_cardv_convert_power_on_mode()))
{
currentInfo.OtaFlag = WDT_OTA_MAKEFOURCC(WDT_OTA_STS_LINUX_TRIGGER);
}
else {
currentInfo.OtaFlag = WDT_OTA_MAKEFOURCC(WDT_OTA_STS_LINUX_TRIGGER_AUTO);
}
Save_MenuInfo(); Save_MenuInfo();
return NVTEVT_CONSUME; return NVTEVT_CONSUME;

View File

@ -2194,9 +2194,16 @@ static UINT32 sf_fwupdate(void)
#else #else
BOOL sf_ota_trigger(void) BOOL sf_ota_trigger(void)
{ {
UINT32 uiUserData = WDT_OTA_MAKEFOURCC(WDT_OTA_STS_LINUX_TRIGGER); UINT32 uiUserData = 0;
char cmd[128]={0}; char cmd[128]={0};
if((PWR_ON_SETUP == sf_cardv_convert_power_on_mode()))
{
uiUserData = WDT_OTA_MAKEFOURCC(WDT_OTA_STS_LINUX_TRIGGER);
}
else {
uiUserData = WDT_OTA_MAKEFOURCC(WDT_OTA_STS_LINUX_TRIGGER_AUTO);
}
Ux_PostEvent(NVTEVT_ALGMSG_FOCUSEND, 0); Ux_PostEvent(NVTEVT_ALGMSG_FOCUSEND, 0);
sprintf(cmd, "mem w %x %lx",WDT_REG_ADDR(WDT_DATA_OFS),uiUserData); sprintf(cmd, "mem w %x %lx",WDT_REG_ADDR(WDT_DATA_OFS),uiUserData);