1.优化调整一些函数

2.升级处理
This commit is contained in:
payton 2023-07-11 14:45:01 +08:00
parent d4cc7766d7
commit 5b744c8511
4 changed files with 60 additions and 27 deletions

View File

@ -142,6 +142,7 @@ int main(int argc, char *argv[])
printf("*********************************************\n"); printf("*********************************************\n");
//gpio_direction_input(C_GPIO(10)); //gpio_direction_input(C_GPIO(10));
SINT16 startup = 0; SINT16 startup = 0;
SINT32 UpdateTime = 0;
//SF_MESSAGE_BUF_S stMessageBuf = {0}; //SF_MESSAGE_BUF_S stMessageBuf = {0};
//BOOL autosend = FALSE; //BOOL autosend = FALSE;
SF_MUTEX_INIT_LOCK(Param_mutexLock); SF_MUTEX_INIT_LOCK(Param_mutexLock);
@ -150,7 +151,8 @@ int main(int argc, char *argv[])
//return 0; //return 0;
SINT32 isUsb = sf_usb_IsInsert(); SINT32 isUsb = sf_usb_IsInsert();
SINT32 isCard = sf_in_card_exist(); 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) if(!isUsb)
{ {
sf_load_ko(); sf_load_ko();
@ -167,8 +169,11 @@ int main(int argc, char *argv[])
sf_mcu_flag_init(); sf_mcu_flag_init();
sf_mcu_init(); sf_mcu_init();
sf_get_power_on_mode(); startup = sf_poweron_type_get();
sf_mcu_wdg_set(30); if(SF_MCU_STARTUP_NORMAL != startup){
sf_get_power_on_mode();
sf_mcu_wdg_set(30);
}
sf_led_init(); sf_led_init();
@ -189,6 +194,8 @@ int main(int argc, char *argv[])
sf_app_battery_start(); sf_app_battery_start();
//sf_app_data_ready_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_PIR_NOT_DETECT);
sf_sys_status_led_set(SF_LED_SYS_STATE_NORMAL); sf_sys_status_led_set(SF_LED_SYS_STATE_NORMAL);
@ -212,7 +219,22 @@ int main(int argc, char *argv[])
//sf_wifi_app_start(); //sf_wifi_app_start();
} }
#if SF_IQ_TEST != ENABLE #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(); app_RegisterNet_start();
} }

View File

