Merge branch 'Branch_S530' of gitlab.sifar.tech:linux-em-group/s530-ntk into Branch_S530

This commit is contained in:
xiaojiazhu 2023-08-10 13:52:54 +08:00
commit 2c2d0ca596
21 changed files with 293 additions and 80 deletions

2
.gitignore vendored
View File

@ -32,5 +32,7 @@ configs/cfg_gen
configs/rtos/cfg_565_HUNTING_EVB_LINUX_4G_S530/ModelConfig.mk configs/rtos/cfg_565_HUNTING_EVB_LINUX_4G_S530/ModelConfig.mk
configs/rtos/cfg_565_HUNTING_EVB_LINUX_4G_S530/nvt-evb.dtb configs/rtos/cfg_565_HUNTING_EVB_LINUX_4G_S530/nvt-evb.dtb
configs/rtos/cfg_565_HUNTING_EVB_LINUX_4G_S530/nvt-evb.tmp.dts configs/rtos/cfg_565_HUNTING_EVB_LINUX_4G_S530/nvt-evb.tmp.dts
build/nvt-tools/__pycache__/pyfdt.cpython-36.pyc
rtos/build/nvt-tools/__pycache__/pyfdt.cpython-36.pyc
logs/ logs/
output/ output/

View File

@ -77,4 +77,5 @@ alias setusbmuxs='cardv sys setusbmuxs'
alias 4gusbboot='cardv sys 4gusbboot' alias 4gusbboot='cardv sys 4gusbboot'
alias ftpsw='cardv sys ftpsw' alias ftpsw='cardv sys ftpsw'
alias ftpset='cardv sys ftpset' alias ftpset='cardv sys ftpset'
alias ftpsset='cardv sys ftpsset' alias ftpsset='cardv sys ftpsset'
alias stampsw='cardv sys stampsw'

1
code/application/.gitignore vendored Executable file
View File

@ -0,0 +1 @@
sifarsdk/

View File

@ -212,6 +212,7 @@ SXCMD_ITEM("worktime %", sf_cmd_work_time_switch, "worktime x 0/1 hh mm hh mm ")
SXCMD_ITEM("dateauto %", sf_cmd_date_auto, "dateauto 0/1") SXCMD_ITEM("dateauto %", sf_cmd_date_auto, "dateauto 0/1")
SXCMD_ITEM("datestyle %", sf_cmd_date_style, "datestyle 0/1/2") SXCMD_ITEM("datestyle %", sf_cmd_date_style, "datestyle 0/1/2")
SXCMD_ITEM("campwd %", sf_cmd_pwd_switch, "campwd 0/1 xxxxxx") SXCMD_ITEM("campwd %", sf_cmd_pwd_switch, "campwd 0/1 xxxxxx")
SXCMD_ITEM("stampsw %", sf_cmd_stamp_switch, "stamp 0/1")
SXCMD_ITEM("battype %", sf_cmd_battery_type, "battype 0/1/2/3") SXCMD_ITEM("battype %", sf_cmd_battery_type, "battype 0/1/2/3")
SXCMD_ITEM("sdloop %", sf_cmd_sd_loop_switch, "sdloop 0/1") SXCMD_ITEM("sdloop %", sf_cmd_sd_loop_switch, "sdloop 0/1")
SXCMD_ITEM("rtcset %", cmd_rtc_set, "rtcset y m d h m s") SXCMD_ITEM("rtcset %", cmd_rtc_set, "rtcset y m d h m s")

View File

@ -883,20 +883,26 @@ UINT32 BackgroundFormatCard(void)
#if HUNTING_CAMERA_MCU == ENABLE #if HUNTING_CAMERA_MCU == ENABLE
//vos_util_delay_ms(1000); //vos_util_delay_ms(1000);
sf_sys_status_led_set(SF_LED_SYS_STATE_SD_FORMAT_SUCCESS); sf_sys_status_led_set(SF_LED_SYS_STATE_SD_FORMAT_SUCCESS);
vos_util_delay_ms(3000); if(sf_get_pir_statu_flag()){
vos_util_delay_ms(3000);
}
#endif #endif
} }
else else
{ {
#if HUNTING_CAMERA_MCU == ENABLE #if HUNTING_CAMERA_MCU == ENABLE
sf_sys_status_led_set(SF_LED_SYS_STATE_SD_FORMAT_FAIL); sf_sys_status_led_set(SF_LED_SYS_STATE_SD_FORMAT_FAIL);
vos_util_delay_ms(3000); if(sf_get_pir_statu_flag()){
vos_util_delay_ms(3000);
}
#endif #endif
} }
MovieExe_ResetFileSN(); MovieExe_ResetFileSN();
#if HUNTING_CAMERA_MCU == ENABLE #if HUNTING_CAMERA_MCU == ENABLE
sf_sys_status_led_set(SF_LED_SYS_STATE_SD_FORMAT_EXIT); sf_sys_status_led_set(SF_LED_SYS_STATE_SD_FORMAT_EXIT);
vos_util_delay_ms(1000); if(sf_get_pir_statu_flag()){
vos_util_delay_ms(1000);
}
sf_set_card_statu(ret); sf_set_card_statu(ret);
#endif #endif
DBG_FUNC_END("\r\n"); DBG_FUNC_END("\r\n");

