diff --git a/code/application/source/sf_app/code/source/app/sf_app.c b/code/application/source/sf_app/code/source/app/sf_app.c index 62be22aeb..27ffb637a 100644 --- a/code/application/source/sf_app/code/source/app/sf_app.c +++ b/code/application/source/sf_app/code/source/app/sf_app.c @@ -142,6 +142,7 @@ int main(int argc, char *argv[]) printf("*********************************************\n"); //gpio_direction_input(C_GPIO(10)); SINT16 startup = 0; + SINT32 UpdateTime = 0; //SF_MESSAGE_BUF_S stMessageBuf = {0}; //BOOL autosend = FALSE; SF_MUTEX_INIT_LOCK(Param_mutexLock); @@ -150,7 +151,8 @@ int main(int argc, char *argv[]) //return 0; SINT32 isUsb = sf_usb_IsInsert(); SINT32 isCard = sf_in_card_exist(); - printf("[%s:%d] isUsb = %d isCard = %d\n", __FUNCTION__, __LINE__, isUsb,isCard); + SINT32 isUpdate = sf_in_update(); + printf("[%s:%d] isUsb = %d isCard = %d isUpdate:%d\n", __FUNCTION__, __LINE__, isUsb,isCard,isUpdate); if(!isUsb) { sf_load_ko(); @@ -167,8 +169,11 @@ int main(int argc, char *argv[]) sf_mcu_flag_init(); sf_mcu_init(); - sf_get_power_on_mode(); - sf_mcu_wdg_set(30); + startup = sf_poweron_type_get(); + if(SF_MCU_STARTUP_NORMAL != startup){ + sf_get_power_on_mode(); + sf_mcu_wdg_set(30); + } sf_led_init(); @@ -189,6 +194,8 @@ int main(int argc, char *argv[]) sf_app_battery_start(); //sf_app_data_ready_start(); + //sf_set_fw_update(isUpdate); + sf_sys_status_led_set(SF_LED_SYS_STATE_PIR_NOT_DETECT); sf_sys_status_led_set(SF_LED_SYS_STATE_NORMAL); @@ -212,7 +219,22 @@ int main(int argc, char *argv[]) //sf_wifi_app_start(); } #if SF_IQ_TEST != ENABLE - if((SF_MCU_STARTUP_NORMAL != startup) && (SF_ON == puiPara->GprsSwitch)) + + if(1 == isUpdate) + { + while (20 > UpdateTime) + { + if(1 == sf_get_fw_update())//check if update + { + printf("[%s:%d] FwUpdate:%d\n", __FUNCTION__, __LINE__,sf_get_fw_update()); + break; + } + UpdateTime++; + sf_sleep_ms(500); + } + } + + if((0 == sf_get_fw_update()) && (SF_MCU_STARTUP_NORMAL != startup) && (SF_ON == puiPara->GprsSwitch)) { app_RegisterNet_start(); } diff --git a/code/application/source/sf_app/code/source/app/sf_service.c b/code/application/source/sf_app/code/source/app/sf_service.c index aaaf204fb..c01fbe9c1 100644 --- a/code/application/source/sf_app/code/source/app/sf_service.c +++ b/code/application/source/sf_app/code/source/app/sf_service.c @@ -79,7 +79,7 @@ SINT32 app_ttyusb_IsOpen(void) { int retryFlag = 0; SINT32 s32ret = 0; MLOGD("ttyUSB has not been init, will init ttyUSB!\n"); - while ((s32ret = sf_hal_ttyusb2_init()) < 0) { + while ((sf_app_while_flag()) && ((s32ret = sf_hal_ttyusb2_init()) < 0)) { retryTime++; if ((0 == retryFlag) && (retryTime >= 100) && (retryTime % 100 == 0)) // 200ms*100 = 20s @@ -1089,6 +1089,11 @@ static SINT32 app_file_transfer(SF_FN_PARAM_S *pfnParam) { if(sf_get_send_video()){ s32ret = sf_video_ftp_send(); } + + if(sf_get_send_log()){ + s32ret = sf_log_send_ftp(); + } + break; case SF_MCU_STARTUP_SYN_PARAM: if (pCustomerParam->GpsSendFlag) { @@ -1113,6 +1118,10 @@ static SINT32 app_file_transfer(SF_FN_PARAM_S *pfnParam) { if(sf_get_send_video()){ s32ret = sf_video_ftp_send(); } + + if(sf_get_send_log()){ + s32ret = sf_log_send_ftp(); + } SLOGD("GpsSendFlag:%d\n", pCustomerParam->GpsSendFlag); break; default: @@ -1359,6 +1368,9 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam) { else if(sf_get_send_video()){ s32ret = sf_video_ftp_send(); } + else if(sf_get_send_log()){ + s32ret = sf_log_send_ftp(); + } break; case SF_MCU_STARTUP_TIMELAPSE: @@ -1519,6 +1531,9 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam) { else if(sf_get_send_video()){ s32ret = sf_video_ftp_send(); } + else if(sf_get_send_log()){ + s32ret = sf_log_send_ftp(); + } //sf_share_mem_customer_down(1); break; diff --git a/code/application/source/sf_app/code/source/devMng/sf_ledmng.c b/code/application/source/sf_app/code/source/devMng/sf_ledmng.c index 4cca2b627..cc8da5eb0 100644 --- a/code/application/source/sf_app/code/source/devMng/sf_ledmng.c +++ b/code/application/source/sf_app/code/source/devMng/sf_ledmng.c @@ -20,6 +20,7 @@ #include "sf_message_queue.h" #include "sf_hal_ttyusb.h" +#include "sf_common.h" #ifdef __cplusplus #if __cplusplus @@ -585,9 +586,9 @@ void sf_sys_status_led_set(LedSysState_t ledSysStateId) { UINT8 startup = sf_poweron_type_get(); //printf("[%s:%d] s\n", __FUNCTION__, __LINE__); - if(((SF_MCU_STARTUP_ONKEY != startup) && (SF_MCU_STARTUP_NORMAL != startup) && (SF_MCU_STARTUP_USB != startup))) + if((sf_get_fw_update()) && ((SF_MCU_STARTUP_ONKEY != startup) && (SF_MCU_STARTUP_NORMAL != startup) && (SF_MCU_STARTUP_USB != startup))) return; - //if((ledSysStateId != SF_LED_SYS_STATE_PIR_DETECT) && (ledSysStateId != SF_LED_SYS_STATE_PIR_NOT_DETECT)) + if((ledSysStateId != SF_LED_SYS_STATE_PIR_DETECT) && (ledSysStateId != SF_LED_SYS_STATE_PIR_NOT_DETECT)) printf("SYS LED SET %d\n", ledSysStateId); switch(ledSysStateId) { diff --git a/code/application/source/sf_app/code/source/systemMng/sf_commu_mcu_reg.c b/code/application/source/sf_app/code/source/systemMng/sf_commu_mcu_reg.c index e2f7c6381..2a16f1fc3 100644 --- a/code/application/source/sf_app/code/source/systemMng/sf_commu_mcu_reg.c +++ b/code/application/source/sf_app/code/source/systemMng/sf_commu_mcu_reg.c @@ -53,7 +53,7 @@ unsigned char DailyReportStartMode = 0; unsigned char POWEROFF = 0; SF_TIME_S sfMcuTime = { 0 }; static BOOL ConfigureModeFlag = 0; /* 0: HTC Mode, 1: Nomal Mode */ -static UINT8 PowerOnMode = 0; //=>PWR_ON_SETUP +//static UINT8 PowerOnMode = 0; //=>PWR_ON_SETUP static UINT32 simCardInsert=0; static UINT8 gModuleSleep = 1; static int isSignalReady = -1; @@ -170,7 +170,8 @@ unsigned char sf_mcu_power_on_para_get (MCUParam_t attrId) sf_sys_rtc_time_reset(); } sf_poweron_type_set(startMode); - + if(SF_MCU_STARTUP_ONKEY == startMode) + ConfigureModeFlag = 1; //McuPowerOnMode = startMode; return startMode; } @@ -355,7 +356,7 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val) //unsigned char DigPirWindowTime = 0; UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); SF_PARA_TIME_S date = { 0 }; - + UINT8 PowerOnMode = sf_poweron_type_get(); SINT32 isUsb = sf_usb_IsInsert(); SINT32 isCard = sf_in_card_exist(); SINT32 isCardFull = sf_is_card_full(); @@ -665,7 +666,7 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val) mcuData[i++] = 0; } - if(((puiPara->GpsSwitch) || (puiPara->FristSendDailyAndGps)) && (((SF_MCU_STARTUP_ONKEY == sf_poweron_type_get())) || paraSyncFlag)) + if(((puiPara->GpsSwitch) || (puiPara->FristSendDailyAndGps)) && (((SF_MCU_STARTUP_ONKEY == PowerOnMode)) || paraSyncFlag)) { mcuReg[i] = GPS_POWER_TIMER_CLEAR; mcuData[i++] = 1; @@ -719,7 +720,7 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val) mcuData[i++] = temp; - if(ConfigureModeFlag) + if((SF_MCU_STARTUP_ONKEY == PowerOnMode)) { mcuReg[i] = DIGITAL_PIR_SENSITIVITY; mcuData[i++] = (puiPara->DigitPirSensitivity);//PirDigtSensRegValue[SysGetFlag(PirSensitivity)]; @@ -727,7 +728,7 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val) mcuData[i++] = ((puiPara->DigitPirWindowTime) << 4) | (puiPara->DigitPirCnt); } - if(((puiPara->GpsSwitch) || (puiPara->FristSendDailyAndGps)) && (ConfigureModeFlag || paraSyncFlag)) + if(((puiPara->GpsSwitch) || (puiPara->FristSendDailyAndGps)) && ((SF_MCU_STARTUP_ONKEY == PowerOnMode) || paraSyncFlag)) { mcuReg[i] = GPS_POWER_TIMER_CLEAR; mcuData[i++] = 1; @@ -769,7 +770,7 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val) mcuReg[i] = SYS_STATUS; mcuData[i++] = (puiPara->CamArmDiable) << 6 | isUsb << 2 | isCardFull << 1 | isCard << 0; - if(((puiPara->GpsSwitch) || (puiPara->FristSendDailyAndGps)) && (ConfigureModeFlag || paraSyncFlag)) + if(((puiPara->GpsSwitch) || (puiPara->FristSendDailyAndGps)) && ((SF_MCU_STARTUP_ONKEY == PowerOnMode) || paraSyncFlag)) { mcuReg[i] = GPS_POWER_TIMER_CLEAR; mcuData[i++] = 1; @@ -1052,24 +1053,18 @@ void sf_mcu_version_get(UINT8 *mcuVer) *************************************************/ UINT8 sf_get_power_on_mode(void) { - static int ModeFlag = 1; + static UINT8 ModeFlag = 1; if(ModeFlag) { - ModeFlag = 0; - PowerOnMode = sf_mcu_power_on_para_get(SF_MCU_POWERON); - PowerOnMode &= 0x0f; - if(1 == PowerOnMode) - { - ConfigureModeFlag = 1; - } + ModeFlag = sf_mcu_power_on_para_get(SF_MCU_POWERON); } - return PowerOnMode; + return ModeFlag; } UINT8 sf_convert_power_on_mode(void) { - PowerOnMode &= 0x0f; + //PowerOnMode &= 0x0f; //printf("[%s:%d]PowerOnMode=0x%x\n",__FUNCTION__,__LINE__,PowerOnMode); - return PowerOnMode; + return 0; } UINT8 sf_get_power_off_flag(void) @@ -1285,7 +1280,7 @@ void sf_dailyReport_set(void) UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); extern UINT8 DailyReportFtpSendSucess; - if((sf_get_mode_flag()) || (PWR_ON_GPRS_INIT == sf_convert_power_on_mode()))//if reset cam, cam software update, mode software udate + if((sf_get_mode_flag()) || (PWR_ON_GPRS_INIT == sf_poweron_type_get()))//if reset cam, cam software update, mode software udate { if (puiPara->FristSendDailyAndGps) { @@ -1295,7 +1290,7 @@ void sf_dailyReport_set(void) puiPara->ReDailyReport = 0; sf_dailyReport_refresh(); } - else if(PWR_ON_DAILY_REPORT == sf_convert_power_on_mode()) + else if(PWR_ON_DAILY_REPORT == sf_poweron_type_get()) { if (puiPara->FristSendDailyAndGps) {