@ -79,7 +79,7 @@ SINT32 app_ttyusb_IsOpen(void) {
int retryFlag = 0; int retryFlag = 0;
SINT32 s32ret = 0; SINT32 s32ret = 0;
MLOGD("ttyUSB has not been init, will init ttyUSB!\n"); 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++; retryTime++;
if ((0 == retryFlag) && (retryTime >= 100) && if ((0 == retryFlag) && (retryTime >= 100) &&
(retryTime % 100 == 0)) // 200ms*100 = 20s (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()){ if(sf_get_send_video()){
s32ret = sf_video_ftp_send(); s32ret = sf_video_ftp_send();
} }
if(sf_get_send_log()){
s32ret = sf_log_send_ftp();
}
break; break;
case SF_MCU_STARTUP_SYN_PARAM: case SF_MCU_STARTUP_SYN_PARAM:
if (pCustomerParam->GpsSendFlag) { if (pCustomerParam->GpsSendFlag) {
@ -1113,6 +1118,10 @@ static SINT32 app_file_transfer(SF_FN_PARAM_S *pfnParam) {
if(sf_get_send_video()){ if(sf_get_send_video()){
s32ret = sf_video_ftp_send(); s32ret = sf_video_ftp_send();
} }
if(sf_get_send_log()){
s32ret = sf_log_send_ftp();
}
SLOGD("GpsSendFlag:%d\n", pCustomerParam->GpsSendFlag); SLOGD("GpsSendFlag:%d\n", pCustomerParam->GpsSendFlag);
break; break;
default: default:
@ -1359,6 +1368,9 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam) {
else if(sf_get_send_video()){ else if(sf_get_send_video()){
s32ret = sf_video_ftp_send(); s32ret = sf_video_ftp_send();
} }
else if(sf_get_send_log()){
s32ret = sf_log_send_ftp();
}
break; break;
case SF_MCU_STARTUP_TIMELAPSE: 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()){ else if(sf_get_send_video()){
s32ret = sf_video_ftp_send(); s32ret = sf_video_ftp_send();
} }
else if(sf_get_send_log()){
s32ret = sf_log_send_ftp();
}
//sf_share_mem_customer_down(1); //sf_share_mem_customer_down(1);
break; break;

View File

@ -20,6 +20,7 @@
#include "sf_message_queue.h" #include "sf_message_queue.h"
#include "sf_hal_ttyusb.h" #include "sf_hal_ttyusb.h"
#include "sf_common.h"
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
@ -585,9 +586,9 @@ void sf_sys_status_led_set(LedSysState_t ledSysStateId)
{ {
UINT8 startup = sf_poweron_type_get(); UINT8 startup = sf_poweron_type_get();
//printf("[%s:%d] s\n", __FUNCTION__, __LINE__); //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; 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); printf("SYS LED SET %d\n", ledSysStateId);
switch(ledSysStateId) switch(ledSysStateId)
{ {

View File

@ -53,7 +53,7 @@ unsigned char DailyReportStartMode = 0;
unsigned char POWEROFF = 0; unsigned char POWEROFF = 0;
SF_TIME_S sfMcuTime = { 0 }; SF_TIME_S sfMcuTime = { 0 };
static BOOL ConfigureModeFlag = 0; /* 0: HTC Mode, 1: Nomal Mode */ 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 UINT32 simCardInsert=0;
static UINT8 gModuleSleep = 1; static UINT8 gModuleSleep = 1;
static int isSignalReady = -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_sys_rtc_time_reset();
} }
sf_poweron_type_set(startMode); sf_poweron_type_set(startMode);
if(SF_MCU_STARTUP_ONKEY == startMode)
ConfigureModeFlag = 1;
//McuPowerOnMode = startMode; //McuPowerOnMode = startMode;
return startMode; return startMode;
} }
@ -355,7 +356,7 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
//unsigned char DigPirWindowTime = 0; //unsigned char DigPirWindowTime = 0;
UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
SF_PARA_TIME_S date = { 0 }; SF_PARA_TIME_S date = { 0 };
UINT8 PowerOnMode = sf_poweron_type_get();
SINT32 isUsb = sf_usb_IsInsert(); SINT32 isUsb = sf_usb_IsInsert();
SINT32 isCard = sf_in_card_exist(); SINT32 isCard = sf_in_card_exist();
SINT32 isCardFull = sf_is_card_full(); 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; 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; mcuReg[i] = GPS_POWER_TIMER_CLEAR;
mcuData[i++] = 1; mcuData[i++] = 1;
@ -719,7 +720,7 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
mcuData[i++] = temp; mcuData[i++] = temp;
if(ConfigureModeFlag) if((SF_MCU_STARTUP_ONKEY == PowerOnMode))
{ {
mcuReg[i] = DIGITAL_PIR_SENSITIVITY; mcuReg[i] = DIGITAL_PIR_SENSITIVITY;
mcuData[i++] = (puiPara->DigitPirSensitivity);//PirDigtSensRegValue[SysGetFlag(PirSensitivity)]; 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); 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; mcuReg[i] = GPS_POWER_TIMER_CLEAR;
mcuData[i++] = 1; mcuData[i++] = 1;
@ -769,7 +770,7 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
mcuReg[i] = SYS_STATUS; mcuReg[i] = SYS_STATUS;
mcuData[i++] = (puiPara->CamArmDiable) << 6 | isUsb << 2 | isCardFull << 1 | isCard << 0; 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; mcuReg[i] = GPS_POWER_TIMER_CLEAR;
mcuData[i++] = 1; mcuData[i++] = 1;
@ -1052,24 +1053,18 @@ void sf_mcu_version_get(UINT8 *mcuVer)
*************************************************/ *************************************************/
UINT8 sf_get_power_on_mode(void) UINT8 sf_get_power_on_mode(void)
{ {
static int ModeFlag = 1; static UINT8 ModeFlag = 1;
if(ModeFlag) if(ModeFlag)
{ {
ModeFlag = 0; ModeFlag = sf_mcu_power_on_para_get(SF_MCU_POWERON);
PowerOnMode = sf_mcu_power_on_para_get(SF_MCU_POWERON);
PowerOnMode &= 0x0f;
if(1 == PowerOnMode)
{
ConfigureModeFlag = 1;
}
} }
return PowerOnMode; return ModeFlag;
} }
UINT8 sf_convert_power_on_mode(void) UINT8 sf_convert_power_on_mode(void)
{ {
PowerOnMode &= 0x0f; //PowerOnMode &= 0x0f;
//printf("[%s:%d]PowerOnMode=0x%x\n",__FUNCTION__,__LINE__,PowerOnMode); //printf("[%s:%d]PowerOnMode=0x%x\n",__FUNCTION__,__LINE__,PowerOnMode);
return PowerOnMode; return 0;
} }
UINT8 sf_get_power_off_flag(void) UINT8 sf_get_power_off_flag(void)
@ -1285,7 +1280,7 @@ void sf_dailyReport_set(void)
UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
extern UINT8 DailyReportFtpSendSucess; 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) if (puiPara->FristSendDailyAndGps)
{ {
@ -1295,7 +1290,7 @@ void sf_dailyReport_set(void)
puiPara->ReDailyReport = 0; puiPara->ReDailyReport = 0;
sf_dailyReport_refresh(); 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) if (puiPara->FristSendDailyAndGps)
{ {