View File

@ -256,7 +256,7 @@ MOVIEMULTI_AUDIO_INFO gMovie_Audio_Info = {
#else #else
32000, //MOVIE_CFG_AUD_RATE 32000, //MOVIE_CFG_AUD_RATE
#endif #endif
_CFG_AUDIO_CH_STEREO, //MOVIE_CFG_AUD_CH _CFG_AUDIO_CH_RIGHT, //MOVIE_CFG_AUD_CH
2, //MOVIE_CFG_AUD_CH_NUM 2, //MOVIE_CFG_AUD_CH_NUM
}; };

2
code/application/source/sf_app/code/include/sf_file.h Normal file → Executable file
View File

@ -25,6 +25,8 @@ void sf_app_set_battery(UINT8 val, UINT8 type);
UINT32 sf_create_dailyreport_file(void); UINT32 sf_create_dailyreport_file(void);
UINT32 sf_create_low_power_warn_file(void);
UINT8 sf_app_get_battery(void); UINT8 sf_app_get_battery(void);
void sf_custom_send_str_get(UINT8 *sendName, UINT8 *pStr); void sf_custom_send_str_get(UINT8 *sendName, UINT8 *pStr);

1
code/application/source/sf_app/code/include/sf_ftp.h Normal file → Executable file
View File

@ -219,5 +219,6 @@ SINT32 sf_hd_ftp_send(void);
SINT32 sf_video_ftp_send(void); SINT32 sf_video_ftp_send(void);
SINT32 sf_get_ftp_open_flag(void); SINT32 sf_get_ftp_open_flag(void);
SINT32 sf_log_send_ftp(void); SINT32 sf_log_send_ftp(void);
SINT32 sf_low_power_warn_send_ftp(void);
#endif /*_SF_FTP_H_*/ #endif /*_SF_FTP_H_*/

View File

@ -147,6 +147,7 @@ extern "C" {
#define SF_ERROR_CODE SF_SD_ROOT"THUMB/warning.txt" #define SF_ERROR_CODE SF_SD_ROOT"THUMB/warning.txt"
#define SF_DAILYREPORT_TXT "DailyReport.txt" #define SF_DAILYREPORT_TXT "DailyReport.txt"
#define SF_LOG_TXT "log.txt" #define SF_LOG_TXT "log.txt"
#define SF_LOW_POWER_WARN_FILENAME SF_SD_ROOT"/THUMB/btalarm.txt"
#define GPIO_DIR_OUT 1 #define GPIO_DIR_OUT 1
#define GPIO_DIR_IN 0 #define GPIO_DIR_IN 0

View File

@ -117,52 +117,55 @@ extern char gsmPara[GPRS_INFO_LINE_MAX];
SINT32 sf_check_max_num(void) SINT32 sf_check_max_num(void)
{ {
SINT32 ret = SF_SEND_ERROR_REACH_MAX_NUM; SINT32 ret = SF_SEND_ERROR_REACH_MAX_NUM;
/*UIMenuStoreInfo *pPara = sf_app_ui_para_get(); UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
sfPara_t *sfParam = sf_ParaGet(); SF_PDT_PARAM_STATISTICS_S *sfParam = sf_statistics_param_get();
SF_PARA_TIME_S rTime; SF_PARA_TIME_S rTime;
printf("[%s:%d]sfParam->SendSuccCntPerDay=%d,puiPara->SendMaxNum=%d\n", __FUNCTION__, __LINE__, sfParam->SendSuccCntPerDay, puiPara->SendMaxNum); printf("[%s:%d]sfParam->picSendMax=%d,puiPara->SendMaxNum=%d\n", __FUNCTION__, __LINE__, sfParam->picSendMax, puiPara->SendMaxNum);
//the next day or more long time,need clear the max num limit. //the next day or more long time,need clear the max num limit.
sf_sys_rtc_time_get(&rTime); sf_sys_rtc_time_get(&rTime);
if((rTime.year != sfParam->PreYear) || (rTime.mon != sfParam->PreMonth) || (rTime.day != sfParam->Preday)) if((rTime.Year != sfParam->Year) || (rTime.Mon != sfParam->Mon) || (rTime.Day != sfParam->Day))
{ {
printf("new day, refresh counter!\n"); printf("new day, refresh counter!\n");
sfParam->EmailSendCntPerDay = 0; sfParam->picSendMax = 0;
sfParam->SendSuccCntPerDay = 0; sfParam->subscribeSendCnt = 0;
sfParam->PreYear = rTime.Year; sfParam->subscribeVideoSendCnt = 0;
sfParam->PreMonth = rTime.Mon; sfParam->Year=rTime.Year;
sfParam->Preday = rTime.Day; sfParam->Mon=rTime.Mon;
sfParam->Day=rTime.Day;
sfParam->Hour=rTime.Hour;
} }
if(puiPara->SendMaxNum == 0) if(puiPara->SendMaxNum == 0)
{ {
sfParam->PreYear = rTime.Year; sfParam->Year = rTime.Year;
sfParam->PreMonth = rTime.Mon; sfParam->Mon = rTime.Mon;
sfParam->Preday = rTime.Day; sfParam->Day = rTime.Day;
ret = SF_SUCCESS; ret = SF_SUCCESS;
} }
else else
{ {
if((sfParam->SendSuccCntPerDay < puiPara->SendMaxNum) || (sf_get_pic() == SF_TRUE)) if((sfParam->picSendMax < puiPara->SendMaxNum) || (sf_sms_check_send() == SF_TRUE))
{ {
ret = SF_SUCCESS; ret = SF_SUCCESS;
} }
} }
if(ConfigureModeFlag) if(SF_MCU_STARTUP_ONKEY == sf_poweron_type_get())
{ {
ret = SF_SUCCESS; ret = SF_SUCCESS;
} }
if(ret != SF_SUCCESS) if(ret != SF_SUCCESS)
{ {
sprintf((char *)errMsg, "[%s:%d]Reach Max Num/Day Limit,Error Code:0x%08x", __FUNCTION__, __LINE__, ret); sprintf((char *)logStr, "[%s:%d]Reach Max Num/Day Limit,Error Code:0x%08x", __FUNCTION__, __LINE__, ret);
SLOGE((SINT8 *)errMsg); SLOGE((char *)logStr);
}*/ }
ret = SF_SUCCESS; ret = SF_SUCCESS;
printf("[%s:%d]ret=%d\n", __FUNCTION__, __LINE__, ret); printf("[%s:%d]ret=%d\n", __FUNCTION__, __LINE__, ret);
@ -1120,6 +1123,7 @@ SINT32 sf_ftp_dailyreport_send(void)
UINT8 filePath[64] = { 0 }; UINT8 filePath[64] = { 0 };
int timeout = 120000; int timeout = 120000;
UIMenuStoreInfo *pPara = sf_app_ui_para_get(); UIMenuStoreInfo *pPara = sf_app_ui_para_get();
SF_PDT_PARAM_STATISTICS_S *pSifarPara = sf_statistics_param_get();
printf("%s:%d start\n", __FUNCTION__, __LINE__); printf("%s:%d start\n", __FUNCTION__, __LINE__);
@ -1151,6 +1155,21 @@ SINT32 sf_ftp_dailyreport_send(void)
printf("%s:%d err ret: [0x%08X] filePath:%s\n", __FUNCTION__, __LINE__, ret, filePath); printf("%s:%d err ret: [0x%08X] filePath:%s\n", __FUNCTION__, __LINE__, ret, filePath);
}else { }else {
DailyReportFtpSendSucess = 1; DailyReportFtpSendSucess = 1;
pSifarPara->picSendCount = 0;
pSifarPara->sendThumbnailCount = 0;
pSifarPara->picSendSucessCount = 0;
pSifarPara->picSendTimeoutCount = 0;
pSifarPara->picSendFailCount = 0;
pSifarPara->sendThumbnailFailCount = 0;
pSifarPara->picSendTimeCount = 0;
pSifarPara->sendThumbnailTimeCount = 0;
pSifarPara->TirgNum=0;
pSifarPara->NewFlieCount=0;
pSifarPara->videoSendCount = 0;
pSifarPara->videoSendTimeCount = 0;
pSifarPara->videoSendFailCount = 0;
pSifarPara->videoSendSucessCount = 0;
pSifarPara->SendlowPowerWarnCnt = 0;
} }
sf_dailyReport_set(); sf_dailyReport_set();
} }
@ -1551,7 +1570,7 @@ SINT32 sf_concentrated_ftp_send(void)
{ {
while((sf_app_while_flag()) && (((piccount+1) <= SendFileTotal) && ((pSifarPara->picSendMax < pPara->SendMaxNum) || (pPara->SendMaxNum == 0)))) while((sf_app_while_flag()) && (((piccount+1) <= SendFileTotal) && ((pSifarPara->picSendMax < pPara->SendMaxNum) || (pPara->SendMaxNum == 0))))
{ {
snprintf((char *)ftpFileName, sizeof(ftpFileName), "%s", pThumbFileCfg->stfileattr[piccount].thumbfileName); /*snprintf((char *)ftpFileName, sizeof(ftpFileName), "%s", pThumbFileCfg->stfileattr[piccount].thumbfileName);
snprintf((char *)filePath, sizeof(filePath), "%s", pThumbFileCfg->stfileattr[piccount].thumbfilePath); snprintf((char *)filePath, sizeof(filePath), "%s", pThumbFileCfg->stfileattr[piccount].thumbfilePath);
sf_set_del_flag(FALSE); sf_set_del_flag(FALSE);
@ -1566,7 +1585,7 @@ SINT32 sf_concentrated_ftp_send(void)
{ {
ret1 = sf_quectel_upload_file_to_module(filePath, ftpFileName); ret1 = sf_quectel_upload_file_to_module(filePath, ftpFileName);
} }
} }*/
battery = sf_app_get_battery(); battery = sf_app_get_battery();
memset(cameraID, '\0', sizeof(cameraID)); memset(cameraID, '\0', sizeof(cameraID));
memset(ftpFileName, '\0', sizeof(ftpFileName)); memset(ftpFileName, '\0', sizeof(ftpFileName));
@ -1578,7 +1597,8 @@ SINT32 sf_concentrated_ftp_send(void)
}else{ }else{
snprintf((char *)ftpFileName, sizeof(ftpFileName), "%s%s", cameraID, pThumbFileCfg->stfileattr[piccount].thumbfileName); snprintf((char *)ftpFileName, sizeof(ftpFileName), "%s%s", cameraID, pThumbFileCfg->stfileattr[piccount].thumbfileName);
} }
snprintf((char *)filePath, sizeof(filePath), "UFS:/%s", pThumbFileCfg->stfileattr[piccount].thumbfileName); //snprintf((char *)filePath, sizeof(filePath), "UFS:/%s", pThumbFileCfg->stfileattr[piccount].thumbfileName);
snprintf((char *)filePath, sizeof(filePath), "%s", pThumbFileCfg->stfileattr[piccount].thumbfilePath);
printf("%s:%d ftpFileName:%s filePath:%s\n", __FUNCTION__, __LINE__, ftpFileName, filePath); printf("%s:%d ftpFileName:%s filePath:%s\n", __FUNCTION__, __LINE__, ftpFileName, filePath);
@ -2151,6 +2171,49 @@ SINT32 sf_log_send_ftp(void)
return ret2; return ret2;
} }
} }
SINT32 sf_low_power_warn_send_ftp(void)
{
SINT32 ret = SF_SUCCESS;
UINT8 uploadFname[64] = { 0 };
UINT8 customStr[64] = { 0 };
UINT8 filePath[64] = { 0 };
int timeout = 120000;
UIMenuStoreInfo *pPara = sf_app_ui_para_get();
SF_PDT_PARAM_STATISTICS_S *pSifarPara = sf_statistics_param_get();
MLOGD("chack\n");
if(pSifarPara->SendlowPowerWarnCnt)
{
MLOGD("SendlowPowerWarnCnt:%d",pSifarPara->SendlowPowerWarnCnt);
return SF_FAILURE;
}
if(SUCCESS != sf_create_low_power_warn_file())
{
MLOGD("err\n");
return SF_FAILURE;
}
MLOGD("start\n");
sprintf((char *)filePath, "%s", SF_LOW_POWER_WARN_FILENAME);
printf("%s:%d filePath:%s\n", __FUNCTION__, __LINE__, filePath);
sf_custom_str_get(customStr);
sprintf((char *)uploadFname, "%s-%s-btalarm.txt",pPara->ModuleImei, customStr);
ret = sf_ftp_send(uploadFname, filePath, timeout);
if(SF_SUCCESS != ret)
{
printf("%s:%d err ret: [0x%08X] filePath:%s\n", __FUNCTION__, __LINE__, ret, filePath);
}else {
pSifarPara->SendlowPowerWarnCnt++;
}
printf("[%s:%d]ret:[0x%08X]\n\n", __FUNCTION__, __LINE__, ret);
return ret;
}
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
} }

View File

@ -153,25 +153,24 @@ int main(int argc, char *argv[])
if((!isUsb) && (SF_MCU_STARTUP_NORMAL != startup) /*&& (0 == isUpdate)*/) if((!isUsb) && (SF_MCU_STARTUP_NORMAL != startup) /*&& (0 == isUpdate)*/)
{ {
#if SF_IQ_TEST != ENABLE #if SF_IQ_TEST != ENABLE
sf_4G_usb_init(); if((0 == isUpdate))
app_RegisterNet_start(); {
sf_4G_usb_init();
app_RegisterNet_start();
}
#endif #endif
sf_app_battery_start(); sf_app_battery_start();
sf_sys_status_led_set(SF_LED_SYS_STATE_PIR_NOT_DETECT);
sf_sys_status_led_set(SF_LED_SYS_STATE_NORMAL);
}
else if(isUsb){
sf_sys_status_led_set(SF_LED_SYS_STATE_USB_IN);
} }
//sf_battery_check_init(); //sf_battery_check_init();
//sf_app_data_ready_start(); //sf_app_data_ready_start();
if(isUsb){
sf_sys_status_led_set(SF_LED_SYS_STATE_USB_IN);
}
else{
sf_sys_status_led_set(SF_LED_SYS_STATE_PIR_NOT_DETECT);
sf_sys_status_led_set(SF_LED_SYS_STATE_NORMAL);
}
if((startup == SF_MCU_STARTUP_NORMAL) && (!isUsb)) if((startup == SF_MCU_STARTUP_NORMAL) && (!isUsb))
{ {
app_auto_poweroff_start(); app_auto_poweroff_start();

View File

@ -158,7 +158,7 @@ SINT32 sf_USB_net_init(void) {
if(AT_MANAGER_SUCCEED != at_usbnet_init()){ if(AT_MANAGER_SUCCEED != at_usbnet_init()){
MLOGE("usb net err %d\n", AT_MANAGER_SUCCEED); MLOGE("usb net err %d\n", AT_MANAGER_SUCCEED);
}else { }else {
for (i = 0; i < 40; i++) { for (i = 0; i < 20; i++) {
if(strncmp(puiPara->ModuleVer, GPRS_MODULE_TYPE_EG915Q, 6) == 0){ if(strncmp(puiPara->ModuleVer, GPRS_MODULE_TYPE_EG915Q, 6) == 0){
ret = sf_check_usb0(); ret = sf_check_usb0();
}else{ }else{
@ -1032,12 +1032,13 @@ static SINT32 app_file_transfer(SF_FN_PARAM_S *pfnParam) {
if (TRUE == sf_check_auto_thumb_file()) { if (TRUE == sf_check_auto_thumb_file()) {
s32ret = sf_send_file_to_ftp(1); s32ret = sf_send_file_to_ftp(1);
} }
sf_low_power_warn_send_ftp();
break; break;
case SF_MCU_STARTUP_BATCH_SEND: case SF_MCU_STARTUP_BATCH_SEND:
if (TRUE == sf_check_auto_thumb_file()) { if (TRUE == sf_check_auto_thumb_file()) {
s32ret = sf_concentrated_ftp_send(); s32ret = sf_concentrated_ftp_send();
} }
sf_low_power_warn_send_ftp();
break; break;
case SF_MCU_STARTUP_RING: case SF_MCU_STARTUP_RING:

View File

@ -1160,7 +1160,7 @@ UINT32 sf_4g_update(UINT8 *upFname)
sprintf(cmdStr, "/usr/bin/DownloadCLI-EG915Q -p /dev/ttyACM0 -c %s/cfg_ec618_usb.ini -B \"BL AP CP\" -r", upFname); sprintf(cmdStr, "/usr/bin/DownloadCLI-EG915Q -p /dev/ttyACM0 -c %s/cfg_ec618_usb.ini -B \"BL AP CP\" -r", upFname);
sprintf(cmdtmp, "/dev/ttyACM0"); sprintf(cmdtmp, "/dev/ttyACM0");
}else { }else {
sprintf(cmdStr, "/customer/QFirehose -f %s",upFname); sprintf(cmdStr, "/usr/bin/QFirehose-EG91 -f %s",upFname);
sprintf(cmdtmp, "/dev/ttyUSB0"); sprintf(cmdtmp, "/dev/ttyUSB0");
} }
printf("[%s:%d] cmd:%s\n", __FUNCTION__, __LINE__,cmdStr); printf("[%s:%d] cmd:%s\n", __FUNCTION__, __LINE__,cmdStr);

View File

@ -684,10 +684,13 @@ void sf_sys_status_led_set(LedSysState_t ledSysStateId)
break; break;
case SF_LED_SYS_STATE_SD_FORMAT_START: case SF_LED_SYS_STATE_SD_FORMAT_START:
FormatSdFlag = 1; if(sf_get_pir_statu_flag()){
sf_led_set(SF_LED_BUSY, SF_LED_STATE_OFF); FormatSdFlag = 1;
sf_set_runningLed(0); sf_led_set(SF_LED_BUSY, SF_LED_STATE_OFF);
isGoToPir = FALSE; sf_set_runningLed(0);
isGoToPir = FALSE;
}
//sf_led_set(SF_LED_BUSY, SF_LED_STATE_ON); //sf_led_set(SF_LED_BUSY, SF_LED_STATE_ON);
//sf_led_set(SF_LED_ALL, SF_LED_STATE_OFF); //sf_led_set(SF_LED_ALL, SF_LED_STATE_OFF);
sf_led_set(SF_LED_SD_G, SF_LED_STATE_FLASHING); sf_led_set(SF_LED_SD_G, SF_LED_STATE_FLASHING);
@ -695,13 +698,17 @@ void sf_sys_status_led_set(LedSysState_t ledSysStateId)
break; break;
case SF_LED_SYS_STATE_SD_FORMAT_SUCCESS: case SF_LED_SYS_STATE_SD_FORMAT_SUCCESS:
FormatSdFlag = 2; if(sf_get_pir_statu_flag()){
FormatSdFlag = 2;
}
sf_led_set(SF_LED_SD_G, SF_LED_STATE_ON); sf_led_set(SF_LED_SD_G, SF_LED_STATE_ON);
sf_led_set(SF_LED_SD_R, SF_LED_STATE_OFF); sf_led_set(SF_LED_SD_R, SF_LED_STATE_OFF);
break; break;
case SF_LED_SYS_STATE_SD_FORMAT_FAIL: case SF_LED_SYS_STATE_SD_FORMAT_FAIL:
FormatSdFlag = 3; if(sf_get_pir_statu_flag()){
FormatSdFlag = 3;
}
sf_led_set(SF_LED_SD_G, SF_LED_STATE_OFF); sf_led_set(SF_LED_SD_G, SF_LED_STATE_OFF);
sf_led_set(SF_LED_SD_R, SF_LED_STATE_ON); sf_led_set(SF_LED_SD_R, SF_LED_STATE_ON);
break; break;
@ -815,7 +822,7 @@ void sf_sys_status_led_set(LedSysState_t ledSysStateId)
case SF_LED_SYS_STATE_SIM_ERROR: case SF_LED_SYS_STATE_SIM_ERROR:
sf_set_runningLed(0); sf_set_runningLed(0);
sf_led_set(SF_LED_SIG1_R, SF_LED_STATE_FLASHING); sf_led_set(SF_LED_SIG1_R, SF_LED_STATE_SLOW_FLASHING);
sf_led_set(SF_LED_SIG1_G, SF_LED_STATE_OFF); sf_led_set(SF_LED_SIG1_G, SF_LED_STATE_OFF);
sf_led_set(SF_LED_SIG2, SF_LED_STATE_OFF); sf_led_set(SF_LED_SIG2, SF_LED_STATE_OFF);
sf_led_set(SF_LED_SIG3, SF_LED_STATE_OFF); sf_led_set(SF_LED_SIG3, SF_LED_STATE_OFF);
@ -824,7 +831,7 @@ void sf_sys_status_led_set(LedSysState_t ledSysStateId)
case SF_LED_SYS_STATE_SERVER_FAIL: case SF_LED_SYS_STATE_SERVER_FAIL:
sf_set_runningLed(0); sf_set_runningLed(0);
sf_led_set(SF_LED_SIG1_R, SF_LED_STATE_SLOW_FLASHING); sf_led_set(SF_LED_SIG1_R, SF_LED_STATE_FLASHING);
sf_led_set(SF_LED_SIG1_G, SF_LED_STATE_OFF); sf_led_set(SF_LED_SIG1_G, SF_LED_STATE_OFF);
sf_led_set(SF_LED_SIG2, SF_LED_STATE_OFF); sf_led_set(SF_LED_SIG2, SF_LED_STATE_OFF);
sf_led_set(SF_LED_SIG3, SF_LED_STATE_OFF); sf_led_set(SF_LED_SIG3, SF_LED_STATE_OFF);

View File

@ -936,6 +936,7 @@ UINT32 sf_create_dailyreport_file(void)
UINT8 localfea[5] = {0};/*Software fea*/ UINT8 localfea[5] = {0};/*Software fea*/
SF_PARA_TIME_S drRtcTime; SF_PARA_TIME_S drRtcTime;
SINT16 fTemper = 0, cTemper = 0;
/*Avoid New Card*/ /*Avoid New Card*/
@ -967,7 +968,8 @@ UINT32 sf_create_dailyreport_file(void)
i=0; i=0;
sprintf(str, "%d Celsius Degree", sf_app_get_temper(1)); sf_stamp_temperature_get(&fTemper,&cTemper);
sprintf(str, "%d Celsius Degree", cTemper);
sf_sys_rtc_time_get(&drRtcTime); sf_sys_rtc_time_get(&drRtcTime);
@ -1043,16 +1045,16 @@ UINT32 sf_create_dailyreport_file(void)
pSifarPara->picSendCount + pSifarPara->videoSendCount); pSifarPara->picSendCount + pSifarPara->videoSendCount);
sf_versionGet(localver,localfea); sf_versionGet(localver,localfea);
temp = batteryType; temp = sf_battery_type_get();
//if(CameraCmd.setPara) //if(CameraCmd.setPara)
// pPara = pPara_sms_saved; // pPara = pPara_sms_saved;
if(temp == 1) if(temp == SF_POWER_TYPE_DC)
{ {
sprintf(str, "DC"); sprintf(str, "DC");
} }
else if(temp == 2) else if(temp == SF_POWER_TYPE_LI_POLYER)
{ {
sprintf(str, "Custom"); sprintf(str, "Custom");
} }
@ -1259,6 +1261,100 @@ UINT32 sf_create_dailyreport_file(void)
return ret; return ret;
} }
/*************************************************
Function: sf_create_low_power_warn_file
Description: create low power warn file
Input: N/A
Output: N/A
Return: SUCCESS/FAIL
Others: N/A
*************************************************/
UINT32 sf_create_low_power_warn_file(void)
{
UINT32 fd = 0, ret = FAIL;
UINT8 szTmp[50] = {0};
UINT8 str[20]= {0};
UINT16 temp = 0;
UINT8 batVal = 0;
UIMenuStoreInfo *pPara = sf_app_ui_para_get();
temp = sf_battery_type_get();
batVal = sf_battery_value_get(0);
if (batVal > 20)
{
printf("battery val > 20,no need to send\n");
return ret;
}
/*Avoid New Card*/
if (access(SF_THUMB_DIR, F_OK) == -1) {
printf("%s directory does not exist. Creating...\n", SF_THUMB_DIR);
if (mkdir(SF_THUMB_DIR, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) == -1) {
//perror("mkdir() error");
} else {
printf("%s directory created.\n", SF_THUMB_DIR);
}
} else {
printf("%s directory exists.\n", SF_THUMB_DIR);
}
if(sf_file_IsExsit(SF_LOW_POWER_WARN_FILENAME) == SF_TRUE){
sf_file_remove(SF_LOW_POWER_WARN_FILENAME);
}
fd = open(SF_LOW_POWER_WARN_FILENAME, O_APPEND | O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR);
if(!fd)
{
fd = open(SF_LOW_POWER_WARN_FILENAME, O_APPEND | O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR);
}
if(fd)
{
if(temp == SF_POWER_TYPE_DC)
{
SF_SPRINTF(str, "DC");
}
else if(temp == SF_POWER_TYPE_LI_POLYER)
{
SF_SPRINTF(str, "Custom");
}
else
{
if(pPara->BatteryType == 0)
SF_SPRINTF(str, "Alkaline");
else if(pPara->BatteryType == 1)
SF_SPRINTF(str, "NI-MH");
else
SF_SPRINTF(str, "Lithium");
}
SF_SPRINTF(szTmp, "Battery:%d%%\r\nPower Type:%s\r\n", batVal, str);
printf("Low Power Warn:%s", szTmp);
ret = write(fd, szTmp, SF_STRLEN(szTmp));
if(ret <0)
{
close(fd);
sf_file_remove(SF_LOW_POWER_WARN_FILENAME);
printf("write low power warn file failed!,ret:%d\n",ret);
ret = FAIL;
}
else
{
close(fd);
ret = SUCCESS;
}
}
return ret;
}
#if 0 #if 0
/************************************************* /*************************************************
Function: sf_is_enough_power_to_update Function: sf_is_enough_power_to_update

View File

@ -1138,7 +1138,7 @@ void sf_statistics_param_reset(SF_PDT_PARAM_STATISTICS_S *pSfPara)
pSfPara->subscribeSendCnt = 0; pSfPara->subscribeSendCnt = 0;
pSfPara->subscribeVideoSendCnt = 0; pSfPara->subscribeVideoSendCnt = 0;
pSfPara->GpsSearchFailCnt = 0;/*dailyReport mode, search gps fail cnt*/ pSfPara->GpsSearchFailCnt = 0;/*dailyReport mode, search gps fail cnt*/
pSfPara->SendlowPowerWarnCnt = 0;
pSfPara->SmsFlag = 0; pSfPara->SmsFlag = 0;
pSfPara->SmsNumber = 0; pSfPara->SmsNumber = 0;

View File

@ -956,6 +956,7 @@ unsigned char sf_commu_parse_mcu_data(unsigned char * src, unsigned int len)
} }
else if(1 == stMessageBuf.arg3) //ON->SETUP else if(1 == stMessageBuf.arg3) //ON->SETUP
{ {
sf_set_pir_statu_flag(0);
sf_set_module_sleep_flag(0); sf_set_module_sleep_flag(0);
sf_com_message_send_to_cardv(&stMessageBuf); sf_com_message_send_to_cardv(&stMessageBuf);
} }

View File

@ -118,4 +118,5 @@ BOOL sf_cmd_disp_para_set(unsigned char argc, char **argv);
BOOL sf_cmd_ftp_switch(unsigned char argc, char **argv); BOOL sf_cmd_ftp_switch(unsigned char argc, char **argv);
BOOL sf_cmd_ftp(unsigned char argc, char **argv); BOOL sf_cmd_ftp(unsigned char argc, char **argv);
BOOL sf_cmd_ftps(unsigned char argc, char **argv); BOOL sf_cmd_ftps(unsigned char argc, char **argv);
UINT32 sf_cardv_cap_start(void);
#endif #endif

View File

@ -99,7 +99,11 @@ static SF_THREAD_S WifiTskCfg =
.IsRun = 0, .IsRun = 0,
.TskId = -1, .TskId = -1,
}; };
static SF_THREAD_S CapTskCfg =
{
.IsRun = 0,
.TskId = -1,
};
int sf_pir_statu_read(void) int sf_pir_statu_read(void)
{ {
static UINT8 state = 0; static UINT8 state = 0;
@ -750,7 +754,7 @@ BOOL sf_cmd_latitude(unsigned char argc, char **argv)
{ {
//UINT32 value; //UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get(); UIMenuStoreInfo *puiPara = sf_ui_para_get();
//printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); //printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(1 == argc) if(1 == argc)
{ {
strncpy(puiPara->Latitude, argv[0], ((sizeof(puiPara->Latitude) <= strlen(argv[0])) ? (sizeof(puiPara->Latitude)) : (strlen(argv[0])))); strncpy(puiPara->Latitude, argv[0], ((sizeof(puiPara->Latitude) <= strlen(argv[0])) ? (sizeof(puiPara->Latitude)) : (strlen(argv[0]))));
@ -1626,31 +1630,7 @@ static SINT32 sf_cardv_proccess_cmd_wifi(SF_MESSAGE_BUF_S *pMessageBuf)
ImageApp_Common_RtspStart(0); ImageApp_Common_RtspStart(0);
break; break;
case SF_WIFI_CMD_CAPTURE: case SF_WIFI_CMD_CAPTURE:
if(PWR_ON_SETUP != sf_cardv_convert_power_on_mode()){ sf_cardv_cap_start();
if(TRUE != sf_is_preview()){
UIMenuStoreInfo *puiPara = sf_ui_para_get();
int iCurrMode = System_GetState(SYS_STATE_CURRMODE);
int iNextMode = PRIMARY_MODE_PHOTO;
if((puiPara->CamMode == SF_CAM_MODE_PHOTO) || (puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO))
{
iNextMode = PRIMARY_MODE_PHOTO;
}
else if(puiPara->CamMode == SF_CAM_MODE_VIDEO)
{
iNextMode = PRIMARY_MODE_MOVIE;
}
else
{
iNextMode = PRIMARY_MODE_PHOTO;
}
UI_SetData(FL_PreMode, iCurrMode);
UI_SetData(FL_NextMode, iNextMode);
Ux_PostEvent(NVTEVT_SYSTEM_MODE, 1, iNextMode);
vos_util_delay_ms(400);
}
}
FlowPhoto_DoCapture();
break; break;
case SF_WIFI_CMD_HD_TURE: case SF_WIFI_CMD_HD_TURE:
if(!hdFlagInit) if(!hdFlagInit)
@ -2436,4 +2416,54 @@ BOOL sf_cmd_ftp_switch(unsigned char argc, char **argv)
} }
printf("[%s:%d] FtpSwitch:%d\n", __FUNCTION__, __LINE__,puiPara->FtpSwitch); printf("[%s:%d] FtpSwitch:%d\n", __FUNCTION__, __LINE__,puiPara->FtpSwitch);
return TRUE; return TRUE;
}
void* sf_cardv_cap_thread(void *arg)
{
if(PWR_ON_SETUP != sf_cardv_convert_power_on_mode()){
if(TRUE != sf_is_preview()){
UIMenuStoreInfo *puiPara = sf_ui_para_get();
int iCurrMode = System_GetState(SYS_STATE_CURRMODE);
int iNextMode = PRIMARY_MODE_PHOTO;
if((puiPara->CamMode == SF_CAM_MODE_PHOTO) || (puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO))
{
iNextMode = PRIMARY_MODE_PHOTO;
}
else if(puiPara->CamMode == SF_CAM_MODE_VIDEO)
{
iNextMode = PRIMARY_MODE_MOVIE;
}
else
{
iNextMode = PRIMARY_MODE_PHOTO;
}
UI_SetData(FL_PreMode, iCurrMode);
UI_SetData(FL_NextMode, iNextMode);
Ux_PostEvent(NVTEVT_SYSTEM_MODE, 1, iNextMode);
vos_util_delay_ms(1000);
}
}
FlowPhoto_DoCapture();
CapTskCfg.IsRun = 0;
return NULL;
}
UINT32 sf_cardv_cap_start(void)
{
SINT32 ret = 1;
if(CapTskCfg.IsRun)
{
SLOGE("thread has already run !!!\n");
return 1;
}
ret = pthread_create(&CapTskCfg.TskId, NULL, sf_cardv_cap_thread, NULL);
if(ret != SF_SUCCESS)
{
MLOGD("thread creat fail!\n");
return ret;
}
CapTskCfg.IsRun = 1;
return SF_SUCCESS;
} }

View File

@ -258,7 +258,7 @@ MOVIEMULTI_AUDIO_INFO gMovie_Audio_Info = {
#else #else
32000, //MOVIE_CFG_AUD_RATE 32000, //MOVIE_CFG_AUD_RATE
#endif #endif
_CFG_AUDIO_CH_STEREO, //MOVIE_CFG_AUD_CH _CFG_AUDIO_CH_RIGHT, //MOVIE_CFG_AUD_CH
2, //MOVIE_CFG_AUD_CH_NUM 2, //MOVIE_CFG_AUD_CH_NUM
}; };