1.ftp修改;2.上传流程修改;3.Iq更新

This commit is contained in:
payton 2023-05-09 17:21:37 +08:00
parent 0314657116
commit 5441e84b0b
104 changed files with 8099 additions and 1298 deletions

22
code/.vscode/c_cpp_properties.json vendored Normal file
View File

@ -0,0 +1,22 @@
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"defines": ["_MODEL_565_HUNTING_EVB_LINUX_4G_S530_","_EMBMEM_SPI_NOR_"],
"windowsSdkVersion": "10.0.22000.0",
"compilerPath": "cl.exe",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "windows-msvc-x64"
}
],
"version": 4
}

8
code/.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,8 @@
{
"files.associations": {
"prjcfg_hunting_s530.h": "c",
"sf_keymng.h": "c",
"sf_inc.h": "c",
"sf_commmng.h": "c"
}
}

View File

@ -460,7 +460,7 @@ void sf_ir_led_set(UINT8 mode, UINT8 flashLed, UINT8 stillExp, UINT8 isSnapVideo
{ {
if(flashLed == 0) if(flashLed == 0)
{ {
ui_rise = 25;//75% ui_rise = 30;//70%
} }
else else
{ {
@ -471,7 +471,7 @@ void sf_ir_led_set(UINT8 mode, UINT8 flashLed, UINT8 stillExp, UINT8 isSnapVideo
{ {
if(flashLed == 0) if(flashLed == 0)
{ {
ui_rise = 10;//90% ui_rise = 15;//85%
} }
else else
{ {
@ -505,7 +505,7 @@ void sf_ir_led_set(UINT8 mode, UINT8 flashLed, UINT8 stillExp, UINT8 isSnapVideo
} }
#endif #endif
sprintf(argv, "echo \"w openpwm 3 100 %d 100 0 0 0 0\" > /proc/pwm/cmd", ui_rise); sprintf(argv, "echo \"w openpwm 3 100 %d 100 14 0 0 0\" > /proc/pwm/cmd", ui_rise);
ret = nvt_system(argv); ret = nvt_system(argv);
//printf("%s:%d argv:%s\n", __FUNCTION__, __LINE__,argv); //printf("%s:%d argv:%s\n", __FUNCTION__, __LINE__,argv);

View File

@ -918,7 +918,7 @@
#define HUNTING_MCU_I2C DISABLE #define HUNTING_MCU_I2C DISABLE
#define HUNTING_MCU_UART ENABLE #define HUNTING_MCU_UART ENABLE
#define HUNTING_IR_LED_940 DISABLE #define HUNTING_IR_LED_940 DISABLE
#define SF_BASE_VERSION "7MD4RCwD3T2" #define SF_BASE_VERSION "7MD4RCwD3T3"
#define HW_S530 1 #define HW_S530 1

View File

@ -133,6 +133,7 @@ INT32 System_GetPoweronModeByFWInfo(void)
INT32 System_GetBootFirstMode(void) INT32 System_GetBootFirstMode(void)
{ {
UIMenuStoreInfo *puiPara = sf_ui_para_get();
#if (IPCAM_MODE == ENABLE) #if (IPCAM_MODE == ENABLE)
#if 0 #if 0
return System_GetPoweronModeByFWInfo(); return System_GetPoweronModeByFWInfo();
@ -141,12 +142,12 @@ INT32 System_GetBootFirstMode(void)
#endif #endif
#else #else
#if !UI_SENSOR #if !UI_SENSOR
printf("%s:%d CamMode :%d\n", __FUNCTION__, __LINE__,SysGetFlag(CamMode)); printf("%s:%d CamMode :%d\n", __FUNCTION__, __LINE__,puiPara->CamMode);
if(SF_CAM_MODE_PHOTO == SysGetFlag(CamMode)) if(SF_CAM_MODE_PHOTO == puiPara->CamMode)
{ {
return PRIMARY_MODE_PHOTO; return PRIMARY_MODE_PHOTO;
} }
else if(SF_CAM_MODE_VIDEO == SysGetFlag(CamMode)) else if(SF_CAM_MODE_VIDEO == puiPara->CamMode)
{ {
return PRIMARY_MODE_MOVIE; return PRIMARY_MODE_MOVIE;
} }

View File

@ -47,12 +47,6 @@ void Strg_CB(UINT32 event, UINT32 param1, UINT32 param2)
UINT32 status; UINT32 status;
SF_MESSAGE_BUF_S stMessageBuf = {0}; SF_MESSAGE_BUF_S stMessageBuf = {0};
stMessageBuf.arg1 = event;
stMessageBuf.arg2 = param1;
stMessageBuf.arg3 = param2;
stMessageBuf.cmdId = CMD_SD;
sf_com_message_send_to_app(&stMessageBuf);
switch (event) { switch (event) {
// part-1 // part-1
case SYSTEM_CB_CONFIG: case SYSTEM_CB_CONFIG:
@ -161,6 +155,11 @@ void Strg_CB(UINT32 event, UINT32 param1, UINT32 param2)
DBG_ERR("Strg_CB Err event(%d)", event); DBG_ERR("Strg_CB Err event(%d)", event);
break; break;
} }
stMessageBuf.arg1 = event;
stMessageBuf.arg2 = param1;
stMessageBuf.arg3 = param2;
stMessageBuf.cmdId = CMD_SD;
sf_com_message_send_to_app(&stMessageBuf);
} }
#endif #endif

View File

@ -18,6 +18,7 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <sf_led.h> #include <sf_led.h>
#include <sf_common.h>
#define THIS_DBGLVL 2 // 0=FATAL, 1=ERR, 2=WRN, 3=UNIT, 4=FUNC, 5=IND, 6=MSG, 7=VALUE, 8=USER #define THIS_DBGLVL 2 // 0=FATAL, 1=ERR, 2=WRN, 3=UNIT, 4=FUNC, 5=IND, 6=MSG, 7=VALUE, 8=USER
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
#define __MODULE__ SysUsbExe #define __MODULE__ SysUsbExe
@ -144,10 +145,12 @@ static BOOL System_InsmodUsb(BOOL isHost)
} }
if(isHost == FALSE){ if(isHost == FALSE){
sf_usb_mux_s(0);
is_usb_dev_driver_inserted = TRUE; is_usb_dev_driver_inserted = TRUE;
return System_WaitUsbDev(); return System_WaitUsbDev();
} }
else{ else{
sf_usb_mux_s(1);
is_usb_host_driver_inserted = TRUE; is_usb_host_driver_inserted = TRUE;
return TRUE; return TRUE;
} }

View File

@ -391,6 +391,10 @@ int NvtMain(void)
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_battery_thread_init(); sf_battery_thread_init();
} }
else
{
sf_usb_mux_s(0);
}
GOIO_Turn_Onoff_IRCUT(1); GOIO_Turn_Onoff_IRCUT(1);
#endif #endif

View File

@ -38,13 +38,13 @@
#include "vendor_videoout.h" #include "vendor_videoout.h"
#include "IOCfg.h" #include "IOCfg.h"
#define THIS_DBGLVL 2 // 0=FATAL, 1=ERR, 2=WRN, 3=UNIT, 4=FUNC, 5=IND, 6=MSG, 7=VALUE, 8=USER #define THIS_DBGLVL 5 // 0=FATAL, 1=ERR, 2=WRN, 3=UNIT, 4=FUNC, 5=IND, 6=MSG, 7=VALUE, 8=USER
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
#define __MODULE__ UiAppMovie #define __MODULE__ UiAppMovie
#define __DBGLVL__ ((THIS_DBGLVL>=PRJ_DBG_LVL)?THIS_DBGLVL:PRJ_DBG_LVL) #define __DBGLVL__ ((THIS_DBGLVL>=PRJ_DBG_LVL)?THIS_DBGLVL:PRJ_DBG_LVL)
#define __DBGFLT__ "*" //*=All, [mark]=CustomClass #define __DBGFLT__ "*" //*=All, [mark]=CustomClass
#include <kwrap/debug.h> #include <kwrap/debug.h>
#include <sf_inc.h>
#define VDO_YUV_BUFSIZE(w, h, pxlfmt) ALIGN_CEIL_4(((w) * (h) * HD_VIDEO_PXLFMT_BPP(pxlfmt)) / 8) #define VDO_YUV_BUFSIZE(w, h, pxlfmt) ALIGN_CEIL_4(((w) * (h) * HD_VIDEO_PXLFMT_BPP(pxlfmt)) / 8)
#define FILE_SN_MAX 999999 #define FILE_SN_MAX 999999
@ -199,6 +199,7 @@ INT32 Set_Cur_Day_Night_Status(BOOL OnOff, UINT8 isSnapVideo)
IQT_NIGHT_MODE night_mode = {0}; IQT_NIGHT_MODE night_mode = {0};
AWBT_MANUAL awb_manual = {0}; AWBT_MANUAL awb_manual = {0};
HD_RESULT hd_ret; HD_RESULT hd_ret;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
if ((hd_ret = vendor_isp_init()) != HD_OK) { if ((hd_ret = vendor_isp_init()) != HD_OK) {
DBG_ERR("vendor_isp_init() fail(%d)\r\n", hd_ret); DBG_ERR("vendor_isp_init() fail(%d)\r\n", hd_ret);
} }
@ -206,7 +207,7 @@ INT32 Set_Cur_Day_Night_Status(BOOL OnOff, UINT8 isSnapVideo)
night_mode.id = 0; night_mode.id = 0;
awb_manual.id = 0; awb_manual.id = 0;
vendor_isp_get_ae(AET_ITEM_STATUS, &ae_status_info); vendor_isp_get_ae(AET_ITEM_STATUS, &ae_status_info);
DBG_ERR(">> aet status lv %d lv_base %d\r\n",ae_status_info.status_info.lv,ae_status_info.status_info.lv_base); //DBG_ERR(">> aet status lv %d lv_base %d\r\n",ae_status_info.status_info.lv,ae_status_info.status_info.lv_base);
//DBG_ERR(">> aet status ev %d ev_base %d\r\n",ae_status_info.status_info.ev,ae_status_info.status_info.ev_base); //DBG_ERR(">> aet status ev %d ev_base %d\r\n",ae_status_info.status_info.ev,ae_status_info.status_info.ev_base);
if (((ae_status_info.status_info.lv / 1000000) < 7)&&(OnOff)) if (((ae_status_info.status_info.lv / 1000000) < 7)&&(OnOff))
{ {
@ -219,7 +220,7 @@ INT32 Set_Cur_Day_Night_Status(BOOL OnOff, UINT8 isSnapVideo)
night_mode.mode = 1; night_mode.mode = 1;
GOIO_Turn_Onoff_IRCUT(0); GOIO_Turn_Onoff_IRCUT(0);
//GPIO_IRLed_Turn_Onoff(1); //GPIO_IRLed_Turn_Onoff(1);
sf_ir_led_set(((2 == SysGetFlag(NightMode)) ? 2 : 1),SysGetFlag(FlashLed), SysGetFlag(NightMode), isSnapVideo); sf_ir_led_set(((2 == puiPara->NightMode) ? 2 : 1),puiPara->FlashLed, puiPara->NightMode,isSnapVideo);
} }
else else
{ {
@ -233,12 +234,12 @@ INT32 Set_Cur_Day_Night_Status(BOOL OnOff, UINT8 isSnapVideo)
vendor_isp_set_iq(IQT_ITEM_NIGHT_MODE, &night_mode); vendor_isp_set_iq(IQT_ITEM_NIGHT_MODE, &night_mode);
if (OnOff){ if (OnOff){
vos_util_delay_ms(1500); vos_util_delay_ms(100);
} }
if ((hd_ret = vendor_isp_uninit()) != HD_OK) { if ((hd_ret = vendor_isp_uninit()) != HD_OK) {
DBG_ERR("vendor_isp_uninit() fail(%d)\r\n", hd_ret); DBG_ERR("vendor_isp_uninit() fail(%d)\r\n", hd_ret);
} }
vos_util_delay_ms(20); //vos_util_delay_ms(20);
return 0; return 0;
} }
@ -1119,6 +1120,8 @@ static void MovieExe_FileNamingCB(MOVIE_CFG_REC_ID id, char *pFileName)
} else { } else {
DCF_GetNextID(&nextFolderID,&nextFileID); DCF_GetNextID(&nextFolderID,&nextFileID);
DCF_MakeObjPath(nextFolderID, nextFileID, DCF_FILE_TYPE_MP4, pFileName); DCF_MakeObjPath(nextFolderID, nextFileID, DCF_FILE_TYPE_MP4, pFileName);
DCF_AddDBfile(pFileName);
DBG_DUMP("%s added to DCF\r\n", pFileName);
if(id == _CFG_REC_ID_1){ if(id == _CFG_REC_ID_1){
snprintf(thumb_current_path_main, sizeof(thumb_current_path_main), "%s", pFileName); snprintf(thumb_current_path_main, sizeof(thumb_current_path_main), "%s", pFileName);
@ -1298,9 +1301,15 @@ static void MovieExe_UserEventCb(UINT32 id, MOVIE_USER_CB_EVENT event_id, UINT32
} }
#elif USE_DCF #elif USE_DCF
MOVIEMULTI_CLOSE_FILE_INFO *info = (MOVIEMULTI_CLOSE_FILE_INFO *)value; //MOVIEMULTI_CLOSE_FILE_INFO *info = (MOVIEMULTI_CLOSE_FILE_INFO *)value;
DCF_AddDBfile(info->path); //DCF_AddDBfile(info->path);
DBG_DUMP("%s added to DCF\r\n", info->path); //DBG_DUMP("%s added to DCF\r\n", info->path);
DBG_IND(" ===== MOVIE_USER_CB_EVENT_CLOSE_FILE_COMPLETED ===== \r\n");
UIMenuStoreInfo *puiPara = sf_ui_para_get();
if(SF_CAM_MODE_PHOTO_VIDEO == puiPara->CamMode)
{
sf_share_mem_file_down(0);
}
#endif #endif
} }
Ux_PostEvent(NVTEVT_CB_MOVIE_REC_FINISH, 1, value); Ux_PostEvent(NVTEVT_CB_MOVIE_REC_FINISH, 1, value);

View File

@ -29,8 +29,8 @@
#if (_SCREENNAIL_SIZE_ == _SCREENNAIL_SIZE_VGA_) #if (_SCREENNAIL_SIZE_ == _SCREENNAIL_SIZE_VGA_)
#define CFG_SCREENNAIL_SIZE PHOTO_SIZE_VGA #define CFG_SCREENNAIL_SIZE PHOTO_SIZE_VGA
#define CFG_SCREENNAIL_W 640 #define CFG_SCREENNAIL_W 640//1024//640
#define CFG_SCREENNAIL_H 480 #define CFG_SCREENNAIL_H 480//768//480
#else #else
#define CFG_SCREENNAIL_SIZE PHOTO_SIZE_3M #define CFG_SCREENNAIL_SIZE PHOTO_SIZE_3M
#define CFG_SCREENNAIL_W 2048 #define CFG_SCREENNAIL_W 2048
@ -109,7 +109,7 @@
#define JPG_BRC_INIT_Q 85 #define JPG_BRC_INIT_Q 85
#define JPG_BRC_RETRY_CNT 4 #define JPG_BRC_RETRY_CNT 4
#define THUMBNAIL_TARGETBYTERATE (160*120*2/JPG_COMERESSED_RATIO_5) #define THUMBNAIL_TARGETBYTERATE (160*120*2/JPG_COMERESSED_RATIO_5)
#define SCREENNAIL_TARGETBYTERATE (CFG_SCREENNAIL_W*CFG_SCREENNAIL_H*3/(2*JPG_COMERESSED_RATIO_8)) #define SCREENNAIL_TARGETBYTERATE (CFG_SCREENNAIL_W*CFG_SCREENNAIL_H/(2*JPG_COMERESSED_RATIO_8))
#define PRIMARY_TARGETBYTERATE_UBOUND(TBR) (TBR + (TBR * 15 / 100)) #define PRIMARY_TARGETBYTERATE_UBOUND(TBR) (TBR + (TBR * 15 / 100))
#define PRIMARY_TARGETBYTERATE_LBOUND(TBR) (TBR - (TBR * 15 / 100)) #define PRIMARY_TARGETBYTERATE_LBOUND(TBR) (TBR - (TBR * 15 / 100))
#define JPG_FILE_BUFFER_SIZE(primary, screenail, thumbnail, exif) (primary + screenail + thumbnail + exif*6) #define JPG_FILE_BUFFER_SIZE(primary, screenail, thumbnail, exif) (primary + screenail + thumbnail + exif*6)

View File

@ -29,14 +29,15 @@
#include "UIApp/AppDisp_PipView.h" #include "UIApp/AppDisp_PipView.h"
#include <vf_gfx.h> #include <vf_gfx.h>
#include "vendor_videocapture.h" #include "vendor_videocapture.h"
#include "sf_mcu.h" //#include "sf_mcu.h"
#include "IOCfg.h" #include "IOCfg.h"
#include <sf_inc.h>
#define THIS_DBGLVL 2 // 0=FATAL, 1=ERR, 2=WRN, 3=UNIT, 4=FUNC, 5=IND, 6=MSG, 7=VALUE, 8=USER #define THIS_DBGLVL 5 // 0=FATAL, 1=ERR, 2=WRN, 3=UNIT, 4=FUNC, 5=IND, 6=MSG, 7=VALUE, 8=USER
#if 1//_TODO #if 1//_TODO
#define __MODULE__ UiAppPhoto #define __MODULE__ UiAppPhoto
#define __DBGLVL__ 2 // 0=FATAL, 1=ERR, 2=WRN, 3=UNIT, 4=FUNC, 5=IND, 6=MSG, 7=VALUE, 8=USER #define __DBGLVL__ 5 // 0=FATAL, 1=ERR, 2=WRN, 3=UNIT, 4=FUNC, 5=IND, 6=MSG, 7=VALUE, 8=USER
#define __DBGFLT__ "*" //*=All, [mark]=CustomClass #define __DBGFLT__ "*" //*=All, [mark]=CustomClass
#include <kwrap/debug.h> #include <kwrap/debug.h>
#endif #endif
@ -417,11 +418,12 @@ static UINT32 PhotoExe_GetScreenNailSize(void)
UINT32 uiImageSize, ScreenNailSize; UINT32 uiImageSize, ScreenNailSize;
UINT32 BitStreamSize; UINT32 BitStreamSize;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
ScreenNailSize = CFG_SCREENNAIL_SIZE; ScreenNailSize = CFG_SCREENNAIL_SIZE;
uiImageSize = UI_GetData(FL_PHOTO_SIZE); uiImageSize = UI_GetData(FL_PHOTO_SIZE);
if (uiImageSize < ScreenNailSize) { if (uiImageSize < ScreenNailSize) {
BitStreamSize = (sf_get_screen_nail_width(UI_GetData(SendPicSize))) * (sf_get_screen_nail_height(UI_GetData(SendPicSize))) / 2; BitStreamSize = (sf_get_screen_nail_width(puiPara->SendPicSize)) * (sf_get_screen_nail_height(puiPara->SendPicSize)) / 2;
} else { } else {
BitStreamSize = 0; BitStreamSize = 0;
} }
@ -2368,6 +2370,7 @@ INT32 PhotoExe_OnOpen(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
g_bPhotoOpened = FALSE; g_bPhotoOpened = FALSE;
localInfo->isStartCapture = FALSE; localInfo->isStartCapture = FALSE;
//UIMenuStoreInfo *puiPara = sf_ui_para_get();
ImageRatioIdx = GetPhotoSizeRatio(UI_GetData(FL_PHOTO_SIZE)); ImageRatioIdx = GetPhotoSizeRatio(UI_GetData(FL_PHOTO_SIZE));
g_photo_ImageRatioSize = IMAGERATIO_SIZE[ImageRatioIdx]; g_photo_ImageRatioSize = IMAGERATIO_SIZE[ImageRatioIdx];
@ -2376,7 +2379,7 @@ INT32 PhotoExe_OnOpen(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
FileSys_MakeDir(PHOTO_THUMB_PATH); FileSys_MakeDir(PHOTO_THUMB_PATH);
GOIO_Turn_Onoff_IRCUT(1); GOIO_Turn_Onoff_IRCUT(1);
//sf_ir_led_set(((2 == SysGetFlag(NightMode)) ? 2 : 1),SysGetFlag(FlashLed), SysGetFlag(NightMode), 0); //sf_ir_led_set(((2 == puiPara->NightMode) ? 2 : 1),puiPara->FlashLed, puiPara->NightMode,0);
if((0 == access("/mnt/sd/FW98565A.bin", F_OK))){ if((0 == access("/mnt/sd/FW98565A.bin", F_OK))){
system("rm -rf /mnt/sd/LD96565A.bin"); system("rm -rf /mnt/sd/LD96565A.bin");
system("rm -rf /mnt/sd/FW98565A.bin"); system("rm -rf /mnt/sd/FW98565A.bin");
@ -3134,6 +3137,7 @@ INT32 PhotoExe_OnCaptureStop(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArra
Photo_setS2Status(FALSE); Photo_setS2Status(FALSE);
ImageApp_Photo_CapStop(); ImageApp_Photo_CapStop();
} }
return NVTEVT_CONSUME; return NVTEVT_CONSUME;
} }
@ -4521,7 +4525,7 @@ static INT32 PhotoExe_Preview_SliceEncode_Init_VF_GFX_Slice(
vf_gfx_scale_param->dst_region.w = dst_slice_info.width; vf_gfx_scale_param->dst_region.w = dst_slice_info.width;
vf_gfx_scale_param->dst_region.h = dst_slice_height; vf_gfx_scale_param->dst_region.h = dst_slice_height;
vf_gfx_scale_param->dst_img.blk = dst_buffer_info.blk; vf_gfx_scale_param->dst_img.blk = dst_buffer_info.blk;
vf_gfx_scale_param->quality = HD_GFX_SCALE_QUALITY_BILINEAR; vf_gfx_scale_param->quality = HD_GFX_SCALE_QUALITY_NULL;
offset = video_frame->loff[HD_VIDEO_PINDEX_Y] * slice_idx * src_slice_info.slice_height; offset = video_frame->loff[HD_VIDEO_PINDEX_Y] * slice_idx * src_slice_info.slice_height;
@ -4731,7 +4735,7 @@ ER PhotoExe_Preview_SliceEncode_Scale_YUV(
pscale->dst_region.w = pdestwin->w; pscale->dst_region.w = pdestwin->w;
pscale->dst_region.h = pdestwin->h; pscale->dst_region.h = pdestwin->h;
pscale->dst_img.blk = mem_info.blk; pscale->dst_img.blk = mem_info.blk;
pscale->quality = HD_GFX_SCALE_QUALITY_BILINEAR; pscale->quality = HD_GFX_SCALE_QUALITY_NULL;
vf_gfx_scale(pscale, 1); vf_gfx_scale(pscale, 1);
pscale->dst_img.count = 0; pscale->dst_img.count = 0;
@ -6052,17 +6056,32 @@ INT32 PhotoExe_Preview_SliceEncode_CB3(void* user_data)
{ {
char* file_path = ImageApp_Photo_GetLastWriteFilePath(); char* file_path = ImageApp_Photo_GetLastWriteFilePath();
char tmp[256] = {'\0'}; char tmp[256] = {'\0'};
char tmp2[64] = {'\0'};
UINT32 length = strlen(file_path); UINT32 length = strlen(file_path);
snprintf(tmp, sizeof(tmp), "%s%s", PHOTO_THUMB_PATH, file_path + length - 12); /* DCF 8.3 naming rule */ snprintf(tmp, sizeof(tmp), "%s%s", PHOTO_THUMB_PATH, file_path + length - 12); /* DCF 8.3 naming rule */
snprintf(tmp + strlen(tmp) - 3, sizeof(tmp), "%s", "JPG"); snprintf(tmp + strlen(tmp) - 3, sizeof(tmp), "%s", "JPG");
DBG_DUMP("PHOTO THUMB %s\n", tmp); DBG_DUMP("PHOTO THUMB %s \n %s\n", tmp, file_path);
FST_FILE fp = FileSys_OpenFile(tmp, FST_OPEN_ALWAYS | FST_OPEN_WRITE); FST_FILE fp = FileSys_OpenFile(tmp, FST_OPEN_ALWAYS | FST_OPEN_WRITE);
FileSys_WriteFile(fp, (UINT8*)queue_ele_in->jpg_thumb_addr, &queue_ele_in->jpg_thumb_size, 0, NULL); FileSys_WriteFile(fp, (UINT8*)queue_ele_in->jpg_thumb_addr, &queue_ele_in->jpg_thumb_size, 0, NULL);
FileSys_CloseFile(fp); FileSys_CloseFile(fp);
memset(tmp, '\0', sizeof(tmp));
snprintf(tmp, sizeof(tmp), "%s%s", SF_SD_THUMB_PATH, file_path + length - 12); /* DCF 8.3 naming rule */
snprintf(tmp + strlen(tmp) - 3, sizeof(tmp), "%s", "JPG");
snprintf(tmp2, sizeof(tmp2), "%s", file_path + length - 12); /* DCF 8.3 naming rule */
snprintf(tmp2 + strlen(tmp2) - 3, sizeof(tmp2), "%s", "JPG");
DBG_DUMP("PHOTO THUMB %s \n %s\n", tmp, tmp2);
sf_file_thumb_cfg_fill(tmp, tmp2, SF_FILE_TYPE_PIC_SMALL);
UIMenuStoreInfo *puiPara = sf_ui_para_get();
if(SF_CAM_MODE_PHOTO == puiPara->CamMode)
{
sf_share_mem_file_down(0);
}
} }
if(PhotoCapMsgCb){ if(PhotoCapMsgCb){

View File

@ -1212,6 +1212,7 @@ INT32 SetupExe_OnPbRetractLens(VControl *pCtrl, UINT32 paramNum, UINT32 *paramAr
INT32 SetupExe_OnSysBootWorkMode(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)///Eric INT32 SetupExe_OnSysBootWorkMode(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)///Eric
{ {
UINT32 uhSelect = 0; UINT32 uhSelect = 0;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
DBG_FUNC_BEGIN("\r\n"); DBG_FUNC_BEGIN("\r\n");
if (paramNum > 0) { if (paramNum > 0) {
uhSelect = paramArray[0]; uhSelect = paramArray[0];
@ -1219,7 +1220,7 @@ INT32 SetupExe_OnSysBootWorkMode(VControl *pCtrl, UINT32 paramNum, UINT32 *param
DBG_IND("uhSelect %d \r\n", uhSelect); DBG_IND("uhSelect %d \r\n", uhSelect);
UI_SetData(CamMode, uhSelect); puiPara->CamMode = uhSelect;
DBG_FUNC_END("\r\n"); DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME; return NVTEVT_CONSUME;
} }

View File

@ -147,9 +147,9 @@ static MOVIE_SIZE_ITEM g_MovieSizeTable[] = {
}, },
[MOVIE_SIZE_1920x1080P30] = { [MOVIE_SIZE_1920x1080P30] = {
{1920, 1080, 30, 1200 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9}, {1920, 1080, 30, 200 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9},
{1, 3, 36, 8, -8, 0}, {1, 3, 36, 8, -8, 0},
{1, 4, 30, 1200 * 1024, 15, 26, 15, 45, 26, 15, 45, 0, 1, 8, 4}, {1, 4, 30, 200 * 1024, 15, 26, 15, 45, 26, 15, 45, 0, 1, 8, 4},
}, },
[MOVIE_SIZE_1280x720P240] = { [MOVIE_SIZE_1280x720P240] = {
@ -171,15 +171,15 @@ static MOVIE_SIZE_ITEM g_MovieSizeTable[] = {
}, },
[MOVIE_SIZE_1280x720P30] = { [MOVIE_SIZE_1280x720P30] = {
{1280, 720, 30, 450 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9}, {1280, 720, 30, 100 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9},
{1, 3, 36, 8, -8, 0}, {1, 3, 36, 8, -8, 0},
{1, 4, 30, 450 * 1024, 15, 26, 15, 45, 26, 15, 45, 0, 1, 8, 4}, {1, 4, 30, 100 * 1024, 15, 26, 15, 45, 26, 15, 45, 0, 1, 8, 4},
}, },
[MOVIE_SIZE_848x480P30] = { [MOVIE_SIZE_848x480P30] = {
{848, 480, 30, 200 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9}, {848, 480, 30, 84 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9},
{1, 3, 36, 8, -8, 0}, {1, 3, 36, 8, -8, 0},
{1, 4, 30, 200 * 1024, 15, 26, 15, 45, 26, 15, 45, 0, 1, 8, 4}, {1, 4, 30, 84 * 1024, 15, 26, 15, 45, 26, 15, 45, 0, 1, 8, 4},
}, },
[MOVIE_SIZE_848x480P30_WIFI] = { [MOVIE_SIZE_848x480P30_WIFI] = {

View File

@ -9,9 +9,10 @@
#if(MOVIE_MODE==ENABLE) #if(MOVIE_MODE==ENABLE)
int MenuCustom_Movie(UINT32 uiMessage, UINT32 uiParam) int MenuCustom_Movie(UINT32 uiMessage, UINT32 uiParam)
{ {
UIMenuStoreInfo *puiPara = sf_ui_para_get();
printf("%s:%d uiParam :%d\n", __FUNCTION__, __LINE__,uiParam); printf("%s:%d uiParam :%d\n", __FUNCTION__, __LINE__,uiParam);
if (System_GetState(SYS_STATE_CURRMODE) != PRIMARY_MODE_MOVIE) { if (System_GetState(SYS_STATE_CURRMODE) != PRIMARY_MODE_MOVIE) {
SysSetFlag(CamMode, SF_CAM_MODE_VIDEO); puiPara->CamMode = SF_CAM_MODE_VIDEO;
Ux_SendEvent(0, NVTEVT_SYSTEM_MODE, 1, PRIMARY_MODE_MOVIE); Ux_SendEvent(0, NVTEVT_SYSTEM_MODE, 1, PRIMARY_MODE_MOVIE);
} else { } else {
lv_plugin_scr_close(UIFlowMenuCommonItem, NULL); lv_plugin_scr_close(UIFlowMenuCommonItem, NULL);
@ -20,22 +21,24 @@ int MenuCustom_Movie(UINT32 uiMessage, UINT32 uiParam)
} }
int MenuCustom_Movie_Photo(UINT32 uiMessage, UINT32 uiParam) int MenuCustom_Movie_Photo(UINT32 uiMessage, UINT32 uiParam)
{ {
UIMenuStoreInfo *puiPara = sf_ui_para_get();
printf("%s:%d uiParam :%d\n", __FUNCTION__, __LINE__,uiParam); printf("%s:%d uiParam :%d\n", __FUNCTION__, __LINE__,uiParam);
if (System_GetState(SYS_STATE_CURRMODE) != PRIMARY_MODE_PHOTO) { if (System_GetState(SYS_STATE_CURRMODE) != PRIMARY_MODE_PHOTO) {
Ux_SendEvent(0, NVTEVT_SYSTEM_MODE, 1, PRIMARY_MODE_PHOTO); Ux_SendEvent(0, NVTEVT_SYSTEM_MODE, 1, PRIMARY_MODE_PHOTO);
} else { } else {
lv_plugin_scr_close(UIFlowMenuCommonItem, NULL); lv_plugin_scr_close(UIFlowMenuCommonItem, NULL);
} }
SysSetFlag(CamMode, SF_CAM_MODE_PHOTO_VIDEO); puiPara->CamMode = SF_CAM_MODE_PHOTO_VIDEO;
return TMF_PROCESSED; return TMF_PROCESSED;
} }
#endif #endif
#if(PHOTO_MODE==ENABLE) #if(PHOTO_MODE==ENABLE)
int MenuCustom_Photo(UINT32 uiMessage, UINT32 uiParam) int MenuCustom_Photo(UINT32 uiMessage, UINT32 uiParam)
{ {
UIMenuStoreInfo *puiPara = sf_ui_para_get();
printf("%s:%d uiParam :%d\n", __FUNCTION__, __LINE__,uiParam); printf("%s:%d uiParam :%d\n", __FUNCTION__, __LINE__,uiParam);
if (System_GetState(SYS_STATE_CURRMODE) != PRIMARY_MODE_PHOTO) { if (System_GetState(SYS_STATE_CURRMODE) != PRIMARY_MODE_PHOTO) {
SysSetFlag(CamMode, SF_CAM_MODE_PHOTO); puiPara->CamMode = SF_CAM_MODE_PHOTO;
Ux_SendEvent(0, NVTEVT_SYSTEM_MODE, 1, PRIMARY_MODE_PHOTO); Ux_SendEvent(0, NVTEVT_SYSTEM_MODE, 1, PRIMARY_MODE_PHOTO);
} else { } else {
lv_plugin_scr_close(UIFlowMenuCommonItem, NULL); lv_plugin_scr_close(UIFlowMenuCommonItem, NULL);

View File

@ -448,6 +448,7 @@ static void set_indev_keypad_group(lv_obj_t* obj)
static void UIFlowMovie_ScrOpen(lv_obj_t* obj) static void UIFlowMovie_ScrOpen(lv_obj_t* obj)
{ {
DBG_DUMP("%s\r\n", __func__); DBG_DUMP("%s\r\n", __func__);
UIMenuStoreInfo *puiPara = sf_ui_para_get();
set_indev_keypad_group(obj); set_indev_keypad_group(obj);
@ -501,7 +502,7 @@ static void UIFlowMovie_ScrOpen(lv_obj_t* obj)
} }
} }
//#NT#2018/08/10#KCHong -end //#NT#2018/08/10#KCHong -end
if(SysGetFlag(CamMode) == SF_CAM_MODE_PHOTO_VIDEO) if(puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO)
{ {
UIFlowMovie_OnExeRecord(obj); UIFlowMovie_OnExeRecord(obj);
} }
@ -1118,6 +1119,7 @@ static void UIFlowMovie_KeyRelease(lv_obj_t* obj, uint32_t key)
static void UIFlowMovie_NVTMSG(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg) static void UIFlowMovie_NVTMSG(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg)
{ {
UIMenuStoreInfo *puiPara = sf_ui_para_get();
switch(msg->event) switch(msg->event)
{ {
@ -1136,7 +1138,7 @@ static void UIFlowMovie_NVTMSG(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* m
{ {
set_rec_status(false); set_rec_status(false);
UIFlowMovie_REC_FINISH(obj,msg); UIFlowMovie_REC_FINISH(obj,msg);
if(SysGetFlag(CamMode) == SF_CAM_MODE_PHOTO_VIDEO){ if(puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO){
int iCurrMode = System_GetState(SYS_STATE_CURRMODE); int iCurrMode = System_GetState(SYS_STATE_CURRMODE);
int iNextMode = PRIMARY_MODE_PHOTO; int iNextMode = PRIMARY_MODE_PHOTO;
UI_SetData(FL_PreMode, iCurrMode); UI_SetData(FL_PreMode, iCurrMode);

View File

@ -1026,6 +1026,7 @@ static void task_selftimer_cb(lv_task_t* task)
void UIFlowPhoto_UpdateInfo(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg) void UIFlowPhoto_UpdateInfo(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg)
{ {
UIMenuStoreInfo *puiPara = sf_ui_para_get();
if(msg == NULL){ if(msg == NULL){
DBG_ERR("msg is NULL!\r\n"); DBG_ERR("msg is NULL!\r\n");
return; return;
@ -1065,7 +1066,7 @@ void UIFlowPhoto_UpdateInfo(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg)
lv_obj_set_hidden(obj, false); lv_obj_set_hidden(obj, false);
UIFlowPhoto_BackPreviewHandle(); UIFlowPhoto_BackPreviewHandle();
if(SysGetFlag(CamMode) == SF_CAM_MODE_PHOTO_VIDEO){ if(puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO){
int iCurrMode = System_GetState(SYS_STATE_CURRMODE); int iCurrMode = System_GetState(SYS_STATE_CURRMODE);
int iNextMode = PRIMARY_MODE_MOVIE; int iNextMode = PRIMARY_MODE_MOVIE;
UI_SetData(FL_PreMode, iCurrMode); UI_SetData(FL_PreMode, iCurrMode);

View File

@ -60,19 +60,19 @@
#if (defined(_NVT_ETHREARCAM_TX_)) #if (defined(_NVT_ETHREARCAM_TX_))
#define DEFAULT_MOVIE_SIZE MOVIE_SIZE_CLONE_1920x1080P30_1280x720P30 #define DEFAULT_MOVIE_SIZE MOVIE_SIZE_CLONE_1920x1080P30_1280x720P30
#elif (defined(_NVT_ETHREARCAM_RX_)) #elif (defined(_NVT_ETHREARCAM_RX_))
#define DEFAULT_MOVIE_SIZE MOVIE_SIZE_FRONT_1920x1080P30 #define DEFAULT_MOVIE_SIZE MOVIE_SIZE_DUAL_1920x1080P30_848x480P30//MOVIE_SIZE_FRONT_1920x1080P30
#else #else
#if (MOVIE_AI_DEMO == DISABLE) #if (MOVIE_AI_DEMO == DISABLE)
#define DEFAULT_MOVIE_SIZE MOVIE_SIZE_FRONT_2560x1440P30 #define DEFAULT_MOVIE_SIZE MOVIE_SIZE_CLONE_1920x1080P60_640x360P30//MOVIE_SIZE_FRONT_1920x1080P30
#else #else
#define DEFAULT_MOVIE_SIZE MOVIE_SIZE_FRONT_1920x1080P30 #define DEFAULT_MOVIE_SIZE MOVIE_SIZE_DUAL_1920x1080P30_848x480P30//MOVIE_SIZE_FRONT_1920x1080P30
#endif #endif
#endif #endif
#endif #endif
#define DEFAULT_MOVIE_SIZE_DUAL MOVIE_SIZE_FRONT_2560x1440P30 #define DEFAULT_MOVIE_SIZE_DUAL MOVIE_SIZE_CLONE_1920x1080P60_640x360P30//MOVIE_SIZE_FRONT_1920x1080P30//MOVIE_SIZE_FRONT_2560x1440P30
#define DEFAULT_MOVIE_SIZE_SINGLE MOVIE_SIZE_FRONT_2560x1440P30 #define DEFAULT_MOVIE_SIZE_SINGLE MOVIE_SIZE_CLONE_1920x1080P60_640x360P30//MOVIE_SIZE_FRONT_1920x1080P30//MOVIE_SIZE_FRONT_2560x1440P30
#define DEFAULT_MOVIE_QUALITY MOVIE_QUALITY_FINE #define DEFAULT_MOVIE_QUALITY MOVIE_QUALITY_FINE
#define DEFAULT_MOVIE_COLOR MOVIE_COLOR_NORMAL #define DEFAULT_MOVIE_COLOR MOVIE_COLOR_NORMAL
@ -219,5 +219,6 @@
#define DEFAULT_TIMESEND2_SWITCH SF_OFF #define DEFAULT_TIMESEND2_SWITCH SF_OFF
#define DEFAULT_TIMESEND3_SWITCH SF_OFF #define DEFAULT_TIMESEND3_SWITCH SF_OFF
#define DEFAULT_TIMESEND4_SWITCH SF_OFF #define DEFAULT_TIMESEND4_SWITCH SF_OFF
#define DEFAULT_FTP_SWITCH SF_FTP_ON
#endif #endif

View File

@ -498,7 +498,12 @@ void Load_MenuInfo(void)
if(Check_OTA() == TRUE){ if(Check_OTA() == TRUE){
DBG_DUMP("OTA success, reset system param\n"); DBG_DUMP("OTA success, reset system param\n");
printf("OTA success, reset system param\n");
SysResetFlag(); SysResetFlag();
if(sf_is_usb_flag())
{
Save_MenuInfo();
}
return; return;
} }
@ -695,10 +700,10 @@ EXIT:
} }
UINT32 sum = MemCheck_CalcCheckSum16Bit((UINT32)tmpInfo, sizeof(UIMenuStoreInfo)); UINT32 sum = MemCheck_CalcCheckSum16Bit((UINT32)tmpInfo, sizeof(UIMenuStoreInfo));
DBG_DUMP("**************size = %lx / mov size = %u / sum = %lx **************\n", DBG_DUMP("**************size = %lx / sum = %lx **************\n",
sizeof(UIMenuStoreInfo), sizeof(UIMenuStoreInfo),
//((UIMenuStoreInfo*)tmpInfo)->UIParameter[FL_MOVIE_SIZE], //((UIMenuStoreInfo*)tmpInfo)->UIParameter[FL_MOVIE_SIZE],
((UIMenuStoreInfo*)tmpInfo)->UIParameter[CamMode], //((UIMenuStoreInfo*)tmpInfo)->UIParameter[CamMode],
sum); sum);
} }
@ -1067,9 +1072,9 @@ EXIT:
fflush(sys_mtd_fp); fflush(sys_mtd_fp);
UINT32 sum = MemCheck_CalcCheckSum16Bit((UINT32)tmpInfo, sizeof(UIMenuStoreInfo)); UINT32 sum = MemCheck_CalcCheckSum16Bit((UINT32)tmpInfo, sizeof(UIMenuStoreInfo));
DBG_DUMP("**************size = %lx / CamMode = %u / sum = %lx **************\n", DBG_DUMP("**************size = %lx / sum = %lx **************\n",
sizeof(UIMenuStoreInfo), sizeof(UIMenuStoreInfo),
((UIMenuStoreInfo*)tmpInfo)->UIParameter[CamMode], //((UIMenuStoreInfo*)tmpInfo)->UIParameter[CamMode],
sum); sum);
sf_share_mem_customer_down(0); sf_share_mem_customer_down(0);
} }
@ -1342,6 +1347,7 @@ void SysCheckFlag(void)
//#2023/02/10#Payton - begin //#2023/02/10#Payton - begin
#if 0
//=====================Sifar============= //=====================Sifar=============
SysLimitFlag(CamNameSwitch, 0, SF_CAMID_MAX, DEFAULT_SF_CAMID); SysLimitFlag(CamNameSwitch, 0, SF_CAMID_MAX, DEFAULT_SF_CAMID);
SysLimitFlag(CamMode, 0, SF_CAM_MODE_MAX, DEFAULT_BOOT_WORK_MODE); SysLimitFlag(CamMode, 0, SF_CAM_MODE_MAX, DEFAULT_BOOT_WORK_MODE);
@ -1408,7 +1414,7 @@ void SysCheckFlag(void)
SysLimitFlag(TimeSend3Switch, 0, SF_ON_OFF_MAX, DEFAULT_GPS_NUMBER); SysLimitFlag(TimeSend3Switch, 0, SF_ON_OFF_MAX, DEFAULT_GPS_NUMBER);
SysLimitFlag(TimeSend4Switch, 0, SF_ON_OFF_MAX, DEFAULT_GPS_NUMBER); SysLimitFlag(TimeSend4Switch, 0, SF_ON_OFF_MAX, DEFAULT_GPS_NUMBER);
#endif #endif
#endif
printf("%s:%d sifar para e\n", __FUNCTION__, __LINE__); printf("%s:%d sifar para e\n", __FUNCTION__, __LINE__);
@ -1609,29 +1615,30 @@ void SysResetFlag(void)
//#NT#2023/01/11#Eric - end //#NT#2023/01/11#Eric - end
//#2023/02/10#Payton - begin //#2023/02/10#Payton - begin
//=====================Sifar============= //=====================Sifar=============
SysSetFlag(CamNameSwitch, DEFAULT_SF_CAMID);
SysSetFlag(CamMode, DEFAULT_BOOT_WORK_MODE); puiPara->CamNameSwitch = DEFAULT_SF_CAMID;
SysSetFlag(FlashLed, DEFAULT_FLASH_LED); puiPara->CamMode = DEFAULT_BOOT_WORK_MODE;
puiPara->FlashLed = DEFAULT_FLASH_LED;
//ImgSize //ImgSize
SysSetFlag(NightMode, DEFAULT_NIGHT_MODE); puiPara->NightMode = DEFAULT_NIGHT_MODE;
//Multishot //Multishot
//VideoSize //VideoSize
//VideoTimeMenu //VideoTimeMenu
SysSetFlag(VideoLenth, DEFAULT_VIDEO_LENTH); puiPara->VideoLenth = DEFAULT_VIDEO_LENTH;
SysSetFlag(PirSwitch, DEFAULT_PIR_SWITCH); puiPara->PirSwitch = DEFAULT_PIR_SWITCH;
SysSetFlag(PirSensitivity, DEFAULT_PIR_SENSITIVITY); puiPara->PirSensitivity = DEFAULT_PIR_SENSITIVITY;
SysSetFlag(PirDelaySwitch, DEFAULT_PIR_DELAY_SWITCH); puiPara->PirDelaySwitch = DEFAULT_PIR_DELAY_SWITCH;
SysSetFlag(TimelapseSwitch, DEFAULT_TIMELAPSE_SWITCH); puiPara->TimelapseSwitch = DEFAULT_TIMELAPSE_SWITCH;
if(SysGetFlag(TimelapseSwitch)) if(puiPara->TimelapseSwitch)
{ {
puiPara->TimelapseTime.Hour = 0; puiPara->TimelapseTime.Hour = 0;
puiPara->TimelapseTime.Min = 0; puiPara->TimelapseTime.Min = 0;
puiPara->TimelapseTime.Sec = 5; puiPara->TimelapseTime.Sec = 5;
} }
SysSetFlag(WorkTime1Switch, DEFAULT_WORKTIME_SWITCH); puiPara->WorkTime1Switch = DEFAULT_WORKTIME_SWITCH;
if(SysGetFlag(WorkTime1Switch)) if(puiPara->WorkTime1Switch)
{ {
puiPara->WorkTime[0].StartTime.Hour = 16; puiPara->WorkTime[0].StartTime.Hour = 16;
puiPara->WorkTime[0].StartTime.Min = 0; puiPara->WorkTime[0].StartTime.Min = 0;
@ -1639,8 +1646,8 @@ void SysResetFlag(void)
puiPara->WorkTime[0].StopTime.Min = 0; puiPara->WorkTime[0].StopTime.Min = 0;
} }
SysSetFlag(WorkTime2Switch, DEFAULT_WORKTIME_SWITCH); puiPara->WorkTime2Switch = DEFAULT_WORKTIME_SWITCH;
if(SysGetFlag(WorkTime2Switch)) if(puiPara->WorkTime2Switch)
{ {
puiPara->WorkTime[1].StartTime.Hour = 5; puiPara->WorkTime[1].StartTime.Hour = 5;
puiPara->WorkTime[1].StartTime.Min = 0; puiPara->WorkTime[1].StartTime.Min = 0;
@ -1648,54 +1655,69 @@ void SysResetFlag(void)
puiPara->WorkTime[1].StopTime.Min = 0; puiPara->WorkTime[1].StopTime.Min = 0;
} }
SysSetFlag(SimAutoSwitch, DEFAULT_SIM_AUTO_SWITCH); puiPara->SimAutoSwitch = DEFAULT_SIM_AUTO_SWITCH;
SysSetFlag(SendMaxNum, DEFAULT_SEND_MAX_NUM); puiPara->SendMaxNum = DEFAULT_SEND_MAX_NUM;
SysSetFlag(GprsMode, DEFAULT_GPRS_MODE); puiPara->GprsMode = DEFAULT_GPRS_MODE;
SysSetFlag(DailyReportSwitch, DEFAULT_DAILY_REPORT_SWITCH); puiPara->DailyReportSwitch = DEFAULT_DAILY_REPORT_SWITCH;
SysSetFlag(ReDailyReport, DEFAULT_REDAILY_REPORT_SWITCH); puiPara->ReDailyReport = DEFAULT_REDAILY_REPORT_SWITCH;
SysSetFlag(SimPinFlag, DEFAULT_SIN_PIN_FLAG); puiPara->SimPinFlag = DEFAULT_SIN_PIN_FLAG;
SysSetFlag(GpsSwitch, DEFAULT_GPS_SWITCH); puiPara->GpsSwitch = DEFAULT_GPS_SWITCH;
SysSetFlag(Language, DEFAULT_LANGUAGE); puiPara->Language = DEFAULT_LANGUAGE;
/////////////// ///////////////
SysSetFlag(DateStyle, DEFAULT_DATE_TIME); puiPara->DateStyle = DEFAULT_DATE_TIME;
SysSetFlag(FL_DateFormatIndex, DEFAULT_DATE_TIME); SysSetFlag(FL_DateFormatIndex, DEFAULT_DATE_TIME);
///////////// /////////////
SysSetFlag(StampSwitch, DEFAULT_STAMP_SWITCH); puiPara->StampSwitch = DEFAULT_STAMP_SWITCH;
SysSetFlag(BatteryType, DEFAULT_BATTERY_TYPE); puiPara->BatteryType = DEFAULT_BATTERY_TYPE;
SysSetFlag(SdLoopSwitch, DEFAULT_SD_LOOP_SWITCH); puiPara->SdLoopSwitch = DEFAULT_SD_LOOP_SWITCH;
SysSetFlag(PwdSwitch, DEFAULT_PWD_SWITCH); puiPara->PwdSwitch = DEFAULT_PWD_SWITCH;
SysSetFlag(SendPhotoSwitch, DEFAULT_SEND_PHOTO_SWITCH); puiPara->SendPhotoSwitch = DEFAULT_SEND_PHOTO_SWITCH;
SysSetFlag(SendVideoSwitch, DEFAULT_SEND_VIDEO_SWITCH); puiPara->SendVideoSwitch = DEFAULT_SEND_VIDEO_SWITCH;
SysSetFlag(SendPicSize, DEFAULT_SEND_PIC_SIZE); puiPara->SendPicSize = DEFAULT_SEND_PIC_SIZE;
SysSetFlag(SendMultishotIndex1, DEFAULT_SEND_MULTISHOT_INDEX1); puiPara->SendMultishotIndex1 = DEFAULT_SEND_MULTISHOT_INDEX1;
SysSetFlag(SendMultishotIndex2, DEFAULT_SEND_MULTISHOT_INDEX2); puiPara->SendMultishotIndex2 = DEFAULT_SEND_MULTISHOT_INDEX2;
SysSetFlag(SendMultishotIndex3, DEFAULT_SEND_MULTISHOT_INDEX3); puiPara->SendMultishotIndex3 = DEFAULT_SEND_MULTISHOT_INDEX3;
SysSetFlag(SendMultishotIndex4, DEFAULT_SEND_MULTISHOT_INDEX4); puiPara->SendMultishotIndex4 = DEFAULT_SEND_MULTISHOT_INDEX4;
SysSetFlag(DateAuto, DEFAULT_DATE_AUTO); puiPara->DateAuto = DEFAULT_DATE_AUTO;
//NTPZoneS, //NTPZoneS,
//NTPZoneH, //NTPZoneH,
//NTPZoneM, //NTPZoneM,
SysSetFlag(CamArmDiable, DEFAULT_CAM_ARM_DIABLE); puiPara->CamArmDiable = DEFAULT_CAM_ARM_DIABLE;
SysSetFlag(DebugMode, DEFAULT_DEBUG_MODE); puiPara->DebugMode = DEFAULT_DEBUG_MODE;
SysSetFlag(AutoOffSwitch, DEFAULT_AUTO_OFF_SWITCH); puiPara->AutoOffSwitch = DEFAULT_AUTO_OFF_SWITCH;
SysSetFlag(AutoLogSwitch, DEFAULT_AUTO_LOG_SWITCH); puiPara->AutoLogSwitch = DEFAULT_AUTO_LOG_SWITCH;
SysSetFlag(RawSwitch, DEFAULT_RAW_SWITCH); puiPara->RawSwitch = DEFAULT_RAW_SWITCH;
SysSetFlag(GprsSwitch, DEFAULT_GPRS_SWITCH); puiPara->GprsSwitch = DEFAULT_GPRS_SWITCH;
SysSetFlag(GpsSendFlag, DEFAULT_GPS_SEND_FLAG); puiPara->GpsSendFlag = DEFAULT_GPS_SEND_FLAG;
SysSetFlag(FristSendDailyAndGps, DEFAULT_FRIST_SEND_DAILY_AND_GPS); puiPara->FristSendDailyAndGps = DEFAULT_FRIST_SEND_DAILY_AND_GPS;
SysSetFlag(NetGeneration, DEFAULT_NET_GENERATION); puiPara->NetGeneration = DEFAULT_NET_GENERATION;
SysSetFlag(NeedTimeSyncStartUp, DEFAULT_NEED_TIME_SYNC); puiPara->NeedTimeSyncStartUp = DEFAULT_NEED_TIME_SYNC;
SysSetFlag(NetWorkNeedSearch, DEFAULT_NET_WORK_NEED_SEARCH); puiPara->NetWorkNeedSearch = DEFAULT_NET_WORK_NEED_SEARCH;
SysSetFlag(QLogSwitch, DEFAULT_QLOG_SWITCH); puiPara->QLogSwitch = DEFAULT_QLOG_SWITCH;
SysSetFlag(GpsAntiTheftSwitch, DEFAULT_GPS_ANTI_THEFT_SWITCH); puiPara->GpsAntiTheftSwitch = DEFAULT_GPS_ANTI_THEFT_SWITCH;
SysSetFlag(BatteryLogSwitch, DEFAULT_BATTRERY_LOG_SWITCH); puiPara->BatteryLogSwitch = DEFAULT_BATTRERY_LOG_SWITCH;
puiPara->FtpSwitch = DEFAULT_FTP_SWITCH;
memset(puiPara ->FtpIp,'\0', sizeof(puiPara ->FtpIp));
memset(puiPara ->FtpPort, '\0', sizeof(puiPara ->FtpPort));
memset(puiPara ->FtpUsr, '\0', sizeof(puiPara ->FtpUsr));
memset(puiPara ->FtpPwd,'\0', sizeof(puiPara ->FtpPwd));
memset(puiPara ->FtpsIp,'\0', sizeof(puiPara ->FtpsIp));
memset(puiPara ->FtpsPort, '\0', sizeof(puiPara ->FtpsPort));
memset(puiPara ->FtpsUsr, '\0', sizeof(puiPara ->FtpsUsr));
memset(puiPara ->FtpsPwd,'\0', sizeof(puiPara ->FtpsPwd));
strcpy((char *)puiPara ->FtpIp, "119.23.174.139");
strcpy((char *)puiPara ->FtpPort, "21");
strcpy((char *)puiPara ->FtpUsr, "cameraftp");
strcpy((char *)puiPara ->FtpPwd, "camera123456");
#if defined(_MODEL_565_HUNTING_EVB_LINUX_4G_S530_) #if defined(_MODEL_565_HUNTING_EVB_LINUX_4G_S530_)
SysSetFlag(GpsNumber, DEFAULT_GPS_NUMBER); puiPara->GpsNumber = DEFAULT_GPS_NUMBER;
SysSetFlag(TimeSend1Switch, DEFAULT_TIMESEND1_SWITCH); puiPara->TimeSend1Switch = DEFAULT_TIMESEND1_SWITCH;
SysSetFlag(TimeSend2Switch, DEFAULT_TIMESEND2_SWITCH); puiPara->TimeSend2Switch = DEFAULT_TIMESEND2_SWITCH;
SysSetFlag(TimeSend3Switch, DEFAULT_TIMESEND3_SWITCH); puiPara->TimeSend3Switch = DEFAULT_TIMESEND3_SWITCH;
SysSetFlag(TimeSend4Switch, DEFAULT_TIMESEND4_SWITCH); puiPara->TimeSend4Switch = DEFAULT_TIMESEND4_SWITCH;
sf_set_pir_sensitivity(7); sf_set_pir_sensitivity(7);
#endif #endif
@ -1710,6 +1732,7 @@ void SysResetFlag(void)
void SysExeMenuSettingFuncs(void) void SysExeMenuSettingFuncs(void)
{ {
UIMenuStoreInfo *puiPara = sf_ui_para_get();
#if (PHOTO_MODE==ENABLE) #if (PHOTO_MODE==ENABLE)
/*--- Photo ---*/ /*--- Photo ---*/
Ux_SendEvent(&CustomPhotoObjCtrl, NVTEVT_EXE_QUALITY, 1, SysGetFlag(FL_QUALITY)); Ux_SendEvent(&CustomPhotoObjCtrl, NVTEVT_EXE_QUALITY, 1, SysGetFlag(FL_QUALITY));
@ -1780,7 +1803,7 @@ void SysExeMenuSettingFuncs(void)
#endif #endif
//#NT#2023/01/11#Eric - begin //#NT#Support //#NT#2023/01/11#Eric - begin //#NT#Support
//=====================Sifar=============///Eric //=====================Sifar=============///Eric
Ux_SendEvent(&UISetupObjCtrl, NVTEVT_EXE_BOOTWORKMODE, 1, SysGetFlag(CamMode)); Ux_SendEvent(&UISetupObjCtrl, NVTEVT_EXE_BOOTWORKMODE, 1, puiPara->CamMode);
//#NT#2023/01/11#Eric - end //#NT#2023/01/11#Eric - end
} }

View File

@ -268,7 +268,7 @@ typedef enum {
FL_ETHCAM_TX_IP_ADDR, FL_ETHCAM_TX_IP_ADDR,
FL_MOVIE_CODEC_MENU, FL_MOVIE_CODEC_MENU,
FL_MOVIE_SENSOR_ROTATE_MENU, FL_MOVIE_SENSOR_ROTATE_MENU,
#if 0
//#2023/02/10#Payton - begin //#2023/02/10#Payton - begin
CamNameSwitch,/*ON/OFF ,cam name off*/ CamNameSwitch,/*ON/OFF ,cam name off*/
CamMode,/* 0 Photo / 1 Video / 2 PIC+Video*/ CamMode,/* 0 Photo / 1 Video / 2 PIC+Video*/
@ -341,7 +341,7 @@ typedef enum {
SendType, SendType,
/////////////////////// ///////////////////////
#endif #endif
#endif
//#2023/02/10#Payton - end //#2023/02/10#Payton - end
FL_IndexInfoMAX FL_IndexInfoMAX
@ -410,6 +410,79 @@ typedef struct _UIMenuUIMenuStoreInfo {
SF_PARA_TIME_S TimeSend3; SF_PARA_TIME_S TimeSend3;
SF_PARA_TIME_S TimeSend4; SF_PARA_TIME_S TimeSend4;
#endif #endif
//#2023/02/10#Payton - begin
CHAR CamNameSwitch;/*ON/OFF ,cam name off*/
CHAR CamMode;/* 0 Photo / 1 Video / 2 PIC+Video*/
CHAR FlashLed;/* 0 High / 1 Low */
CHAR ImgSize;/* 24M/12M/8M/5M */
CHAR NightMode;/* Max.Range/Balanced/Min.Blur */
CHAR Multishot;/*1P/2P/3P/4P/5P*/
CHAR VideoSize;/*FHD-1080P/HD-720P/WVGA*/
CHAR VideoTimeMenu;/*5/10/15/20/30/40/50/59*/
CHAR VideoLenth;
CHAR PirSwitch;/*OFF/ON*/
CHAR PirSensitivity;/*High/Middle/Low*/
CHAR PirDelaySwitch;/*OFF/ON*/
CHAR TimelapseSwitch;/*OFF/ON*/
CHAR WorkTime1Switch;/*OFF/ON*/
CHAR WorkTime2Switch;/*OFF/ON*/
CHAR SimAutoSwitch;/*Auto/Manual*/
CHAR SendMaxNum;/*Unlimited/1~99*/
CHAR GprsMode;/*Daily/Instant*/
CHAR DailyReportSwitch;/*OFF/ON*/
CHAR ReDailyReport;
CHAR DailyReportTestSwitch;
CHAR SimPinFlag;/*ON*/
CHAR GpsSwitch;/*0:OFF;1:ON*/
CHAR Language;
CHAR DateStyle;/*YY/MM/DD-(CN) / MM/DD/YY-(US) / DD/MM/YY-(EU)*/
CHAR StampSwitch;/*0:OFF;1:ON*///FL_DATE_STAMP
CHAR BatteryType;/*Alkaline/NI-MH/LI*/
CHAR SdLoopSwitch;/*0:OFF;1:ON*/
CHAR PwdSwitch;/*0:OFF;1:ON*/
CHAR SendPhotoSwitch;/*0:OFF;1:ON*/
CHAR SendVideoSwitch;/*0:OFF;1:ON*/
CHAR SendPicSize;/*Small/Bigger/Original*/
CHAR SendMultishotIndex1;/*OFF/ON*/
CHAR SendMultishotIndex2;/*OFF/ON*/
CHAR SendMultishotIndex3;/*OFF/ON*/
CHAR SendMultishotIndex4;/*OFF/ON*/
CHAR SendMultishotIndex5;/*OFF/ON*/
CHAR DateAuto;/*Auto/Manual*/
CHAR NTPZoneS;
CHAR NTPZoneH;
CHAR NTPZoneM;
CHAR DigitPirSensitivity;/*9\7\5*/
CHAR DigitPirCnt;
CHAR DigitPirWindowTime;
CHAR CamArmDiable;
CHAR DebugMode;/*0:OFF;1:ON*/
CHAR AutoOffSwitch;/*0:OFF;1:ON*/
CHAR AutoLogSwitch;/*0:OFF;1:ON*/
CHAR RawSwitch;/*0:OFF;1:ON*/
//ProfLogSwitch;/*0:OFF;1:ON*/
CHAR GprsSwitch;/*0:OFF;1:ON*/
CHAR GpsSendFlag;/*dp need send flag;*/
CHAR FristSendDailyAndGps;
CHAR NetGeneration;/*0:NO 1:xx 2:2G 3:3G 4:4G*/
CHAR NeedTimeSyncStartUp;
CHAR NetWorkNeedSearch;
//SmsNumber;
CHAR QLogSwitch;/*0:OFF;1:ON*/
CHAR GpsAntiTheftSwitch;
CHAR BatteryLogSwitch;
#if defined(_MODEL_565_HUNTING_EVB_LINUX_4G_S530_)
////////////S530////////
CHAR GpsNumber;
CHAR TimeSend1Switch;/*OFF/ON*/
CHAR TimeSend2Switch;/*OFF/ON*/
CHAR TimeSend3Switch;/*OFF/ON*/
CHAR TimeSend4Switch;/*OFF/ON*/
CHAR SendType;
///////////////////////
#endif
CHAR CamNameStr[13]; CHAR CamNameStr[13];
CHAR PwdStr[7]; CHAR PwdStr[7];
CHAR Latitude[16]; CHAR Latitude[16];
@ -431,6 +504,20 @@ typedef struct _UIMenuUIMenuStoreInfo {
CHAR AcmPort[5]; CHAR AcmPort[5];
CHAR WebIp[70]; CHAR WebIp[70];
CHAR OperatorCode[8]; CHAR OperatorCode[8];
CHAR SimIccid[21];
CHAR ServiceProvider[64];
UINT8 SimSignal;
UINT8 SimType;
UINT8 FtpSwitch;/*FTP/OFF/FTPS*/
UINT8 FtpIp[40];
UINT8 FtpPort[5];
UINT8 FtpUsr[40];
UINT8 FtpPwd[20];
UINT8 FtpsIp[40];
UINT8 FtpsPort[5];
UINT8 FtpsUsr[40];
UINT8 FtpsPwd[20];
//============Sifar==============///Payton //============Sifar==============///Payton
} UIMenuStoreInfo; } UIMenuStoreInfo;
@ -1860,6 +1947,14 @@ typedef enum {
SF_BATT_LEVEL_TOTAL SF_BATT_LEVEL_TOTAL
} SF_BatteryLevel_e; } SF_BatteryLevel_e;
typedef enum
{
SF_FTP_ON = 0x00,
SF_FTP_OFF,
SF_FTPS_ON,
SF_FTP_MAX,
} SF_FTP;
extern void Load_SysInfo(void); extern void Load_SysInfo(void);
extern void Save_SysInfo(void); extern void Save_SysInfo(void);
extern void Init_SysInfo(void); extern void Init_SysInfo(void);

View File

@ -147,9 +147,9 @@ static MOVIE_SIZE_ITEM g_MovieSizeTable[] = {
}, },
[MOVIE_SIZE_1920x1080P30] = { [MOVIE_SIZE_1920x1080P30] = {
{1920, 1080, 30, 400 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9}, {1920, 1080, 30, 262144/* 2M = 2*1024*1024/8 */, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9},
{1, 3, 36, 8, -8, 0}, {1, 3, 36, 8, -8, 0},
{1, 4, 30, 400 * 1024, 15, 26, 15, 45, 26, 15, 45, 0, 1, 8, 4}, {1, 4, 30, 262144/* 2M = 2*1024*1024/8 */, 15, 26, 15, 50, 26, 15, 50, 0, 1, 8, 4},
}, },
[MOVIE_SIZE_1280x720P240] = { [MOVIE_SIZE_1280x720P240] = {
@ -171,15 +171,15 @@ static MOVIE_SIZE_ITEM g_MovieSizeTable[] = {
}, },
[MOVIE_SIZE_1280x720P30] = { [MOVIE_SIZE_1280x720P30] = {
{1280, 720, 30, 240 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9}, {1280, 720, 30, 131072 /* 1M = 1*1024*1024/8 */, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9},
{1, 3, 36, 8, -8, 0}, {1, 3, 36, 8, -8, 0},
{1, 4, 30, 240 * 1024, 15, 26, 15, 45, 26, 15, 45, 0, 1, 8, 4}, {1, 4, 30, 131072 /* 1M = 1*1024*1024/8 */, 15, 26, 15, 50, 26, 15, 50, 0, 1, 8, 4},
}, },
[MOVIE_SIZE_848x480P30] = { [MOVIE_SIZE_848x480P30] = {
{848, 480, 30, 120 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9}, {848, 480, 30, 110100, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9},
{1, 3, 36, 8, -8, 0}, {1, 3, 36, 8, -8, 0},
{1, 4, 30, 120 * 1024, 15, 26, 15, 45, 26, 15, 45, 0, 1, 8, 4}, {1, 4, 30, 110100, 15, 26, 15, 50, 26, 15, 50, 0, 1, 8, 4},
}, },
[MOVIE_SIZE_848x480P30_WIFI] = { [MOVIE_SIZE_848x480P30_WIFI] = {

View File

@ -52,8 +52,12 @@ static PHOTO_SIZE_PARAM g_ScreenNailSizeTable[PHOTO_SIZE_ID_MAX + 2] = {
#if defined(_MODEL_565_HUNTING_EVB_LINUX_4G_68CS_) #if defined(_MODEL_565_HUNTING_EVB_LINUX_4G_68CS_)
{1024, 768, IMAGERATIO_4_3, "0.78M"}, // 0.78M {1024, 768, IMAGERATIO_4_3, "0.78M"}, // 0.78M
#elif defined(_MODEL_565_HUNTING_EVB_LINUX_4G_S530_) #elif defined(_MODEL_565_HUNTING_EVB_LINUX_4G_S530_)
{1024, 768, IMAGERATIO_4_3, "0.78M"}, // 0.78M
{640, 480, IMAGERATIO_4_3, "VGA"}, // VGA {640, 480, IMAGERATIO_4_3, "VGA"}, // VGA
#endif #endif
//CFG_SCREENNAIL_W
//CFG_SCREENNAIL_H
//SCREENNAIL_TARGETBYTERATE
}; };
const CHAR *Get_SizeString(UINT32 uiIndex) const CHAR *Get_SizeString(UINT32 uiIndex)

View File

@ -216,6 +216,7 @@ SRC = \
./code/source/commMng/sf_share_mem.c \ ./code/source/commMng/sf_share_mem.c \
./code/source/fileMng/cJSON.c \ ./code/source/fileMng/cJSON.c \
./code/source/fileMng/sf_fileMng.c \ ./code/source/fileMng/sf_fileMng.c \
./code/source/fileMng/sf_file.c \
./code/source/signatureMng/aos_util.c \ ./code/source/signatureMng/aos_util.c \
./code/source/signatureMng/apr_sha1.c \ ./code/source/signatureMng/apr_sha1.c \
./code/source/signatureMng/HMACSHA.c \ ./code/source/signatureMng/HMACSHA.c \
@ -242,6 +243,7 @@ SRC = \
./code/source/4gMng/sf_http_server.c \ ./code/source/4gMng/sf_http_server.c \
./code/source/4gMng/sf_module.c \ ./code/source/4gMng/sf_module.c \
./code/source/4gMng/sf_opera_adapt.c \ ./code/source/4gMng/sf_opera_adapt.c \
./code/source/4gMng/sf_ftp.c \
./code/source/dataMng/sf_dataMng.c \ ./code/source/dataMng/sf_dataMng.c \
./code/source/dataMng/sf_transdata1.c \ ./code/source/dataMng/sf_transdata1.c \
./code/source/dataMng/sf_datahttp.c \ ./code/source/dataMng/sf_datahttp.c \
@ -269,6 +271,8 @@ CFLAGS = $(PLATFORM_CFLAGS) $(PRJCFG_CFLAGS)
C_FLAGS = $(COMPILE_OPTS) $(EXTRA_INCLUDE) $(EXTRA_LIB_DIR) $(EXTRA_LIB) $(CPPFLAGS) $(CFLAGS) $(WARNING) $(C_PREDEFINED) C_FLAGS = $(COMPILE_OPTS) $(EXTRA_INCLUDE) $(EXTRA_LIB_DIR) $(EXTRA_LIB) $(CPPFLAGS) $(CFLAGS) $(WARNING) $(C_PREDEFINED)
LD_FLAGS = $(EXTRA_LIB_DIR) $(EXTRA_LIB) LD_FLAGS = $(EXTRA_LIB_DIR) $(EXTRA_LIB)
MAKEFLAGS += --silent
C_LDFLAGS = \ C_LDFLAGS = \
--sysroot=$(SYSROOT_DIR) \ --sysroot=$(SYSROOT_DIR) \
--eh-frame-hdr \ --eh-frame-hdr \

View File

@ -20,6 +20,7 @@ SINT32 sf_sem_up(SINT32 semid, SINT32 who);
SINT32 sf_sem_deinit(SINT32 semid); SINT32 sf_sem_deinit(SINT32 semid);
SINT32 sf_share_mem_file_init(void); SINT32 sf_share_mem_file_init(void);
SINT32 sf_share_mem_file_down(UINT32 to);
SINT32 sf_share_mem_file_deinit(void); SINT32 sf_share_mem_file_deinit(void);

View File

@ -7,6 +7,60 @@ extern "C" {
#endif #endif
#endif #endif
#define IS_RELEASE 1
#if IS_RELEASE
#define SF_DEBUG_FAST_CAPTURE 0 /*1:ON -> reuse CameraMode:0 Normal; 1 fast capture*/
#define SF_DEBUG_COLLECT_EXP_AGC 0
#define SF_DEBUG_EXIF_LOG 0
#define SF_DEBUG_EXIF_AE_AWB 0
#define SF_DEBUG_TEMPER_ADC 0
#define SF_DEBUG_BATTERY_ADC 0
#define SF_DEBUG_IQ 0
#define SF_DEBUG_LIGHT_AE 0
#define SF_TRIGGER_TIME_TEST 0
#define SF_DEBUG_CAPTURE_MONITOR 0
#define SF_TEST_QLOG_CERR 0 /*423 and 407 Error saving test.*/
#define SF_TEST_ERROR_CODE 0
#define GSM_LOG_ENCODE 1
#define SF_TEST_COMPRESSED_GRAPH 0
#else /*DEBUG INFO*/
#define SF_DEBUG_FAST_CAPTURE 0 /*1:ON -> reuse CameraMode:0 Normal; 1 fast capture*/
#define SF_DEBUG_COLLECT_EXP_AGC 0
#define SF_DEBUG_EXIF_LOG 0
#define SF_DEBUG_EXIF_AE_AWB 0
#define SF_DEBUG_TEMPER_ADC 0
#define SF_DEBUG_BATTERY_ADC 0
#define SF_DEBUG_IQ 0
#define SF_DEBUG_LIGHT_AE 0
#define SF_TRIGGER_TIME_TEST 0
#define SF_DEBUG_CAPTURE_MONITOR 0
#define SF_TEST_QLOG_CERR 1/*423 and 407 Error saving test.*/
#define SF_TEST_ERROR_CODE 0
#define GSM_LOG_ENCODE 0
#define SF_BATTERY_TEST 0
#define SF_TEST_COMPRESSED_GRAPH 0
#endif
#define SF_LOG_HEAD "[%s:%d]"
#define SF_DEBUG_HEAD "SF_DEBUG[%s:%d]"
#define SF_ERROR_HEAD "SF_ERROR[%s:%d]"
#define LOG_END ";\n"
#define SF_LOG(format, args...) (printf( SF_LOG_HEAD format LOG_END, __FUNCTION__ , __LINE__, ##args))
#define SF_DEBUG(format, args...) (printf( SF_DEBUG_HEAD format LOG_END, __FUNCTION__ , __LINE__, ##args))
#define SF_ERROR(format, args...) (printf( SF_ERROR_HEAD format LOG_END, __FUNCTION__ , __LINE__, ##args))
/** Return Result Check */
#define SF_CHECK_RETURN(ret, errcode) \
do { \
if (0 > ret) { \
printf("Error Code: [0x%08X]\n\n", errcode); \
return errcode; \
} \
} while (0)
void app_message_recv_start(void); void app_message_recv_start(void);

View File

@ -340,6 +340,11 @@ UINT8 sf_convert_power_on_mode(void);
int sf_mcu_init(void); int sf_mcu_init(void);
unsigned char sf_mcu_wdg_off(void); unsigned char sf_mcu_wdg_off(void);
void sf_set_module_sleep_flag(UINT8 flag); void sf_set_module_sleep_flag(UINT8 flag);
int sf_app_while_flag(void);
void sf_set_sim_insert(UINT32 sim);
UINT8 sf_get_signal_ready(void);
void sf_set_sim_pin_flag(UINT8 simPin, UINT8 simPins, UINT8 simPinPuk);
void sf_set_cq_signal(UINT8 csq);
extern unsigned short TrigType; extern unsigned short TrigType;

View File

@ -43,7 +43,9 @@ SF_REPORT_FILE_ATTR_S* sf_get_sub_report_file_attr(void);
SF_REPORT_FILE_ATTR_S* sf_get_thm_report_file_attr(void); SF_REPORT_FILE_ATTR_S* sf_get_thm_report_file_attr(void);
void sf_get_date(UINT32 second, SF_PARA_TIME_S *ptmx);
UINT32 sf_get_seconds(SF_PARA_TIME_S rtc);
#ifdef __cplusplus #ifdef __cplusplus

View File

@ -10,6 +10,20 @@ extern "C" {
#include "sf_param_common.h" #include "sf_param_common.h"
#define CUSTOM_STR 1
#define MODULE_IMEI_LEN 15
#define MODULE_ICCID_LEN 20
//500ms * 480 = 240s = 4min
#define SF_QUECTEL_NET_REG_CALLTIME_MAX 480
#define SF_NTP_SITE1 "time.windows.com"
#define SF_NTP_SITE2 "time.nist.gov"
#define APN_4G_USCC "uscc"
#define APN_4G_ATT "nxtgenphone"
#define APN_4G_VERIZON "VZWINTERNET"
#define APN_4G_TMOBBILE "fast.t-mobile.com"
#define EG91 "EG91" #define EG91 "EG91"
@ -93,11 +107,136 @@ typedef enum USBNET_APN_INIT_E
USBNET_APN_INIT_END, USBNET_APN_INIT_END,
}USBNET_APN_INIT_e; }USBNET_APN_INIT_e;
typedef enum SF_QUECTEL_NETREG
{
QUECTEL_NETREG_FRIST = (unsigned char)0x01,
QUECTEL_NETREG_DBGCTL,
QUECTEL_NETREG_QSIMSTAT,
QUECTEL_NETREG_IPREX,
QUECTEL_NETREG_QURCCFG,
QUECTEL_NETREG_QCFG_NTP,
QUECTEL_NETREG_QCFG_RISIGNALTYPE,
QUECTEL_NETREG_QCFG_URC,
QUECTEL_NETREG_QNVW,
QUECTEL_NETREG_QLWCFG_URC,
QUECTEL_NETREG_QLWCFG_STARTUP,
QUECTEL_NETREG_GSN,
QUECTEL_NETREG_ATI,
QUECTEL_NETREG_QFLST,
QUECTEL_NETREG_QGMR,
QUECTEL_NETREG_QFOPEN,
QUECTEL_NETREG_QNVFR,
QUECTEL_NETREG_CPIN,
QUECTEL_NETREG_READY,
QUECTEL_ATCPIN1,
QUECTEL_ATCPIN2,
QUECTEL_NETREG_QNVFW,
QUECTEL_SEARCH_QICSGP1,
QUECTEL_SEARCH_IPV4V6,
QUECTEL_NETREG_QCCID,
QUECTEL_NETREG_CIMI_1,
QUECTEL_NETREG_CGREG,
QUECTEL_NETREG_QICSGP,
QUECTEL_NETREG_CGDCONT,
QUECTEL_NETREG_QPRTPARA,
QUECTEL_NETREG_MODULE_RESTART,
QUECTEL_NETREG_CIMI_2,
QUECTEL_NETREG_QCFG_PDP,
QUECTEL_NETREG_QCFG_WINDOWSIZE_0,
QUECTEL_NETREG_QCFG_WINDOWSIZE_1,
QUECTEL_NETREG_CSQ,
QUECTEL_NETREG_QCSQ,
QUECTEL_NETREG_QNWINFO,
QUECTEL_NETREG_COPS,
QUECTEL_NETREG_ATW,
QUECTEL_NETREG_QNTP,
QUECTEL_NETREG_QLTS,
}SF_QUECTEL_NETREG_E;
typedef enum _GPRS_MODULE_ERR_CODE_E{
GPRS_MODULE_ERROR_OPEN = 1,
GPRS_MODULE_ERROR_WRITE = 2,
GPRS_MODULE_ERROR_READ = 3,
GPRS_MODULE_ERROR_BUTT,
}GPRS_MODULE_ERR_CODE_e;
#define SF_GPRS_MODULE_ERROR_OPEN SF_ERR_ID(SF_MOD_4G, GPRS_MODULE_ERROR_OPEN)
#define SF_GPRS_MODULE_ERROR_WRITE SF_ERR_ID(SF_MOD_4G, GPRS_MODULE_ERROR_WRITE)
#define SF_GPRS_MODULE_ERROR_READ SF_ERR_ID(SF_MOD_4G, GPRS_MODULE_ERROR_READ)
typedef enum _SIM_ERR_CODE_E{
SIM_COM_SUCCEED = 0,
SIM_ERROR_NO_SIGNAL = 1,
SIM_ERROR_NO_SIMCARD = 2,
SIM_ERROR_AT_TIMEOUT = 3,
SIM_ERROR_UTC = 4,
SIM_ERROR_REG_NET = 5,
SIM_ERROR_APN = 6,
SIM_ERROR_IMEI = 7,
SIM_ERROR_PIN = 8,
SIM_ERROR_PIN_PUK = 9,
SIM_ERROR_NTP = 10,
SIM_ERROR_FAILURE = 11,
SIM_ERROR_MEGA = 12,
SIM_ERROR_BUTT,
}SIM_ERR_CODE_e;
#define SF_SIM_ERROR_NO_SIGNAL SF_ERR_ID(SF_MOD_SIM, SIM_ERROR_NO_SIGNAL)
#define SF_SIM_ERROR_NO_SIMCARD SF_ERR_ID(SF_MOD_SIM, SIM_ERROR_NO_SIMCARD)
#define SF_SIM_ERROR_AT_TIMEOUT SF_ERR_ID(SF_MOD_SIM, SIM_ERROR_AT_TIMEOUT)
#define SF_SIM_ERROR_UTC SF_ERR_ID(SF_MOD_SIM, SIM_ERROR_UTC)
#define SF_SIM_ERROR_REG_NET SF_ERR_ID(SF_MOD_SIM, SIM_ERROR_REG_NET)
#define SF_SIM_ERROR_APN SF_ERR_ID(SF_MOD_SIM, SIM_ERROR_APN)
#define SF_SIM_ERROR_IMEI SF_ERR_ID(SF_MOD_SIM, SIM_ERROR_IMEI)
#define SF_SIM_ERROR_PIN SF_ERR_ID(SF_MOD_SIM, SIM_ERROR_PIN)
#define SF_SIM_ERROR_PIN_PUK SF_ERR_ID(SF_MOD_SIM, SIM_ERROR_PIN_PUK)
#define SF_SIM_ERROR_NTP SF_ERR_ID(SF_MOD_SIM, SIM_ERROR_NTP)
#define SF_SIM_ERROR_FAILURE SF_ERR_ID(SF_MOD_SIM, SIM_ERROR_FAILURE)
#define SF_SIM_ERROR_MEGA SF_ERR_ID(SF_MOD_SIM, SIM_ERROR_MEGA)
typedef enum SF_SIM
{
SMS_SIM_INIT_READY= (unsigned char)0x01,
SMS_SIM_INIT_ATI,
SMS_SIM_INIT_IPREX,
SMS_SIM_INIT_ATCSUB,
SMS_SIM_INIT_ATCPIN,
SMS_SIM_INIT_ATCPIN1,
SMS_SIM_INIT_ATCPIN2,
SMS_SIM_INIT_CNVW,
SMS_SIM_INIT_ATW,
SMS_SIM_INIT_CICCID,
SMS_SIM_INIT_ATCIMI,
SMS_SIM_INIT_QICSGP,
SMS_SIM_INIT_QICSGP1,
SMS_SIM_INIT_CGREG,
SMS_SIM_INIT_COPS,
SMS_SIM_INIT_CNSMOD,
SMS_SIM_INIT_CPSI,
SMS_SIM_INIT_CSQ,
SMS_SIM_INIT_CCLK,
SMS_SIM_INIT_CNTP,
SMS_SIM_INIT_CNTPTO,
SMS_SIM_INIT_ATCNTP,
SMS_SIM_INIT_ATCNTP1,
SMS_SIM_INIT_NTP_CCLK,
SMS_SIM_INIT_QIDEACT,
SMS_SIM_INIT_CSCLK,
SMS_SIM_INIT_DTRUP,
SMS_SIM_INIT_EXIT,
SMS_SIM_INIT_CFUN,
SMS_SIM_INIT_CIMI,
}SF_SIM_E;
SINT32 eg91_iccid_get(SF_CHAR *iccid,SF_FN_PARAM_S *pfnParam); SINT32 eg91_iccid_get(SF_CHAR *iccid,SF_FN_PARAM_S *pfnParam);
SINT32 eg91_qsclk_set(SF_FN_PARAM_S *pfnParam); SINT32 eg91_qsclk_set(SF_FN_PARAM_S *pfnParam);
SINT32 eg91_other_sim_apn_cfg(SF_PDT_PARAM_STATISTICS_S *pstaticParam); SINT32 eg91_other_sim_apn_cfg(UIMenuStoreInfo *pstaticParam);
SINT32 eg91_sim_init(SF_FN_PARAM_S *pfnParam); SINT32 eg91_sim_init(SF_FN_PARAM_S *pfnParam);
@ -107,6 +246,22 @@ SINT32 eg91_register_net_auto(SF_FN_PARAM_S *pfnParam);
SINT32 eg91_usb_net_apn_cfg(SF_FN_PARAM_S *pfnParam); SINT32 eg91_usb_net_apn_cfg(SF_FN_PARAM_S *pfnParam);
void sf_set_netsearch_step(UINT8 stepValue);
UINT8 sf_get_netsearch_step(void);
SINT32 sf_get_utc(VOID);
SINT32 sf_get_ntp(SINT32 value);
UINT8 sf_get_pdp_index(void);
void sf_custom_str_get(UINT8 *pCustomStr);
void sf_get_send_video_fname(UINT8 *videoDirKey, UINT8 *videoFname);
void sf_gsm_para_buff_clear(void);
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
} }

View File

@ -0,0 +1,30 @@
#ifndef _SF_FILE_H_
#define _SF_FILE_H_
#ifdef __cplusplus
#if __cplusplus
extern "C" {
#endif
#endif
#include "sf_type.h"
#include "sf_param_common.h"
SINT32 sf_quectel_upload_file_to_module(UINT8 *fileAbsolutePath, UINT8 *uploadFname);
SINT32 sf_upload_send_files_to_module(UINT8 mode);
UINT8 sf_check_file_video(void);
UINT8 sf_get_upload_to_module_flag(void);
void sf_set_upload_to_module_flag(UINT8 Falg);
#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif
#endif

View File

@ -24,6 +24,34 @@ typedef enum sf_SUBSCRIBE_TYPE_E
SF_SUBSCRIBE_BUTT, SF_SUBSCRIBE_BUTT,
}SF_SUBSCRIBE_TYPE_E; }SF_SUBSCRIBE_TYPE_E;
typedef enum _SF_QUECTEL_UPLOAD
{
QUECTEL_UPLOAD_FRIST = (unsigned char)0x01,
QUECTEL_UPLOAD_QFLDS,
QUECTEL_UPLOAD_QFLST,
QUECTEL_UPLOAD_QFDEL,
QUECTEL_UPLOAD_QFUPL,
QUECTEL_UPLOAD_END,
}SF_QUECTEL_UPLOAD_E;
typedef enum _UPLOAD_ERR_CODE_E{
UPLOAD_ERROR_AT_TIMEOUT = 1,
UPLOAD_ERROR_AT_ERROR = 2,
UPLOAD_ERROR_OPEN_FAIL = 3,
UPLOAD_ERROR_GET_FSIZE_FAIL = 4,
UPLOAD_ERROR_DATA = 5,
UPLOAD_ERROR_RETRY = 6,
}UPLOAD_ERR_CODE_e;
#define SF_UPLOAD_ERROR_AT_TIMEOUT SF_ERR_ID(SF_MOD_UPLOAD, UPLOAD_ERROR_AT_TIMEOUT)
#define SF_UPLOAD_ERROR_AT_ERROR SF_ERR_ID(SF_MOD_UPLOAD, UPLOAD_ERROR_AT_ERROR)
#define SF_UPLOAD_ERROR_OPEN_FAIL SF_ERR_ID(SF_MOD_UPLOAD, UPLOAD_ERROR_OPEN_FAIL)
#define SF_UPLOAD_ERROR_GET_FSIZE_FAIL SF_ERR_ID(SF_MOD_UPLOAD, UPLOAD_ERROR_GET_FSIZE_FAIL)
#define SF_UPLOAD_ERROR_DATA SF_ERR_ID(SF_MOD_UPLOAD, UPLOAD_ERROR_DATA)
#define SF_UPLOAD_ERROR_RETRY SF_ERR_ID(SF_MOD_UPLOAD, UPLOAD_ERROR_RETRY)
SINT32 sf_file_remove(SF_CHAR *fileName); SINT32 sf_file_remove(SF_CHAR *fileName);
SINT32 sf_file_http_header_add(SF_FILE_ATTR_S *pstFileAttr, SF_PDT_PARAM_STATISTICS_S *pstParam); SINT32 sf_file_http_header_add(SF_FILE_ATTR_S *pstFileAttr, SF_PDT_PARAM_STATISTICS_S *pstParam);
@ -41,6 +69,7 @@ SINT32 sf_file_IsExsit(CHAR *fileName);
void sf_file_thumb_cfg_fill(char* filepath,char* fileName,SF_FILE_TYPE_E enFileType); void sf_file_thumb_cfg_fill(char* filepath,char* fileName,SF_FILE_TYPE_E enFileType);
void sf_file_thumb_cfg_set(SF_SRCFILE_ATTR_S *pThumbFileCfgl); void sf_file_thumb_cfg_set(SF_SRCFILE_ATTR_S *pThumbFileCfgl);
void sf_file_thumb_cfg_set_down(SF_SRCFILE_ATTR_S *pSfCustomerPara);
void sf_file_thumb_cfg_clear(void); void sf_file_thumb_cfg_clear(void);
@ -48,8 +77,6 @@ SF_SRCFILE_ATTR_S* sf_file_thumb_cfg_get(void);
SINT32 sf_file_size_get(SF_CHAR *filePath,UINT32 *pFileSize); SINT32 sf_file_size_get(SF_CHAR *filePath,UINT32 *pFileSize);
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
} }

View File

@ -0,0 +1,143 @@
/**************************************************************************
*
* Copyright (c) 2009-2018 by SiFar Technology, Inc.
*
* This software is copyrighted by and is the property of SiFar
* Technology, Inc.. All rights are reserved by SiFar Technology, Inc..
* This software may only be used in accordance with the corresponding
* license agreement. Any unauthorized use, duplication, distribution,
* or disclosure of this software is expressly forbidden.
*
* This Copyright notice MUST not be removed or modified without prior
* written consent of SiFar Technology, Inc..
*
* SiFar Technology, Inc. reserves the right to modify this software without notice.
*
* Author: hac
* Ver: 1.0.0 2021.12.13
* Description:
*
**************************************************************************/
#ifndef _SF_FTP_H_
#define _SF_FTP_H_
typedef enum _FTP_SIM_E
{
FTP_SIM_CGDCONT = 0,
FTP_SIM_QICSGP0,
FTP_SIM_NETOPEN,
FTP_SIM_CFTPSSTART,
FTP_SIM_CFTPSSINGLEIP,
FTP_SIM_QSSLCFG0,
FTP_SIM_QSSLCFG1,
FTP_SIM_QSSLCFG2,
FTP_SIM_QSSLCFG3,
FTP_SIM_QSSLCFG4,
FTP_SIM_QSSLCFG5,
FTP_SIM_CCHSTART,
FTP_SIM_CFTPSCFG,
FTP_SIM_CSSLCFG,
FTP_SIM_CFTPLOGIN,
FTP_SIM_CFTPSLOGIN,
FTP_SIM_CFTPSPUTFILE,
FTP_SIM_JPG,
FTP_SIM_CFTPSLOGOUT,
FTP_SIM_CCHSTOP,
FTP_SIM_CFTPSSTOP,
FTP_SIM_NETCLOSE,
FTP_SIM_CFTPSTERM,
FTP_SIM_EXIT,
}FTP_SIM_E;
typedef enum _FTP_ERR_CODE_E{
FTP_ERROR_AT_TIMEOUT = 1,
FTP_ERROR_AT_ACTIVE = 2,
FTP_ERROR_OPEN = 3,
FTP_ERROR_OPEN_TIMEOUT = 4,
FTP_ERROR_SEND_TIMEOUT = 5,
FTP_ERROR_SEND_CLOSE = 6,
FTP_ERROR_SEND,
FTP_ERROR_AT_ERROR,
FTP_ERROR_NLST,
FTP_ERROR_GET,
FTP_ERROR_CLOSED,
FTP_ERROR_LOGOUT,
FTP_ERROR_STOP,
FTP_ERROR_START,
FTP_ERROR_CCHSTART,
FTP_ERROR_TERM,
FTP_ERROR_LOGOUT_TIMEOUT,
FTP_ERROR_QIDEACT,
FTP_ERROR_BUTT,
}FTP_ERR_CODE_e;
#define SF_FTP_ERROR_AT_TIMEOUT SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_AT_TIMEOUT)
#define SF_FTP_ERROR_AT_ACTIVE SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_AT_ACTIVE)
#define SF_FTP_ERROR_OPEN SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_OPEN)
#define SF_FTP_ERROR_OPEN_TIMEOUT SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_OPEN_TIMEOUT)
#define SF_FTP_ERROR_SEND_TIMEOUT SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_SEND_TIMEOUT)
#define SF_FTP_ERROR_SEND_CLOSE SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_SEND_CLOSE)
#define SF_FTP_ERROR_SEND SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_SEND)
#define SF_FTP_ERROR_AT_ERROR SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_AT_ERROR)
#define SF_FTP_ERROR_NLST SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_NLST)
#define SF_FTP_ERROR_GET SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_GET)
#define SF_FTP_ERROR_CLOSED SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_CLOSED)
#define SF_FTP_ERROR_LOGOUT SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_LOGOUT)
#define SF_FTP_ERROR_STOP SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_STOP)
#define SF_FTP_ERROR_START SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_START)
#define SF_FTP_ERROR_CCHSTART SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_CCHSTART)
#define SF_FTP_ERROR_TERM SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_TERM)
#define SF_FTP_ERROR_LOGOUT_TIMEOUT SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_LOGOUT_TIMEOUT)
#define SF_FTP_ERROR_QIDEACT SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_QIDEACT)
typedef enum _SEND_ERR_CODE_E{
SEND_ERROR_SIGNAL = 1,
SEND_ERROR_CREAT_DP_FILE = 2,
SEND_ERROR_CREAT_GPS_FILE= 3,
SEND_ERROR_LOG_NOT_EXIST = 4,
SEND_ERROR_BATCH_PIC_NULL= 5,
SEND_ERROR_BATCH_PIC = 6,
SEND_ERROR_APN_NULL = 7,
SEND_ERROR_FTP_NULL = 8,
SEND_ERROR_REACH_MAX_NUM = 9,
SEND_ERROR_BUTT,
}SEND_ERR_CODE_e;
#define SF_SEND_ERROR_SIGNAL SF_ERR_ID(SF_MOD_4G_SEND, SEND_ERROR_SIGNAL)
#define SF_SEND_ERROR_CREAT_DP_FILE SF_ERR_ID(SF_MOD_4G_SEND, SEND_ERROR_CREAT_DP_FILE)
#define SF_SEND_ERROR_CREAT_GPS_FILE SF_ERR_ID(SF_MOD_4G_SEND, SEND_ERROR_CREAT_GPS_FILE)
#define SF_SEND_ERROR_LOG_NOT_EXIST SF_ERR_ID(SF_MOD_4G_SEND, SEND_ERROR_LOG_NOT_EXIST)
#define SF_SEND_ERROR_BATCH_PIC_NULL SF_ERR_ID(SF_MOD_4G_SEND, SEND_ERROR_BATCH_PIC_NULL)
#define SF_SEND_ERROR_BATCH_PIC SF_ERR_ID(SF_MOD_4G_SEND, SEND_ERROR_BATCH_PIC)
#define SF_SEND_ERROR_APN_NULL SF_ERR_ID(SF_MOD_4G_SEND, SEND_ERROR_APN_NULL)
#define SF_SEND_ERROR_FTP_NULL SF_ERR_ID(SF_MOD_4G_SEND, SEND_ERROR_FTP_NULL)
#define SF_SEND_ERROR_REACH_MAX_NUM SF_ERR_ID(SF_MOD_4G_SEND, SEND_ERROR_REACH_MAX_NUM)
typedef struct sf_ftp_send_file
{
int id;/* id number*/
int gprs_mode;/* 0 Daily, 1 Instant */
int size;/* file size*/
char file_path[64];/* file name */
char ftp_file_path[64];/* Received name */
struct sf_ftp_send_file *next;/* next */
}sf_ftp_send_file_t;
SINT32 sf_ftp_config(UINT8 ssl, UINT8 GprsMode, UINT8 timeout);
SINT32 sf_ftp_send(UINT8 *ftpFileName, UINT8 *filePath, UINT8 timeout);
SINT32 sf_ftp_stop(UINT8 ssl, UINT8 GprsMode);
SINT32 sf_pic_send_ftp(void);
SINT32 sf_txt_send_ftp(void);
SINT32 sf_video_send_ftp(void);
SINT32 sf_simcom_ftp_dailyreport_send(void);
SINT32 sf_check_ftp_send(UINT8 mode);
SINT32 sf_simcom_ftp_send(UINT8 mode);
#endif /*_SF_FTP_H_*/

View File

@ -20,6 +20,7 @@ typedef enum sf_KEY_PIN_E
SF_KEY_PIN_FORMAT = 66, SF_KEY_PIN_FORMAT = 66,
SF_KEY_PIN_DATAREADY = 6, SF_KEY_PIN_DATAREADY = 6,
SF_KEY_PIN_FILESTATUS = 128,/*virtual key*/ SF_KEY_PIN_FILESTATUS = 128,/*virtual key*/
SF_KEY_PIN_AOTU_MODE_POWOFF,
} SF_KEY_PIN_E; } SF_KEY_PIN_E;
typedef enum sf_KEY_TYPE_E typedef enum sf_KEY_TYPE_E
{ {

View File

@ -226,6 +226,7 @@ UINT8 sf_led_set(LedId_t ledId, Ledstate_t ledstate);
Ledstate_t sf_led_get(LedId_t ledId); Ledstate_t sf_led_get(LedId_t ledId);
void sf_sys_status_led_set(LedSysState_t ledSysStateId); void sf_sys_status_led_set(LedSysState_t ledSysStateId);
void sf_trigger_time_led_cb(UINT32 cnt); void sf_trigger_time_led_cb(UINT32 cnt);
void sf_led_stop(void);

View File

@ -18,6 +18,9 @@ SINT32 sf_com_message_cardv_init(void);
SINT32 sf_com_message_send_to_cardv(SF_MESSAGE_BUF_S *pMessageBuf); SINT32 sf_com_message_send_to_cardv(SF_MESSAGE_BUF_S *pMessageBuf);
SINT32 sf_com_message_recv_from_cardv(SF_MESSAGE_BUF_S *pMessageBuf); SINT32 sf_com_message_recv_from_cardv(SF_MESSAGE_BUF_S *pMessageBuf);
BOOL sf_system_check_cardv(void);
BOOL sf_system_cardv_wait_done(void);
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
} }

View File

@ -28,7 +28,7 @@ extern "C" {
#include "sf_param_common.h" #include "sf_param_common.h"
#include "sf_module.h" #include "sf_module.h"
UINT16 sf_auto_operation_adaptation(SF_CHAR *operatorName, SF_PDT_PARAM_STATISTICS_S *sim_info_t); UINT16 sf_auto_operation_adaptation(SF_CHAR *operatorName, UIMenuStoreInfo *sim_info_t);
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
} }

View File

@ -175,6 +175,21 @@ extern "C" {
#define SF_DCF_FILE_NAME_PREFIX "SYEW" #define SF_DCF_FILE_NAME_PREFIX "SYEW"
#endif #endif
#define GPRS_INFO_LINE_MAX 512
#define MAX_CALL_TIMES 100
#define SF_SD_DISK "A:"
#define SF_DCIM_DIR SF_SD_DISK"\\DCIM"
#define SF_THUMB_DIR SF_SD_DISK"\\DCIM\\THUMB"
#define SF_THUMB_SMALL_DIR SF_SD_DISK"\\DCIM\\THUMB\\small"
#define SF_THUMB_BIG_DIR SF_SD_DISK"\\DCIM\\THUMB\\big"
#define SF_THUMB_VIDEO_DIR SF_SD_DISK"\\DCIM\\THUMB\\video"
#define DCF_DIR_FREE_CHAR "MEDIA"
#define SF_TRUE 1
#define SF_FALSE 0
#define SF_AUTO 0
#define SF_MANUAL 1
@ -196,8 +211,10 @@ extern "C" {
#define SF_ERR_ID(module, err) ((SINT16)(((module) << 8) | (err))) #define SF_ERR_ID(module, err) ((SINT16)(((module) << 8) | (err)))
/** SF Module ID */ /** SF Module ID */
typedef enum SF_MOD_e { typedef enum SF_MOD_e {
SF_MOD_SIM = 1,
SF_MOD_4G = 1, SF_MOD_FTP,
SF_MOD_4G,
SF_MOD_4G_SEND,
SF_MOD_GPS, SF_MOD_GPS,
SF_MOD_FILE, SF_MOD_FILE,
SF_MOD_HTTP, SF_MOD_HTTP,
@ -208,6 +225,7 @@ typedef enum SF_MOD_e {
SF_MOD_STORE, SF_MOD_STORE,
SF_MOD_SYS, SF_MOD_SYS,
SF_MOD_APP, SF_MOD_APP,
SF_MOD_UPLOAD,
SF_MOD_BUTT, SF_MOD_BUTT,
} SF_MOD_E; } SF_MOD_E;

View File

@ -47,7 +47,6 @@ SINT8 app_upgrade_ota_restore_IsRun(void);
SINT32 app_preinit(void); SINT32 app_preinit(void);
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
} }

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -19,6 +19,7 @@
#include "cJSON.h" #include "cJSON.h"
#include"sf_http_server.h" #include"sf_http_server.h"
#include "sf_base64.h"
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
extern "C" { extern "C" {
@ -339,17 +340,17 @@ static SINT32 http_pushfile_to_server(SINT32 socketfd, SF_FILE_ATTR_S *stFileAtt
SLOGD("SF_SUCCESS!\n"); SLOGD("SF_SUCCESS!\n");
return SF_SUCCESS; return SF_SUCCESS;
} }
static SINT32 http_file_response_parse() /*static SINT32 http_file_response_parse()
{ {
return SF_SUCCESS; return SF_SUCCESS;
} }*/
SINT32 sf_usbnet_http_authenrequst(SF_PDT_PARAM_STATISTICS_S *pStaticParam) SINT32 sf_usbnet_http_authenrequst(SF_PDT_PARAM_STATISTICS_S *pStaticParam)
{ {
SF_COMM_CHECK_POINTER(pStaticParam,SF_FAILURE); SF_COMM_CHECK_POINTER(pStaticParam,SF_FAILURE);
SINT32 s32ret = 0; SINT32 s32ret = 0;
SINT32 recv_byte = 0; //SINT32 recv_byte = 0;
SINT32 sock_cli = 0; SINT32 sock_cli = 0;
SF_CHAR data_buff[BUFFER_SIZE] = { 0 }; SF_CHAR data_buff[BUFFER_SIZE] = { 0 };

View File

@ -64,51 +64,31 @@ SINT32 sf_4G_sim_IsInsert(void)
static UINT8 sf_4g_net_level_get(UINT8 simSignal) static UINT8 sf_4g_net_level_get(UINT8 simSignal)
{ {
if(simSignal == 0) if(simSignal <= 105)
{ {
return 0; return 4;
} }
else if((simSignal <= 95) && (simSignal > 0)) else if(simSignal <= 115)
{ {
return 4; return 3;
} }
else if((simSignal <= 105) && (simSignal > 95)) else
{ {
return 3; return 2;
} }
else if((simSignal <= 115) && (simSignal > 105))
{
return 3;
}
else if((simSignal > 115))
return 2;
return SF_SUCCESS; return SF_SUCCESS;
} }
static UINT8 sf_3g_net_level_get(UINT8 simSignal) static UINT8 sf_3g_net_level_get(UINT8 simSignal)
{ {
if(simSignal == 0) if (simSignal < 8)
{ return 2;
return 0; else if (simSignal < 14)
} return 3;
else if(simSignal < 10) else
{ return 4;
return 2;
}
else if(simSignal < 14)
{
return 3;//t100, custumer signal level,20210914
}
else if(simSignal < 18)
{
return 3;//t100, custumer signal level,20210914
}
else if(simSignal <= 31)
{
return 4;//t100, custumer signal level,20210914
}
return SF_SUCCESS; return SF_SUCCESS;
} }
@ -268,6 +248,7 @@ SINT32 sf_4G_gps_search_result(SF_FN_PARAM_S *pfnParam)
SINT32 sf_4G_sim_init(SF_FN_PARAM_S *pfnParam) SINT32 sf_4G_sim_init(SF_FN_PARAM_S *pfnParam)
{ {
#if defined(CFG_MODULE_EG91) #if defined(CFG_MODULE_EG91)
//return sf_quectel_module_complete_init();
return eg91_sim_init(pfnParam); return eg91_sim_init(pfnParam);
#endif #endif
} }

View File

@ -48,7 +48,7 @@
#include <sf_hal_gpio.h> #include <sf_hal_gpio.h>
#include <sf_hal_ttyusb.h> #include <sf_hal_ttyusb.h>
#include <sys/vfs.h> #include <sys/vfs.h>
#include "sf_keymng.h"
extern pthread_mutex_t Param_mutexLock; extern pthread_mutex_t Param_mutexLock;
extern pthread_mutex_t GPIO_mutexLock; extern pthread_mutex_t GPIO_mutexLock;
@ -59,9 +59,10 @@ UIMenuStoreInfo origInfo = {0}; /* backup */
void sf_signalStop(SINT32 signo) void sf_signalStop(SINT32 signo)
{ {
printf("\nsignalStop(signal code: %d) !!!\n", signo); printf("\nsignalStop(signal code: %d) !!!\n", signo);
sf_share_mem_file_deinit(); sf_share_mem_file_deinit();
sf_share_mem_customer_deinit(); sf_share_mem_customer_deinit();
sf_led_stop();
sf_commu_mcu_task_stop();
_exit(0); _exit(0);
} }
@ -98,33 +99,41 @@ int main(int argc, char *argv[])
//gpio_direction_input(C_GPIO(10)); //gpio_direction_input(C_GPIO(10));
SINT16 startup = 0; SINT16 startup = 0;
SF_MUTEX_INIT_LOCK(Param_mutexLock);
SF_MUTEX_INIT_LOCK(GPIO_mutexLock);
//test_sd_free(); //test_sd_free();
//return 0; //return 0;
SINT32 isUsb = sf_usb_IsInsert(); SINT32 isUsb = sf_usb_IsInsert();
printf("[%s:%d] isUsb = %d\n", isUsb); SINT32 isCard = sf_in_card_exist();
printf("[%s:%d] isUsb = %d isCard = %d\n", __FUNCTION__, __LINE__, isUsb,isCard);
sf_mcu_init(); sf_mcu_init();
sf_get_power_on_mode(); sf_get_power_on_mode();
sf_mcu_wdg_set(30); sf_mcu_wdg_set(30);
sf_usb_mux_s(1);
sf_share_mem_file_init(); //sf_share_mem_file_init();
//sf_share_mem_customer_update(); //sf_share_mem_customer_update();
sf_com_message_app_init(); sf_com_message_app_init();
sf_com_message_cardv_init(); sf_com_message_cardv_init();
sf_customer_param_load(); sf_customer_param_load();
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
printf("[%s:%d] CamMode:%d\n", __FUNCTION__, __LINE__,puiPara->CamMode);
if(!isUsb) if(!isUsb)
{ {
//sf_usb_mux_s(1);
sf_load_ko(); sf_load_ko();
sf_mcu_reg_set(SF_MCU_CTRL_MODULE_PIR, 1); sf_mcu_reg_set(SF_MCU_CTRL_MODULE_PIR, 1);
} }
else
{
// sf_usb_mux_s(0);
}
printf("[%s:%d] CamMode:%d\n", __FUNCTION__, __LINE__,sf_sys_get_flag(CamMode));
SF_MUTEX_INIT_LOCK(Param_mutexLock);
SF_MUTEX_INIT_LOCK(GPIO_mutexLock);
sf_led_init(); sf_led_init();
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);
@ -145,7 +154,7 @@ int main(int argc, char *argv[])
//app_upgrade_sd_execute(); //app_upgrade_sd_execute();
app_preinit(); app_preinit();
//app_RegisterNet_start(); app_RegisterNet_start();
startup = sf_poweron_type_get(); startup = sf_poweron_type_get();
SLOGD("poweron type beginning :[%d,%s]\n", startup, sf_poweron_type_string(startup)); SLOGD("poweron type beginning :[%d,%s]\n", startup, sf_poweron_type_string(startup));
if(SF_MCU_STARTUP_ONKEY == startup) if(SF_MCU_STARTUP_ONKEY == startup)
@ -160,6 +169,14 @@ int main(int argc, char *argv[])
app_debug_deinit(); app_debug_deinit();
///////////////////////////// /////////////////////////////
} }
else//tese
{
SF_MESSAGE_BUF_S stMessageBuf = {0};
stMessageBuf.cmdId = CMD_KEY;
stMessageBuf.arg1 = SF_EVENT_KEY_SHORT_CLICK;
stMessageBuf.arg2 = SF_KEY_PIN_AOTU_MODE_POWOFF;//auto mode powoff
sf_com_message_send_to_cardv(&stMessageBuf);
}
sf_share_mem_file_deinit(); sf_share_mem_file_deinit();

View File

@ -30,6 +30,8 @@
#include "sf_debug.h" #include "sf_debug.h"
#include "sf_device.h" #include "sf_device.h"
#include "sf_eg91_sim.h"
#include "sf_commu_mcu_reg.h"
#ifdef __cplusplus #ifdef __cplusplus
@ -338,89 +340,71 @@ SINT32 app_led_net_reg_start(void)
{ {
SF_MESSAGE_BUF_S stMessageBuf = {0}; SF_MESSAGE_BUF_S stMessageBuf = {0};
stMessageBuf.cmdId = CMD_LED; stMessageBuf.cmdId = CMD_LED;
stMessageBuf.arg1 = LED_STATUS_SLOWFLASH_ON; stMessageBuf.arg1 = SF_LED_SYS_STATE_GPRS_SEARCH;
stMessageBuf.arg2 = LED_GROUP_SIGNAL;
stMessageBuf.arg3 = LED_TYPE_GREEN;
sf_com_message_send_to_app(&stMessageBuf); sf_com_message_send_to_app(&stMessageBuf);
stMessageBuf.cmdId = CMD_LED;
stMessageBuf.arg1 = LED_STATUS_SLOWFLASH_ON;
stMessageBuf.arg2 = LED_GROUP_ACCOUNT;
stMessageBuf.arg3 = LED_TYPE_GREEN;
sf_com_message_send_to_app(&stMessageBuf);
return SF_SUCCESS; return SF_SUCCESS;
} }
SINT32 app_led_net_reg_stop(SINT32 s32ret) SINT32 app_led_net_reg_stop(SINT32 s32ret)
{ {
SF_MESSAGE_BUF_S stMessageBuf = {0};
stMessageBuf.cmdId = CMD_LED; UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
stMessageBuf.arg2 = LED_GROUP_SIGNAL; UINT8 netSearchStep = sf_get_netsearch_step();
if(s32ret == SF_SUCCESS) { if(s32ret == SF_SUCCESS) {
stMessageBuf.arg1 = LED_STATUS_HOLD_ON;
UINT8 signalLevel = 0; UINT8 signalLevel = 0;
sf_4G_signal_level_get(sf_statistics_param_get()->netGeneration,sf_statistics_param_get()->SimSignal,&signalLevel); sf_4G_signal_level_get(puiPara->NetGeneration,puiPara->SimSignal,&signalLevel);
MLOGI("signalLevel = %d\n",signalLevel); MLOGI("signalLevel = %d\n",signalLevel);
switch(signalLevel) if(netSearchStep == GPRS_SEARCH_STEP_LOGIN_FAILED)
{ {
case 2: sf_sys_status_led_set(SF_LED_SYS_STATE_SERVER_FAIL);
stMessageBuf.arg3 = LED_TYPE_RED;
break;
case 3:
stMessageBuf.arg3 = LED_TYPE_YELLOW;
break;
case 4:
stMessageBuf.arg3 = LED_TYPE_GREEN;
break;
default:
stMessageBuf.arg3 = LED_TYPE_RED;
break;
} }
else
{
sf_set_sim_insert(1);
sf_set_cq_signal(puiPara->SimSignal);
switch(signalLevel)
{
case 1:
sf_sys_status_led_set(SF_LED_SYS_STATE_GPRS_SIGNAL_1);
break;
case 2:
sf_sys_status_led_set(SF_LED_SYS_STATE_GPRS_SIGNAL_2);
break;
case 3:
sf_sys_status_led_set(SF_LED_SYS_STATE_GPRS_SIGNAL_3);
break;
case 4:
sf_sys_status_led_set(SF_LED_SYS_STATE_GPRS_SIGNAL_4);
break;
default:
sf_sys_status_led_set(SF_LED_SYS_STATE_GPRS_SIGNAL_0);
break;
}
}
} }
else if(s32ret == SF_4G_ERROR_NO_SIMCARD \ else if(s32ret == SF_4G_ERROR_NO_SIMCARD \
|| s32ret == SF_4G_ERROR_NO_SUPPOET \ || s32ret == SF_4G_ERROR_NO_SUPPOET \
|| s32ret == SF_APP_ERROR_NO_SUPPOET) || s32ret == SF_APP_ERROR_NO_SUPPOET)
{ {
stMessageBuf.arg1 = LED_STATUS_SLOWFLASH_ON; sf_set_sim_insert(0);
stMessageBuf.arg3 = LED_TYPE_RED; sf_sys_status_led_set(SF_LED_SYS_STATE_SIM_ERROR);
} }
else if(s32ret == SF_HTTP_ERROR_REQUEST) { else if(s32ret == SF_HTTP_ERROR_REQUEST) {
stMessageBuf.arg1 = LED_STATUS_HOLD_ON; sf_sys_status_led_set(SF_LED_SYS_STATE_ERROR);
stMessageBuf.arg3 = LED_TYPE_RED;
} }
else if(s32ret == SF_TTY_ERROR_OPEN) else if(s32ret == SF_TTY_ERROR_OPEN)
{ {
stMessageBuf.arg1 = LED_STATUS_QUICKFLASH_ON; sf_sys_status_led_set(SF_LED_SYS_STATE_SIM_ERROR);
stMessageBuf.arg3 = LED_TYPE_RED; sf_sys_status_led_set(SF_LED_SYS_STATE_ERROR);
} }
else if(s32ret == SF_4G_ERROR_REG_NET) {
sf_sys_status_led_set(SF_LED_SYS_STATE_SIM_ERROR);
sf_sys_status_led_set(SF_LED_SYS_STATE_ERROR);
sf_set_sim_insert(0);
}
else { else {
stMessageBuf.arg1 = LED_STATUS_HOLD_ON; sf_sys_status_led_set(SF_LED_SYS_STATE_ERROR);
stMessageBuf.arg3 = LED_TYPE_RED;
} }
sf_com_message_send_to_app(&stMessageBuf);
stMessageBuf.cmdId = CMD_LED;
stMessageBuf.arg2 = LED_GROUP_ACCOUNT;
if(s32ret == SF_SUCCESS) {
stMessageBuf.arg1 = LED_STATUS_HOLD_ON;
stMessageBuf.arg3 = LED_TYPE_GREEN;
}
else {
if(sf_statistics_param_get()->bindFlag) {
if(s32ret == SF_4G_ERROR_NO_SIMCARD \
|| s32ret == SF_4G_ERROR_REG_NET) {
stMessageBuf.arg1 = LED_STATUS_SLOWFLASH_ON;
}
}
else {
stMessageBuf.arg1 = LED_STATUS_HOLD_ON;
}
stMessageBuf.arg3 = LED_TYPE_RED;
}
sf_com_message_send_to_app(&stMessageBuf);
return SF_SUCCESS; return SF_SUCCESS;
} }
SINT32 app_led_poweroff(void) SINT32 app_led_poweroff(void)
@ -523,7 +507,7 @@ SINT32 sf_in_card_exist(void)
sf_hal_gpio_deinit(SF_GPIO_CARD_DETECT); sf_hal_gpio_deinit(SF_GPIO_CARD_DETECT);
SF_MUTEX_UNLOCK(GPIO_mutexLock); SF_MUTEX_UNLOCK(GPIO_mutexLock);
return (regValue & 0xFF) ? 1:0; return (regValue & 0xFF) ? 0:1;
} }
@ -557,6 +541,22 @@ void sf_set_pir_statu_flag(SINT32 flag)
isGoing2Pir = flag; isGoing2Pir = flag;
} }
static BOOL sf_system_check_usb_host(void)
{
char command[26] = "lsmod | grep usbcore";
FILE *fp = popen(command, "r");
char result[256];
fgets(result, sizeof(result), fp);
pclose(fp);
if (result[0] == '\0') {
MLOGI("usbcore module is not loaded.\n");
return FALSE;
} else {
MLOGI("usbcore module is loaded.\n");
return TRUE;
}
}
BOOL sf_load_ko(void) BOOL sf_load_ko(void)
{ {
@ -567,8 +567,14 @@ BOOL sf_load_ko(void)
int ret = 0; int ret = 0;
BOOL ret2 = TRUE; BOOL ret2 = TRUE;
usb_drivers = usb_host_drivers; if(sf_system_check_usb_host() == TRUE)
{
return TRUE;
}
usb_drivers = usb_host_drivers;
//printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
MLOGI(" s\n");
while(usb_drivers[cnt++]) while(usb_drivers[cnt++])
{ {
} }
@ -579,7 +585,7 @@ BOOL sf_load_ko(void)
if(driver_path){ if(driver_path){
snprintf(cmd, sizeof(cmd), "insmod %s/%s", driver_path_prefix, driver_path); snprintf(cmd, sizeof(cmd), "insmod %s/%s", driver_path_prefix, driver_path);
printf("[%s:%d] %s\n", __FUNCTION__, __LINE__, cmd); //printf("[%s:%d] %s\n", __FUNCTION__, __LINE__, cmd);
ret = system(cmd); ret = system(cmd);
if(0 != ret) if(0 != ret)
{ {
@ -587,7 +593,8 @@ BOOL sf_load_ko(void)
} }
} }
} }
MLOGI(" s\n");
//printf("[%s:%d] e\n", __FUNCTION__, __LINE__);
return ret2; return ret2;
} }

View File

@ -42,7 +42,9 @@
#include "sf_device.h" #include "sf_device.h"
#include "sf_system.h" #include "sf_system.h"
#include "sf_service.h" #include "sf_service.h"
#include "sf_param_common.h"
#include "sf_eg91_sim.h"
#include "sf_ftp.h"
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
@ -65,6 +67,8 @@ SF_THREAD_S ThumbSend =
.TskId = -1, .TskId = -1,
}; };
UINT32 FtpOpenOk = FAIL;
SINT32 app_ttyusb_IsOpen(void) SINT32 app_ttyusb_IsOpen(void)
{ {
int retryTime = 0; int retryTime = 0;
@ -996,7 +1000,7 @@ static SINT16 app_file_transfer(SF_FN_PARAM_S *pfnParam)
{ {
SINT16 s32ret = 0; SINT16 s32ret = 0;
SF_MESSAGE_BUF_S stMessageBuf = {0}; SF_MESSAGE_BUF_S stMessageBuf = {0};
SF_PDT_PARAM_CFG_S *pCustomerParam =pfnParam->pstParam; UIMenuStoreInfo *pCustomerParam = pfnParam->pstParam;
SF_PDT_PARAM_STATISTICS_S *pStaticParam = pfnParam->pstaticParam; SF_PDT_PARAM_STATISTICS_S *pStaticParam = pfnParam->pstaticParam;
if(sf_usb_IsInsert()) if(sf_usb_IsInsert())
return SF_SUCCESS; return SF_SUCCESS;
@ -1008,63 +1012,28 @@ static SINT16 app_file_transfer(SF_FN_PARAM_S *pfnParam)
case SF_MCU_STARTUP_OFF: case SF_MCU_STARTUP_OFF:
break; break;
case SF_MCU_STARTUP_ONKEY: case SF_MCU_STARTUP_ONKEY:
if(sf_get_signal_ready())
{
sf_sys_status_led_set(SF_LED_SYS_STATE_SENDING);
stMessageBuf.cmdId = CMD_LED; //sf_thumb_file_creat();
stMessageBuf.arg1 = LED_STATUS_SLOWFLASH_ON;
stMessageBuf.arg2 = LED_GROUP_ACCOUNT;
stMessageBuf.arg3 = LED_TYPE_GREEN;
sf_com_message_send_to_app(&stMessageBuf);
// stMessageBuf.cmdId = CMD_LED; sf_share_mem_file_init();
// stMessageBuf.arg1 = LED_STATUS_SLOWFLASH_ON; s32ret = sf_simcom_ftp_send(1);
// stMessageBuf.arg2 = LED_GROUP_SIGNAL;
// stMessageBuf.arg3 = LED_TYPE_GREEN;
// sf_com_message_send_to_app(&stMessageBuf);
sf_thumb_file_creat(); if(s32ret == SF_SUCCESS) {
if(pStaticParam->PicPlan == 1) sf_sys_status_led_set(SF_LED_SYS_STATE_SEND_SUCCESS);
s32ret = app_file_thumbsend(pfnParam); }
else {
//FtpOpenOk = FAIL;
s32ret |= app_server_excute_cmd(pfnParam); sf_sys_status_led_set(SF_LED_SYS_STATE_SEND_FAIL);
}
if(s32ret != SF_SUCCESS || pStaticParam->PicPlan != 1) {
stMessageBuf.arg1 = LED_STATUS_SLOWFLASH_ON;
stMessageBuf.arg3 = LED_TYPE_RED;
}
else {
stMessageBuf.arg1 = LED_STATUS_HOLD_ON;
stMessageBuf.arg3 = LED_TYPE_GREEN;
} }
sf_share_mem_file_down(1);
sf_set_upload_to_module_flag(0);//test
stMessageBuf.cmdId = CMD_LED;
stMessageBuf.arg2 = LED_GROUP_ACCOUNT;
sf_com_message_send_to_app(&stMessageBuf);
// UINT8 signalLevel = 0;
// sf_4G_signal_level_get(sf_statistics_param_get()->netGeneration,sf_statistics_param_get()->SimSignal,&signalLevel);
// MLOGI("signalLevel = %d\n",signalLevel);
// switch(signalLevel)
// {
// case 2:
// stMessageBuf.arg3 = LED_TYPE_RED;
// break;
// case 3:
// stMessageBuf.arg3 = LED_TYPE_YELLOW;
// break;
// case 4:
// stMessageBuf.arg3 = LED_TYPE_GREEN;
// break;
// default:
// stMessageBuf.arg3 = LED_TYPE_RED;
// break;
// }
// stMessageBuf.cmdId = CMD_LED;
// stMessageBuf.arg1 = LED_STATUS_HOLD_ON;
// stMessageBuf.arg2 = LED_GROUP_SIGNAL;
// sf_com_message_send_to_app(&stMessageBuf);
break; break;
#if 0
case SF_MCU_STARTUP_TIMELAPSE: case SF_MCU_STARTUP_TIMELAPSE:
case SF_MCU_STARTUP_PIR: case SF_MCU_STARTUP_PIR:
if(pStaticParam->PicPlan == 0) { if(pStaticParam->PicPlan == 0) {
@ -1122,7 +1091,8 @@ static SINT16 app_file_transfer(SF_FN_PARAM_S *pfnParam)
case SF_MCU_STARTUP_BATCH_SEND: case SF_MCU_STARTUP_BATCH_SEND:
break; break;
default: #endif
default:
break; break;
} }
SLOGD("s32ret:%x\n", s32ret); SLOGD("s32ret:%x\n", s32ret);
@ -1136,22 +1106,25 @@ SINT32 app_FileSend_thread(void)
SINT16 s32ret = 0; SINT16 s32ret = 0;
SF_FN_PARAM_S stpfncallback = { 0 }; SF_FN_PARAM_S stpfncallback = { 0 };
stpfncallback.pstParam = sf_customer_param_get(); stpfncallback.pstParam = sf_customer_param_get();
stpfncallback.pstaticParam = sf_statistics_param_get(); stpfncallback.pstaticParam = sf_app_ui_para_get();
//stpfncallback.pstaticParam = sf_statistics_param_get();
stpfncallback.pfn_AT_instruction_exit = app_disconnect_4g_module; stpfncallback.pfn_AT_instruction_exit = app_disconnect_4g_module;
pthread_detach(pthread_self()); pthread_detach(pthread_self());
s32ret = app_file_send_check(stpfncallback.pstaticParam); //s32ret = app_file_send_check(stpfncallback.pstaticParam);
s32ret = sf_check_ftp_send(1);
if(s32ret != SF_SUCCESS) if(s32ret != SF_SUCCESS)
{ {
MLOGE("ERROR:%#x\n", s32ret); MLOGE("ERROR:%#x\n", s32ret);
ThumbSend.IsRun = 0; ThumbSend.IsRun = 0;
sf_share_mem_file_down(1);
return s32ret; return s32ret;
} }
s32ret = app_file_transfer(&stpfncallback); s32ret = app_file_transfer(&stpfncallback);
if(s32ret == SF_APP_ERROR_NO_SUPPOET) //if(s32ret == SF_APP_ERROR_NO_SUPPOET)
app_file_transfer_Error_return_server(&stpfncallback); // app_file_transfer_Error_return_server(&stpfncallback);
ThumbSend.IsRun = 0; ThumbSend.IsRun = 0;
return s32ret; return s32ret;
@ -1241,9 +1214,10 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
//SF_CHAR version[12] = {0}; //SF_CHAR version[12] = {0};
SF_MESSAGE_BUF_S stMessageBuf = {0}; SF_MESSAGE_BUF_S stMessageBuf = {0};
SF_PDT_PARAM_CFG_S *pCustomerParam = pfnParam->pstParam; //SF_PDT_PARAM_CFG_S *pCustomerParam = pfnParam->pstParam;
SF_PDT_PARAM_STATISTICS_S *pStaticParam = pfnParam->pstaticParam; SF_PDT_PARAM_STATISTICS_S *pStaticParam = pfnParam->pstaticParam;
UIMenuStoreInfo *pCustomerParam = pfnParam->pstParam;
sf_log_Level_set(SF_LOG_LEVEL_DEBUG); sf_log_Level_set(SF_LOG_LEVEL_DEBUG);
if(sf_usb_IsInsert()) if(sf_usb_IsInsert())
@ -1291,7 +1265,14 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
break; break;
#endif #endif
sf_4G_usb_net_apn_cfg(pfnParam); s32ret = sf_get_utc();
if((s32ret == SF_SIM_ERROR_UTC) || (SF_ON == pCustomerParam->GpsSwitch))
{
s32ret = sf_get_ntp(s32ret);
}
SF_APPCOMM_CHECK_RETURN(s32ret,s32ret);
/*sf_4G_usb_net_apn_cfg(pfnParam);
sf_USB_net_init(); sf_USB_net_init();
if(pStaticParam->AcmIP[0] == '\0') if(pStaticParam->AcmIP[0] == '\0')
@ -1310,13 +1291,13 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
s32ret = app_server_excute_cmd(pfnParam); s32ret = app_server_excute_cmd(pfnParam);
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_NO_SUPPOET); SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_NO_SUPPOET);
*/
break; break;
case SF_MCU_STARTUP_NORMAL: case SF_MCU_STARTUP_NORMAL:
break; break;
case SF_MCU_STARTUP_RING:/**/ case SF_MCU_STARTUP_RING:/*
#ifdef SF_HARDWARE_TEST #ifdef SF_HARDWARE_TEST
app_system_poweroff(SF_POWEROFF_NOT); app_system_poweroff(SF_POWEROFF_NOT);
break; break;
@ -1379,11 +1360,12 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
stMessageBuf.cmdId = CMD_POWEROFF; stMessageBuf.cmdId = CMD_POWEROFF;
sf_com_message_send_to_app(&stMessageBuf); sf_com_message_send_to_app(&stMessageBuf);
} }
*/
break; break;
case SF_MCU_STARTUP_TIMELAPSE: case SF_MCU_STARTUP_TIMELAPSE:
case SF_MCU_STARTUP_PIR: case SF_MCU_STARTUP_PIR:
/*
#ifdef SF_HARDWARE_TEST #ifdef SF_HARDWARE_TEST
app_system_poweroff(SF_POWEROFF_NOT); app_system_poweroff(SF_POWEROFF_NOT);
break; break;
@ -1419,7 +1401,7 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
s32ret = app_FileSend_thread(); s32ret = app_FileSend_thread();
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_REQUEST); SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_REQUEST);
*/
break; break;
case SF_MCU_STARTUP_WARNING: case SF_MCU_STARTUP_WARNING:
@ -1427,7 +1409,7 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
case SF_MCU_STARTUP_SERVER: case SF_MCU_STARTUP_SERVER:
break; break;
case SF_MCU_STARTUP_DP: case SF_MCU_STARTUP_DP:/*
#ifdef SF_HARDWARE_TEST #ifdef SF_HARDWARE_TEST
app_system_poweroff(SF_POWEROFF_NOT); app_system_poweroff(SF_POWEROFF_NOT);
break; break;
@ -1489,12 +1471,12 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
stMessageBuf.arg1 = SF_POWEROFF_NOT; stMessageBuf.arg1 = SF_POWEROFF_NOT;
stMessageBuf.cmdId = CMD_POWEROFF; stMessageBuf.cmdId = CMD_POWEROFF;
sf_com_message_send_to_app(&stMessageBuf); sf_com_message_send_to_app(&stMessageBuf);*/
break; break;
case SF_MCU_STARTUP_USB: case SF_MCU_STARTUP_USB:
break; break;
case SF_MCU_STARTUP_RESET: case SF_MCU_STARTUP_RESET:/*
#ifdef SF_HARDWARE_TEST #ifdef SF_HARDWARE_TEST
app_system_poweroff(SF_POWEROFF_NOT); app_system_poweroff(SF_POWEROFF_NOT);
break; break;
@ -1616,7 +1598,7 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
stMessageBuf.arg1 = SF_POWEROFF_NOT; stMessageBuf.arg1 = SF_POWEROFF_NOT;
stMessageBuf.cmdId = CMD_POWEROFF; stMessageBuf.cmdId = CMD_POWEROFF;
sf_com_message_send_to_app(&stMessageBuf); sf_com_message_send_to_app(&stMessageBuf);*/
break; break;
case SF_MCU_STARTUP_BATCH_SEND: case SF_MCU_STARTUP_BATCH_SEND:
@ -1632,7 +1614,8 @@ void app_Register_Net_thread(void)
SINT32 s32ret = 0; SINT32 s32ret = 0;
SF_FN_PARAM_S stpfncallback = { 0 }; SF_FN_PARAM_S stpfncallback = { 0 };
stpfncallback.pstParam = sf_customer_param_get(); stpfncallback.pstParam = sf_customer_param_get();
stpfncallback.pstaticParam = sf_statistics_param_get(); stpfncallback.pstaticParam = sf_app_ui_para_get();
//stpfncallback.pstaticParam = sf_statistics_param_get();
stpfncallback.pfn_AT_instruction_exit = app_disconnect_4g_module; stpfncallback.pfn_AT_instruction_exit = app_disconnect_4g_module;
pthread_detach(pthread_self()); pthread_detach(pthread_self());

View File

@ -823,13 +823,13 @@ SINT32 app_preinit(void)
bUsbIsInsert = sf_usb_IsInsert(); bUsbIsInsert = sf_usb_IsInsert();
bSimIsInsert = sf_4G_sim_IsInsert(); //bSimIsInsert = sf_4G_sim_IsInsert();
if((startup == SF_MCU_STARTUP_NORMAL) && (!bUsbIsInsert)) if((startup == SF_MCU_STARTUP_NORMAL) && (!bUsbIsInsert))
{ {
app_led_poweroff(); app_led_poweroff();
} }
if((bSimIsInsert) || (startup == SF_MCU_STARTUP_ONKEY)) if((!bUsbIsInsert)/* || (startup == SF_MCU_STARTUP_ONKEY)*/)
{ {
sf_4G_usb_init(); sf_4G_usb_init();
MLOGD("sim card insert\n"); MLOGD("sim card insert\n");
@ -846,6 +846,7 @@ SINT32 app_preinit(void)
return SF_SUCCESS; return SF_SUCCESS;
} }
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
} }

View File

@ -12,6 +12,7 @@
#include "sf_log.h" #include "sf_log.h"
#include "sf_type.h" #include "sf_type.h"
#include "sf_param_common.h" #include "sf_param_common.h"
#include "sf_message_queue.h"
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
@ -104,9 +105,56 @@ SINT32 sf_com_message_recv_from_cardv(SF_MESSAGE_BUF_S *pMessageBuf)
SINT32 sf_com_message_send_to_cardv(SF_MESSAGE_BUF_S *pMessageBuf) SINT32 sf_com_message_send_to_cardv(SF_MESSAGE_BUF_S *pMessageBuf)
{ {
pMessageBuf->mtype = 1; pMessageBuf->mtype = 1;
sf_system_cardv_wait_done();
return message_queue_send(cardv_msgQueueId,pMessageBuf); return message_queue_send(cardv_msgQueueId,pMessageBuf);
} }
BOOL sf_system_check_cardv(void)
{
FILE *fp = popen("ps | grep cardv", "r");
if (fp == NULL) {
perror("popen");
return FALSE;
}
char result[16];
if (fgets(result, sizeof(result), fp) == NULL) {
pclose(fp);
printf("cardv is not running.\n");
return FALSE;
}
pclose(fp);
printf("cardv is running with PID %s\n", result);
return TRUE;
}
BOOL sf_system_cardv_wait_done(void)
{
UINT8 time = 0;
static BOOL flag = FALSE;
if(TRUE == flag)
{
printf("cardv running\n");
return TRUE;
}
while (time < 40)
{
if(TRUE == sf_system_check_cardv())
{
printf("cardv wait running\n");
sf_sleep_ms(100);
flag = TRUE;
return TRUE;
}
sf_sleep_ms(100);
time++;
}
printf("cardv wait running errr\n");
return FALSE;
}
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
} }

View File

@ -178,13 +178,48 @@ SINT32 sf_share_mem_file_init(void)
} }
else else
{ {
//sf_file_thumb_cfg_set(pThumbFileCfg); sf_file_thumb_cfg_set(pThumbFileCfg);
//shmdt(pThumbFileCfg);
printf("[%s:%d] creat share mem succeed!!!\n", __FUNCTION__, __LINE__); printf("[%s:%d] creat share mem succeed!!!\n", __FUNCTION__, __LINE__);
return SF_SUCCESS; return SF_SUCCESS;
} }
} }
return SF_FAILURE; return SF_FAILURE;
} }
SINT32 sf_share_mem_file_down(UINT32 to)
{
SF_SRCFILE_ATTR_S *pThumbFileCfg = sf_file_thumb_cfg_get();
if(pThumbFileCfg <= 0)
{
printf("[%s:%d] creat share mem failed!!!\n", __FUNCTION__, __LINE__);
return SF_FAILURE;
}
else
{
//sf_file_thumb_cfg_set_down(pThumbFileCfg);
shmdt(pThumbFileCfg);
SF_MESSAGE_BUF_S stMessageBuf = {0};
stMessageBuf.arg1 = SF_PARA_CMD_UPDATE;
stMessageBuf.cmdId = CMD_FILE;
if(to)//to cardv
{
sf_com_message_send_to_cardv(&stMessageBuf);
}
else //to sf app
{
sf_com_message_send_to_app(&stMessageBuf);
}
printf("[%s:%d] creat share mem succeed!!!\n", __FUNCTION__, __LINE__);
return SF_SUCCESS;
}
return SF_FAILURE;
}
SINT32 sf_share_mem_customer_update(void) SINT32 sf_share_mem_customer_update(void)
{ {
UIMenuStoreInfo *pSfCustomerPara = 0; UIMenuStoreInfo *pSfCustomerPara = 0;

View File

@ -325,6 +325,14 @@ extern SF_PARA_TIME_S rtcTime;
void sf_get_date(UINT32 second, SF_PARA_TIME_S *ptmx) void sf_get_date(UINT32 second, SF_PARA_TIME_S *ptmx)
{ {
SF_PARA_TIME_S tmx; SF_PARA_TIME_S tmx;
tmx.Year = ptmx->Year;
tmx.Mon = ptmx->Mon;
tmx.Day = ptmx->Day;
tmx.Hour = ptmx->Hour;
tmx.Min = ptmx->Min;
tmx.Sec = ptmx->Sec;
printf("-----before------%04d/%02d/%02d %02d:%02d:%02d-------------------------------------\n",
tmx.Year, tmx.Mon, tmx.Day, tmx.Hour, tmx.Min, tmx.Sec);
split_year_day_std(second/86400, (int*)&tmx.Year, (int*)&tmx.Day); split_year_day_std(second/86400, (int*)&tmx.Year, (int*)&tmx.Day);
get_monthday(tmx.Day, isleap(tmx.Year), &tmx); get_monthday(tmx.Day, isleap(tmx.Year), &tmx);

View File

@ -536,7 +536,38 @@ void sf_led_init(void)
printf("[%s:%d] e SF_LED_ALL:%d\n", __FUNCTION__, __LINE__,SF_LED_ALL); printf("[%s:%d] e SF_LED_ALL:%d\n", __FUNCTION__, __LINE__,SF_LED_ALL);
} }
void sf_led_stop(void)
{
SINT32 s32ret = SF_SUCCESS;
s32ret = pthread_cancel(ledTskId);
if(s32ret != SF_SUCCESS)
{
MLOGD("ledTskId thread cancel fail!\n");
//return s32ret;
}
#if HW_S530
s32ret = pthread_cancel(ledRunningTskId);
if(s32ret != SF_SUCCESS)
{
MLOGD("ledRunningTskId thread cancel fail!\n");
}
#endif
s32ret = pthread_join(ledTskId, NULL);
if(s32ret != SF_SUCCESS)
{
MLOGD("ledTskId thread stop fail!\n");
//return s32ret;
}
#if HW_S530
s32ret = pthread_join(ledRunningTskId, NULL);
if(s32ret != SF_SUCCESS)
{
MLOGD("ledRunningTskId thread stop fail!\n");
}
#endif
}
void sf_sys_status_led_set(LedSysState_t ledSysStateId) void sf_sys_status_led_set(LedSysState_t ledSysStateId)

View File

@ -0,0 +1,781 @@
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <net/if.h>
#include <sys/ioctl.h>
#include <sys/stat.h>
#include <sys/vfs.h>
#include<pthread.h>
#include <sf_message_queue.h>
#include "sf_eg91_sim.h"
#include "sf_common.h"
#include "sf_hal_ttyusb.h"
#include "sf_log.h"
#include "sf_fileMng.h"
#include "sf_file.h"
#include "HMACSHA.h"
#include "sf_commu_mcu_reg.h"
#ifdef __cplusplus
#if __cplusplus
extern "C" {
#endif
#endif
BOOL delFlag = FALSE;
UINT8 uploadToModuleFalg = 0; //already upload file to module
UINT32 sf_test_uploadFsize = 0;
UINT32 sf_test_upload_tm = 18;
UINT32 sf_test_upload_tm_log = 0;
SINT32 UsbUploadSize = 0;
int UploadCnt = 0;
int sftestus = 60;
UINT32 sf_uart_time_flag = 0;
UINT8 PicName[5][2][35] = { { { 0 } } };
UINT8 mmsUploadFlg = 0; /*0:mms upload file fail; 1:success.*/
extern char logStr[128];
extern char gsmPara[GPRS_INFO_LINE_MAX];
UINT8 sf_check_file_video(void)
{
UINT8 fileIndex = 0;
SF_SRCFILE_ATTR_S* fileCfg = sf_file_thumb_cfg_get();
for(fileIndex = 0; fileIndex < fileCfg->filecnt; fileIndex++)
{
if(SF_FILE_TYPE_VIDEO == fileCfg->stfileattr[fileIndex].enFileTye)
{
break;
}
}
return fileIndex;
}
void sf_set_del_flag(BOOL flag)
{
delFlag = flag;
}
BOOL sf_get_del_flag(void)
{
return delFlag;
}
/*************************************************
Function: sf_get_upload_size
Description: get sf_get_upload_size
Input: N/A
Output: N/A
Return: 0:idle upload size:Upload success -1:Upload fail
Others: N/A
*************************************************/
SINT32 sf_get_upload_size(void)
{
return UsbUploadSize;
}
/*************************************************
Function: sf_set_upload_size
Description: sf_set_upload_size
Input: 0:idle upload size:Upload success -1:Upload fail
Output: N/A
Return: N/A
Others: N/A
*************************************************/
void sf_set_upload_size(SINT32 Size)
{
UsbUploadSize = Size;
}
/*************************************************
Function: sf_get_file_size
Description: get file size
Input: N/A
Output: N/A
Return: file size
Others: N/A
*************************************************/
UINT32 sf_get_file_size(UINT8 * fname)
{
UINT32 fd = 0, fSize = 0;
struct stat statBuf;
if(fname == NULL)
{
printf("fname null\n");
return fSize;
}
fd = open((char *)fname, O_RDONLY);
if(fd)
{
fstat(fd, &statBuf);
fSize = statBuf.st_size;
close(fd);
}
return fSize;
}
/*************************************************
Function: sf_upload_file_thread
Description: upload thread
Input: SF_NET_TRANSFER_S *
Output: N/A
Return: N/A
Others: N/A
*************************************************/
void* sf_upload_file_thread(void *parm)
{
printf("[%s:%d] s\n",__FUNCTION__,__LINE__);
char *fname = (char *)parm;
struct stat statBuf;
if (fname == NULL)
{
sf_set_upload_size(-1);
sprintf((char *)logStr, "%s:%d input parm ERROR! fname null\n",__FUNCTION__,__LINE__);
printf("%s\n",logStr);
SLOGE(logStr);
pthread_exit(NULL);
return NULL;
}
SINT32 ret = 0;
UINT32 fd=0;
SINT32 tolFileSize = 0;
SINT32 readSize = 0;
char *buf = NULL;
fd = open(fname, O_RDONLY);
if(fd)
{
fstat(fd, &statBuf);
tolFileSize = statBuf.st_size;
buf = malloc(tolFileSize);
printf("[%s:%d]tolFileSize=%d\n", __FUNCTION__, __LINE__, tolFileSize);
if(buf)
{
readSize = read(fd, buf, tolFileSize);
if(readSize != tolFileSize)
{
printf("[%s:%d]Read fail, readSize:%d\n", __FUNCTION__, __LINE__, readSize);
}
UploadCnt++;
ret = sf_hal_ttyusb2_write(buf, readSize);
if(ret == SF_FAILURE)
{
sf_set_upload_size(ret);
free(buf);
sprintf((char *)logStr, "%s:%d Upload fail! File data err!\n",__FUNCTION__,__LINE__);
printf("%s\n",logStr);
SLOGE(logStr);
pthread_exit(NULL);
return NULL;
}
sf_sleep_ms(100);
free(buf);
}
sf_uart_time_flag = 0;
close(fd);
}
else
{
sprintf((char *)logStr, "%s:%d open fail!\n",__FUNCTION__,__LINE__);
printf("%s\n",logStr);
SLOGE(logStr);
}
printf("[%s:%d]ret=%d\n",__FUNCTION__,__LINE__,ret);
sf_set_upload_size(readSize);
pthread_exit(NULL);
}
/*************************************************
Function: sf_upload_file_init
Description: 4g usb net ftp download
Input: SF_NET_TRANSFER_S
Output: N/A
Return: -1:download fail 1:download success
Others: N/A
*************************************************/
SINT32 sf_upload_file_init(UINT8 * fname)
{
UINT16 time = 0;
SINT32 ret = 0;
int dltotal = 0;
pthread_t UsbUploadInitThrId;
if (fname == NULL)
{
sf_set_upload_size(-1);
printf("fname null\n");
return 0;
}
dltotal = ((sf_get_file_size(fname))/(1024))/512 + 40;
printf("[%s:%d] s dltotal:%d\n",__FUNCTION__,__LINE__,dltotal);
sf_set_upload_size(0);
UploadCnt = 0;
pthread_create(&UsbUploadInitThrId, NULL, sf_upload_file_thread, (void *)fname);
while(sf_app_while_flag())
{
sf_sleep_ms(500);
time++;
ret = sf_get_upload_size();
if (ret != 0)
{
break;
}
if(time >= dltotal)
{
printf("fail time:%ds UploadCnt:%d\n",time/2, UploadCnt);
ret = pthread_cancel(UsbUploadInitThrId);
if(ret != SF_SUCCESS)
{
MLOGD("ledRunningTskId thread cancel fail!\n");
}
ret = pthread_join(UsbUploadInitThrId, NULL);
if(ret != SF_SUCCESS)
{
MLOGD("ledTskId thread stop fail!\n");
//return s32ret;
}
ret = -1;
break;
}
}
printf("[%s:%d] e time:%ds UploadCnt:%d\n",__FUNCTION__,__LINE__, time/2,UploadCnt);
return ret;
}
/*************************************************
Function: sf_quectel_upload_file_to_module
Description: upload file to module.
Input: N/A
Output: N/A
Return: 0:success; else:fail;
Others: N/A
*************************************************/
SINT32 sf_quectel_upload_file_to_module(UINT8 *fileAbsolutePath, UINT8 *uploadFname)
{
UINT32 count = 0;
SINT32 uploadFsize = 0;
SINT32 ret = SF_SUCCESS; //0:success; else:fail;
SINT32 ttyRet = SF_FAILURE;
UINT32 fd = 0;
UINT32 countflag = 0;
UINT32 time = 0;
struct stat statBuf;
//UINT8 sdFname[64] = {0};
//UINT8 gsmPara[GPRS_INFO_LINE_MAX] = {0};
SF_QUECTEL_UPLOAD_E enUploadLocation = QUECTEL_UPLOAD_FRIST;
if(sf_get_del_flag() == FALSE)
{
sf_set_del_flag(TRUE);
enUploadLocation = QUECTEL_UPLOAD_QFDEL;
}
printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
printf("fileAbsolutePath:%s,uploadFname:%s\n", fileAbsolutePath, uploadFname);
sf_gsm_para_buff_clear();
while(sf_app_while_flag())
{
sf_gsm_para_buff_clear();
sf_hal_ttyusb2_read(gsmPara, 200);
printf("-----enUploadLocation=%d-----count=%d-----\n", enUploadLocation, count);
if(gsmPara[0] != '\0')
{
printf("gsmPara:%s\n================end\n", gsmPara);
}
count++;
if(count > 500)
{
ret = SF_UPLOAD_ERROR_AT_TIMEOUT;
printf("[%s:%d]MMS AT Timeout,enUploadLocation=%d,Error Code:0x%08X",
__FUNCTION__, __LINE__, enUploadLocation, ret);
SLOGE(gsmPara);
sprintf((char *)gsmPara, "[%s:%d]MMS AT Timeout,enUploadLocation=%d,Error Code:0x%08X",
__FUNCTION__, __LINE__, enUploadLocation, ret);
SLOGE(gsmPara);
count = 0;
goto SF_QUECTEL_UPLOAD_END;
}
switch(enUploadLocation)
{
case QUECTEL_UPLOAD_QFDEL:
enUploadLocation = QUECTEL_UPLOAD_QFLST;
sprintf((char *)gsmPara, "AT+QFDEL=\"*\"\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
break;
case QUECTEL_UPLOAD_QFLST:
if(strstr((const char *)gsmPara, "ERROR"))
{
ret = SF_UPLOAD_ERROR_GET_FSIZE_FAIL;
sprintf((char *)gsmPara, "[%s:%d] AT+QFDEL,Error Code:0x%08X", __FUNCTION__, __LINE__, ret);
SLOGE(gsmPara);
goto SF_QUECTEL_UPLOAD_END;
}
else if(strstr((const char *)gsmPara, "OK"))
{
enUploadLocation = QUECTEL_UPLOAD_FRIST;
}
break;
case QUECTEL_UPLOAD_FRIST:
fd = open((char*)fileAbsolutePath, O_RDONLY);
if(fd)
{
fstat(fd, &statBuf);
uploadFsize = statBuf.st_size;
printf("[%s:%d]uploadFsize=%ld\n", __FUNCTION__, __LINE__, uploadFsize);
close(fd);
if(uploadFsize)
{
enUploadLocation = QUECTEL_UPLOAD_QFUPL;
sprintf((char *)gsmPara, "AT+QFUPL=\"UFS:%s\",%d\r", uploadFname, uploadFsize);
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
}
else
{
ret = SF_UPLOAD_ERROR_GET_FSIZE_FAIL;
sprintf((char *)gsmPara, "[%s:%d]Get File Szie Fail,Error Code:0x%08X", __FUNCTION__, __LINE__, ret);
SLOGE(gsmPara);
goto SF_QUECTEL_UPLOAD_END;
}
}
else
{
printf("[%s:%d]open upload file fail,fileAbsolutePath:%s\n", __FUNCTION__, __LINE__, fileAbsolutePath);
ret = SF_UPLOAD_ERROR_OPEN_FAIL;
sprintf((char *)gsmPara, "[%s:%d]Open Upload File Fail,Error Code:0x%08X", __FUNCTION__, __LINE__, ret);
SLOGE(gsmPara);
goto SF_QUECTEL_UPLOAD_END;
}
break;
case QUECTEL_UPLOAD_QFUPL:
#if SF_TEST_ERROR_CODE
if(2 == countflag)
{
sf_test_code_err(enUploadLocation, "+CME ERROR: 423");
}
#endif
if(strstr((const char *)gsmPara, "ERROR"))
{
if(strstr((const char *)gsmPara, "+CME ERROR: 407"))
{
printf("[%s:%d]file already exist,continue.\n", __FUNCTION__, __LINE__);
//enUploadLocation = QUECTEL_UPLOAD_END;
sf_test_upload_tm_log = 1;
goto SF_QUECTEL_UPLOAD_END;
}
else if((strstr((const char *)gsmPara, "+CME ERROR: 423")) || (strstr((const char *)gsmPara, "+CME ERROR: 407")))
{
ret = SF_UPLOAD_ERROR_DATA;
SLOGE(gsmPara);
printf("[%s:%d]Upload data error,fileAbsolutePath:%s\n", __FUNCTION__, __LINE__, fileAbsolutePath);
sprintf((char *)gsmPara, "[%s:%d]Upload data error,Error Code:0x%08X,%s", __FUNCTION__, __LINE__, ret, uploadFname);
SLOGE(gsmPara);
//enUploadLocation = QUECTEL_UPLOAD_END;
/*if(sf_4g_uart_restart(1) == SUCCESS)
{
ret = sf_auto_net_reg();
if(SUCCESS == ret)
{
sf_set_del_flag(FALSE);
ret = SF_UPLOAD_ERROR_RETRY;
}
}*/
#if SF_TEST_QLOG_CERR
uiPara_t *puiPara = appUiParaGet();
puiPara->QLogSwitch = 0;
sf_set_save_para(TRUE);
#endif
sf_test_upload_tm_log = 1;
goto SF_QUECTEL_UPLOAD_END;
}
else
{
ret = SF_UPLOAD_ERROR_DATA;
SLOGE(gsmPara);
printf("[%s:%d]Upload data error,fileAbsolutePath:%s\n", __FUNCTION__, __LINE__, fileAbsolutePath);
sprintf((char *)gsmPara, "[%s:%d]Upload data error,Error Code:0x%08X,%s", __FUNCTION__, __LINE__, ret, uploadFname);
SLOGE(gsmPara);
//enUploadLocation = QUECTEL_UPLOAD_END;
sf_test_upload_tm_log = 1;
goto SF_QUECTEL_UPLOAD_END;
}
}
else if((sf_get_upload_to_module_flag() == 1) && (strstr((const char *)gsmPara, "+QFUPL:")))
{
printf("[%s:%d]upload success\n", __FUNCTION__, __LINE__);
//enUploadLocation = QUECTEL_UPLOAD_END;
//sprintf((char *)gsmPara, "[%s:%d] upload success %s uploadFsize:%ld Speed:%ldK/s\n", __FUNCTION__, __LINE__, uploadFname, sf_test_uploadFsize, (sf_test_uploadFsize / (time * 10)));
//SLOGE(gsmPara);
sf_test_upload_tm_log = 1;
goto SF_QUECTEL_UPLOAD_END;
}
else if(strstr((const char *)gsmPara, "CONNECT") || (1 == countflag))
{
sf_test_uploadFsize = 0;
//time = sp5kOsTimeGet();
if(uploadFsize == sf_upload_file_init(fileAbsolutePath))
{
// time = sp5kOsTimeGet() - time;
sf_sleep_ms(300);
sf_set_upload_to_module_flag(1);
sf_test_uploadFsize = uploadFsize;
countflag = 2;
}
#if SF_TEST_ERROR_CODE
sf_test_code_err(enUploadLocation, "+CME ERROR: 423");
#endif
count = 0;
}
else
{
sf_sleep_ms(1000);
countflag++;
if(count > sf_test_upload_tm) /*18S*/
{
//sf_cmd_camera_restart(1); //reboot modu
//enUploadLocation = QUECTEL_UPLOAD_END;
ret = SF_UPLOAD_ERROR_AT_TIMEOUT;
printf("[%s:%d]Upload To Module Timeout,enUploadLocation=%d,Error Code:0x%08X",
__FUNCTION__, __LINE__, enUploadLocation, ret);
SLOGE(gsmPara);
sprintf((char *)gsmPara, "[%s:%d]Upload To Module Timeout,enUploadLocation=%d,Error Code:0x%08X,%s",
__FUNCTION__, __LINE__, enUploadLocation, ret, uploadFname);
SLOGE(gsmPara);
sf_test_upload_tm_log = 1;
goto SF_QUECTEL_UPLOAD_END;
}
}
break;
/*case QUECTEL_UPLOAD_QFLST:
enUploadLocation = QUECTEL_UPLOAD_END;
sprintf((char *)gsmPara, "AT+QFLST=\"UFS:*\"\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara,strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
break;*/
case QUECTEL_UPLOAD_END:
sf_test_upload_tm_log = 1;
goto SF_QUECTEL_UPLOAD_END;
break;
default:
break;
}
}
SF_QUECTEL_UPLOAD_END:
SLOGD("End,ret=0x%08x", ret);
return ret;
}
/*********************************************************************************
Function: sf_upload_send_files_to_module
Description: upload all send files to module first before send.
Input: 0:only upload mms pic file; 1:upload all pic files; 2:upload vdeo file;
Output: N/A
Return: 0:success; else:fail;
Others: N/A
**********************************************************************************/
SINT32 sf_upload_send_files_to_module(UINT8 mode)
{
UINT8 uploadAbsolutePath[5][64] = { { 0 } };
UINT8 uploadFname[5][64] = { { 0 } };
//UINT8 customStr[50] = {0};
//UINT8 videoDirKey[4] = { 0 };
//UINT8 videoFname[64] = { 0 };
SINT32 ret = SF_SUCCESS;
UINT8 tempPicSize = 0;
UINT8 piccount = 0;
UINT8 pic = 0;
static UINT8 SendPicSize = 0;
UINT8 fileIndex = 0;
UIMenuStoreInfo *pPara = sf_app_ui_para_get();
SF_SRCFILE_ATTR_S *pThumbFileCfg = sf_file_thumb_cfg_get();
printf("[%s:%d]mode=%d\n", __FUNCTION__, __LINE__, mode);
//sf_custom_str_get(customStr);
if(4 == pPara->NetGeneration)
{
tempPicSize = pPara->SendPicSize;
}
else if(3 == pPara->NetGeneration)
{
tempPicSize = ((1 <= pPara->SendPicSize) ? 1 : 0);
}
else
{
tempPicSize = 0;
}
if(SendPicSize != tempPicSize)
{
sf_set_del_flag(FALSE);
}
if(mode == 0)
{
//sprintf((char *)uploadAbsolutePath[0], "%s\\%s", SF_THUMB_SMALL_DIR, PicName[0][1]);
//sprintf((char *)uploadFname[0], "%s", PicName[0][1]);
sprintf((char *)uploadFname[piccount], "%s", pThumbFileCfg->stfileattr[0].thumbfileName);
sprintf((char *)uploadAbsolutePath[piccount], "%s", pThumbFileCfg->stfileattr[0].thumbfilePath);
ret = sf_quectel_upload_file_to_module(uploadAbsolutePath[0], uploadFname[0]);
if((ret == SF_SUCCESS) && (tempPicSize == 0))
{
mmsUploadFlg = 1;
}
SendPicSize = 0;
}
else if(mode == 1)
{
printf("NetGeneration:%dG,tempPicSize=%d,piccount=%d,pic=%d\n", pPara->NetGeneration, tempPicSize, piccount, pic);
SendPicSize = tempPicSize;
if(mmsUploadFlg == 1)
{
printf("[%s:%d]no upload again because send mms already upload.\n", __FUNCTION__, __LINE__);
}
else
{
if((pPara->SendMultishotIndex1) || (SF_MANUAL == sf_get_mode_flag()))
{
sprintf((char *)uploadFname[piccount], "%s", pThumbFileCfg->stfileattr[0].thumbfileName);
sprintf((char *)uploadAbsolutePath[piccount], "%s", pThumbFileCfg->stfileattr[0].thumbfilePath);
/*if(2 == tempPicSize)
{
sprintf((char *)uploadAbsolutePath[piccount], "%s\\%s%s\\%s", SF_DCIM_DIR, PicName[0][0], DCF_DIR_FREE_CHAR, PicName[0][1]);
}
else if(1 == tempPicSize)
{
sprintf((char *)uploadAbsolutePath[piccount], "%s\\%s", SF_THUMB_BIG_DIR, PicName[0][1]);
}
else
{
sprintf((char *)uploadAbsolutePath[piccount], "%s\\%s", SF_THUMB_SMALL_DIR, PicName[0][1]);
}*/
piccount++;
}
}
if(SF_AUTO == sf_get_mode_flag())
{
if(pPara->SendMultishotIndex2)
{
/*sprintf((char *)uploadFname[piccount], "%s", PicName[1][1]);
if(2 == tempPicSize)
{
sprintf((char *)uploadAbsolutePath[piccount], "%s\\%s%s\\%s", SF_DCIM_DIR, PicName[1][0], DCF_DIR_FREE_CHAR, PicName[1][1]);
}
else if(1 == tempPicSize)
{
sprintf((char *)uploadAbsolutePath[piccount], "%s\\%s", SF_THUMB_BIG_DIR, PicName[1][1]);
}
else
{
sprintf((char *)uploadAbsolutePath[piccount], "%s\\%s", SF_THUMB_SMALL_DIR, PicName[1][1]);
}*/
sprintf((char *)uploadFname[piccount], "%s", pThumbFileCfg->stfileattr[1].thumbfileName);
sprintf((char *)uploadAbsolutePath[piccount], "%s", pThumbFileCfg->stfileattr[1].thumbfilePath);
piccount++;
}
if(pPara->SendMultishotIndex3)
{
/*sprintf((char *)uploadFname[piccount], "%s", PicName[2][1]);
if(2 == tempPicSize)
{
sprintf((char *)uploadAbsolutePath[piccount], "%s\\%s%s\\%s", SF_DCIM_DIR, PicName[2][0], DCF_DIR_FREE_CHAR, PicName[2][1]);
}
else if(1 == tempPicSize)
{
sprintf((char *)uploadAbsolutePath[piccount], "%s\\%s", SF_THUMB_BIG_DIR, PicName[2][1]);
}
else
{
sprintf((char *)uploadAbsolutePath[piccount], "%s\\%s", SF_THUMB_SMALL_DIR, PicName[2][1]);
}*/
sprintf((char *)uploadFname[piccount], "%s", pThumbFileCfg->stfileattr[2].thumbfileName);
sprintf((char *)uploadAbsolutePath[piccount], "%s", pThumbFileCfg->stfileattr[2].thumbfilePath);
piccount++;
}
if(pPara->SendMultishotIndex4)
{
/*sprintf((char *)uploadFname[piccount], "%s", PicName[3][1]);
if(2 == tempPicSize)
{
sprintf((char *)uploadAbsolutePath[piccount], "%s\\%s%s\\%s", SF_DCIM_DIR, PicName[3][0], DCF_DIR_FREE_CHAR, PicName[3][1]);
}
else if(1 == tempPicSize)
{
sprintf((char *)uploadAbsolutePath[piccount], "%s\\%s", SF_THUMB_BIG_DIR, PicName[3][1]);
}
else
{
sprintf((char *)uploadAbsolutePath[piccount], "%s\\%s", SF_THUMB_SMALL_DIR, PicName[3][1]);
}*/
sprintf((char *)uploadFname[piccount], "%s", pThumbFileCfg->stfileattr[3].thumbfileName);
sprintf((char *)uploadAbsolutePath[piccount], "%s", pThumbFileCfg->stfileattr[3].thumbfilePath);
piccount++;
}
if(pPara->SendMultishotIndex5)
{
/*sprintf((char *)uploadFname[piccount], "%s", PicName[4][1]);
if(2 == tempPicSize)
{
sprintf((char *)uploadAbsolutePath[piccount], "%s\\%s%s\\%s", SF_DCIM_DIR, PicName[4][0], DCF_DIR_FREE_CHAR, PicName[4][1]);
}
else if(1 == tempPicSize)
{
sprintf((char *)uploadAbsolutePath[piccount], "%s\\%s", SF_THUMB_BIG_DIR, PicName[4][1]);
}
else
{
sprintf((char *)uploadAbsolutePath[piccount], "%s\\%s", SF_THUMB_SMALL_DIR, PicName[4][1]);
}*/
sprintf((char *)uploadFname[piccount], "%s", pThumbFileCfg->stfileattr[4].thumbfileName);
sprintf((char *)uploadAbsolutePath[piccount], "%s", pThumbFileCfg->stfileattr[4].thumbfilePath);
piccount++;
}
}
printf("[%s:%d]before,piccount=%d\n", __FUNCTION__, __LINE__, piccount);
if(4 == pPara->NetGeneration)
{
if(piccount >= 2)
{
piccount = ((pPara->SendPicSize == 2) ? 2 : piccount);
}
}
else
{
if(piccount >= 1)
{
piccount = 1;
}
}
printf("[%s:%d]after,piccount=%d\n", __FUNCTION__, __LINE__, piccount);
/* dbg log */
for(pic = 0; pic < piccount; pic++)
{
printf("[%s:%d]pic:%d,uploadFname:%s,uploadAbsolutePath:%s\n", __FUNCTION__, __LINE__, pic, uploadFname[pic], uploadAbsolutePath[pic]);
}
for(pic = 0; pic < piccount; pic++)
{
ret = sf_quectel_upload_file_to_module(uploadAbsolutePath[pic], uploadFname[pic]);
if(ret != SF_SUCCESS)
{
break;
}
}
}
else
{
SendPicSize = tempPicSize;
/*sf_get_send_video_fname(videoDirKey, videoFname);
sprintf((char *)uploadAbsolutePath[0], "%s\\%s%s\\%s", SF_DCIM_DIR, videoDirKey, DCF_DIR_FREE_CHAR, videoFname);
sprintf((char *)uploadFname[0], "%s", videoFname);*/
fileIndex = sf_check_file_video();
sprintf((char *)uploadAbsolutePath[0], "%s", pThumbFileCfg->stfileattr[fileIndex].thumbfilePath);
sprintf((char *)uploadFname[0], "%s", pThumbFileCfg->stfileattr[fileIndex].thumbfileName);
ret = sf_quectel_upload_file_to_module(uploadAbsolutePath[0], uploadFname[0]);
}
printf("[%s:%d]ret:[0x%08X]\n\n", __FUNCTION__, __LINE__, ret);
return ret;
}
UINT8 sf_get_upload_to_module_flag(void)
{
return uploadToModuleFalg;
}
void sf_set_upload_to_module_flag(UINT8 Falg)
{
uploadToModuleFalg = Falg;
}
#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif

View File

@ -9,10 +9,10 @@
#include <sys/stat.h> #include <sys/stat.h>
#include <sys/vfs.h> #include <sys/vfs.h>
#include<pthread.h> #include<pthread.h>
#include <sf_message_queue.h>
#include "sf_log.h" #include "sf_log.h"
#include "sf_fileMng.h" #include "sf_fileMng.h"
#include "HMACSHA.h"
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
extern "C" { extern "C" {
@ -104,7 +104,7 @@ SINT32 sf_file_txt_fill(SF_FILE_ATTR_S *pstFileAttr)
SF_COMM_CHECK_POINTER(pstFileAttr->thumbfilePath,SF_FAILURE); SF_COMM_CHECK_POINTER(pstFileAttr->thumbfilePath,SF_FAILURE);
SF_COMM_CHECK_POINTER(pstFileAttr->txtfilePath,SF_FAILURE); SF_COMM_CHECK_POINTER(pstFileAttr->txtfilePath,SF_FAILURE);
SINT32 len = 0; UINT32 len = 0;
SF_CHAR *pBuf = NULL; SF_CHAR *pBuf = NULL;
SF_CHAR *bufBak = NULL; SF_CHAR *bufBak = NULL;
UINT32 readSize = 0; UINT32 readSize = 0;
@ -176,10 +176,11 @@ SINT32 sf_file_txt_fill(SF_FILE_ATTR_S *pstFileAttr)
#if defined(CFG_TRANSDATA_AT) #if defined(CFG_TRANSDATA_AT)
SINT32 sf_file_http_header_add(SF_FILE_ATTR_S *pstFileAttr, SF_PDT_PARAM_STATISTICS_S *pStaticParam) SINT32 sf_file_http_header_add(SF_FILE_ATTR_S *pstFileAttr, SF_PDT_PARAM_STATISTICS_S *pStaticParam)
{ {
SINT32 s32Ret = SF_SUCCESS;
#if 0
SF_COMM_CHECK_POINTER(pstFileAttr,SF_FAILURE); SF_COMM_CHECK_POINTER(pstFileAttr,SF_FAILURE);
SF_COMM_CHECK_POINTER(pStaticParam,SF_FAILURE); SF_COMM_CHECK_POINTER(pStaticParam,SF_FAILURE);
SINT32 s32Ret = SF_SUCCESS;
SINT16 i = 0; SINT16 i = 0;
SINT16 fd = 0; SINT16 fd = 0;
SF_CHAR typestr[16] = {0}; SF_CHAR typestr[16] = {0};
@ -280,7 +281,7 @@ SINT32 sf_file_http_header_add(SF_FILE_ATTR_S *pstFileAttr, SF_PDT_PARAM_STATIST
close(fd); close(fd);
memcpy(pstFileAttr->txtfileName, txtfilename, strlen(txtfilename)); memcpy(pstFileAttr->txtfileName, txtfilename, strlen(txtfilename));
memcpy(pstFileAttr->txtfilePath, txtfilePathName, strlen(txtfilePathName)); memcpy(pstFileAttr->txtfilePath, txtfilePathName, strlen(txtfilePathName));
#endif
return s32Ret; return s32Ret;
} }
@ -378,11 +379,11 @@ SINT32 sf_file_subscribe_check(SF_FILE_ATTR_S *pstfileAttr, SF_SUBSCRIBE_ATTR_S
#else #else
SINT32 sf_file_http_header_add(SF_FILE_ATTR_S *pstFileAttr, SF_PDT_PARAM_STATISTICS_S *pStaticParam) SINT32 sf_file_http_header_add(SF_FILE_ATTR_S *pstFileAttr, SF_PDT_PARAM_STATISTICS_S *pStaticParam)
{ {
SINT32 s32Ret = SF_SUCCESS;
#if 0
SF_COMM_CHECK_POINTER(pstFileAttr,SF_FAILURE); SF_COMM_CHECK_POINTER(pstFileAttr,SF_FAILURE);
SF_COMM_CHECK_POINTER(pStaticParam,SF_FAILURE); SF_COMM_CHECK_POINTER(pStaticParam,SF_FAILURE);
SINT32 s32Ret = SF_SUCCESS;
SINT16 i = 0; SINT16 i = 0;
SINT16 fd = 0; SINT16 fd = 0;
SF_CHAR typestr[16] = {0}; SF_CHAR typestr[16] = {0};
@ -510,7 +511,7 @@ SINT32 sf_file_http_header_add(SF_FILE_ATTR_S *pstFileAttr, SF_PDT_PARAM_STATIST
memset(pstFileAttr->txtfilePath, '\0', sizeof(pstFileAttr->txtfilePath)); memset(pstFileAttr->txtfilePath, '\0', sizeof(pstFileAttr->txtfilePath));
memcpy(pstFileAttr->txtfileName, txtfilename, strlen(txtfilename)); memcpy(pstFileAttr->txtfileName, txtfilename, strlen(txtfilename));
memcpy(pstFileAttr->txtfilePath, txtfilePathName, strlen(txtfilePathName)); memcpy(pstFileAttr->txtfilePath, txtfilePathName, strlen(txtfilePathName));
#endif
return s32Ret; return s32Ret;
} }
@ -644,6 +645,13 @@ void sf_file_thumb_cfg_fill(char* filepath,char* fileName,SF_FILE_TYPE_E enFileT
void sf_file_thumb_cfg_set(SF_SRCFILE_ATTR_S *pThumbFileCfgl) void sf_file_thumb_cfg_set(SF_SRCFILE_ATTR_S *pThumbFileCfgl)
{ {
pThumbFileCfg = pThumbFileCfgl; pThumbFileCfg = pThumbFileCfgl;
//memcpy(&pThumbFileCfg,pThumbFileCfgl,sizeof(pThumbFileCfg));
}
void sf_file_thumb_cfg_set_down(SF_SRCFILE_ATTR_S *pSfCustomerPara)
{
//currentInfo = *pSfCustomerPara;
memcpy(pSfCustomerPara,&pThumbFileCfg,sizeof(pThumbFileCfg));
} }
SF_SRCFILE_ATTR_S* sf_file_thumb_cfg_get(void) SF_SRCFILE_ATTR_S* sf_file_thumb_cfg_get(void)

View File

@ -252,10 +252,9 @@ int sf_customer_param_load(void)
} }
UINT32 sum = MemCheck_CalcCheckSum16Bit((UINT32)tmpInfo, sizeof(UIMenuStoreInfo)); UINT32 sum = MemCheck_CalcCheckSum16Bit((UINT32)tmpInfo, sizeof(UIMenuStoreInfo));
printf("**************size = %lx / CamMode = %u / sum = %lx **************\n", printf("**************size = %lx / sum = %lx **************\n",
sizeof(UIMenuStoreInfo), sizeof(UIMenuStoreInfo),
//((UIMenuStoreInfo*)tmpInfo)->UIParameter[FL_MOVIE_SIZE], //((UIMenuStoreInfo*)tmpInfo)->UIParameter[FL_MOVIE_SIZE],
((UIMenuStoreInfo*)tmpInfo)->UIParameter[CamMode],
sum); sum);
} }

View File

@ -35,6 +35,7 @@
#include "sf_keymng.h" #include "sf_keymng.h"
#include "sf_message_queue.h" #include "sf_message_queue.h"
#include "sf_commu_mcu.h" #include "sf_commu_mcu.h"
#include <sf_device.h>
#define SERIAL_DEVICE_PATH "/dev/ttyS2" #define SERIAL_DEVICE_PATH "/dev/ttyS2"
@ -899,6 +900,8 @@ static void * sf_commu_mcu_task(void * argv)
unsigned char temp_end1 = 0; unsigned char temp_end1 = 0;
unsigned char temp_end2 = 0; unsigned char temp_end2 = 0;
unsigned char copy_size = 0; unsigned char copy_size = 0;
printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
mcubuf_reset(); mcubuf_reset();
while(sf_commu_mcu_exit == 0) while(sf_commu_mcu_exit == 0)
{ {
@ -1001,6 +1004,7 @@ static void * sf_commu_mcu_task(void * argv)
usleep(10000);//10ms usleep(10000);//10ms
} }
sf_commu_mcu_close();
pthread_exit(0); pthread_exit(0);
} }

View File

@ -28,6 +28,7 @@
#include "sf_commu_mcu.h" #include "sf_commu_mcu.h"
#include "sf_commu_mcu_reg.h" #include "sf_commu_mcu_reg.h"
#include <sf_device.h> #include <sf_device.h>
#include <sf_dev_usb.h>
#ifdef __cplusplus #ifdef __cplusplus
@ -58,6 +59,10 @@ static UINT8 gModuleSleep = 1;
static UINT8 isSignalReady = 0; static UINT8 isSignalReady = 0;
static UINT32 GPRS_ERRNO = 0; static UINT32 GPRS_ERRNO = 0;
static UINT32 SmsCheck = 0; static UINT32 SmsCheck = 0;
static UINT8 SIMPIN1 = 1;
static UINT8 SIMPIN11 = 1;
static UINT8 SIMPINPUK = 1;
static UINT8 cq_Signal = 0;
UINT8 sf_mcu_read(UINT32 reg, UINT8 *data) UINT8 sf_mcu_read(UINT32 reg, UINT8 *data)
{ {
@ -155,7 +160,7 @@ unsigned char sf_mcu_power_on_para_get (MCUParam_t attrId)
} }
printf(" start mode = %d IRSHTTER = %d\n", startMode, IRSHTTER); printf(" start mode = %d IRSHTTER = %d\n", startMode, IRSHTTER);
sf_mcu_rtc_get(&time); sf_mcu_rtc_get(&time);
sf_sys_rtc_time_set(&time); sf_sys_rtc_time_set((SF_PARA_TIME_S*)&time);
sf_poweron_type_set(startMode); sf_poweron_type_set(startMode);
//McuPowerOnMode = startMode; //McuPowerOnMode = startMode;
@ -364,8 +369,8 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
if(attrId == SF_MCU_POWEROFF) if(attrId == SF_MCU_POWEROFF)
{ {
//printf("SynMcuSet = %x\n", statisPara->SynMcuSet); //printf("SynMcuSet = %x\n", statisPara->SynMcuSet);
MLOGI("NeedTimeSyncStartUp = %d\n", sf_sys_get_flag(NeedTimeSyncStartUp)); MLOGI("NeedTimeSyncStartUp = %d\n", puiPara->NeedTimeSyncStartUp);
if(sf_sys_get_flag(NeedTimeSyncStartUp) == 1) if(puiPara->NeedTimeSyncStartUp == 1)
{ {
paraSyncFlag = 1; paraSyncFlag = 1;
} }
@ -387,7 +392,7 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
mcuReg[i] = SF_RTC_SEC; mcuReg[i] = SF_RTC_SEC;
mcuData[i++] = date.Sec; mcuData[i++] = date.Sec;
if((sf_sys_get_flag(GpsSwitch) == 1) && (sf_sys_get_flag(GpsNumber))) if((puiPara->GpsSwitch == 1) && (puiPara->GpsNumber))
{ {
gpsAlwaysFlag=1; gpsAlwaysFlag=1;
} }
@ -396,17 +401,17 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
gpsAlwaysFlag=0; gpsAlwaysFlag=0;
} }
if(sf_sys_get_flag(PirSensitivity)) if(puiPara->PirSensitivity)
temp = 0x01; temp = 0x01;
else else
temp = 0x00; temp = 0x00;
if(1 == sf_sys_get_flag(TimelapseSwitch)) if(1 == puiPara->TimelapseSwitch)
{ {
temp |= 0x02; temp |= 0x02;
} }
if(1 == sf_sys_get_flag(PirDelaySwitch)) if(1 == puiPara->PirDelaySwitch)
{ {
temp |= 0x04; temp |= 0x04;
} }
@ -431,10 +436,10 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
} }
if(sf_sys_get_flag(TimeSend1Switch) == 1) if(puiPara->TimeSend1Switch == 1)
temp |= 0x20; temp |= 0x20;
if(sf_sys_get_flag(TimeSend2Switch) == 1) if(puiPara->TimeSend2Switch == 1)
temp |= 0x40; temp |= 0x40;
if(gpsAlwaysFlag && simCardInsert) if(gpsAlwaysFlag && simCardInsert)
@ -447,7 +452,7 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
temp = 0; temp = 0;
if(sf_sys_get_flag(TimelapseSwitch)) if(puiPara->TimelapseSwitch)
{ {
mcuReg[i] = TIMELAPSE_HOUR; mcuReg[i] = TIMELAPSE_HOUR;
mcuData[i++] = puiPara->TimelapseTime.Hour; mcuData[i++] = puiPara->TimelapseTime.Hour;
@ -455,7 +460,7 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
mcuData[i++] = puiPara->TimelapseTime.Min; mcuData[i++] = puiPara->TimelapseTime.Min;
mcuReg[i] = TIMELAPSE_SEC; mcuReg[i] = TIMELAPSE_SEC;
if((sf_sys_get_flag(TimelapseSwitch)) && (puiPara->TimelapseTime.Hour == 0) && (puiPara->TimelapseTime.Min == 0) && (puiPara->TimelapseTime.Sec == 0)) if((puiPara->TimelapseSwitch) && (puiPara->TimelapseTime.Hour == 0) && (puiPara->TimelapseTime.Min == 0) && (puiPara->TimelapseTime.Sec == 0))
mcuData[i++] = 5; mcuData[i++] = 5;
else else
mcuData[i++] = puiPara->TimelapseTime.Sec; mcuData[i++] = puiPara->TimelapseTime.Sec;
@ -470,7 +475,7 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
mcuData[i++] = 0; mcuData[i++] = 0;
} }
if(sf_sys_get_flag(PirDelaySwitch)) if(puiPara->PirDelaySwitch)
{ {
mcuReg[i] = PIR_DELAY_HOUR; mcuReg[i] = PIR_DELAY_HOUR;
mcuData[i++] = puiPara->PirDelayTime.Hour; mcuData[i++] = puiPara->PirDelayTime.Hour;
@ -499,7 +504,7 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
mcuData[i++] = 1; mcuData[i++] = 1;
} }
if(sf_sys_get_flag(DailyReportSwitch)) if(puiPara->DailyReportSwitch)
{ {
mcuReg[i] = DAILY_REPORT_HOUR; mcuReg[i] = DAILY_REPORT_HOUR;
mcuData[i++] = puiPara->DailyReportTime2.Hour; mcuData[i++] = puiPara->DailyReportTime2.Hour;
@ -524,24 +529,24 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
mcuData[i++] = puiPara->TimeSend2.Min; mcuData[i++] = puiPara->TimeSend2.Min;
mcuReg[i] = ANALOG_PIR_SENSITIVITY; mcuReg[i] = ANALOG_PIR_SENSITIVITY;
temp = sf_mcu_analog_pir_sen_convert(sf_sys_get_flag(PirSensitivity)); temp = sf_mcu_analog_pir_sen_convert(puiPara->PirSensitivity);
//hybrid mode 4G module keep sleep //hybrid mode 4G module keep sleep
if((sf_sys_get_flag(NetWorkNeedSearch) != 3) && simCardInsert && gModuleSleep) if(((puiPara->NetWorkNeedSearch) != 3) && simCardInsert && gModuleSleep)
{ {
//bit 5-bit 6, daily mode 0, hybrid mode 1, instant mode 2 //bit 5-bit 6, daily mode 0, hybrid mode 1, instant mode 2
if((sf_sys_get_flag(GprsMode) == 1) || (paraSyncFlag)) if(((puiPara->GprsMode) == 1) || (paraSyncFlag))
{ {
temp |= 0x40; temp |= 0x40;
} }
else else
{ {
if ((sf_sys_get_flag(GprsMode) == 2) && isSignalReady && (GPRS_ERRNO == 0)) if (((puiPara->GprsMode) == 2) && isSignalReady && (GPRS_ERRNO == 0))
temp |= 0x20; temp |= 0x20;
//sf_pdp_flg_set(0); //sf_pdp_flg_set(0);
} }
} }
if(((sf_sys_get_flag(GprsSwitch)) && (simCardInsert) && (sf_sys_get_flag(SendType) == 0)) || (paraSyncFlag)) if(((puiPara->GprsSwitch) && (simCardInsert) && ((puiPara->SendType) == 0)) || (paraSyncFlag))
{ {
temp |= 0x80; temp |= 0x80;
} }
@ -553,9 +558,9 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
mcuData[i++] = temp; mcuData[i++] = temp;
mcuReg[i] = DIGITAL_PIR_SENSITIVITY; mcuReg[i] = DIGITAL_PIR_SENSITIVITY;
mcuData[i++] = sf_sys_get_flag(DigitPirSensitivity);//PirDigtSensRegValue[SysGetFlag(PirSensitivity)]; mcuData[i++] = (puiPara->DigitPirSensitivity);//PirDigtSensRegValue[SysGetFlag(PirSensitivity)];
mcuReg[i] = DIGITAL_PIR_CFG; mcuReg[i] = DIGITAL_PIR_CFG;
mcuData[i++] = (sf_sys_get_flag(DigitPirWindowTime) << 4) | sf_sys_get_flag(DigitPirCnt); mcuData[i++] = ((puiPara->DigitPirWindowTime) << 4) | (puiPara->DigitPirCnt);
//mcuData[i++] = (PirDigtSensRegValue[SysGetFlag(PirSensitivity)] <= 10 ? 1 : 0); //mcuData[i++] = (PirDigtSensRegValue[SysGetFlag(PirSensitivity)] <= 10 ? 1 : 0);
//DSP busy/idle //DSP busy/idle
@ -568,7 +573,7 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
mcuReg[i] = POWEROFF_TYPE; mcuReg[i] = POWEROFF_TYPE;
temp = 0; temp = 0;
if(simCardInsert && (sf_sys_get_flag(NetWorkNeedSearch)) if(simCardInsert && (puiPara->NetWorkNeedSearch)
&& ((PowerOnMode == PWR_ON_AUTO) || (PowerOnMode == PWR_ON_SETUP) || (PowerOnMode == PWR_ON_DAILY_REPORT)))/* SET->ON, OFF->ON*/ && ((PowerOnMode == PWR_ON_AUTO) || (PowerOnMode == PWR_ON_SETUP) || (PowerOnMode == PWR_ON_DAILY_REPORT)))/* SET->ON, OFF->ON*/
temp = 1; temp = 1;
else if(SmsCheck) else if(SmsCheck)
@ -583,7 +588,7 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
mcuReg[i] = VBAT_RECOVER_VAL; mcuReg[i] = VBAT_RECOVER_VAL;
mcuData[i++] = SF_BATT_RECOVERY; mcuData[i++] = SF_BATT_RECOVERY;
if(sf_sys_get_flag(WorkTime1Switch)) if(puiPara->WorkTime1Switch)
{ {
mcuReg[i] = WORKTIME1_SWITCH; mcuReg[i] = WORKTIME1_SWITCH;
mcuData[i++] = 0xFF; mcuData[i++] = 0xFF;
@ -614,7 +619,7 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
mcuData[i++] = 0; mcuData[i++] = 0;
} }
if(sf_sys_get_flag(WorkTime2Switch)) if(puiPara->WorkTime2Switch)
{ {
mcuReg[i] = WORKTIME2_SWITCH; mcuReg[i] = WORKTIME2_SWITCH;
mcuData[i++] = 0xFF; mcuData[i++] = 0xFF;
@ -645,7 +650,7 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
mcuData[i++] = 0; mcuData[i++] = 0;
} }
if((sf_sys_get_flag(GpsSwitch) || sf_sys_get_flag(FristSendDailyAndGps)) && (((SF_MCU_STARTUP_ONKEY == sf_poweron_type_get())) || paraSyncFlag)) if(((puiPara->GpsSwitch) || (puiPara->FristSendDailyAndGps)) && (((SF_MCU_STARTUP_ONKEY == sf_poweron_type_get())) || paraSyncFlag))
{ {
mcuReg[i] = GPS_POWER_TIMER_CLEAR; mcuReg[i] = GPS_POWER_TIMER_CLEAR;
mcuData[i++] = 1; mcuData[i++] = 1;
@ -660,10 +665,10 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
temp = 0; temp = 0;
if(sf_sys_get_flag(TimeSend3Switch) == 1) if((puiPara->TimeSend3Switch) == 1)
temp |= 0x01; temp |= 0x01;
if(sf_sys_get_flag(TimeSend4Switch) == 1) if((puiPara->TimeSend4Switch) == 1)
temp |= 0x02; temp |= 0x02;
mcuReg[i] = FUNCTION_SWTICH1; mcuReg[i] = FUNCTION_SWTICH1;
@ -683,14 +688,14 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
{ {
mcuReg[i] = ANALOG_PIR_SENSITIVITY; mcuReg[i] = ANALOG_PIR_SENSITIVITY;
temp = sf_sys_get_flag(PirSensitivity);//sf_mcu_analog_pir_sen_convert(SysGetFlag(DigPirSensitivity)); temp = (puiPara->PirSensitivity);//sf_mcu_analog_pir_sen_convert(SysGetFlag(DigPirSensitivity));
if(sf_sys_get_flag(GprsMode))//hybrid mode 4G module keep sleep if(puiPara->GprsMode)//hybrid mode 4G module keep sleep
{ {
temp |= 0x40; temp |= 0x40;
} }
if((sf_sys_get_flag(GprsMode)) && (val == 1)) if((puiPara->GprsMode) && (val == 1))
{ {
temp |= 0x80; temp |= 0x80;
} }
@ -704,12 +709,12 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
if(ConfigureModeFlag) if(ConfigureModeFlag)
{ {
mcuReg[i] = DIGITAL_PIR_SENSITIVITY; mcuReg[i] = DIGITAL_PIR_SENSITIVITY;
mcuData[i++] = sf_sys_get_flag(DigitPirSensitivity);//PirDigtSensRegValue[SysGetFlag(PirSensitivity)]; mcuData[i++] = (puiPara->DigitPirSensitivity);//PirDigtSensRegValue[SysGetFlag(PirSensitivity)];
mcuReg[i] = DIGITAL_PIR_CFG; mcuReg[i] = DIGITAL_PIR_CFG;
mcuData[i++] = (sf_sys_get_flag(DigitPirWindowTime) << 4) | sf_sys_get_flag(DigitPirCnt); mcuData[i++] = ((puiPara->DigitPirWindowTime) << 4) | (puiPara->DigitPirCnt);
} }
if((sf_sys_get_flag(GpsSwitch) || sf_sys_get_flag(FristSendDailyAndGps)) && (ConfigureModeFlag || paraSyncFlag)) if(((puiPara->GpsSwitch) || (puiPara->FristSendDailyAndGps)) && (ConfigureModeFlag || paraSyncFlag))
{ {
mcuReg[i] = GPS_POWER_TIMER_CLEAR; mcuReg[i] = GPS_POWER_TIMER_CLEAR;
mcuData[i++] = 1; mcuData[i++] = 1;
@ -726,14 +731,14 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
{ {
mcuReg[i] = ANALOG_PIR_SENSITIVITY; mcuReg[i] = ANALOG_PIR_SENSITIVITY;
temp = sf_sys_get_flag(PirSensitivity);//sf_mcu_analog_pir_sen_convert(puiPara->PirSensitivity); temp = (puiPara->PirSensitivity);//sf_mcu_analog_pir_sen_convert(puiPara->PirSensitivity);
if((sf_sys_get_flag(GprsMode)) && (gModuleSleep == 1))//hybrid mode 4G module keep sleep if((puiPara->GprsMode) && (gModuleSleep == 1))//hybrid mode 4G module keep sleep
{ {
temp |= 0x40; temp |= 0x40;
} }
if((sf_sys_get_flag(GprsMode)) && (simCardInsert)) if((puiPara->GprsMode) && (simCardInsert))
{ {
temp |= 0x80; temp |= 0x80;
} }
@ -744,16 +749,16 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
mcuData[i++] = temp; mcuData[i++] = temp;
printf("[%s:%d] temp:0x%02x GprsSwitch:%lu simCardInsert:%lu\n", __FUNCTION__, __LINE__, temp, sf_sys_get_flag(GprsSwitch), simCardInsert); printf("[%s:%d] temp:0x%02x GprsSwitch:%lu simCardInsert:%lu\n", __FUNCTION__, __LINE__, temp, puiPara->GprsSwitch, simCardInsert);
mcuReg[i] = DIGITAL_PIR_SENSITIVITY; mcuReg[i] = DIGITAL_PIR_SENSITIVITY;
mcuData[i++] = sf_sys_get_flag(DigitPirSensitivity);//PirDigtSensRegValue[SysGetFlag(PirSensitivity)]; mcuData[i++] = (puiPara->DigitPirSensitivity);//PirDigtSensRegValue[SysGetFlag(PirSensitivity)];
mcuReg[i] = DIGITAL_PIR_CFG; mcuReg[i] = DIGITAL_PIR_CFG;
mcuData[i++] = (sf_sys_get_flag(DigitPirWindowTime) << 4) | sf_sys_get_flag(DigitPirCnt); mcuData[i++] = ((puiPara->DigitPirWindowTime) << 4) | (puiPara->DigitPirCnt);
mcuReg[i] = SYS_STATUS; mcuReg[i] = SYS_STATUS;
mcuData[i++] = sf_sys_get_flag(CamArmDiable) << 6 | isUsb << 2 | isCardFull << 1 | isCard << 0; mcuData[i++] = (puiPara->CamArmDiable) << 6 | isUsb << 2 | isCardFull << 1 | isCard << 0;
if((sf_sys_get_flag(GpsSwitch) || sf_sys_get_flag(FristSendDailyAndGps)) && (ConfigureModeFlag || paraSyncFlag)) if(((puiPara->GpsSwitch) || (puiPara->FristSendDailyAndGps)) && (ConfigureModeFlag || paraSyncFlag))
{ {
mcuReg[i] = GPS_POWER_TIMER_CLEAR; mcuReg[i] = GPS_POWER_TIMER_CLEAR;
mcuData[i++] = 1; mcuData[i++] = 1;
@ -769,7 +774,7 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
else if(attrId == SF_MCU_RESET_MODULE) else if(attrId == SF_MCU_RESET_MODULE)
{ {
mcuReg[i] = SYS_STATUS; mcuReg[i] = SYS_STATUS;
mcuData[i++] = sf_sys_get_flag(CamArmDiable) << 6 | isUsb << 2 | isCardFull << 1 | isCard << 0 | 0x10; mcuData[i++] = (puiPara->CamArmDiable) << 6 | isUsb << 2 | isCardFull << 1 | isCard << 0 | 0x10;
//sf_pdp_flg_set(0); //sf_pdp_flg_set(0);
} }
else if(attrId == SF_MCU_SOFT_UPDATE) else if(attrId == SF_MCU_SOFT_UPDATE)
@ -778,22 +783,22 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
if(val == 1) if(val == 1)
{ {
mcuData[i++] = sf_sys_get_flag(CamArmDiable) << 6 | isUsb << 2 | isCardFull << 1 | isCard << 0 | 0x08; mcuData[i++] = (puiPara->CamArmDiable) << 6 | isUsb << 2 | isCardFull << 1 | isCard << 0 | 0x08;
} }
else else
{ {
mcuData[i++] = sf_sys_get_flag(CamArmDiable) << 6 | isUsb << 2 | isCardFull << 1 | isCard << 0; mcuData[i++] = (puiPara->CamArmDiable) << 6 | isUsb << 2 | isCardFull << 1 | isCard << 0;
} }
} }
else if(attrId == SF_MCU_POWER_RESTART) else if(attrId == SF_MCU_POWER_RESTART)
{ {
mcuReg[i] = SYS_STATUS; mcuReg[i] = SYS_STATUS;
mcuData[i++] = sf_sys_get_flag(CamArmDiable) << 6 | isUsb << 2 | isCardFull << 1 | isCard << 0 | 0x20; mcuData[i++] = (puiPara->CamArmDiable) << 6 | isUsb << 2 | isCardFull << 1 | isCard << 0 | 0x20;
} }
else if(attrId == SF_MCU_PIR_RESTART) else if(attrId == SF_MCU_PIR_RESTART)
{ {
mcuReg[i] = SYS_STATUS; mcuReg[i] = SYS_STATUS;
mcuData[i++] = sf_sys_get_flag(CamArmDiable) << 6 | isUsb << 2 | isCardFull << 1 | isCard << 0 | 0x80; mcuData[i++] = (puiPara->CamArmDiable) << 6 | isUsb << 2 | isCardFull << 1 | isCard << 0 | 0x80;
} }
mcuReg[i] = DSP_WRITE_FLG; //MCU set end mcuReg[i] = DSP_WRITE_FLG; //MCU set end
@ -1095,6 +1100,53 @@ void sf_set_module_sleep_flag(UINT8 flag)
gModuleSleep = flag; gModuleSleep = flag;
} }
int sf_app_while_flag(void)
{
if((!sf_usb_IsInsert()) && (POWEROFF != 1)
/*&& (ModuleUpdating != 1) && (sf_get_fw_update() == 0)*/)
{
return 1;
}
else
{
return 0;
}
}
void sf_set_sim_insert(UINT32 sim)
{
simCardInsert = sim;
}
void sf_set_cq_signal(UINT8 csq)
{
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
if(((puiPara->NetGeneration == 4) && (csq > 0) && (csq < 129)) || ((puiPara->NetGeneration < 4) && (csq > 1) && (csq < 32)))
{
cq_Signal = csq;
isSignalReady = 1;
}
else
{
cq_Signal = 0;
isSignalReady = 0;
}
printf("[%s:%d]cq_Signal=%d,isSignalReady=%d\n", __FUNCTION__, __LINE__, cq_Signal, isSignalReady);
}
UINT8 sf_get_signal_ready(void)
{
return isSignalReady;
}
void sf_set_sim_pin_flag(UINT8 simPin, UINT8 simPins, UINT8 simPinPuk)
{
SIMPIN1 = simPin;
SIMPIN11 = simPins;
SIMPINPUK = simPinPuk;
printf("[%s:%d]SIMPIN1=%d,SIMPIN11=%d,SIMPINPUK=%d\n", __FUNCTION__, __LINE__, SIMPIN1, SIMPIN11, SIMPINPUK);
}
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus

View File

@ -97,10 +97,11 @@ SINT32 sf_poweroff_type_set(SF_POWEROFF_TYPE_E enType)
SINT32 sf_sys_rtc_time_get(SF_PARA_TIME_S *pstDateTime) SINT32 sf_sys_rtc_time_get(SF_PARA_TIME_S *pstDateTime)
{ {
SF_COMM_CHECK_POINTER(pstDateTime,SF_FAILURE); SF_COMM_CHECK_POINTER(pstDateTime,SF_FAILURE);
time_t t; SINT32 fdRtc = -1;
struct tm *rtctm;
//SINT32 fdRtc = -1;
int ret = SF_SUCCESS; int ret = SF_SUCCESS;
/*time_t t;
struct tm *rtctm;
time(&t); time(&t);
rtctm = localtime(&t); rtctm = localtime(&t);
@ -110,9 +111,8 @@ SINT32 sf_sys_rtc_time_get(SF_PARA_TIME_S *pstDateTime)
pstDateTime->Hour = rtctm->tm_hour; pstDateTime->Hour = rtctm->tm_hour;
pstDateTime->Min = rtctm->tm_min; pstDateTime->Min = rtctm->tm_min;
pstDateTime->Sec = rtctm->tm_sec; pstDateTime->Sec = rtctm->tm_sec;
*/
SLOGI("%d-%d-%d %d:%d:%d\n",pstDateTime->Year,pstDateTime->Mon,pstDateTime->Day,pstDateTime->Hour,pstDateTime->Min,pstDateTime->Sec);
/*
fdRtc = open(DEFAULT_RTC_DEVICE, O_RDWR); fdRtc = open(DEFAULT_RTC_DEVICE, O_RDWR);
if (fdRtc < 0) if (fdRtc < 0)
{ {
@ -136,7 +136,8 @@ SINT32 sf_sys_rtc_time_get(SF_PARA_TIME_S *pstDateTime)
pstDateTime->Sec = rtctm.tm_sec; pstDateTime->Sec = rtctm.tm_sec;
} }
close(fdRtc); close(fdRtc);
*/ SLOGI("%d-%d-%d %d:%d:%d\n",pstDateTime->Year,pstDateTime->Mon,pstDateTime->Day,pstDateTime->Hour,pstDateTime->Min,pstDateTime->Sec);
return ret; return ret;
} }
@ -145,8 +146,10 @@ SINT32 sf_sys_rtc_time_set(SF_PARA_TIME_S* pstDateTime)
{ {
SF_COMM_CHECK_POINTER(pstDateTime,SF_FAILURE); SF_COMM_CHECK_POINTER(pstDateTime,SF_FAILURE);
//SINT32 fdRtc = -1; SINT32 fdRtc = -1;
SINT32 ret = SF_SUCCESS; SINT32 ret = SF_SUCCESS;
#if 0
time_t t; time_t t;
struct tm *tm_info; struct tm *tm_info;
@ -171,13 +174,13 @@ SINT32 sf_sys_rtc_time_set(SF_PARA_TIME_S* pstDateTime)
/* 设置系统时间 */ /* 设置系统时间 */
if (settimeofday(&tv, NULL) == -1) { if (settimeofday(&tv, NULL) == -1) {
perror("settimeofday error"); perror("settimeofday error");
exit(EXIT_FAILURE); //exit(EXIT_FAILURE);
} else { } else {
printf("Time set successfully!\n"); printf("Time set successfully!\n");
} }
#endif
fdRtc = open(DEFAULT_RTC_DEVICE, O_RDWR);
/*fdRtc = open(DEFAULT_RTC_DEVICE, O_RDWR);
if (fdRtc < 0) if (fdRtc < 0)
{ {
MLOGE("[ERR]open %s error:%d\n", DEFAULT_RTC_DEVICE, fdRtc); MLOGE("[ERR]open %s error:%d\n", DEFAULT_RTC_DEVICE, fdRtc);
@ -198,7 +201,7 @@ SINT32 sf_sys_rtc_time_set(SF_PARA_TIME_S* pstDateTime)
MLOGE("[ERR]ioctl get rtc time error:%d\n", ret); MLOGE("[ERR]ioctl get rtc time error:%d\n", ret);
} }
close(fdRtc); close(fdRtc);
*/
return ret; return ret;
} }

0
code/driver/source/crypto/cryptodev-linux/cryptodev.o Executable file → Normal file
View File

0
code/driver/source/msdcnvt/msdcnvt/msdcnvt.o Executable file → Normal file
View File

0
code/driver/source/msdcnvt/msdcnvt_adj/msdcnvt_adj.o Executable file → Normal file
View File

View File

View File

@ -15,11 +15,11 @@
}; };
awb_ct_weight { awb_ct_weight {
size = [78 00 00 00]; size = [78 00 00 00];
data = [fc 08 00 00 f0 0a 00 00 74 0e 00 00 5c 12 00 00 64 19 00 00 f8 2a 00 00 48 03 00 00 60 03 00 00 bc 03 00 00 f7 03 00 00 23 04 00 00 c3 04 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 08 00 00 00 08 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00]; data = [fc 08 00 00 f0 0a 00 00 74 0e 00 00 5c 12 00 00 64 19 00 00 f8 2a 00 00 48 03 00 00 60 03 00 00 bc 03 00 00 f7 03 00 00 23 04 00 00 c3 04 00 00 01 00 00 00 01 00 00 00 02 00 00 00 05 00 00 00 10 00 00 00 08 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 03 00 00 00 08 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00];
}; };
awb_target { awb_target {
size = [24 00 00 00]; size = [24 00 00 00];
data = [60 03 00 00 f7 03 00 00 23 04 00 00 00 04 00 00 24 04 00 00 38 04 00 00 00 04 00 00 f2 03 00 00 e8 03 00 00]; data = [60 03 00 00 f7 03 00 00 23 04 00 00 00 04 00 00 18 04 00 00 18 04 00 00 00 04 00 00 e8 03 00 00 e8 03 00 00];
}; };
awb_ct_info { awb_ct_info {
size = [60 00 00 00]; size = [60 00 00 00];
@ -39,7 +39,7 @@
}; };
awb_luma_weight { awb_luma_weight {
size = [44 00 00 00]; size = [44 00 00 00];
data = [00 00 00 00 04 00 00 00 08 00 00 00 14 00 00 00 20 00 00 00 c0 00 00 00 d0 00 00 00 e0 00 00 00 f0 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00]; data = [00 00 00 00 04 00 00 00 08 00 00 00 14 00 00 00 20 00 00 00 c0 00 00 00 d0 00 00 00 e0 00 00 00 f0 00 00 00 01 00 00 00 01 00 00 00 05 00 00 00 05 00 00 00 05 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00];
}; };
}; };
}; };

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

View File

@ -78,7 +78,8 @@ SRC = \
$(APP_DIR)/source/sf_app/code/source/qrcodeMng/sf_base64.c \ $(APP_DIR)/source/sf_app/code/source/qrcodeMng/sf_base64.c \
$(APP_DIR)/source/sf_app/code/source/paramMng/sf_param_common.c \ $(APP_DIR)/source/sf_app/code/source/paramMng/sf_param_common.c \
$(APP_DIR)/source/sf_app/code/source/commMng/sf_message_queue.c \ $(APP_DIR)/source/sf_app/code/source/commMng/sf_message_queue.c \
$(APP_DIR)/source/sf_app/code/source/commMng/sf_share_mem.c $(APP_DIR)/source/sf_app/code/source/commMng/sf_share_mem.c \
$(APP_DIR)/source/sf_app/code/source/fileMng/sf_fileMng.c
# code/source/common/sf_message_queue.c \ # code/source/common/sf_message_queue.c \
# code/source/common/sf_share_mem.c \ # code/source/common/sf_share_mem.c \

View File

@ -69,5 +69,6 @@ void sf_cardv_message_thread_init(void);
#define SF_SD_DISK "A:" #define SF_SD_DISK "A:"
#define SF_SD_ROOT "/mnt/sd/" #define SF_SD_ROOT "/mnt/sd/"
#define SF_SD_THUMB_PATH "/mnt/sd/Thumb/"
#endif #endif

View File

@ -20,6 +20,7 @@
#include <sf_param_enum.h> #include <sf_param_enum.h>
#include <sf_message_queue.h> #include <sf_message_queue.h>
#include <sf_commMng.h> #include <sf_commMng.h>
#include <sf_fileMng.h>
#endif #endif

View File

@ -407,6 +407,7 @@ BOOL sf_check_low_battery(void)
{ {
UINT8 lowCompareVal = 0; UINT8 lowCompareVal = 0;
BOOL ret = FALSE; BOOL ret = FALSE;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
if(sf_is_usb_flag()) if(sf_is_usb_flag())
{ {
@ -417,22 +418,22 @@ BOOL sf_check_low_battery(void)
if(sf_get_night_led_flag()) if(sf_get_night_led_flag())
{ {
if(SysGetFlag(BatteryType) == SF_BATT_ALKALINE) if(puiPara->BatteryType == SF_BATT_ALKALINE)
{ {
lowCompareVal = 69; lowCompareVal = 69;
} }
else if(SysGetFlag(BatteryType) == SF_BATT_NI_MH) else if(puiPara->BatteryType == SF_BATT_NI_MH)
{ {
lowCompareVal = 71; lowCompareVal = 71;
} }
} }
else else
{ {
if(SysGetFlag(BatteryType) == SF_BATT_ALKALINE) if(puiPara->BatteryType == SF_BATT_ALKALINE)
{ {
lowCompareVal = 80; lowCompareVal = 80;
} }
else if(SysGetFlag(BatteryType) == SF_BATT_NI_MH) else if(puiPara->BatteryType == SF_BATT_NI_MH)
{ {
lowCompareVal = 80; lowCompareVal = 80;
} }
@ -471,6 +472,7 @@ signed int sf_battery_adc_value_get(void)
UINT32 batTemp = 0; UINT32 batTemp = 0;
UINT32 dcValueList[12] = { 0 }; UINT32 dcValueList[12] = { 0 };
UINT32 batValueList[12] = { 0 }; UINT32 batValueList[12] = { 0 };
UIMenuStoreInfo *puiPara = sf_ui_para_get();
SINT32 ret = FAIL; SINT32 ret = FAIL;
@ -485,7 +487,7 @@ signed int sf_battery_adc_value_get(void)
{ {
dcValueList[readBatCnt] = _DcVoltageVal; dcValueList[readBatCnt] = _DcVoltageVal;
if(SysGetFlag(BatteryLogSwitch)) if(puiPara->BatteryLogSwitch)
{ {
printf("%s:%d [%d]DC ADC Value=%d,After Convert:%d(%d.%dV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(10, 100, dcValueList[readBatCnt]), printf("%s:%d [%d]DC ADC Value=%d,After Convert:%d(%d.%dV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(10, 100, dcValueList[readBatCnt]),
dcValueList[readBatCnt], dcValueList[readBatCnt] / 10, dcValueList[readBatCnt] % 10); dcValueList[readBatCnt], dcValueList[readBatCnt] / 10, dcValueList[readBatCnt] % 10);
@ -495,7 +497,7 @@ signed int sf_battery_adc_value_get(void)
{ {
batValueList[readBatCnt] = _LiPolymerVoltageVal; batValueList[readBatCnt] = _LiPolymerVoltageVal;
if(SysGetFlag(BatteryLogSwitch)) if(puiPara->BatteryLogSwitch)
{ {
printf("%s:%d [%d]Li Battery ADC Value=%d,After Convert:%d(%d.%dV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(15, 100, batValueList[readBatCnt]), printf("%s:%d [%d]Li Battery ADC Value=%d,After Convert:%d(%d.%dV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(15, 100, batValueList[readBatCnt]),
batValueList[readBatCnt], batValueList[readBatCnt] / 10, batValueList[readBatCnt] % 10); batValueList[readBatCnt], batValueList[readBatCnt] / 10, batValueList[readBatCnt] % 10);
@ -505,7 +507,7 @@ signed int sf_battery_adc_value_get(void)
{ {
batValueList[readBatCnt] = _BatVoltageVal; batValueList[readBatCnt] = _BatVoltageVal;
if(SysGetFlag(BatteryLogSwitch)) if(puiPara->BatteryLogSwitch)
{ {
printf("%s:%d [%d]Other Battery ADC Value=%d,After Convert:%d(%d.%dV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(15, 100, batValueList[readBatCnt]), printf("%s:%d [%d]Other Battery ADC Value=%d,After Convert:%d(%d.%dV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(15, 100, batValueList[readBatCnt]),
batValueList[readBatCnt], batValueList[readBatCnt] / 10, batValueList[readBatCnt] % 10); batValueList[readBatCnt], batValueList[readBatCnt] / 10, batValueList[readBatCnt] % 10);
@ -539,7 +541,7 @@ signed int sf_battery_adc_value_get(void)
IsPowerDcIn = 0; IsPowerDcIn = 0;
} }
if(SysGetFlag(BatteryLogSwitch)) if(puiPara->BatteryLogSwitch)
{ {
printf("\n[max]DC,After Convert:(%d.%dV),Is Dc In=%s\n", DcVoltageVal / 10, DcVoltageVal % 10, IsPowerDcIn == 1? "Yes" : "No"); printf("\n[max]DC,After Convert:(%d.%dV),Is Dc In=%s\n", DcVoltageVal / 10, DcVoltageVal % 10, IsPowerDcIn == 1? "Yes" : "No");
@ -615,6 +617,7 @@ void sf_battery_level_polling(void)
UINT32 batTemp = 0; UINT32 batTemp = 0;
UINT32 dcValueList[12] = { 0 }; UINT32 dcValueList[12] = { 0 };
UINT32 batValueList[12] = { 0 }; UINT32 batValueList[12] = { 0 };
UIMenuStoreInfo *puiPara = sf_ui_para_get();
signed int ret = FALSE; signed int ret = FALSE;
@ -626,7 +629,7 @@ void sf_battery_level_polling(void)
{ {
dcValueList[readBatCnt] = _DcVoltageVal; dcValueList[readBatCnt] = _DcVoltageVal;
if(SysGetFlag(BatteryLogSwitch)) if(puiPara->BatteryLogSwitch)
{ {
printf("%s:%d [%d]DC ADC Value=%d,After Convert:%d(%d.%dV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(10, 130, dcValueList[readBatCnt]), printf("%s:%d [%d]DC ADC Value=%d,After Convert:%d(%d.%dV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(10, 130, dcValueList[readBatCnt]),
dcValueList[readBatCnt], dcValueList[readBatCnt] / 10, dcValueList[readBatCnt] % 10); dcValueList[readBatCnt], dcValueList[readBatCnt] / 10, dcValueList[readBatCnt] % 10);
@ -636,7 +639,7 @@ void sf_battery_level_polling(void)
{ {
batValueList[readBatCnt] = _LiPolymerVoltageVal; batValueList[readBatCnt] = _LiPolymerVoltageVal;
if(SysGetFlag(BatteryLogSwitch)) if(puiPara->BatteryLogSwitch)
{ {
printf("%s:%d [%d]Li Battery ADC Value=%d,After Convert:%d(%d.%dV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(15, 130, batValueList[readBatCnt]), printf("%s:%d [%d]Li Battery ADC Value=%d,After Convert:%d(%d.%dV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(15, 130, batValueList[readBatCnt]),
batValueList[readBatCnt], batValueList[readBatCnt] / 10, batValueList[readBatCnt] % 10); batValueList[readBatCnt], batValueList[readBatCnt] / 10, batValueList[readBatCnt] % 10);
@ -646,7 +649,7 @@ void sf_battery_level_polling(void)
{ {
batValueList[readBatCnt] = _BatVoltageVal; batValueList[readBatCnt] = _BatVoltageVal;
if(SysGetFlag(BatteryLogSwitch)) if(puiPara->BatteryLogSwitch)
{ {
printf("%s:%d [%d]Other Battery ADC Value=%d,After Convert:%d(%d.%dV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(15, 130, batValueList[readBatCnt]), printf("%s:%d [%d]Other Battery ADC Value=%d,After Convert:%d(%d.%dV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(15, 130, batValueList[readBatCnt]),
batValueList[readBatCnt], batValueList[readBatCnt] / 10, batValueList[readBatCnt] % 10); batValueList[readBatCnt], batValueList[readBatCnt] / 10, batValueList[readBatCnt] % 10);
@ -684,7 +687,7 @@ void sf_battery_level_polling(void)
IsPowerDcIn = 0; IsPowerDcIn = 0;
} }
if(SysGetFlag(BatteryLogSwitch)) if(puiPara->BatteryLogSwitch)
{ {
printf("\n[average]DC,After Convert:(%d.%dV),Is Dc In=%s\n", DcVoltageVal / 10, DcVoltageVal % 10, IsPowerDcIn == 1? "Yes" : "No"); printf("\n[average]DC,After Convert:(%d.%dV),Is Dc In=%s\n", DcVoltageVal / 10, DcVoltageVal % 10, IsPowerDcIn == 1? "Yes" : "No");
@ -705,7 +708,7 @@ void sf_battery_level_polling(void)
ret = sf_check_low_battery(); ret = sf_check_low_battery();
if(SysGetFlag(BatteryLogSwitch)) if(puiPara->BatteryLogSwitch)
{ {
printf("[%s:%d]batTempLevel=%d,sf_LatestBattLevel=%d\n", __FUNCTION__, __LINE__, batTempLevel, sf_LatestBattLevel); printf("[%s:%d]batTempLevel=%d,sf_LatestBattLevel=%d\n", __FUNCTION__, __LINE__, batTempLevel, sf_LatestBattLevel);
} }
@ -722,7 +725,7 @@ void sf_battery_level_polling(void)
{ {
if(sf_get_night_led_flag()) if(sf_get_night_led_flag())
{ {
sf_ir_led_set(0, 0, 0, 0); //sf_ir_led_set(0, 0, 0, 0);
} }
//the Module not need sleep. //the Module not need sleep.
@ -857,6 +860,7 @@ UINT8 sf_battery_value_get(UINT8 nightMode)
UINT8 value = 0; UINT8 value = 0;
UINT8 batteryVal = 0; UINT8 batteryVal = 0;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
if(IsPowerDcIn == 0) if(IsPowerDcIn == 0)
{ {
//printf("BatMedian:%d\n", BatMedian); //printf("BatMedian:%d\n", BatMedian);
@ -920,7 +924,7 @@ UINT8 sf_battery_value_get(UINT8 nightMode)
{ {
batteryVal = BatVoltageVal; batteryVal = BatVoltageVal;
if(SysGetFlag(BatteryType) == SF_BATT_ALKALINE) //ALK if(puiPara->BatteryType == SF_BATT_ALKALINE) //ALK
{ {
if(batteryVal < 62) if(batteryVal < 62)
{ {
@ -974,7 +978,7 @@ UINT8 sf_battery_value_get(UINT8 nightMode)
value = 100; value = 100;
} }
} }
else if(SysGetFlag(BatteryType) == SF_BATT_NI_MH) //NIH else if(puiPara->BatteryType == SF_BATT_NI_MH) //NIH
{ {
if(batteryVal < 60) if(batteryVal < 60)
{ {

View File

@ -111,7 +111,7 @@ void sf_mode_detect(void)
static UINT8 pwroffcnt = 0; static UINT8 pwroffcnt = 0;
static UINT8 countDownOffFlg = 0; static UINT8 countDownOffFlg = 0;
static UINT8 pirDelay = 0; static UINT8 pirDelay = 0;
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
if(sf_get_power_off_flag() || sf_is_usb_flag()) if(sf_get_power_off_flag() || sf_is_usb_flag())
{ {
sf_set_pir_statu_flag(FALSE); sf_set_pir_statu_flag(FALSE);
@ -202,7 +202,7 @@ void sf_mode_detect(void)
pwroffcnt = 0; pwroffcnt = 0;
} }
if(SysGetFlag(AutoOffSwitch) == 0 || (NetWorkFlag != 0) /*|| (appActiveStateGet() == APP_STATE_CUSTOMER_TRANSFER)*/) if(puiPara->AutoOffSwitch == 0 || (NetWorkFlag != 0) /*|| (appActiveStateGet() == APP_STATE_CUSTOMER_TRANSFER)*/)
{ {
AutoOfftime=0; AutoOfftime=0;
} }
@ -259,7 +259,7 @@ BOOL sf_cmd_cam_name_switch(unsigned char argc, char **argv)
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
if(value < SF_CAMID_MAX) if(value < SF_CAMID_MAX)
{ {
SysSetFlag(CamNameSwitch, value); puiPara->CamNameSwitch = value;
} }
strncpy(puiPara->CamNameStr, argv[1], ((12 <= strlen(argv[1])) ? 12 : (strlen(argv[1])))); strncpy(puiPara->CamNameStr, argv[1], ((12 <= strlen(argv[1])) ? 12 : (strlen(argv[1]))));
Save_MenuInfo(); Save_MenuInfo();
@ -272,19 +272,21 @@ BOOL sf_cmd_cam_name_switch(unsigned char argc, char **argv)
BOOL sf_cmd_flash_led(unsigned char argc, char **argv) BOOL sf_cmd_flash_led(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_FLASH_LED_MAX){ if(value < SF_FLASH_LED_MAX){
SysSetFlag(FlashLed, value); puiPara->FlashLed = value;
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] FlashLed:%d\n", __FUNCTION__, __LINE__,SysGetFlag(FlashLed)); printf("[%s:%d] FlashLed:%d\n", __FUNCTION__, __LINE__,puiPara->FlashLed);
return TRUE; return TRUE;
} }
BOOL sf_cmd_img_size(unsigned char argc, char **argv) BOOL sf_cmd_img_size(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
//UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < PHOTO_SIZE_ID_MAX){ if(value < PHOTO_SIZE_ID_MAX){
@ -298,23 +300,25 @@ BOOL sf_cmd_img_size(unsigned char argc, char **argv)
BOOL sf_cmd_night_mode(unsigned char argc, char **argv) BOOL sf_cmd_night_mode(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_NIGHT_MODE_MAX){ if(value < SF_NIGHT_MODE_MAX){
SysSetFlag(NightMode, value); puiPara->NightMode = value;
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] NightMode:%d\n", __FUNCTION__, __LINE__,SysGetFlag(NightMode)); printf("[%s:%d] NightMode:%d\n", __FUNCTION__, __LINE__,puiPara->NightMode);
return TRUE; return TRUE;
} }
BOOL sf_cmd_multishot(unsigned char argc, char **argv) BOOL sf_cmd_multishot(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < CONTINUE_SHOT_SETTING_MAX){ if(value < CONTINUE_SHOT_SETTING_MAX){
SysSetFlag(Multishot, value); puiPara->Multishot = value;
SysSetFlag(FL_CONTINUE_SHOT, value); SysSetFlag(FL_CONTINUE_SHOT, value);
Save_MenuInfo(); Save_MenuInfo();
} }
@ -325,11 +329,13 @@ BOOL sf_cmd_multishot(unsigned char argc, char **argv)
BOOL sf_cmd_video_size(unsigned char argc, char **argv) BOOL sf_cmd_video_size(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < MOVIE_SIZE_ID_MAX){ if(value < MOVIE_SIZE_ID_MAX){
SysSetFlag(VideoSize, value); puiPara->VideoSize = value;
SysSetFlag(FL_MOVIE_SIZE, value); SysSetFlag(FL_MOVIE_SIZE, value);
SysSetFlag(FL_MOVIE_SIZE_MENU, value);
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] FL_MOVIE_SIZE:%d\n", __FUNCTION__, __LINE__,SysGetFlag(FL_MOVIE_SIZE)); printf("[%s:%d] FL_MOVIE_SIZE:%d\n", __FUNCTION__, __LINE__,SysGetFlag(FL_MOVIE_SIZE));
@ -341,6 +347,7 @@ BOOL sf_cmd_video_lenth(unsigned char argc, char **argv)
UINT32 uiSelect = 0; UINT32 uiSelect = 0;
UINT32 i, mask; UINT32 i, mask;
UINT32 movie_rec_mask, clone_rec_mask; UINT32 movie_rec_mask, clone_rec_mask;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &uiSelect); sscanf_s(argv[0],"%d", &uiSelect);
printf("[%s:%d] uiSelect:%d\n", __FUNCTION__, __LINE__,uiSelect); printf("[%s:%d] uiSelect:%d\n", __FUNCTION__, __LINE__,uiSelect);
@ -359,7 +366,7 @@ BOOL sf_cmd_video_lenth(unsigned char argc, char **argv)
uiSelect = 10; uiSelect = 10;
break; break;
} }
UI_SetData(VideoLenth, uiSelect); puiPara->VideoLenth = uiSelect;
Save_MenuInfo(); Save_MenuInfo();
gMovie_Rec_Option.seamless_sec = 15; gMovie_Rec_Option.seamless_sec = 15;
@ -381,7 +388,7 @@ BOOL sf_cmd_video_lenth(unsigned char argc, char **argv)
mask <<= 1; mask <<= 1;
} }
printf("[%s:%d] VideoLenth:%d\n", __FUNCTION__, __LINE__,SysGetFlag(VideoLenth)); printf("[%s:%d] VideoLenth:%d\n", __FUNCTION__, __LINE__,puiPara->VideoLenth);
return TRUE; return TRUE;
} }
@ -389,26 +396,28 @@ BOOL sf_cmd_video_lenth(unsigned char argc, char **argv)
BOOL sf_cmd_pir_switch(unsigned char argc, char **argv) BOOL sf_cmd_pir_switch(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){ if(value < SF_ON_OFF_MAX){
SysSetFlag(PirSwitch, value); puiPara->PirSwitch = value;
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] PirSwitch:%d\n", __FUNCTION__, __LINE__,SysGetFlag(PirSwitch)); printf("[%s:%d] PirSwitch:%d\n", __FUNCTION__, __LINE__,puiPara->PirSwitch);
return TRUE; return TRUE;
} }
BOOL sf_cmd_pir_sensitivity(unsigned char argc, char **argv) BOOL sf_cmd_pir_sensitivity(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_PIR_SENSITIVITY_MAX){ if(value < SF_PIR_SENSITIVITY_MAX){
SysSetFlag(PirSensitivity, value); puiPara->PirSensitivity = value;
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] PirSensitivity:%d\n", __FUNCTION__, __LINE__,SysGetFlag(PirSensitivity)); printf("[%s:%d] PirSensitivity:%d\n", __FUNCTION__, __LINE__,puiPara->PirSensitivity);
return TRUE; return TRUE;
} }
@ -421,7 +430,7 @@ BOOL sf_cmd_pir_delay_switch(unsigned char argc, char **argv)
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
if(value < SF_ON_OFF_MAX) if(value < SF_ON_OFF_MAX)
{ {
SysSetFlag(PirDelaySwitch, value); puiPara->PirDelaySwitch = value;
sscanf_s(argv[1],"%d", &value); sscanf_s(argv[1],"%d", &value);
puiPara->PirDelayTime.Hour = value; puiPara->PirDelayTime.Hour = value;
sscanf_s(argv[2],"%d", &value); sscanf_s(argv[2],"%d", &value);
@ -431,7 +440,7 @@ BOOL sf_cmd_pir_delay_switch(unsigned char argc, char **argv)
Save_MenuInfo(); Save_MenuInfo();
} }
} }
printf("[%s:%d] argc:%d PirDelaySwitch:%d %d:%d:%d\n", __FUNCTION__, __LINE__, argc, SysGetFlag(PirDelaySwitch),puiPara->PirDelayTime.Hour,puiPara->PirDelayTime.Min,puiPara->PirDelayTime.Sec); printf("[%s:%d] argc:%d PirDelaySwitch:%d %d:%d:%d\n", __FUNCTION__, __LINE__, argc, puiPara->PirDelaySwitch,puiPara->PirDelayTime.Hour,puiPara->PirDelayTime.Min,puiPara->PirDelayTime.Sec);
return TRUE; return TRUE;
} }
@ -443,7 +452,7 @@ BOOL sf_cmd_timelapse_switch(unsigned char argc, char **argv)
{ {
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
if(value < SF_ON_OFF_MAX){ if(value < SF_ON_OFF_MAX){
SysSetFlag(TimelapseSwitch, value); puiPara->TimelapseSwitch = value;
sscanf_s(argv[1],"%d", &value); sscanf_s(argv[1],"%d", &value);
puiPara->TimelapseTime.Hour = value; puiPara->TimelapseTime.Hour = value;
sscanf_s(argv[2],"%d", &value); sscanf_s(argv[2],"%d", &value);
@ -453,7 +462,7 @@ BOOL sf_cmd_timelapse_switch(unsigned char argc, char **argv)
Save_MenuInfo(); Save_MenuInfo();
} }
} }
printf("[%s:%d] argc:%d TimelapseSwitch:%d %d:%d:%d\n", __FUNCTION__, __LINE__, argc, SysGetFlag(TimelapseSwitch),puiPara->TimelapseTime.Hour,puiPara->TimelapseTime.Min,puiPara->TimelapseTime.Sec); printf("[%s:%d] argc:%d TimelapseSwitch:%d %d:%d:%d\n", __FUNCTION__, __LINE__, argc, puiPara->TimelapseSwitch,puiPara->TimelapseTime.Hour,puiPara->TimelapseTime.Min,puiPara->TimelapseTime.Sec);
return TRUE; return TRUE;
} }
@ -470,7 +479,7 @@ BOOL sf_cmd_work_time_switch(unsigned char argc, char **argv)
sscanf_s(argv[1],"%d", &value); sscanf_s(argv[1],"%d", &value);
if(value < SF_ON_OFF_MAX) if(value < SF_ON_OFF_MAX)
{ {
SysSetFlag(WorkTime1Switch, value); puiPara->WorkTime1Switch = value;
sscanf_s(argv[2],"%d", &value); sscanf_s(argv[2],"%d", &value);
puiPara->WorkTime[0].StartTime.Hour = value; puiPara->WorkTime[0].StartTime.Hour = value;
sscanf_s(argv[3],"%d", &value); sscanf_s(argv[3],"%d", &value);
@ -482,14 +491,14 @@ BOOL sf_cmd_work_time_switch(unsigned char argc, char **argv)
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] argc:%d WorkTime1Switch:%d %d:%d-%d:%d\n", __FUNCTION__, __LINE__, argc, SysGetFlag(WorkTime1Switch),puiPara->WorkTime[0].StartTime.Hour,puiPara->WorkTime[0].StartTime.Min,puiPara->WorkTime[0].StopTime.Hour,puiPara->WorkTime[0].StopTime.Min); printf("[%s:%d] argc:%d WorkTime1Switch:%d %d:%d-%d:%d\n", __FUNCTION__, __LINE__, argc, puiPara->WorkTime1Switch,puiPara->WorkTime[0].StartTime.Hour,puiPara->WorkTime[0].StartTime.Min,puiPara->WorkTime[0].StopTime.Hour,puiPara->WorkTime[0].StopTime.Min);
} }
else if(value == 2) else if(value == 2)
{ {
sscanf_s(argv[1],"%d", &value); sscanf_s(argv[1],"%d", &value);
if(value < SF_ON_OFF_MAX) if(value < SF_ON_OFF_MAX)
{ {
SysSetFlag(WorkTime2Switch, value); puiPara->WorkTime2Switch = value;
sscanf_s(argv[2],"%d", &value); sscanf_s(argv[2],"%d", &value);
puiPara->WorkTime[1].StartTime.Hour = value; puiPara->WorkTime[1].StartTime.Hour = value;
sscanf_s(argv[3],"%d", &value); sscanf_s(argv[3],"%d", &value);
@ -500,7 +509,7 @@ BOOL sf_cmd_work_time_switch(unsigned char argc, char **argv)
puiPara->WorkTime[1].StopTime.Min = value; puiPara->WorkTime[1].StopTime.Min = value;
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] argc:%d WorkTime1Switch:%d %d:%d-%d:%d\n", __FUNCTION__, __LINE__, argc, SysGetFlag(WorkTime2Switch),puiPara->WorkTime[1].StartTime.Hour,puiPara->WorkTime[1].StartTime.Min,puiPara->WorkTime[1].StopTime.Hour,puiPara->WorkTime[1].StopTime.Min); printf("[%s:%d] argc:%d WorkTime1Switch:%d %d:%d-%d:%d\n", __FUNCTION__, __LINE__, argc, puiPara->WorkTime2Switch,puiPara->WorkTime[1].StartTime.Hour,puiPara->WorkTime[1].StartTime.Min,puiPara->WorkTime[1].StopTime.Hour,puiPara->WorkTime[1].StopTime.Min);
} }
} }
@ -510,39 +519,42 @@ BOOL sf_cmd_work_time_switch(unsigned char argc, char **argv)
BOOL sf_cmd_sim_auto_switch(unsigned char argc, char **argv) BOOL sf_cmd_sim_auto_switch(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_SIM_SWITCH_MAX){ if(value < SF_SIM_SWITCH_MAX){
SysSetFlag(SimAutoSwitch, value); puiPara->SimAutoSwitch = value;
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] SimAutoSwitch:%d\n", __FUNCTION__, __LINE__,SysGetFlag(SimAutoSwitch)); printf("[%s:%d] SimAutoSwitch:%d\n", __FUNCTION__, __LINE__,puiPara->SimAutoSwitch);
return TRUE; return TRUE;
} }
BOOL sf_cmd_sen_max_num(unsigned char argc, char **argv) BOOL sf_cmd_sen_max_num(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_SEND_MAX_NUM_MAX){ if(value < SF_SEND_MAX_NUM_MAX){
SysSetFlag(SendMaxNum, value); puiPara->SendMaxNum = value;
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] SendMaxNum:%d\n", __FUNCTION__, __LINE__,SysGetFlag(SendMaxNum)); printf("[%s:%d] SendMaxNum:%d\n", __FUNCTION__, __LINE__,puiPara->SendMaxNum);
return TRUE; return TRUE;
} }
BOOL sf_cmd_gprs_mode(unsigned char argc, char **argv) BOOL sf_cmd_gprs_mode(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_GPRS_MODE_MAX){ if(value < SF_GPRS_MODE_MAX){
SysSetFlag(GprsMode, value); puiPara->GprsMode = value;
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] GprsMode:%d\n", __FUNCTION__, __LINE__,SysGetFlag(GprsMode)); printf("[%s:%d] GprsMode:%d\n", __FUNCTION__, __LINE__,puiPara->GprsMode);
return TRUE; return TRUE;
} }
@ -558,26 +570,26 @@ BOOL sf_cmd_daily_report_switch(unsigned char argc, char **argv)
sscanf_s(argv[1],"%d", &value); sscanf_s(argv[1],"%d", &value);
if(value < SF_ON_OFF_MAX) if(value < SF_ON_OFF_MAX)
{ {
SysSetFlag(DailyReportSwitch, value); puiPara->DailyReportSwitch = value;
sscanf_s(argv[2],"%d", &value); sscanf_s(argv[2],"%d", &value);
puiPara->DailyReportTime.Hour = value; puiPara->DailyReportTime.Hour = value;
sscanf_s(argv[3],"%d", &value); sscanf_s(argv[3],"%d", &value);
puiPara->DailyReportTime.Min = value; puiPara->DailyReportTime.Min = value;
} }
printf("[%s:%d] DailyReportSwitch:%d H:%d M:%d\n", __FUNCTION__, __LINE__,SysGetFlag(DailyReportSwitch),puiPara->DailyReportTime.Hour,puiPara->DailyReportTime.Min); printf("[%s:%d] DailyReportSwitch:%d H:%d M:%d\n", __FUNCTION__, __LINE__,puiPara->DailyReportSwitch,puiPara->DailyReportTime.Hour,puiPara->DailyReportTime.Min);
} }
else if(value == 2) else if(value == 2)
{ {
sscanf_s(argv[1],"%d", &value); sscanf_s(argv[1],"%d", &value);
if(value < SF_ON_OFF_MAX) if(value < SF_ON_OFF_MAX)
{ {
SysSetFlag(ReDailyReport, value); puiPara->ReDailyReport = value;
sscanf_s(argv[2],"%d", &value); sscanf_s(argv[2],"%d", &value);
puiPara->DailyReportTime2.Hour = value; puiPara->DailyReportTime2.Hour = value;
sscanf_s(argv[3],"%d", &value); sscanf_s(argv[3],"%d", &value);
puiPara->DailyReportTime2.Min = value; puiPara->DailyReportTime2.Min = value;
} }
printf("[%s:%d] DailyReportSwitch:%d H:%d M:%d\n", __FUNCTION__, __LINE__,SysGetFlag(ReDailyReport),puiPara->DailyReportTime2.Hour,puiPara->DailyReportTime2.Min); printf("[%s:%d] DailyReportSwitch:%d H:%d M:%d\n", __FUNCTION__, __LINE__,puiPara->ReDailyReport,puiPara->DailyReportTime2.Hour,puiPara->DailyReportTime2.Min);
} }
Save_MenuInfo(); Save_MenuInfo();
} }
@ -588,52 +600,56 @@ BOOL sf_cmd_daily_report_switch(unsigned char argc, char **argv)
BOOL sf_cmd_re_daily_report(unsigned char argc, char **argv) BOOL sf_cmd_re_daily_report(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){ if(value < SF_ON_OFF_MAX){
SysSetFlag(ReDailyReport, value); puiPara->ReDailyReport = value;
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] ReDailyReport:%d\n", __FUNCTION__, __LINE__,SysGetFlag(ReDailyReport)); printf("[%s:%d] ReDailyReport:%d\n", __FUNCTION__, __LINE__,puiPara->ReDailyReport);
return TRUE; return TRUE;
} }
BOOL sf_cmd_daily_report_test_switch(unsigned char argc, char **argv) BOOL sf_cmd_daily_report_test_switch(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){ if(value < SF_ON_OFF_MAX){
SysSetFlag(DailyReportTestSwitch, value); puiPara->DailyReportTestSwitch = value;
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] DailyReportTestSwitch:%d\n", __FUNCTION__, __LINE__,SysGetFlag(DailyReportTestSwitch)); printf("[%s:%d] DailyReportTestSwitch:%d\n", __FUNCTION__, __LINE__,puiPara->DailyReportTestSwitch);
return TRUE; return TRUE;
} }
BOOL sf_cmd_sim_pin_flag(unsigned char argc, char **argv) BOOL sf_cmd_sim_pin_flag(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){ if(value < SF_ON_OFF_MAX){
SysSetFlag(SimPinFlag, value); puiPara->SimPinFlag = value;
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] SimPinFlag:%d\n", __FUNCTION__, __LINE__,SysGetFlag(SimPinFlag)); printf("[%s:%d] SimPinFlag:%d\n", __FUNCTION__, __LINE__,puiPara->SimPinFlag);
return TRUE; return TRUE;
} }
BOOL sf_cmd_gps_switch(unsigned char argc, char **argv) BOOL sf_cmd_gps_switch(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){ if(value < SF_ON_OFF_MAX){
SysSetFlag(GpsSwitch, value); puiPara->GpsSwitch = value;
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] GpsSwitch:%d\n", __FUNCTION__, __LINE__,SysGetFlag(GpsSwitch)); printf("[%s:%d] GpsSwitch:%d\n", __FUNCTION__, __LINE__,puiPara->GpsSwitch);
return TRUE; return TRUE;
} }
@ -671,11 +687,12 @@ BOOL sf_cmd_longitude(unsigned char argc, char **argv)
BOOL sf_cmd_language(unsigned char argc, char **argv) BOOL sf_cmd_language(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < LANG_ID_MAX){ if(value < LANG_ID_MAX){
SysSetFlag(FL_LANGUAGE, value); SysSetFlag(FL_LANGUAGE, value);
SysSetFlag(Language, value); puiPara->Language = value;
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] FL_LANGUAGE:%d\n", __FUNCTION__, __LINE__,SysGetFlag(FL_LANGUAGE)); printf("[%s:%d] FL_LANGUAGE:%d\n", __FUNCTION__, __LINE__,SysGetFlag(FL_LANGUAGE));
@ -685,54 +702,58 @@ BOOL sf_cmd_language(unsigned char argc, char **argv)
BOOL sf_cmd_date_style(unsigned char argc, char **argv) BOOL sf_cmd_date_style(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_DATE_TIME_MAX){ if(value < SF_DATE_TIME_MAX){
SysSetFlag(DateStyle, value); puiPara->DateStyle = value;
SysSetFlag(FL_DateFormatIndex, value); SysSetFlag(FL_DateFormatIndex, value);
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] DateStyle:%d\n", __FUNCTION__, __LINE__,SysGetFlag(DateStyle)); printf("[%s:%d] DateStyle:%d\n", __FUNCTION__, __LINE__,puiPara->DateStyle);
return TRUE; return TRUE;
} }
BOOL sf_cmd_stamp_switch(unsigned char argc, char **argv) BOOL sf_cmd_stamp_switch(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){ if(value < SF_ON_OFF_MAX){
SysSetFlag(StampSwitch, value); puiPara->StampSwitch = value;
SysSetFlag(FL_DATE_STAMP, ((1 == value) ? DATEIMPRINT_DATE_TIME : DATEIMPRINT_OFF)); SysSetFlag(FL_DATE_STAMP, ((1 == value) ? DATEIMPRINT_DATE_TIME : DATEIMPRINT_OFF));
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] StampSwitch:%d\n", __FUNCTION__, __LINE__,SysGetFlag(StampSwitch)); printf("[%s:%d] StampSwitch:%d\n", __FUNCTION__, __LINE__,puiPara->StampSwitch);
return TRUE; return TRUE;
} }
BOOL sf_cmd_battery_type(unsigned char argc, char **argv) BOOL sf_cmd_battery_type(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_BATT_MAX){ if(value < SF_BATT_MAX){
SysSetFlag(BatteryType, value); puiPara->BatteryType = value;
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] BatteryType:%d\n", __FUNCTION__, __LINE__,SysGetFlag(BatteryType)); printf("[%s:%d] BatteryType:%d\n", __FUNCTION__, __LINE__,puiPara->BatteryType);
return TRUE; return TRUE;
} }
BOOL sf_cmd_sd_loop_switch(unsigned char argc, char **argv) BOOL sf_cmd_sd_loop_switch(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){ if(value < SF_ON_OFF_MAX){
SysSetFlag(SdLoopSwitch, value); puiPara->SdLoopSwitch = value;
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] SdLoopSwitch:%d\n", __FUNCTION__, __LINE__,SysGetFlag(SdLoopSwitch)); printf("[%s:%d] SdLoopSwitch:%d\n", __FUNCTION__, __LINE__,puiPara->SdLoopSwitch);
return TRUE; return TRUE;
} }
@ -745,175 +766,187 @@ BOOL sf_cmd_pwd_switch(unsigned char argc, char **argv)
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
if(value < SF_ON_OFF_MAX) if(value < SF_ON_OFF_MAX)
{ {
SysSetFlag(PwdSwitch, value); puiPara->PwdSwitch = value;
strncpy(puiPara->PwdStr, argv[1], ((6 <= strlen(argv[1])) ? 6 : (strlen(argv[1])))); strncpy(puiPara->PwdStr, argv[1], ((6 <= strlen(argv[1])) ? 6 : (strlen(argv[1]))));
Save_MenuInfo(); Save_MenuInfo();
} }
} }
printf("[%s:%d] PwdSwitch:%d PwdStr:%s\n", __FUNCTION__, __LINE__,SysGetFlag(PwdSwitch), puiPara->PwdStr); printf("[%s:%d] PwdSwitch:%d PwdStr:%s\n", __FUNCTION__, __LINE__,puiPara->PwdSwitch, puiPara->PwdStr);
return TRUE; return TRUE;
} }
BOOL sf_cmd_send_photo_switch(unsigned char argc, char **argv) BOOL sf_cmd_send_photo_switch(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){ if(value < SF_ON_OFF_MAX){
SysSetFlag(SendPhotoSwitch, value); puiPara->SendPhotoSwitch = value;
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] SendPhotoSwitch:%d\n", __FUNCTION__, __LINE__,SysGetFlag(SendPhotoSwitch)); printf("[%s:%d] SendPhotoSwitch:%d\n", __FUNCTION__, __LINE__,puiPara->SendPhotoSwitch);
return TRUE; return TRUE;
} }
BOOL sf_cmd_send_video_switch(unsigned char argc, char **argv) BOOL sf_cmd_send_video_switch(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){ if(value < SF_ON_OFF_MAX){
SysSetFlag(SendVideoSwitch, value); puiPara->SendVideoSwitch = value;
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] SendVideoSwitch:%d\n", __FUNCTION__, __LINE__,SysGetFlag(SendVideoSwitch)); printf("[%s:%d] SendVideoSwitch:%d\n", __FUNCTION__, __LINE__,puiPara->SendVideoSwitch);
return TRUE; return TRUE;
} }
BOOL sf_cmd_send_pic_size(unsigned char argc, char **argv) BOOL sf_cmd_send_pic_size(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_SEND_MAX){ if(value < SF_SEND_MAX){
SysSetFlag(SendPicSize, value); puiPara->SendPicSize = value;
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] SendPicSize:%d\n", __FUNCTION__, __LINE__,SysGetFlag(SendPicSize)); printf("[%s:%d] SendPicSize:%d\n", __FUNCTION__, __LINE__,puiPara->SendPicSize);
return TRUE; return TRUE;
} }
BOOL sf_cmd_send_multishot_index(unsigned char argc, char **argv) BOOL sf_cmd_send_multishot_index(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
if(argc == 5) if(argc == 5)
{ {
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
SysSetFlag(SendMultishotIndex1, value); puiPara->SendMultishotIndex1 = value;
sscanf_s(argv[1],"%d", &value); sscanf_s(argv[1],"%d", &value);
SysSetFlag(SendMultishotIndex2, value); puiPara->SendMultishotIndex2 = value;
sscanf_s(argv[2],"%d", &value); sscanf_s(argv[2],"%d", &value);
SysSetFlag(SendMultishotIndex3, value); puiPara->SendMultishotIndex3 = value;
sscanf_s(argv[3],"%d", &value); sscanf_s(argv[3],"%d", &value);
SysSetFlag(SendMultishotIndex4, value); puiPara->SendMultishotIndex4 = value;
sscanf_s(argv[4],"%d", &value); sscanf_s(argv[4],"%d", &value);
SysSetFlag(SendMultishotIndex5, value); puiPara->SendMultishotIndex5 = value;
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] SendMultishotIndex:%d %d %d %d %d\n", __FUNCTION__, __LINE__,SysGetFlag(SendMultishotIndex1),SysGetFlag(SendMultishotIndex2),SysGetFlag(SendMultishotIndex3),SysGetFlag(SendMultishotIndex4),SysGetFlag(SendMultishotIndex5)); printf("[%s:%d] SendMultishotIndex:%d %d %d %d %d\n", __FUNCTION__, __LINE__,puiPara->SendMultishotIndex1,puiPara->SendMultishotIndex2,puiPara->SendMultishotIndex3,puiPara->SendMultishotIndex4,puiPara->SendMultishotIndex5);
return TRUE; return TRUE;
} }
BOOL sf_cmd_date_auto(unsigned char argc, char **argv) BOOL sf_cmd_date_auto(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_DATE_MAX){ if(value < SF_DATE_MAX){
SysSetFlag(DateAuto, value); puiPara->DateAuto = value;
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] DateAuto:%d\n", __FUNCTION__, __LINE__,SysGetFlag(DateAuto)); printf("[%s:%d] DateAuto:%d\n", __FUNCTION__, __LINE__,puiPara->DateAuto);
return TRUE; return TRUE;
} }
BOOL sf_cmd_debug_mode(unsigned char argc, char **argv) BOOL sf_cmd_debug_mode(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){ if(value < SF_ON_OFF_MAX){
SysSetFlag(DebugMode, value); puiPara->DebugMode = value;
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] DebugMode:%d\n", __FUNCTION__, __LINE__,SysGetFlag(DebugMode)); printf("[%s:%d] DebugMode:%d\n", __FUNCTION__, __LINE__,puiPara->DebugMode);
return TRUE; return TRUE;
} }
BOOL sf_cmd_auto_off_switch(unsigned char argc, char **argv) BOOL sf_cmd_auto_off_switch(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){ if(value < SF_ON_OFF_MAX){
SysSetFlag(AutoOffSwitch, value); puiPara->AutoOffSwitch = value;
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] AutoOffSwitch:%d\n", __FUNCTION__, __LINE__,SysGetFlag(AutoOffSwitch)); printf("[%s:%d] AutoOffSwitch:%d\n", __FUNCTION__, __LINE__,puiPara->AutoOffSwitch);
return TRUE; return TRUE;
} }
BOOL sf_cmd_auto_log_switch(unsigned char argc, char **argv) BOOL sf_cmd_auto_log_switch(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){ if(value < SF_ON_OFF_MAX){
SysSetFlag(AutoLogSwitch, value); puiPara->AutoLogSwitch = value;
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] AutoLogSwitch:%d\n", __FUNCTION__, __LINE__,SysGetFlag(AutoLogSwitch)); printf("[%s:%d] AutoLogSwitch:%d\n", __FUNCTION__, __LINE__,puiPara->AutoLogSwitch);
return TRUE; return TRUE;
} }
BOOL sf_cmd_raw_switch(unsigned char argc, char **argv) BOOL sf_cmd_raw_switch(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){ if(value < SF_ON_OFF_MAX){
SysSetFlag(RawSwitch, value); puiPara->RawSwitch = value;
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] RawSwitch:%d\n", __FUNCTION__, __LINE__,SysGetFlag(RawSwitch)); printf("[%s:%d] RawSwitch:%d\n", __FUNCTION__, __LINE__,puiPara->RawSwitch);
return TRUE; return TRUE;
} }
BOOL sf_cmd_gprs_switch(unsigned char argc, char **argv) BOOL sf_cmd_gprs_switch(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){ if(value < SF_ON_OFF_MAX){
SysSetFlag(GprsSwitch, value); puiPara->GprsSwitch = value;
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] GprsSwitch:%d\n", __FUNCTION__, __LINE__,SysGetFlag(GprsSwitch)); printf("[%s:%d] GprsSwitch:%d\n", __FUNCTION__, __LINE__,puiPara->GprsSwitch);
return TRUE; return TRUE;
} }
BOOL sf_cmd_qlog_switch(unsigned char argc, char **argv) BOOL sf_cmd_qlog_switch(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){ if(value < SF_ON_OFF_MAX){
SysSetFlag(QLogSwitch, value); puiPara->QLogSwitch = value;
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] QLogSwitch:%d\n", __FUNCTION__, __LINE__,SysGetFlag(QLogSwitch)); printf("[%s:%d] QLogSwitch:%d\n", __FUNCTION__, __LINE__,puiPara->QLogSwitch);
return TRUE; return TRUE;
} }
BOOL cmd_cam_mode(unsigned char argc, char **argv) BOOL cmd_cam_mode(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
if(value < SF_CAM_MODE_MAX){ if(value < SF_CAM_MODE_MAX){
SysSetFlag(CamMode, value); puiPara->CamMode = value;
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] CamMode:%d\n", __FUNCTION__, __LINE__,SysGetFlag(CamMode)); printf("[%s:%d] CamMode:%d\n", __FUNCTION__, __LINE__,puiPara->CamMode);
return TRUE; return TRUE;
} }
@ -1016,13 +1049,14 @@ BOOL sf_cmd_auto_off_time(unsigned char argc, char **argv)
BOOL sf_cmd_battery_log_switch(unsigned char argc, char **argv) BOOL sf_cmd_battery_log_switch(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){ if(value < SF_ON_OFF_MAX){
SysSetFlag(BatteryLogSwitch, value); puiPara->BatteryLogSwitch = value;
Save_MenuInfo(); Save_MenuInfo();
} }
printf("[%s:%d] BatteryLogSwitch:%d\n", __FUNCTION__, __LINE__,SysGetFlag(BatteryLogSwitch)); printf("[%s:%d] BatteryLogSwitch:%d\n", __FUNCTION__, __LINE__,puiPara->BatteryLogSwitch);
return TRUE; return TRUE;
} }
@ -1056,21 +1090,22 @@ UINT32 sf_set_pir_sensitivity(UINT8 pirs)
UINT8 digPirCount[10] = {0, 0, 0, 0, 0, 0, 1, 1, 1, 1}; UINT8 digPirCount[10] = {0, 0, 0, 0, 0, 0, 1, 1, 1, 1};
UIMenuStoreInfo *puiPara = sf_ui_para_get(); UIMenuStoreInfo *puiPara = sf_ui_para_get();
//UIMenuStoreInfo *puiPara = sf_ui_para_get();
if(pirs >= 10) if(pirs >= 10)
return FAIL; return FAIL;
SysSetFlag(PirSensitivity, pirs); puiPara->PirSensitivity = pirs;
SysSetFlag(DigitPirSensitivity, digPirLevel[pirs]); puiPara->DigitPirSensitivity = digPirLevel[pirs];
SysSetFlag(DigitPirCnt, digPirCount[pirs]); puiPara->DigitPirCnt = digPirCount[pirs];
SysSetFlag(DigitPirWindowTime, 0); puiPara->DigitPirWindowTime = 0;
if(SysGetFlag(PirSensitivity)) /*if(puiPara->PirSensitivity))
{ {
SysSetFlag(TimelapseSwitch, SF_OFF); puiPara->TimelapseSwitch, SF_OFF);
puiPara->TimelapseTime.Hour = 0; puiPara->TimelapseTime.Hour = 0;
puiPara->TimelapseTime.Min = 0; puiPara->TimelapseTime.Min = 0;
puiPara->TimelapseTime.Sec = 0; puiPara->TimelapseTime.Sec = 0;
//Save_MenuInfo(); //Save_MenuInfo();
} }*/
return SUCCESS; return SUCCESS;
} }
@ -1080,14 +1115,14 @@ UINT32 sf_set_pir_sensitivity(UINT8 pirs)
void sf_usb_mux_s(UINT32 cnt) void sf_usb_mux_s(UINT32 cnt)
{ {
static UINT8 cntflag = 1; static UINT8 cntflag = 1;
printf("[%s:%d] s\n", __FUNCTION__, __LINE__); printf("[%s:%d] c s\n", __FUNCTION__, __LINE__);
if(1 == cntflag) if(1 == cntflag)
{ {
cntflag = 0; cntflag = 0;
gpio_direction_output(GPIO_USB_MUX_S, 1); gpio_direction_output(GPIO_USB_MUX_S, 1);
} }
gpio_set_value(GPIO_USB_MUX_S, cnt); gpio_set_value(GPIO_USB_MUX_S, cnt);
printf("[%s:%d] e cnt:%d\n", __FUNCTION__, __LINE__,cnt); printf("[%s:%d] e c cnt:%d\n", __FUNCTION__, __LINE__,cnt);
} }
BOOL sf_cmd_usb_mux_s(unsigned char argc, char **argv) BOOL sf_cmd_usb_mux_s(unsigned char argc, char **argv)
{ {
@ -1153,6 +1188,10 @@ static SINT32 sf_cardv_proccess_cmd_key(SF_MESSAGE_BUF_S *pMessageBuf)
{ {
sf_mcu_dataready_ck(pMessageBuf->arg3); sf_mcu_dataready_ck(pMessageBuf->arg3);
} }
else if(SF_KEY_PIN_AOTU_MODE_POWOFF == pMessageBuf->arg2)
{
Ux_PostEvent(NVTEVT_SYSTEM_SHUTDOWN, 1, 0); //shutdown start
}
break; break;
default: default:
@ -1177,7 +1216,7 @@ static SINT32 app_proccess_cmd_para_update(SF_MESSAGE_BUF_S *pMessageBuf)
return SF_SUCCESS; return SF_SUCCESS;
} }
#if 0
void sf_cardv_proccess_cmd_gprs(SF_MESSAGE_BUF_S *pMessageBuf) void sf_cardv_proccess_cmd_gprs(SF_MESSAGE_BUF_S *pMessageBuf)
{ {
UINT8 netSearchStep = pMessageBuf->arg1; UINT8 netSearchStep = pMessageBuf->arg1;
@ -1185,11 +1224,12 @@ void sf_cardv_proccess_cmd_gprs(SF_MESSAGE_BUF_S *pMessageBuf)
UINT32 simCardInsert = ((pMessageBuf->arg3) >> 0) & 1; UINT32 simCardInsert = ((pMessageBuf->arg3) >> 0) & 1;
UINT8 gGPRSNoRespone = ((pMessageBuf->arg3) >> 1) & 1; UINT8 gGPRSNoRespone = ((pMessageBuf->arg3) >> 1) & 1;
UINT32 FtpOpenOk = ((pMessageBuf->arg3) >> 2) & 1; UINT32 FtpOpenOk = ((pMessageBuf->arg3) >> 2) & 1;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
if (sf_get_fw_update()) if (sf_get_fw_update())
return; return;
if(SysGetFlag(GprsSwitch) == SF_ON) if(puiPara->GprsSwitch == SF_ON)
{ {
printf("simCardInsert=%d gprs_search_process=%d cq_Signal=%d gGPRSNoRespone=%d ", simCardInsert, netSearchStep, cq_Signal, gGPRSNoRespone); printf("simCardInsert=%d gprs_search_process=%d cq_Signal=%d gGPRSNoRespone=%d ", simCardInsert, netSearchStep, cq_Signal, gGPRSNoRespone);
@ -1244,13 +1284,14 @@ void sf_cardv_proccess_cmd_gprs(SF_MESSAGE_BUF_S *pMessageBuf)
} }
else //if(cq_Signal < 32) else //if(cq_Signal < 32)
{ {
sf_signal_led_show(sf_signal_level_get(SysGetFlag(NetGeneration), cq_Signal)); sf_signal_led_show(sf_signal_level_get(puiPara->NetGeneration, cq_Signal));
} }
} }
} }
} }
} }
#endif
void* sf_cardv_message_thread(void *argv) void* sf_cardv_message_thread(void *argv)
{ {
@ -1276,8 +1317,12 @@ void* sf_cardv_message_thread(void *argv)
app_proccess_cmd_para_update(&stMessagebuf); app_proccess_cmd_para_update(&stMessagebuf);
break; break;
case CMD_GPRS: case CMD_GPRS:
sf_cardv_proccess_cmd_gprs(&stMessagebuf); //sf_cardv_proccess_cmd_gprs(&stMessagebuf);
break; break;
case CMD_FILE:
sf_share_mem_file_init();
break;
default: default:
break; break;
} }

View File

@ -60,6 +60,7 @@ UINT32 sf_check_card_full(void)
UINT64 diskFree = 0; UINT64 diskFree = 0;
UINT32 ret = 0; UINT32 ret = 0;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
if(!sf_in_card_exist()) if(!sf_in_card_exist())
{ {
return 1; return 1;
@ -71,7 +72,7 @@ UINT32 sf_check_card_full(void)
if(diskFree < 30) /* 30MB */ if(diskFree < 30) /* 30MB */
{ {
ret = TRUE; ret = TRUE;
if(0 == SysGetFlag(SdLoopSwitch)) if(0 == puiPara->SdLoopSwitch)
{ {
IsCardFull = TRUE; IsCardFull = TRUE;
SF_MESSAGE_BUF_S stMessageBuf = {0}; SF_MESSAGE_BUF_S stMessageBuf = {0};

View File

@ -60,7 +60,7 @@ static UINT8 AeNightMode = 0; /* 0:day 1:night */
//#define printf(fmt, args...) printk(fmt , ## args) //#define printf(fmt, args...) printk(fmt , ## args)
static UINT32 simCardInsert=0; static UINT32 simCardInsert=0;
static UINT8 gModuleSleep = 1; static UINT8 gModuleSleep = 1;
static UINT32 SmsCheck = 0; UINT32 SmsCheck = 0;
static SF_CAMERA_CMD_S CameraCmd = {0}; static SF_CAMERA_CMD_S CameraCmd = {0};
static UINT8 McuProductInfo = 0; static UINT8 McuProductInfo = 0;
@ -68,8 +68,8 @@ static UINT8 McuProductInfo = 0;
static UINT8 drNoResetTimeSync = FALSE; //0:reset; 1:no reset; static UINT8 drNoResetTimeSync = FALSE; //0:reset; 1:no reset;
#elif defined(_MODEL_565_HUNTING_EVB_LINUX_4G_S530_) #elif defined(_MODEL_565_HUNTING_EVB_LINUX_4G_S530_)
static UINT8 isSignalReady = 0; //static UINT8 isSignalReady = 0;
static UINT32 GPRS_ERRNO = 0; //static UINT32 GPRS_ERRNO = 0;
#endif #endif
int sf_i2c_fd = -1; int sf_i2c_fd = -1;
@ -1377,6 +1377,7 @@ UINT8 sf_mcu_analog_pir_sen_convert(UINT8 pirs)
UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val) UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
{ {
#if 0
UINT8 mcuReg[REG_SIZE] = {0}; UINT8 mcuReg[REG_SIZE] = {0};
UINT8 mcuData[REG_SIZE] = {0}; UINT8 mcuData[REG_SIZE] = {0};
UINT8 i = 0; UINT8 i = 0;
@ -1848,6 +1849,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
} }
#endif #endif
sf_mcu_write_multi(mcuReg, mcuData, i); sf_mcu_write_multi(mcuReg, mcuData, i);
#endif
return SUCCESS; return SUCCESS;
} }
@ -1883,7 +1885,7 @@ void sf_calculate_daily_report(UINT8*dailyHour, UINT8*dailyMin)
UINT16 timelapse_sum_min = 0; UINT16 timelapse_sum_min = 0;
struct tm mcuTime = {0}; struct tm mcuTime = {0};
//Daily report is always ON //Daily report is always ON
if(SysGetFlag(ReDailyReport)) if(puiPara->ReDailyReport)
{ {
mcuTime = hwclock_get_time(TIME_ID_CURRENT); mcuTime = hwclock_get_time(TIME_ID_CURRENT);
if(puiPara->DailyReportTime2.Hour >= mcuTime.tm_hour) if(puiPara->DailyReportTime2.Hour >= mcuTime.tm_hour)
@ -1905,7 +1907,7 @@ void sf_calculate_daily_report(UINT8*dailyHour, UINT8*dailyMin)
} }
else if(SysGetFlag(GprsMode) == SF_REMOTE_CONTROL_REAL_TIME) else if(puiPara->GprsMode == SF_REMOTE_CONTROL_REAL_TIME)
{ {
if((!sf_get_mode_flag()) && (sf_get_camera_restart() == 1)) if((!sf_get_mode_flag()) && (sf_get_camera_restart() == 1))
@ -1922,7 +1924,7 @@ void sf_calculate_daily_report(UINT8*dailyHour, UINT8*dailyMin)
} }
} }
else if(SysGetFlag(GpsAntiTheftSwitch) == 1) else if(puiPara->GpsAntiTheftSwitch == 1)
{ {
if((!sf_get_mode_flag()) && (sf_get_camera_restart() == 1)) if((!sf_get_mode_flag()) && (sf_get_camera_restart() == 1))
{ {
@ -1963,9 +1965,9 @@ void sf_calculate_daily_report(UINT8*dailyHour, UINT8*dailyMin)
{ {
if((timelapse_sum_min - daily_sum_min) <= 5) if((timelapse_sum_min - daily_sum_min) <= 5)
{ {
if((SysGetFlag(ReDailyReport) == 1) && (timelapse_sum_min < 5)) if((puiPara->ReDailyReport == 1) && (timelapse_sum_min < 5))
{ {
SysSetFlag(ReDailyReport, 2); puiPara->ReDailyReport = 2;
puiPara->DailyReportTime2.Hour = 0; puiPara->DailyReportTime2.Hour = 0;
puiPara->DailyReportTime2.Min = 0; puiPara->DailyReportTime2.Min = 0;
} }

View File

@ -138,7 +138,7 @@ SINT32 sf_module_init(VOID)
UIMenuStoreInfo *pPara = sf_ui_para_get(); UIMenuStoreInfo *pPara = sf_ui_para_get();
needRecordLogFlag = 1; needRecordLogFlag = 1;
SysSetFlag(NetGeneration, SF_NET_NO); pPara->NetGeneration = SF_NET_NO;
sf_4g_data_buff_clear(); sf_4g_data_buff_clear();
sf_gsm_para_buff_clear(); sf_gsm_para_buff_clear();

View File

@ -1,6 +1,6 @@
; Source Insight Project File List ; Source Insight Project File List
; Project Name: na51089_linux_sdk ; Project Name: s530_app
; Generated by Source Insight 4.00.0107 at 2023/4/10 14:55:33 ; Generated by Source Insight 4.00.0107 at 2023/4/25 17:47:48
; Version=4.00.0107 ; Version=4.00.0107
; ;
; Each line should contain either a file name, a wildcard, or a sub-directory name. ; Each line should contain either a file name, a wildcard, or a sub-directory name.
@ -535,6 +535,189 @@ application\source\cardv\SrcCode\UI\UIView.c
application\source\cardv\SrcCode\UI\UIView.h application\source\cardv\SrcCode\UI\UIView.h
application\source\mem\Makefile application\source\mem\Makefile
application\source\mem\mem.c application\source\mem\mem.c
application\source\sf_app\code\include\aos_util.h
application\source\sf_app\code\include\apr.h
application\source\sf_app\code\include\apr_errno.h
application\source\sf_app\code\include\apr_general.h
application\source\sf_app\code\include\apr_lib.h
application\source\sf_app\code\include\apr_pools.h
application\source\sf_app\code\include\apr_sha1.h
application\source\sf_app\code\include\apr_strings.h
application\source\sf_app\code\include\apr_want.h
application\source\sf_app\code\include\apr_xlate.h
application\source\sf_app\code\include\apu.h
application\source\sf_app\code\include\apu_config.h
application\source\sf_app\code\include\bitstream.h
application\source\sf_app\code\include\cJSON.h
application\source\sf_app\code\include\HMACSHA.h
application\source\sf_app\code\include\mask.h
application\source\sf_app\code\include\mbedtls.h
application\source\sf_app\code\include\mmask.h
application\source\sf_app\code\include\mqrspec.h
application\source\sf_app\code\include\qrenc.h
application\source\sf_app\code\include\qrencode.h
application\source\sf_app\code\include\qrencode_inner.h
application\source\sf_app\code\include\qrinput.h
application\source\sf_app\code\include\qrspec.h
application\source\sf_app\code\include\rscode.h
application\source\sf_app\code\include\sf_aes.h
application\source\sf_app\code\include\sf_base64.h
application\source\sf_app\code\include\sf_bmp.h
application\source\sf_app\code\include\sf_commMng.h
application\source\sf_app\code\include\sf_common.h
application\source\sf_app\code\include\sf_commu_mcu.h
application\source\sf_app\code\include\sf_commu_mcu_reg.h
application\source\sf_app\code\include\sf_datahttp.h
application\source\sf_app\code\include\sf_dataMng.h
application\source\sf_app\code\include\sf_dbg.h
application\source\sf_app\code\include\sf_debug.h
application\source\sf_app\code\include\sf_device.h
application\source\sf_app\code\include\sf_dev_other.h
application\source\sf_app\code\include\sf_dev_usb.h
application\source\sf_app\code\include\sf_eg91_gps.h
application\source\sf_app\code\include\sf_eg91_server.h
application\source\sf_app\code\include\sf_eg91_sim.h
application\source\sf_app\code\include\sf_fileMng.h
application\source\sf_app\code\include\sf_hal_gpio.h
application\source\sf_app\code\include\sf_hal_ttyusb.h
application\source\sf_app\code\include\sf_http_server.h
application\source\sf_app\code\include\sf_keymng.h
application\source\sf_app\code\include\sf_ledmng.h
application\source\sf_app\code\include\sf_log.h
application\source\sf_app\code\include\sf_md5.h
application\source\sf_app\code\include\sf_message_queue.h
application\source\sf_app\code\include\sf_module.h
application\source\sf_app\code\include\sf_opera_adapt.h
application\source\sf_app\code\include\sf_otamng.h
application\source\sf_app\code\include\sf_param_common.h
application\source\sf_app\code\include\sf_param_enum.h
application\source\sf_app\code\include\sf_param_struct.h
application\source\sf_app\code\include\sf_qrcode.h
application\source\sf_app\code\include\sf_qrutils.h
application\source\sf_app\code\include\sf_service.h
application\source\sf_app\code\include\sf_storeMng.h
application\source\sf_app\code\include\sf_system.h
application\source\sf_app\code\include\sf_systemMng.h
application\source\sf_app\code\include\sf_transdata1.h
application\source\sf_app\code\include\sf_type.h
application\source\sf_app\code\include\sha256.h
application\source\sf_app\code\include\split.h
application\source\sf_app\code\source\4gMng\sf_eg91_gps.c
application\source\sf_app\code\source\4gMng\sf_eg91_server.c
application\source\sf_app\code\source\4gMng\sf_eg91_sim.c
application\source\sf_app\code\source\4gMng\sf_http_server.c
application\source\sf_app\code\source\4gMng\sf_module.c
application\source\sf_app\code\source\4gMng\sf_opera_adapt.c
application\source\sf_app\code\source\app\sf_app.c
application\source\sf_app\code\source\app\sf_common.c
application\source\sf_app\code\source\app\sf_dbg.c
application\source\sf_app\code\source\app\sf_device.c
application\source\sf_app\code\source\app\sf_service.c
application\source\sf_app\code\source\app\sf_system.c
application\source\sf_app\code\source\app\test.cpp
application\source\sf_app\code\source\commMng\sf_message_queue.c
application\source\sf_app\code\source\commMng\sf_share_mem.c
application\source\sf_app\code\source\dataMng\sf_datahttp.c
application\source\sf_app\code\source\dataMng\sf_dataMng.c
application\source\sf_app\code\source\dataMng\sf_transdata1.c
application\source\sf_app\code\source\debugMng\sf_debug.c
application\source\sf_app\code\source\devMng\sf_dev_other.c
application\source\sf_app\code\source\devMng\sf_dev_usb.c
application\source\sf_app\code\source\devMng\sf_keymng.c
application\source\sf_app\code\source\devMng\sf_ledmng.c
application\source\sf_app\code\source\fileMng\cJSON.c
application\source\sf_app\code\source\fileMng\sf_fileMng.c
application\source\sf_app\code\source\gpio\sf_hal_gpio.c
application\source\sf_app\code\source\logMng\sf_log.c
application\source\sf_app\code\source\paramMng\sf_param_common.c
application\source\sf_app\code\source\qrcodeMng\bitstream.c
application\source\sf_app\code\source\qrcodeMng\mask.c
application\source\sf_app\code\source\qrcodeMng\mmask.c
application\source\sf_app\code\source\qrcodeMng\mqrspec.c
application\source\sf_app\code\source\qrcodeMng\qrenc.c
application\source\sf_app\code\source\qrcodeMng\qrencode.c
application\source\sf_app\code\source\qrcodeMng\qrinput.c
application\source\sf_app\code\source\qrcodeMng\qrspec.c
application\source\sf_app\code\source\qrcodeMng\rscode.c
application\source\sf_app\code\source\qrcodeMng\sf_base64.c
application\source\sf_app\code\source\qrcodeMng\sf_bmp.c
application\source\sf_app\code\source\qrcodeMng\sf_qrcode.c
application\source\sf_app\code\source\qrcodeMng\split.c
application\source\sf_app\code\source\signatureMng\aos_util.c
application\source\sf_app\code\source\signatureMng\apr_sha1.c
application\source\sf_app\code\source\signatureMng\HMACSHA.c
application\source\sf_app\code\source\signatureMng\sha256.c
application\source\sf_app\code\source\storeMng\sf_storeMng.c
application\source\sf_app\code\source\systemMng\sf_commu_mcu.c
application\source\sf_app\code\source\systemMng\sf_commu_mcu_reg.c
application\source\sf_app\code\source\systemMng\sf_systemMng.c
application\source\sf_app\code\source\ttyusb\sf_hal_ttyusb.c
application\source\sf_app\code\source\updataMng\sf_md5.c
application\source\sf_app\code\source\updataMng\sf_otamng.c
application\source\sf_app\code\source\utils\mbedtls.c
application\source\sf_app\code\source\utils\sf_aes.c
application\source\sf_app\code\source\utils\sf_qrutils.c
application\source\sf_app\component\liveMng\inc\exports\aiot_authorize_api.h
application\source\sf_app\component\liveMng\inc\exports\iot_export_awss.h
application\source\sf_app\component\liveMng\inc\exports\iot_export_coap.h
application\source\sf_app\component\liveMng\inc\exports\iot_export_compat.h
application\source\sf_app\component\liveMng\inc\exports\iot_export_diagnosis.h
application\source\sf_app\component\liveMng\inc\exports\iot_export_errno.h
application\source\sf_app\component\liveMng\inc\exports\iot_export_event.h
application\source\sf_app\component\liveMng\inc\exports\iot_export_guider.h
application\source\sf_app\component\liveMng\inc\exports\iot_export_http.h
application\source\sf_app\component\liveMng\inc\exports\iot_export_http2.h
application\source\sf_app\component\liveMng\inc\exports\iot_export_http2_stream.h
application\source\sf_app\component\liveMng\inc\exports\iot_export_linkkit.h
application\source\sf_app\component\liveMng\inc\exports\iot_export_mqtt.h
application\source\sf_app\component\liveMng\inc\exports\iot_export_ota.h
application\source\sf_app\component\liveMng\inc\exports\iot_export_reset.h
application\source\sf_app\component\liveMng\inc\exports\iot_export_shadow.h
application\source\sf_app\component\liveMng\inc\exports\iot_export_state.h
application\source\sf_app\component\liveMng\inc\exports\iot_export_ticknotify.h
application\source\sf_app\component\liveMng\inc\exports\iot_export_timer.h
application\source\sf_app\component\liveMng\inc\exports\linkkit_export.h
application\source\sf_app\component\liveMng\inc\exports\linkkit_gateway_export.h
application\source\sf_app\component\liveMng\inc\imports\iot_import_awss.h
application\source\sf_app\component\liveMng\inc\imports\iot_import_config.h
application\source\sf_app\component\liveMng\inc\imports\iot_import_crypt.h
application\source\sf_app\component\liveMng\inc\imports\iot_import_dtls.h
application\source\sf_app\component\liveMng\inc\imports\iot_import_kv.h
application\source\sf_app\component\liveMng\inc\imports\iot_import_ota.h
application\source\sf_app\component\liveMng\inc\imports\iot_import_product.h
application\source\sf_app\component\liveMng\inc\imports\iot_import_tcp.h
application\source\sf_app\component\liveMng\inc\imports\iot_import_tls.h
application\source\sf_app\component\liveMng\inc\imports\iot_import_udp.h
application\source\sf_app\component\liveMng\inc\iot_export.h
application\source\sf_app\component\liveMng\inc\iot_import.h
application\source\sf_app\component\liveMng\inc\linkkit_client.h
application\source\sf_app\component\liveMng\inc\linkvisual_client.h
application\source\sf_app\component\liveMng\inc\link_visual_api.h
application\source\sf_app\component\liveMng\inc\link_visual_enum.h
application\source\sf_app\component\liveMng\inc\link_visual_struct.h
application\source\sf_app\component\liveMng\inc\sdk_assistant.h
application\source\sf_app\component\liveMng\inc\sf_liveMng.h
application\source\sf_app\component\liveMng\Makefile
application\source\sf_app\component\liveMng\src\linkkit_client.c
application\source\sf_app\component\liveMng\src\linkvisual_client.c
application\source\sf_app\component\liveMng\src\Makefile
application\source\sf_app\component\liveMng\src\sdk_assistant.c
application\source\sf_app\component\liveMng\src\sf_liveMng.c
application\source\sf_app\component\liveMng\src\sf_venc_stream.c
application\source\sf_app\component\Makefile
application\source\sf_app\component\nfcMng\inc\dev_info_ctrl.h
application\source\sf_app\component\nfcMng\inc\mbedtls.h
application\source\sf_app\component\nfcMng\inc\sf_aes.h
application\source\sf_app\component\nfcMng\inc\sf_dev_info.h
application\source\sf_app\component\nfcMng\inc\sf_nfc_dev.h
application\source\sf_app\component\nfcMng\inc\sf_nfc_setting.h
application\source\sf_app\component\nfcMng\inc\sf_qrutils.h
application\source\sf_app\component\nfcMng\Makefile
application\source\sf_app\component\nfcMng\src\sf_dev_info.c
application\source\sf_app\component\nfcMng\src\sf_nfc_dev.c
application\source\sf_app\component\nfcMng\src\sf_nfc_setting.c
application\source\sf_app\Makefile
application\source\sf_app\sample\test\main.c
driver\include\crypto\cryptodev.h driver\include\crypto\cryptodev.h
driver\include\msdcnvt\msdcnvt_api.h driver\include\msdcnvt\msdcnvt_api.h
driver\include\msdcnvt\msdcnvt_callback.h driver\include\msdcnvt\msdcnvt_callback.h
@ -5003,41 +5186,30 @@ lib\source\pcm_anr\Makefile
lib\source\playback\Makefile lib\source\playback\Makefile
lib\source\PStore\Makefile lib\source\PStore\Makefile
lib\source\QRCode\Makefile lib\source\QRCode\Makefile
lib\source\sifar\code\include\sf_base64.h
lib\source\sifar\code\include\sf_battery.h lib\source\sifar\code\include\sf_battery.h
lib\source\sifar\code\include\sf_common.h lib\source\sifar\code\include\sf_common.h
lib\source\sifar\code\include\sf_commu_mcu.h lib\source\sifar\code\include\sf_commu_mcu.h
lib\source\sifar\code\include\sf_dbg.h lib\source\sifar\code\include\sf_dbg.h
lib\source\sifar\code\include\sf_gps.h lib\source\sifar\code\include\sf_gps.h
lib\source\sifar\code\include\sf_hal_ttyusb.h
lib\source\sifar\code\include\sf_http.h lib\source\sifar\code\include\sf_http.h
lib\source\sifar\code\include\sf_inc.h lib\source\sifar\code\include\sf_inc.h
lib\source\sifar\code\include\sf_led.h lib\source\sifar\code\include\sf_led.h
lib\source\sifar\code\include\sf_log.h
lib\source\sifar\code\include\sf_mcu.h lib\source\sifar\code\include\sf_mcu.h
lib\source\sifar\code\include\sf_message_queue.h
lib\source\sifar\code\include\sf_pc_tool.h lib\source\sifar\code\include\sf_pc_tool.h
lib\source\sifar\code\include\sf_sd_common.h lib\source\sifar\code\include\sf_sd_common.h
lib\source\sifar\code\include\sf_share_mem.h
lib\source\sifar\code\include\sf_sim.h lib\source\sifar\code\include\sf_sim.h
lib\source\sifar\code\include\sf_tcp.h lib\source\sifar\code\include\sf_tcp.h
lib\source\sifar\code\include\sf_type.h
lib\source\sifar\code\source\common\sf_base64.c
lib\source\sifar\code\source\common\sf_battery.c lib\source\sifar\code\source\common\sf_battery.c
lib\source\sifar\code\source\common\sf_common.c lib\source\sifar\code\source\common\sf_common.c
lib\source\sifar\code\source\common\sf_led.c lib\source\sifar\code\source\common\sf_led.c
lib\source\sifar\code\source\common\sf_message_queue.c
lib\source\sifar\code\source\common\sf_pc_tool.c lib\source\sifar\code\source\common\sf_pc_tool.c
lib\source\sifar\code\source\common\sf_sd_common.c lib\source\sifar\code\source\common\sf_sd_common.c
lib\source\sifar\code\source\common\sf_share_mem.c
lib\source\sifar\code\source\debug\sf_dbg.c lib\source\sifar\code\source\debug\sf_dbg.c
lib\source\sifar\code\source\debug\sf_log.c
lib\source\sifar\code\source\mcu\sf_commu_mcu.c lib\source\sifar\code\source\mcu\sf_commu_mcu.c
lib\source\sifar\code\source\mcu\sf_mcu_client.c lib\source\sifar\code\source\mcu\sf_mcu_client.c
lib\source\sifar\code\source\module\sf_4G_auto_operation.c lib\source\sifar\code\source\module\sf_4G_auto_operation.c
lib\source\sifar\code\source\module\sf_4G_usb_uart.c lib\source\sifar\code\source\module\sf_4G_usb_uart.c
lib\source\sifar\code\source\module\sf_gps.c lib\source\sifar\code\source\module\sf_gps.c
lib\source\sifar\code\source\module\sf_hal_ttyusb.c
lib\source\sifar\code\source\module\sf_http.c lib\source\sifar\code\source\module\sf_http.c
lib\source\sifar\code\source\module\sf_sim.c lib\source\sifar\code\source\module\sf_sim.c
lib\source\sifar\code\source\module\sf_tcp.c lib\source\sifar\code\source\module\sf_tcp.c

File diff suppressed because it is too large Load Diff

View File

@ -14,9 +14,9 @@
partition_uenv { label = "uenv"; reg = <0x0 0xF0000 0x0 0x10000>; }; partition_uenv { label = "uenv"; reg = <0x0 0xF0000 0x0 0x10000>; };
partition_kernel { label = "kernel"; reg = <0x0 0x100000 0x0 0x290000>; }; partition_kernel { label = "kernel"; reg = <0x0 0x100000 0x0 0x290000>; };
partition_rootfs { label = "rootfs"; reg = <0x0 0x390000 0x0 0x3E0000>; }; partition_rootfs { label = "rootfs"; reg = <0x0 0x390000 0x0 0x3E0000>; };
partition_rootfs1 { label = "rootfs1"; reg = <0x0 0x770000 0x0 0xA00000>; }; partition_rootfs1 { label = "rootfs1"; reg = <0x0 0x770000 0x0 0xB00000>; };
partition_rtos { label = "rtos"; reg = <0x0 0x1170000 0x0 0x900000>; }; partition_rtos { label = "rtos"; reg = <0x0 0x1270000 0x0 0x900000>; };
partition_app { label = "app"; reg = <0x0 0x1A70000 0x0 0x50000>; }; /* app size depneds on hdal/samples/vendor_cfg/Makeile: ROOTFS_UBI_MAX_LEB_COUNT */ partition_app { label = "app"; reg = <0x0 0x1B70000 0x0 0x50000>; }; /* app size depneds on hdal/samples/vendor_cfg/Makeile: ROOTFS_UBI_MAX_LEB_COUNT */
partition_sys { label = "sys"; reg = <0x0 0x1AC0000 0x0 0x10000>; }; partition_sys { label = "sys"; reg = <0x0 0x1CC0000 0x0 0x10000>; };
partition_all { label = "all"; reg = <0x0 0x0000000 0x0 0x2000000>; }; partition_all { label = "all"; reg = <0x0 0x0000000 0x0 0x2000000>; };
}; };

16
rtos/code/.vscode/c_cpp_properties.json vendored Normal file
View File

@ -0,0 +1,16 @@
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**"
],
"defines": ["_MODEL_565_HUNTING_EVB_LINUX_4G_S530_","_EMBMEM_SPI_NOR_"],
"compilerPath": "/usr/bin/gcc",
"cStandard": "c11",
"cppStandard": "gnu++14",
"intelliSenseMode": "linux-gcc-x64"
}
],
"version": 4
}

View File

@ -136,6 +136,7 @@ UINT32 DrvGPIO_GetPhotoMovieModeFromMonitor(void)
static BOOL first_entry = TRUE; static BOOL first_entry = TRUE;
int ret = 1; int ret = 1;
UINT8 value; UINT8 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
if(first_entry == TRUE){ if(first_entry == TRUE){
@ -176,12 +177,12 @@ UINT32 DrvGPIO_GetPhotoMovieModeFromMonitor(void)
default: default:
printf("%s:%d CamMode:%lu\n", __FUNCTION__, __LINE__,SysGetFlag(CamMode)); printf("%s:%d CamMode:%lu\n", __FUNCTION__, __LINE__,puiPara->CamMode);
if(SF_CAM_MODE_PHOTO == SysGetFlag(CamMode)) if(SF_CAM_MODE_PHOTO == puiPara->CamMode)
{ {
g_uiBootMode = DX_HUNTING_MODE_PHOTO; g_uiBootMode = DX_HUNTING_MODE_PHOTO;
} }
else if(SF_CAM_MODE_VIDEO == SysGetFlag(CamMode)) else if(SF_CAM_MODE_VIDEO == puiPara->CamMode)
{ {
g_uiBootMode = DX_HUNTING_MODE_MOVIE; g_uiBootMode = DX_HUNTING_MODE_MOVIE;
} }
@ -394,7 +395,6 @@ void sf_ir_cut_ctrl_PowerOff(void)
void sf_ir_led_set(UINT8 mode, UINT8 flashLed, UINT8 stillExp, UINT8 isSnapVideo) void sf_ir_led_set(UINT8 mode, UINT8 flashLed, UINT8 stillExp, UINT8 isSnapVideo)
{ {
printf("[%s:%d]s mode:%d,flashLed:%d,isSnapVideo:%d\n",__FUNCTION__,__LINE__,mode,flashLed, isSnapVideo); printf("[%s:%d]s mode:%d,flashLed:%d,isSnapVideo:%d\n",__FUNCTION__,__LINE__,mode,flashLed, isSnapVideo);
PWM_CFG pwm_cfg = { PWM_CFG pwm_cfg = {
.ui_prd = 100, .ui_prd = 100,
.ui_rise = 0, .ui_rise = 0,
@ -418,7 +418,7 @@ void sf_ir_led_set(UINT8 mode, UINT8 flashLed, UINT8 stillExp, UINT8 isSnapVideo
{ {
if(flashLed == 0) if(flashLed == 0)
{ {
ui_rise = 25;//75% ui_rise = 30;//70%
} }
else else
{ {
@ -429,7 +429,7 @@ void sf_ir_led_set(UINT8 mode, UINT8 flashLed, UINT8 stillExp, UINT8 isSnapVideo
{ {
if(flashLed == 0) if(flashLed == 0)
{ {
ui_rise = 10;//90% ui_rise = 15;//85%
} }
else else
{ {
@ -465,6 +465,7 @@ void sf_ir_led_set(UINT8 mode, UINT8 flashLed, UINT8 stillExp, UINT8 isSnapVideo
pwm_cfg.ui_rise = ui_rise; pwm_cfg.ui_rise = ui_rise;
pwm_pwm_config_clock_div(PWM0_3_CLKDIV, 14);//pwm clk = 120M/clk div+1/period
pwm_pwm_config(IRLED_PWMID, &pwm_cfg); pwm_pwm_config(IRLED_PWMID, &pwm_cfg);
pwm_pwm_enable(IRLED_PWMID); pwm_pwm_enable(IRLED_PWMID);

View File

@ -26,6 +26,7 @@
#if HUNTING_CAMERA_MCU == ENABLE #if HUNTING_CAMERA_MCU == ENABLE
#include <sf_mcu.h> #include <sf_mcu.h>
#endif #endif
//#include "flow_boot_logo.h"
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
//header //header
@ -185,6 +186,13 @@ static HD_RESULT flowpreview_mem_relayout(void)
mem_cfg.pool_info[5].blk_cnt = 1; mem_cfg.pool_info[5].blk_cnt = 1;
mem_cfg.pool_info[5].ddr_id = DDR_ID0; mem_cfg.pool_info[5].ddr_id = DDR_ID0;
#if 0//(_PACKAGE_BOOTLOGO_)
mem_cfg.pool_info[6].type = HD_COMMON_MEM_COMMON_POOL;
mem_cfg.pool_info[6].blk_size = DBGINFO_BUFSIZE() + ((BOOT_LOGO_LCD_WIDTH * BOOT_LOGO_LCD_HEIGHT * 3) / 2);
mem_cfg.pool_info[6].blk_cnt = 2;
mem_cfg.pool_info[6].ddr_id = DDR_ID0;
#endif
ret = vendor_common_mem_relayout(&mem_cfg); ret = vendor_common_mem_relayout(&mem_cfg);
return ret; return ret;
} }
@ -841,7 +849,7 @@ int flow_preview(void)
} }
#if HUNTING_CAMERA_MCU == ENABLE #if HUNTING_CAMERA_MCU == ENABLE
if(sf_is_night_mode(0) !=TRUE) if(sf_is_night_mode(1) !=TRUE)
{ {
DrvGOIO_Turn_Onoff_IRCUT(1); DrvGOIO_Turn_Onoff_IRCUT(1);
} }
@ -1020,10 +1028,15 @@ void flow_preview_close_module(void)
DBG_ERR("vprc close failed, hd_ret = %d\r\n", hd_ret); DBG_ERR("vprc close failed, hd_ret = %d\r\n", hd_ret);
} }
#if HUNTING_PHOTO_FAST_AE_60_FPS == ENABLE
#else
hd_ret = hd_videocap_unbind(HD_VIDEOCAP_0_OUT_0); hd_ret = hd_videocap_unbind(HD_VIDEOCAP_0_OUT_0);
if (hd_ret != HD_OK) { if (hd_ret != HD_OK) {
DBG_ERR("vcap unbind failed, hd_ret = %d\r\n", hd_ret); DBG_ERR("vcap unbind failed, hd_ret = %d\r\n", hd_ret);
} }
#endif
} }
void flow_preview_uninit_module(void) void flow_preview_uninit_module(void)
@ -1066,11 +1079,11 @@ static UINT32 ae_adc_tbl[57][3] = {
{813, 8333, 1280}, {813, 8333, 1280},
{809, 8333, 2380}, {809, 8333, 2380},
{799, 16666, 4300}, {799, 16666, 4300},
{787, 16666, 4300},//6390}, {787, 16666, 6390},
{735, 16666, 4300},// 7990}, {735, 16666, 7990},
{686, 16666, 6390},//8460}, {686, 16666, 8460},
{652, 16666, 6390},//9530}, {652, 16666, 9530},
{613, 16666, 7990},//10690}, {613, 16666, 10690},
{576, 16666, 2310},//night {576, 16666, 2310},//night
{541, 16666, 2310}, {541, 16666, 2310},
{509, 16666, 2310}, {509, 16666, 2310},
@ -1080,26 +1093,27 @@ static UINT32 ae_adc_tbl[57][3] = {
{399, 16666, 2310}, {399, 16666, 2310},
{363, 16666, 2310}, {363, 16666, 2310},
{322, 16666, 2310},// 12190}, {322, 16666, 2310},// 12190},
{288, 33333, 4300},// 26600}, {288, 16666, 2310},// 26600},
{246, 33333, 4300}, //45770}, {246, 16666, 2310}, //45770},
{216, 33333, 4300}, {216, 16666, 2310},
{188, 33333, 4300}, {188, 16666, 1000},
{162, 33333, 4300}, {162, 16666, 1000},
{151, 33333, 5300}, {151, 16666, 1000},
{138, 33333, 5300}, {138, 16666, 1000},
{118, 33333, 5300}, {118, 16666, 1000},
{96, 33333, 5300}, {96, 16666, 1280},
{80, 33333, 5300}, {80, 16666, 2000},
{62, 33333, 5300}, {62, 16666, 2000},
{48, 33333, 5300}, {48, 20000, 2000},
{35, 33333, 2000}, {35, 20000, 2000},
{26, 33333, 1100}, {26, 33333, 1100},
{19, 33333, 1100}, {19, 33333, 1100},
{13, 33333, 1100}, {13, 33333, 1100},
{10, 33333, 1100}, {10, 33333, 1100},
{8, 33333, 2100}, {8, 33333, 2100},
{4, 33333, 3100}, {4, 33333, 3100},
{2, 33333, 3000}, {2, 33333, 3400},
//{1, 33333, 3500},
{0, 33333, 4000}, {0, 33333, 4000},
#else // 1K RSS #else // 1K RSS
@ -1163,14 +1177,14 @@ static UINT32 ae_adc_tbl[57][3] = {
#endif #endif
}; };
void ae_adc_get_exp_photo(UINT16 adc_value, UINT32 *exptime, UINT32 *isogain) void ae_adc_get_exp_photo(UINT16 adc_value, UINT32 *exptime, UINT32 *isogain)
{ {
UINT32 idx0=0, idx1=0; UINT32 idx0=0, idx1=0;
UINT32 exptime0, isogain0; UINT32 exptime0, exptime1, isogain0, isogain1;
//UINT32 exptime1, isogain1; UINT32 adc_ev, ev0, ev1;
//UINT32 adc_ev, ev0, ev1;
for(idx1=1; idx1<57; idx1++) { for(idx1=1; idx1<56; idx1++) {
//if(adc_value > ae_adc_tbl[idx1][0]) //if(adc_value > ae_adc_tbl[idx1][0])
if(adc_value>=ae_adc_tbl[idx1][0]) if(adc_value>=ae_adc_tbl[idx1][0])
{ {
@ -1186,16 +1200,23 @@ void ae_adc_get_exp_photo(UINT16 adc_value, UINT32 *exptime, UINT32 *isogain)
exptime0 = ae_adc_tbl[idx0][1]; exptime0 = ae_adc_tbl[idx0][1];
isogain0 = (ae_adc_tbl[idx0][2]); isogain0 = (ae_adc_tbl[idx0][2]);
//exptime1 = ae_adc_tbl[idx1][1]; exptime1 = ae_adc_tbl[idx1][1];
//isogain1 = (ae_adc_tbl[idx1][2]); isogain1 = (ae_adc_tbl[idx1][2]);
///ev0 = (exptime0 * isogain0); ev0 = (exptime0 * isogain0);
//ev1 = (exptime1 * isogain1); ev1 = (exptime1 * isogain1);
//adc_ev = ((ev1 - ev0) * (adc_value - ae_adc_tbl[idx1][0]))/(ae_adc_tbl[idx0][0] - ae_adc_tbl[idx1][0]) + ev0; //adc_ev = ((ev1 - ev0) * (ae_adc_tbl[idx1][0]-adc_value))/(ae_adc_tbl[idx1][0]-ae_adc_tbl[idx0][0]) + ev0;
adc_ev = ((ev1 - ev0) * (adc_value - ae_adc_tbl[idx1][0]))/(ae_adc_tbl[idx0][0] - ae_adc_tbl[idx1][0]) + ev0;
*exptime = exptime0; if(adc_value>200)
*isogain = isogain0;//(adc_ev / exptime0); {
*exptime = exptime0;
*isogain = (adc_ev / exptime0);
}else{
*exptime = 16666;
*isogain = 7000;
} }
}
DBG_WRN("idx = %d, %d, adc = %d, fast open preset exp = %d, %d\r\n", idx0, idx1, adc_value, *exptime, *isogain); DBG_WRN("idx = %d, %d, adc = %d, fast open preset exp = %d, %d\r\n", idx0, idx1, adc_value, *exptime, *isogain);
} }

View File

@ -35,6 +35,7 @@
#include <kwrap/debug.h> #include <kwrap/debug.h>
#include "PrjInc.h" #include "PrjInc.h"
#include "IOCfg.h" #include "IOCfg.h"
#include "DxHunting.h"
/* /*
#include "NvtUser/NvtUser.h" #include "NvtUser/NvtUser.h"
#include "AppControl/AppControl.h" #include "AppControl/AppControl.h"
@ -80,7 +81,7 @@ UINT32 sf_battery_voltage_convert(UINT32 resistanceGnd, UINT32 resistanceVin, UI
SARADC reference voltage:1.8V SARADC reference voltage:1.8V
*/ */
volt = 25 * adcVal * (resistanceGnd + resistanceVin) / resistanceGnd / 511; volt = 25 * adcVal * (resistanceGnd + resistanceVin) / resistanceGnd / 512;
return volt; return volt;
} }
@ -89,7 +90,7 @@ UINT32 sf_battery_convert_to_adc(UINT32 resistanceGnd, UINT32 resistanceVin, UIN
{ {
UINT32 adcVal = 0; UINT32 adcVal = 0;
adcVal = volt * resistanceGnd * 511 / 25 / (resistanceGnd + resistanceVin); adcVal = volt * resistanceGnd * 512 / 25 / (resistanceGnd + resistanceVin);
return adcVal; return adcVal;
} }
@ -193,11 +194,11 @@ UINT32 sf_battery_adc_value_get_once(void)
if(sf_adc_value_get(SF_ADC_DC, &batAdc) == SUCCESS) if(sf_adc_value_get(SF_ADC_DC, &batAdc) == SUCCESS)
{ {
_DcVoltageVal = sf_battery_voltage_convert(33, 100, batAdc); _DcVoltageVal = sf_battery_voltage_convert(10, 100, batAdc);
if(sf_adc_value_get(SF_ADC_LI, &batAdc) == SUCCESS) if(sf_adc_value_get(SF_ADC_LI, &batAdc) == SUCCESS)
{ {
_LiPolymerVoltageVal = sf_battery_voltage_convert(33, 100, batAdc); _LiPolymerVoltageVal = sf_battery_voltage_convert(15, 100, batAdc);
if(_LiPolymerVoltageVal > SF_LI_IN_VOLATAGE) if(_LiPolymerVoltageVal > SF_LI_IN_VOLATAGE)
{ {
@ -206,29 +207,30 @@ UINT32 sf_battery_adc_value_get_once(void)
} }
else else
{ {
_LiPolymerVoltageVal = 0; if(sf_adc_value_get(SF_ADC_BATT, &batAdc) == SUCCESS)
{
_BatVoltageVal = sf_battery_voltage_convert(15, 100, batAdc);
//_BatVoltageVal += 1;
if(sf_adc_value_get(SF_ADC_BATT, &batAdc) == SUCCESS) getBatAdcFlg = 0;
{ return SUCCESS;
_BatVoltageVal = sf_battery_voltage_convert(33, 100, batAdc); }
_BatVoltageVal += 1; else
{
getBatAdcFlg = 0; getBatAdcFlg = 0;
return SUCCESS; printf("%s:%d [ERR] failed !!!\n", __FUNCTION__, __LINE__);
} return FAIL;
else }
{
getBatAdcFlg = 0;
printf("%s:%d [ERR] failed !!!\n", __FUNCTION__, __LINE__);
return FAIL;
}
} }
} }
else else
{ {
getBatAdcFlg = 0; getBatAdcFlg = 0;
return FAIL; printf("%s:%d [ERR] failed !!!\n", __FUNCTION__, __LINE__);
} return FAIL;
}
} }
else else
{ {
@ -238,6 +240,48 @@ UINT32 sf_battery_adc_value_get_once(void)
} }
} }
#if HW_S530
/*************************************************
Function: sf_battery_level_update
Description: Get battery Voltage with Level.
Input: N/A
Output: N/A
Return: N/A
Others: N/A
*************************************************/
void sf_battery_level_update(void)
{
UINT8 batteryVal = 0;
UINT8 batteryLevel = SF_BATT_LEVEL_0;
batteryVal = sf_battery_value_get(sf_get_night_led_flag());
if(batteryVal >= 70)
{
batteryLevel = SF_BATT_LEVEL_4;
}
else if(batteryVal >= 40)
{
batteryLevel = SF_BATT_LEVEL_3;
}
else if(batteryVal >= 20)
{
batteryLevel = SF_BATT_LEVEL_2;
}
else if(batteryVal >= 1)
{
batteryLevel = SF_BATT_LEVEL_1;
}
else
{
batteryLevel = SF_BATT_LEVEL_0;
}
sf_LatestBattLevel = batteryLevel;
}
#else
/************************************************* /*************************************************
Function: sf_battery_level_update Function: sf_battery_level_update
Description: Get battery Voltage with Level. Description: Get battery Voltage with Level.
@ -251,7 +295,7 @@ void sf_battery_level_update(void)
UINT8 batteryVal = 0; UINT8 batteryVal = 0;
UINT8 batteryLevel = SF_BATT_LEVEL_0; UINT8 batteryLevel = SF_BATT_LEVEL_0;
if(IsNightLedOn) if(sf_get_night_led_flag())
{ {
return; return;
} }
@ -354,7 +398,7 @@ void sf_battery_level_update(void)
printf("battery levle=%d\n", sf_LatestBattLevel); printf("battery levle=%d\n", sf_LatestBattLevel);
} }
} }
#endif
/************************************************* /*************************************************
Function: sf_check_low_battery Function: sf_check_low_battery
Description: check is low battery in auto mode. Description: check is low battery in auto mode.
@ -366,6 +410,7 @@ BOOL sf_check_low_battery(void)
{ {
UINT8 lowCompareVal = 0; UINT8 lowCompareVal = 0;
BOOL ret = FALSE; BOOL ret = FALSE;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
if(sf_is_usb_flag()) if(sf_is_usb_flag())
{ {
@ -374,24 +419,24 @@ BOOL sf_check_low_battery(void)
sf_battery_level_update(); sf_battery_level_update();
if(IsNightLedOn) if(sf_get_night_led_flag())
{ {
if(SysGetFlag(BatteryType) == SF_BATT_ALKALINE) if(puiPara->BatteryType == SF_BATT_ALKALINE)
{ {
lowCompareVal = 69; lowCompareVal = 69;
} }
else if(SysGetFlag(BatteryType) == SF_BATT_NI_MH) else if(puiPara->BatteryType == SF_BATT_NI_MH)
{ {
lowCompareVal = 71; lowCompareVal = 71;
} }
} }
else else
{ {
if(SysGetFlag(BatteryType) == SF_BATT_ALKALINE) if(puiPara->BatteryType == SF_BATT_ALKALINE)
{ {
lowCompareVal = 80; lowCompareVal = 80;
} }
else if(SysGetFlag(BatteryType) == SF_BATT_NI_MH) else if(puiPara->BatteryType == SF_BATT_NI_MH)
{ {
lowCompareVal = 80; lowCompareVal = 80;
} }
@ -422,7 +467,7 @@ BOOL sf_check_low_battery(void)
Return: SUCCESS/FAIL Return: SUCCESS/FAIL
Others: N/A Others: N/A
*******************************************************/ *******************************************************/
SINT32 sf_battery_adc_value_get(void) signed int sf_battery_adc_value_get(void)
{ {
UINT8 readBatCnt = 0; UINT8 readBatCnt = 0;
@ -430,6 +475,7 @@ SINT32 sf_battery_adc_value_get(void)
UINT32 batTemp = 0; UINT32 batTemp = 0;
UINT32 dcValueList[12] = { 0 }; UINT32 dcValueList[12] = { 0 };
UINT32 batValueList[12] = { 0 }; UINT32 batValueList[12] = { 0 };
UIMenuStoreInfo *puiPara = sf_ui_para_get();
SINT32 ret = FAIL; SINT32 ret = FAIL;
@ -444,7 +490,7 @@ SINT32 sf_battery_adc_value_get(void)
{ {
dcValueList[readBatCnt] = _DcVoltageVal; dcValueList[readBatCnt] = _DcVoltageVal;
if(SysGetFlag(BatteryLogSwitch)) if(puiPara->BatteryLogSwitch)
{ {
printf("%s:%d [%d]DC ADC Value=%d,After Convert:%d(%d.%dV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(10, 100, dcValueList[readBatCnt]), printf("%s:%d [%d]DC ADC Value=%d,After Convert:%d(%d.%dV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(10, 100, dcValueList[readBatCnt]),
dcValueList[readBatCnt], dcValueList[readBatCnt] / 10, dcValueList[readBatCnt] % 10); dcValueList[readBatCnt], dcValueList[readBatCnt] / 10, dcValueList[readBatCnt] % 10);
@ -454,7 +500,7 @@ SINT32 sf_battery_adc_value_get(void)
{ {
batValueList[readBatCnt] = _LiPolymerVoltageVal; batValueList[readBatCnt] = _LiPolymerVoltageVal;
if(SysGetFlag(BatteryLogSwitch)) if(puiPara->BatteryLogSwitch)
{ {
printf("%s:%d [%d]Li Battery ADC Value=%d,After Convert:%d(%d.%dV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(15, 100, batValueList[readBatCnt]), printf("%s:%d [%d]Li Battery ADC Value=%d,After Convert:%d(%d.%dV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(15, 100, batValueList[readBatCnt]),
batValueList[readBatCnt], batValueList[readBatCnt] / 10, batValueList[readBatCnt] % 10); batValueList[readBatCnt], batValueList[readBatCnt] / 10, batValueList[readBatCnt] % 10);
@ -464,9 +510,9 @@ SINT32 sf_battery_adc_value_get(void)
{ {
batValueList[readBatCnt] = _BatVoltageVal; batValueList[readBatCnt] = _BatVoltageVal;
if(SysGetFlag(BatteryLogSwitch)) if(puiPara->BatteryLogSwitch)
{ {
printf("%s:%d [%d]Other Battery ADC Value=%d,After Convert:%d(%d.%dV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(12, 100, batValueList[readBatCnt]), printf("%s:%d [%d]Other Battery ADC Value=%d,After Convert:%d(%d.%dV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(15, 100, batValueList[readBatCnt]),
batValueList[readBatCnt], batValueList[readBatCnt] / 10, batValueList[readBatCnt] % 10); batValueList[readBatCnt], batValueList[readBatCnt] / 10, batValueList[readBatCnt] % 10);
} }
} }
@ -498,7 +544,7 @@ SINT32 sf_battery_adc_value_get(void)
IsPowerDcIn = 0; IsPowerDcIn = 0;
} }
if(SysGetFlag(BatteryLogSwitch)) if(puiPara->BatteryLogSwitch)
{ {
printf("\n[max]DC,After Convert:(%d.%dV),Is Dc In=%s\n", DcVoltageVal / 10, DcVoltageVal % 10, IsPowerDcIn == 1? "Yes" : "No"); printf("\n[max]DC,After Convert:(%d.%dV),Is Dc In=%s\n", DcVoltageVal / 10, DcVoltageVal % 10, IsPowerDcIn == 1? "Yes" : "No");
@ -574,6 +620,7 @@ void sf_battery_level_polling(void)
UINT32 batTemp = 0; UINT32 batTemp = 0;
UINT32 dcValueList[12] = { 0 }; UINT32 dcValueList[12] = { 0 };
UINT32 batValueList[12] = { 0 }; UINT32 batValueList[12] = { 0 };
UIMenuStoreInfo *puiPara = sf_ui_para_get();
signed int ret = FALSE; signed int ret = FALSE;
@ -585,9 +632,9 @@ void sf_battery_level_polling(void)
{ {
dcValueList[readBatCnt] = _DcVoltageVal; dcValueList[readBatCnt] = _DcVoltageVal;
if(SysGetFlag(BatteryLogSwitch)) if(puiPara->BatteryLogSwitch)
{ {
printf("%s:%d [%d]DC ADC Value=%d,After Convert:%d(%d.%dV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(33, 100, dcValueList[readBatCnt]), printf("%s:%d [%d]DC ADC Value=%d,After Convert:%d(%d.%dV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(10, 130, dcValueList[readBatCnt]),
dcValueList[readBatCnt], dcValueList[readBatCnt] / 10, dcValueList[readBatCnt] % 10); dcValueList[readBatCnt], dcValueList[readBatCnt] / 10, dcValueList[readBatCnt] % 10);
} }
@ -595,9 +642,9 @@ void sf_battery_level_polling(void)
{ {
batValueList[readBatCnt] = _LiPolymerVoltageVal; batValueList[readBatCnt] = _LiPolymerVoltageVal;
if(SysGetFlag(BatteryLogSwitch)) if(puiPara->BatteryLogSwitch)
{ {
printf("%s:%d [%d]Li Battery ADC Value=%d,After Convert:%d(%d.%dV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(33, 100, batValueList[readBatCnt]), printf("%s:%d [%d]Li Battery ADC Value=%d,After Convert:%d(%d.%dV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(15, 130, batValueList[readBatCnt]),
batValueList[readBatCnt], batValueList[readBatCnt] / 10, batValueList[readBatCnt] % 10); batValueList[readBatCnt], batValueList[readBatCnt] / 10, batValueList[readBatCnt] % 10);
} }
} }
@ -605,9 +652,9 @@ void sf_battery_level_polling(void)
{ {
batValueList[readBatCnt] = _BatVoltageVal; batValueList[readBatCnt] = _BatVoltageVal;
if(SysGetFlag(BatteryLogSwitch)) if(puiPara->BatteryLogSwitch)
{ {
printf("%s:%d [%d]Other Battery ADC Value=%d,After Convert:%d(%d.%dV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(12, 100, batValueList[readBatCnt]), printf("%s:%d [%d]Other Battery ADC Value=%d,After Convert:%d(%d.%dV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(15, 130, batValueList[readBatCnt]),
batValueList[readBatCnt], batValueList[readBatCnt] / 10, batValueList[readBatCnt] % 10); batValueList[readBatCnt], batValueList[readBatCnt] / 10, batValueList[readBatCnt] % 10);
} }
} }
@ -643,7 +690,7 @@ void sf_battery_level_polling(void)
IsPowerDcIn = 0; IsPowerDcIn = 0;
} }
if(SysGetFlag(BatteryLogSwitch)) if(puiPara->BatteryLogSwitch)
{ {
printf("\n[average]DC,After Convert:(%d.%dV),Is Dc In=%s\n", DcVoltageVal / 10, DcVoltageVal % 10, IsPowerDcIn == 1? "Yes" : "No"); printf("\n[average]DC,After Convert:(%d.%dV),Is Dc In=%s\n", DcVoltageVal / 10, DcVoltageVal % 10, IsPowerDcIn == 1? "Yes" : "No");
@ -660,26 +707,31 @@ void sf_battery_level_polling(void)
} }
} }
sf_battery_level_update();
ret = sf_check_low_battery(); ret = sf_check_low_battery();
if(SysGetFlag(BatteryLogSwitch)) if(puiPara->BatteryLogSwitch)
{ {
printf("[%s:%d]batTempLevel=%d,sf_LatestBattLevel=%d\n", __FUNCTION__, __LINE__, batTempLevel, sf_LatestBattLevel); printf("[%s:%d]batTempLevel=%d,sf_LatestBattLevel=%d\n", __FUNCTION__, __LINE__, batTempLevel, sf_LatestBattLevel);
} }
if(batTempLevel != sf_LatestBattLevel) if(batTempLevel != sf_LatestBattLevel)
{ {
//sp5kHostMsgSend(APP_UI_MSG_TRANSFER_REFLUSH, 0, 0, 0);
batTempLevel = sf_LatestBattLevel; batTempLevel = sf_LatestBattLevel;
} }
if(ret == TRUE) if(ret == TRUE)
{ {
if(IsNightLedOn) if(sf_get_night_led_flag())
{ {
//sf_ir_led_set(0, 0, 0); sf_ir_led_set(0, 0, 0, 0);
} }
//the Module not need sleep.
//gModuleSleep = 0;
sf_set_module_sleep_flag(0);
if(battEmpty == 0) if(battEmpty == 0)
{ {
battEmpty = 1; battEmpty = 1;
@ -687,6 +739,12 @@ void sf_battery_level_polling(void)
//Ux_PostEvent(NVTEVT_SYSTEM_SHUTDOWN, 1, APP_POWER_OFF_BATT_EMPTY); //shutdown start //Ux_PostEvent(NVTEVT_SYSTEM_SHUTDOWN, 1, APP_POWER_OFF_BATT_EMPTY); //shutdown start
} }
} }
else if(sf_LatestBattLevel == SF_BATT_LEVEL_1)
{
}
else
{
}
} }
THREAD_RETTYPE sf_battery_check_thread(void *arg) THREAD_RETTYPE sf_battery_check_thread(void *arg)
{ {
@ -741,4 +799,255 @@ UINT32 sf_battery_level_get(void)
return (UINT32)sf_LatestBattLevel; return (UINT32)sf_LatestBattLevel;
} }
/*************************************************
Function: sf_battery_value_get
Description: get battery value x%
Input: nightMode or no
Output: N/A
Return: battery value x%
Others: N/A
*************************************************/
UINT8 sf_battery_value_get(UINT8 nightMode)
{
UINT8 value = 0;
UINT8 batteryVal = 0;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
if(IsPowerDcIn == 0)
{
//printf("BatMedian:%d\n", BatMedian);
if(LiPolymerVoltageVal)
{
batteryVal = LiPolymerVoltageVal;
if(batteryVal < 65)
{
if(nightMode && (batteryVal >= 43))
value = 1;
else
value = 0;
}
else if(batteryVal < 71)
{
value = 1;
}
else if(batteryVal < 72)
{
value = 10;
}
else if(batteryVal < 73)
{
value = 20;
}
else if(batteryVal < 74)
{
value = 30;
}
else if(batteryVal < 75)
{
value = 40;
}
else if(batteryVal < 76)
{
value = 50;
}
else if(batteryVal < 77)
{
value = 60;
}
else if(batteryVal < 78)
{
value = 70;
}
else if(batteryVal < 79)
{
value = 80;
}
else if(batteryVal < 81)
{
value = 90;
}
else
{
value = 100;
}
}
else
{
batteryVal = BatVoltageVal;
if(puiPara->BatteryType == SF_BATT_ALKALINE) //ALK
{
if(batteryVal < 62)
{
if(nightMode && (batteryVal >= 43))
value = 1;
else
value = 0;
}
else if(batteryVal < 65)
{
value = 1;
}
else if(batteryVal < 69)
{
value = 10;
}
else if(batteryVal < 71)
{
value = 20;
}
else if(batteryVal < 72)
{
value = 30;
}
else if(batteryVal < 73)
{
value = 40;
}
else if(batteryVal < 75)
{
value = 50;
}
else if(batteryVal < 76)
{
value = 60;
}
else if(batteryVal < 78)
{
value = 70;
}
else if(batteryVal < 80)
{
value = 80;
}
else if(batteryVal < 83)
{
value = 90;
}
else
{
value = 100;
}
}
else if(puiPara->BatteryType == SF_BATT_NI_MH) //NIH
{
if(batteryVal < 60)
{
if(nightMode && (batteryVal >= 43))
value = 1;
else
value = 0;
}
else if(batteryVal < 61)
{
value = 1;
}
else if(batteryVal < 62)
{
value = 10;
}
else if(batteryVal < 64)
{
value = 20;
}
else if(batteryVal < 65)
{
value = 30;
}
else if(batteryVal < 67)
{
value = 40;
}
else if(batteryVal < 68)
{
value = 50;
}
else if(batteryVal < 70)
{
value = 60;
}
else if(batteryVal < 71)
{
value = 70;
}
else if(batteryVal < 73)
{
value = 80;
}
else if(batteryVal < 75)
{
value = 90;
}
else
{
value = 100;
}
}
else
{
if(batteryVal < 62)
{
if(nightMode && (batteryVal >= 43))
value = 1;
else
value = 0;
}
else if(batteryVal < 75)
{
value = 1;
}
else if(batteryVal < 80)
{
value = 10;
}
else if(batteryVal < 82)
{
value = 20;
}
else if(batteryVal < 83)
{
value = 30;
}
else if(batteryVal < 84)
{
value = 40;
}
else if(batteryVal < 86)
{
value = 50;
}
else if(batteryVal < 91)
{
value = 60;
}
else if(batteryVal < 92)
{
value = 70;
}
else if(batteryVal < 93)
{
value = 80;
}
else if(batteryVal < 94)
{
value = 90;
}
else
{
value = 100;
}
}
}
}
else
{
value = 100;
}
return value;
}
#endif #endif

View File

@ -19,5 +19,6 @@ void sf_battery_thread_init(void);
UINT8 sf_get_night_led_flag(void); UINT8 sf_get_night_led_flag(void);
void sf_set_night_led_flag(UINT8 flag); void sf_set_night_led_flag(UINT8 flag);
UINT32 sf_battery_level_get(void); UINT32 sf_battery_level_get(void);
UINT8 sf_battery_value_get(UINT8 nightMode);
#endif #endif

View File

@ -936,8 +936,8 @@
#define HUNTING_CAMERA_SYS_PARTITION_NAME sys #define HUNTING_CAMERA_SYS_PARTITION_NAME sys
#define HUNTING_CAMERA_BOOT_LINUX ENABLE #define HUNTING_CAMERA_BOOT_LINUX ENABLE
#define HUNTING_CAMERA_MCU ENABLE #define HUNTING_CAMERA_MCU ENABLE
#define HUNTING_CAMERA_4G ENABLE//DISABLE #define HUNTING_CAMERA_4G DISABLE
#define PHOTO_STAMP_ISP_STATUS ENABLE #define PHOTO_STAMP_ISP_STATUS DISABLE//ENABLE
#define PHOTO_PREVIEW_SLICE_ENC_FUNC ENABLE #define PHOTO_PREVIEW_SLICE_ENC_FUNC ENABLE
#define PHOTO_PREVIEW_SLICE_ENC_VER2_FUNC ENABLE #define PHOTO_PREVIEW_SLICE_ENC_VER2_FUNC ENABLE
#define PHOTO_DIRECT_FUNC DISABLE #define PHOTO_DIRECT_FUNC DISABLE
@ -949,8 +949,9 @@
#define HUNTING_MCU_UART ENABLE #define HUNTING_MCU_UART ENABLE
#define HUNTING_IR_LED_940 DISABLE #define HUNTING_IR_LED_940 DISABLE
#define SF_EXIF_MN_BUF_SIZE 256 #define SF_EXIF_MN_BUF_SIZE 256
#define SF_BASE_VERSION "7MD4RCwD3T2" #define SF_BASE_VERSION "7MD4RCwD3T3"
#define HUNTING_PHOTO_FAST_AE_60_FPS ENABLE #define HUNTING_PHOTO_FAST_AE_60_FPS ENABLE
#define HW_S530 1
/******************************************************************************************* /*******************************************************************************************
* LVGL UI Style config * LVGL UI Style config

View File

@ -390,16 +390,16 @@ static void insmod_sensor(void)
static void sie_vd_cb(const UINT32 vd_cnt) static void sie_vd_cb(const UINT32 vd_cnt)
{ {
/*if(vd_cnt == 0){ if(vd_cnt == 0){
vos_perf_list_mark("sie_vd", __LINE__, vd_cnt); vos_perf_list_mark("sie_vd", __LINE__, 0);
} }
else if(vd_cnt == 1){ /*else if(vd_cnt == 1){
vos_perf_list_mark("sie_vd", __LINE__, vd_cnt);
}
else if(vd_cnt == (PHOTOFAST_CAP_FRAME_CNT-1)){
vos_perf_list_mark("sie_vd", __LINE__, vd_cnt); vos_perf_list_mark("sie_vd", __LINE__, vd_cnt);
}*/ }*/
vos_perf_list_mark("sie_vd", __LINE__, vd_cnt); else if(vd_cnt == (PHOTOFAST_CAP_FRAME_CNT-1)){
vos_perf_list_mark("sie_vd", __LINE__, 1);
}
//vos_perf_list_mark("sie_vd", __LINE__, vd_cnt);
//if(vd_cnt == 3) //if(vd_cnt == 3)
// sf_trigger_time_led_cb(vd_cnt); // sf_trigger_time_led_cb(vd_cnt);
} }
@ -834,7 +834,7 @@ static void fastboot(void)
*FL_BOOT_WORK_MODE_MENU add in linux SDK, then delete this. *FL_BOOT_WORK_MODE_MENU add in linux SDK, then delete this.
*use Cmd_movie_set_boot_mode for test *use Cmd_movie_set_boot_mode for test
**/ **/
SysGetFlag(CamMode); //SysGetFlag(CamMode);
//Save_MenuInfo(); //Save_MenuInfo();
//#NT#2023/01/11#Eric - end //#NT#2023/01/11#Eric - end

View File

@ -371,9 +371,11 @@ BOOL Cmd_movie_frontmoov_test(unsigned char argc, char **argv)
static BOOL Cmd_movie_set_boot_mode(unsigned char argc, char **argv) static BOOL Cmd_movie_set_boot_mode(unsigned char argc, char **argv)
{ {
UINT32 value; UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value); sscanf_s(argv[0],"%d", &value);
if(value < SF_CAM_MODE_MAX){ if(value < SF_CAM_MODE_MAX){
SysSetFlag(CamMode, SF_CAM_MODE_PHOTO_VIDEO); puiPara->CamMode = value;
//SysSetFlag(CamMode, SF_CAM_MODE_PHOTO_VIDEO);
Save_MenuInfo(); Save_MenuInfo();
} }
return TRUE; return TRUE;

View File

@ -155,7 +155,12 @@ static void MovieFast_ShutDown(void)
#endif #endif
#if HUNTING_CAMERA_MCU #if HUNTING_CAMERA_MCU
sf_mcu_reg_set(SF_MCU_POWEROFF,0); #if HUNTING_CAMERA_4G == ENABLE
fastboot_set_done(BOOT_FLOW_BOOT);
flow_wait_linux();
#else
sf_mcu_reg_set(SF_MCU_POWEROFF,0);
#endif
#else #else
fastboot_set_done(BOOT_FLOW_BOOT); fastboot_set_done(BOOT_FLOW_BOOT);
flow_wait_linux(); flow_wait_linux();
@ -447,17 +452,43 @@ static void MovieFast_OnRecStart(void)
UINT32 movie_rec_mask, clone_rec_mask; UINT32 movie_rec_mask, clone_rec_mask;
USIZE thmub_size; USIZE thmub_size;
UINT32 uifile_buffer_reserved_sec = 5; UINT32 uifile_buffer_reserved_sec = 5;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
if (g_bIsRecStatus) { if (g_bIsRecStatus) {
return; return;
} else { } else {
g_bIsRecStatus = TRUE; g_bIsRecStatus = TRUE;
} }
{
HD_FILEOUT_CONFIG fout_cfg = {0};
HD_PATH_ID fileout_ctrl = 0;
HD_RESULT hd_ret = 0;
if ((hd_ret = hd_fileout_open(0, HD_FILEOUT_CTRL(0), &fileout_ctrl)) != HD_OK) {
DBG_ERR("hd_fileout_open(HD_FILEOUT_CTRL) fail(%d)\n", hd_ret);
}
if ((hd_ret = hd_fileout_get(fileout_ctrl, HD_FILEOUT_PARAM_CONFIG, &fout_cfg)) != HD_OK) {
DBG_ERR("hd_fileout_get(HD_FILEOUT_PARAM_CONFIG) fail(%d)\n", hd_ret);
}
{ //wait_ready
fout_cfg.wait_ready = (UINT32) FALSE; // TRUE or FALSE
}
if ((hd_ret = hd_fileout_set(fileout_ctrl, HD_FILEOUT_PARAM_CONFIG, &fout_cfg)) != HD_OK) {
DBG_ERR("hd_fileout_set(HD_FILEOUT_PARAM_CONFIG) fail(%d)\n", hd_ret);
}
if ((hd_ret = hd_fileout_close(fileout_ctrl)) != HD_OK) {
DBG_ERR("hd_fileout_close(HD_FILEOUT_CTRL) fail(%d)\n", hd_ret);
}
}
#if defined(_UI_STYLE_LVGL_) #if defined(_UI_STYLE_LVGL_)
flow_lv_init(); flow_lv_init();
#endif #endif
vos_util_delay_ms(99); //vos_util_delay_ms(99);
movie_rec_mask = Movie_GetMovieRecMask(); movie_rec_mask = Movie_GetMovieRecMask();
clone_rec_mask = Movie_GetCloneRecMask(); clone_rec_mask = Movie_GetCloneRecMask();
@ -495,17 +526,19 @@ static void MovieFast_OnRecStart(void)
{ {
// start clone path first due to some functions (such as 2v1a need this procedure) // start clone path first due to some functions (such as 2v1a need this procedure)
if (clone_rec_mask & mask) { if (clone_rec_mask & mask) {
vos_perf_list_mark("sie_vd", __LINE__, 5);
ImageApp_MovieMulti_SetParam(gMovie_Clone_Info[i].rec_id, MOVIEMULTI_PARAM_FILE_WRITE_BLKSIZE, 0x200000); ImageApp_MovieMulti_SetParam(gMovie_Clone_Info[i].rec_id, MOVIEMULTI_PARAM_FILE_WRITE_BLKSIZE, 0x200000);
ImageApp_MovieMulti_SetParam(gMovie_Clone_Info[i].rec_id, MOVIEMULTI_PARAM_FILE_BUFRESSEC, uifile_buffer_reserved_sec); ImageApp_MovieMulti_SetParam(gMovie_Clone_Info[i].rec_id, MOVIEMULTI_PARAM_FILE_BUFRESSEC, uifile_buffer_reserved_sec);
//ImageApp_MovieMulti_RecStart(gMovie_Clone_Info[i].rec_id); //ImageApp_MovieMulti_RecStart(gMovie_Clone_Info[i].rec_id);
ImageApp_MovieMulti_TrigOnce(gMovie_Clone_Info[i].rec_id, SysGetFlag(VideoLenth)); ImageApp_MovieMulti_TrigOnce(gMovie_Clone_Info[i].rec_id, puiPara->VideoLenth);
} }
if (movie_rec_mask & mask) { if (movie_rec_mask & mask) {
vos_perf_list_mark("sie_vd", __LINE__, 6);
ImageApp_MovieMulti_SetParam(gMovie_Rec_Info[i].rec_id, MOVIEMULTI_PARAM_FILE_WRITE_BLKSIZE, 0x200000); ImageApp_MovieMulti_SetParam(gMovie_Rec_Info[i].rec_id, MOVIEMULTI_PARAM_FILE_WRITE_BLKSIZE, 0x200000);
ImageApp_MovieMulti_SetParam(gMovie_Rec_Info[i].rec_id, MOVIEMULTI_PARAM_FILE_BUFRESSEC, uifile_buffer_reserved_sec); ImageApp_MovieMulti_SetParam(gMovie_Rec_Info[i].rec_id, MOVIEMULTI_PARAM_FILE_BUFRESSEC, uifile_buffer_reserved_sec);
//ImageApp_MovieMulti_RecStart(gMovie_Rec_Info[i].rec_id); //ImageApp_MovieMulti_RecStart(gMovie_Rec_Info[i].rec_id);
ImageApp_MovieMulti_TrigOnce(gMovie_Rec_Info[i].rec_id, SysGetFlag(VideoLenth)); ImageApp_MovieMulti_TrigOnce(gMovie_Rec_Info[i].rec_id, puiPara->VideoLenth);
} }
mask <<= 1; mask <<= 1;
@ -559,6 +592,8 @@ static void MovieFast_FileNamingCB(MOVIE_CFG_REC_ID id, char *pFileName)
} else { } else {
DCF_GetNextID(&nextFolderID,&nextFileID); DCF_GetNextID(&nextFolderID,&nextFileID);
DCF_MakeObjPath(nextFolderID, nextFileID, DCF_FILE_TYPE_MP4, pFileName); DCF_MakeObjPath(nextFolderID, nextFileID, DCF_FILE_TYPE_MP4, pFileName);
DCF_AddDBfile(pFileName);
DBG_DUMP("%s added to DCF\r\n", pFileName);
if(id == _CFG_REC_ID_1){ if(id == _CFG_REC_ID_1){
snprintf(thumb_current_path_main, sizeof(thumb_current_path_main), "%s", pFileName); snprintf(thumb_current_path_main, sizeof(thumb_current_path_main), "%s", pFileName);
@ -587,9 +622,9 @@ static void MovieFast_UserEventCb(UINT32 id, MOVIE_USER_CB_EVENT event_id, UINT3
#endif #endif
case MOVIE_USER_CB_EVENT_CLOSE_FILE_COMPLETED: { case MOVIE_USER_CB_EVENT_CLOSE_FILE_COMPLETED: {
MOVIEMULTI_CLOSE_FILE_INFO *info = (MOVIEMULTI_CLOSE_FILE_INFO *)value; //MOVIEMULTI_CLOSE_FILE_INFO *info = (MOVIEMULTI_CLOSE_FILE_INFO *)value;
DCF_AddDBfile(info->path); //DCF_AddDBfile(info->path);
DBG_DUMP("%s added to DCF\r\n", info->path); //DBG_DUMP("%s added to DCF\r\n", info->path);
vos_flag_set(MOVIEFAST_FLG_ID, FLGMOVIEFAST_SHUTDOWN); vos_flag_set(MOVIEFAST_FLG_ID, FLGMOVIEFAST_SHUTDOWN);
} }
break; break;
@ -652,6 +687,7 @@ static void MovieFast_UserEventCb(UINT32 id, MOVIE_USER_CB_EVENT event_id, UINT3
CHAR *pFileName = (CHAR *) value; CHAR *pFileName = (CHAR *) value;
// Make custome file name // Make custome file name
fastboot_wait_done(BOOT_INIT_FILESYSOK);
MovieFast_FileNamingCB(id, pFileName); MovieFast_FileNamingCB(id, pFileName);
} }

View File

@ -29,8 +29,8 @@
#if (_SCREENNAIL_SIZE_ == _SCREENNAIL_SIZE_VGA_) #if (_SCREENNAIL_SIZE_ == _SCREENNAIL_SIZE_VGA_)
#define CFG_SCREENNAIL_SIZE PHOTO_SIZE_VGA #define CFG_SCREENNAIL_SIZE PHOTO_SIZE_VGA
#define CFG_SCREENNAIL_W 640 #define CFG_SCREENNAIL_W 640//1024//640
#define CFG_SCREENNAIL_H 480 #define CFG_SCREENNAIL_H 480//768//480
#else #else
#define CFG_SCREENNAIL_SIZE PHOTO_SIZE_3M #define CFG_SCREENNAIL_SIZE PHOTO_SIZE_3M
#define CFG_SCREENNAIL_W 2048 #define CFG_SCREENNAIL_W 2048
@ -109,7 +109,7 @@
#define JPG_BRC_INIT_Q 85 #define JPG_BRC_INIT_Q 85
#define JPG_BRC_RETRY_CNT 4 #define JPG_BRC_RETRY_CNT 4
#define THUMBNAIL_TARGETBYTERATE (160*120*2/JPG_COMERESSED_RATIO_5) #define THUMBNAIL_TARGETBYTERATE (160*120*2/JPG_COMERESSED_RATIO_5)
#define SCREENNAIL_TARGETBYTERATE (CFG_SCREENNAIL_W*CFG_SCREENNAIL_H*3/(2*JPG_COMERESSED_RATIO_8)) #define SCREENNAIL_TARGETBYTERATE (CFG_SCREENNAIL_W*CFG_SCREENNAIL_H/(2*JPG_COMERESSED_RATIO_8))
#define PRIMARY_TARGETBYTERATE_UBOUND(TBR) (TBR + (TBR * 15 / 100)) #define PRIMARY_TARGETBYTERATE_UBOUND(TBR) (TBR + (TBR * 15 / 100))
#define PRIMARY_TARGETBYTERATE_LBOUND(TBR) (TBR - (TBR * 15 / 100)) #define PRIMARY_TARGETBYTERATE_LBOUND(TBR) (TBR - (TBR * 15 / 100))
#define JPG_FILE_BUFFER_SIZE(primary, screenail, thumbnail, exif) (primary + screenail + thumbnail + exif*6) #define JPG_FILE_BUFFER_SIZE(primary, screenail, thumbnail, exif) (primary + screenail + thumbnail + exif*6)

View File

@ -1301,6 +1301,8 @@ extern void setet_preset_param(void);
static UINT32 capturcnt = 0; static UINT32 capturcnt = 0;
static BOOL captureflag = FALSE; static BOOL captureflag = FALSE;
UINT32 Cap_cnt=0; UINT32 Cap_cnt=0;
extern INT32 PhotoFast_SliceEncode_Dump_Frame(const HD_VIDEO_FRAME video_frame, UINT8 format);
THREAD_RETTYPE PhotoFast_FlowPreviewThread(void *arg) THREAD_RETTYPE PhotoFast_FlowPreviewThread(void *arg)
{ {
HD_RESULT hd_ret; HD_RESULT hd_ret;
@ -1309,9 +1311,10 @@ THREAD_RETTYPE PhotoFast_FlowPreviewThread(void *arg)
HD_PATH_ID vprc_path = 0, vout_path = 0, vcap_path = 0; HD_PATH_ID vprc_path = 0, vout_path = 0, vcap_path = 0;
UINT32 max_cnt = 0; UINT32 max_cnt = 0;
BOOL start_cap = FALSE; BOOL start_cap = FALSE;
IQT_SHARPNESS_LV sharpness_lv = {0}; // IQT_SHARPNESS_LV sharpness_lv = {0};
IQT_NR_LV nr_lv = {0}; IQT_NR_LV nr_lv = {0};
AET_STATUS_INFO ae_status = {0}; AET_STATUS_INFO ae_status = {0};
UIMenuStoreInfo *puiPara = sf_ui_para_get();
flow_preview_get_path(&vcap_path, FLOW_PREIVEW_VCAP_PATH, 0); flow_preview_get_path(&vcap_path, FLOW_PREIVEW_VCAP_PATH, 0);
flow_preview_get_path(&vprc_path, FLOW_PREIVEW_VPRC_PATH, 0); flow_preview_get_path(&vprc_path, FLOW_PREIVEW_VPRC_PATH, 0);
@ -1358,20 +1361,23 @@ THREAD_RETTYPE PhotoFast_FlowPreviewThread(void *arg)
// nvt_cmdsys_runcmd("vcap info"); // nvt_cmdsys_runcmd("vcap info");
// nvt_cmdsys_runcmd("vprc info"); // nvt_cmdsys_runcmd("vprc info");
// nvt_cmdsys_runcmd("ctl_ipp dump_hdl_all"); // nvt_cmdsys_runcmd("ctl_ipp dump_hdl_all");
nvt_cmdsys_runcmd("ae dbg 0 256 1 "); //ISPT_TOTAL_GAIN total;
// isp_dbg_set_dbg_mode(0, 0x0003000 ); // nvt_cmdsys_runcmd("ae dbg 0 256 1 ");
// isp_dbg_set_dbg_mode(0, 0x0202002 );
nvt_cmdsys_runcmd("ae set_speed 0 128 600 600 100 "); nvt_cmdsys_runcmd("ae set_speed 0 128 600 600 100 ");
//nvt_cmdsys_runcmd("iq dbg 0 0 "); //nvt_cmdsys_runcmd("iq dbg 0 0 ");
//nvt_cmdsys_runcmd("iq dbg 0 8 "); //nvt_cmdsys_runcmd("iq dbg 0 8 ");
nr_lv.id = 0; // nr_lv.id = 0;
nr_lv.lv = 175; // nr_lv.lv = 200;
vendor_isp_set_iq(IQT_ITEM_NR_LV, &nr_lv); //50~200 // vendor_isp_set_iq(IQT_ITEM_NR_LV, &nr_lv); //50~200
sharpness_lv.id = 0; // sharpness_lv.id = 0;
sharpness_lv.lv = 70; //// sharpness_lv.lv = 70;
vendor_isp_set_iq(IQT_ITEM_SHARPNESS_LV, &sharpness_lv); // vendor_isp_set_iq(IQT_ITEM_SHARPNESS_LV, &sharpness_lv);
// total.id = 0;
// total.gain = 1600;
// vendor_isp_set_common(ISPT_ITEM_TOTAL_GAIN, &total);
// nvt_cmdsys_runcmd("iq set_dbg 16 0x200000 ");
} }
#endif #endif
while(g_bPreViewPullFlag) { while(g_bPreViewPullFlag) {
@ -1380,19 +1386,19 @@ THREAD_RETTYPE PhotoFast_FlowPreviewThread(void *arg)
setet_preset_param(); setet_preset_param();
}*/ }*/
if ((g_bFrmCnt > 2)&&(captureflag == FALSE)){ if ((g_bFrmCnt > 2)&&(captureflag == FALSE)){
vendor_isp_get_ae(AET_ITEM_STATUS, &ae_status); vendor_isp_get_ae(AET_ITEM_STATUS, &ae_status);
if ((ae_status.status_info.state_adj ==0)|| (++g_bFrmCnt==10)){ if ((ae_status.status_info.state_adj ==0)|| (++g_bFrmCnt==6)){
Cap_cnt=g_bFrmCnt; Cap_cnt=g_bFrmCnt;
captureflag = TRUE; captureflag = TRUE;
capturcnt = 0; capturcnt = 0;
Set_AEMODE(1); Set_AEMODE(1);
setet_preset_param(); setet_preset_param();
} }
} }
else else
{ {
++g_bFrmCnt; ++g_bFrmCnt;
} }
//DBG_ERR(">>>>>>> adj %d lum %d explum %d exp %d iso %d\r\n",ae_status.status_info.state_adj,ae_status.status_info.lum,ae_status.status_info.expect_lum,ae_status.status_info.iso_gain[0],ae_status.status_info.expotime[0]); //DBG_ERR(">>>>>>> adj %d lum %d explum %d exp %d iso %d\r\n",ae_status.status_info.state_adj,ae_status.status_info.lum,ae_status.status_info.expect_lum,ae_status.status_info.iso_gain[0],ae_status.status_info.expotime[0]);
#if POWERON_FAST_SLICE_ENC_VER2 == ENABLE #if POWERON_FAST_SLICE_ENC_VER2 == ENABLE
@ -1402,7 +1408,7 @@ THREAD_RETTYPE PhotoFast_FlowPreviewThread(void *arg)
#if HUNTING_CAMERA_MCU == ENABLE #if HUNTING_CAMERA_MCU == ENABLE
if(sf_is_night_mode(0) ==TRUE){ if(sf_is_night_mode(0) ==TRUE){
//DrvGPIO_IRLed_Turn_Onoff(1); //DrvGPIO_IRLed_Turn_Onoff(1);
sf_ir_led_set(((2 == SysGetFlag(NightMode)) ? 2 : 1),SysGetFlag(FlashLed), SysGetFlag(NightMode),0); sf_ir_led_set(((2 == puiPara->NightMode) ? 2 : 1),puiPara->FlashLed, puiPara->NightMode,0);
} }
#endif #endif
vos_util_delay_ms(200); vos_util_delay_ms(200);
@ -1412,12 +1418,13 @@ THREAD_RETTYPE PhotoFast_FlowPreviewThread(void *arg)
#if HUNTING_PHOTO_FAST_AE_60_FPS == ENABLE #if HUNTING_PHOTO_FAST_AE_60_FPS == ENABLE
if((hd_ret = hd_videocap_pull_out_buf(vcap_path, &video_cap_frame, -1)) != HD_OK){
if((hd_ret = hd_videocap_pull_out_buf(vcap_path, &video_cap_frame, 3000)) != HD_OK){
DBG_ERR("failed to hd_videocap_pull_out_buf, er=%d\n", (int)hd_ret); DBG_ERR("failed to hd_videocap_pull_out_buf, er=%d\n", (int)hd_ret);
goto exit; goto exit;
} }
if((hd_ret = hd_videoproc_push_in_buf(vprc_path, &video_cap_frame, NULL, -1)) != HD_OK){ if((hd_ret = hd_videoproc_push_in_buf(vprc_path, &video_cap_frame, NULL, 3000)) != HD_OK){
DBG_ERR("failed to hd_videoproc_push_in_buf, er=%d\n", (int)hd_ret); DBG_ERR("failed to hd_videoproc_push_in_buf, er=%d\n", (int)hd_ret);
goto exit; goto exit;
} }
@ -1426,12 +1433,13 @@ THREAD_RETTYPE PhotoFast_FlowPreviewThread(void *arg)
DBG_ERR("failed to hd_videocap_release_out_buf, er=%d\n", (int)hd_ret); DBG_ERR("failed to hd_videocap_release_out_buf, er=%d\n", (int)hd_ret);
goto exit; goto exit;
} }
#else #else
(void) vcap_path; (void) vcap_path;
(void) video_cap_frame; (void) video_cap_frame;
#endif #endif
if ((hd_ret = hd_videoproc_pull_out_buf(vprc_path, &video_frame, -1)) != HD_OK) { if ((hd_ret = hd_videoproc_pull_out_buf(vprc_path, &video_frame, 3000)) != HD_OK) {
DBG_ERR("failed to hd_videoproc_pull_out_buf, er=%d\n", (int)hd_ret); DBG_ERR("failed to hd_videoproc_pull_out_buf, er=%d\n", (int)hd_ret);
goto exit; goto exit;
} }
@ -1439,30 +1447,26 @@ THREAD_RETTYPE PhotoFast_FlowPreviewThread(void *arg)
//if(g_bFrmCnt < PHOTOFAST_CAP_FRAME_CNT){ //if(g_bFrmCnt < PHOTOFAST_CAP_FRAME_CNT){
// vos_perf_list_mark("yuv", __LINE__, 0); // vos_perf_list_mark("yuv", __LINE__, 0);
//} //}
if(capturcnt==1){//++g_bFrmCnt >= 5){//PHOTOFAST_CAP_FRAME_CNT){
nr_lv.id = 0; // if (capturcnt == 4) {
nr_lv.lv = 125; // nvt_cmdsys_runcmd("iq info ");
vendor_isp_set_iq(IQT_ITEM_NR_LV, &nr_lv); //50~200 // isp_dbg_set_dbg_mode(0, 0x0202002 );
sharpness_lv.id = 0; // }
sharpness_lv.lv = 90; if (captureflag)
vendor_isp_set_iq(IQT_ITEM_SHARPNESS_LV, &sharpness_lv); capturcnt++;
if(0){//(capturcnt==1){//++g_bFrmCnt >= 5){//PHOTOFAST_CAP_FRAME_CNT){
}
if(capturcnt==2){//++g_bFrmCnt >= 5){//PHOTOFAST_CAP_FRAME_CNT){
nr_lv.id = 0; nr_lv.id = 0;
nr_lv.lv = 100; nr_lv.lv = 100;
vendor_isp_set_iq(IQT_ITEM_NR_LV, &nr_lv); //50~200 vendor_isp_set_iq(IQT_ITEM_NR_LV, &nr_lv); //50~200
sharpness_lv.id = 0; //sharpness_lv.id = 0;
sharpness_lv.lv = 100; //sharpness_lv.lv = 100;
vendor_isp_set_iq(IQT_ITEM_SHARPNESS_LV, &sharpness_lv); //vendor_isp_set_iq(IQT_ITEM_SHARPNESS_LV, &sharpness_lv);
// nvt_cmdsys_runcmd("iq info ");
//nvt_cmdsys_runcmd("iq get_param 0 2 ");
} }
if (captureflag) capturcnt++; if (capturcnt>3) {
if (capturcnt>4) {
// DBG_ERR(">>>>>>>>>>>>capture adj:%d capcnt:%d frmcnt:%d\r\n",ae_status.status_info.state_adj,capturcnt,g_bFrmCnt); // DBG_ERR(">>>>>>>>>>>>capture adj:%d capcnt:%d frmcnt:%d\r\n",ae_status.status_info.state_adj,capturcnt,g_bFrmCnt);
//if(++g_bFrmCnt >= 10){//PHOTOFAST_CAP_FRAME_CNT){ //if(++g_bFrmCnt >= 10){//PHOTOFAST_CAP_FRAME_CNT){
#if HUNTING_PHOTO_FAST_AE_60_FPS == ENABLE #if HUNTING_PHOTO_FAST_AE_60_FPS == ENABLE
@ -1556,6 +1560,9 @@ THREAD_RETTYPE PhotoFast_FlowPreviewThread(void *arg)
case DX_HUNTING_MODE_PHOTO_MOVIE: case DX_HUNTING_MODE_PHOTO_MOVIE:
case DX_HUNTING_MODE_CAMERA_PHOTO_MOVIE: case DX_HUNTING_MODE_CAMERA_PHOTO_MOVIE:
vos_perf_list_mark("sie_vd", __LINE__, 3);
vos_flag_set(PHOTOFAST_FLG_ID, FLGPHOTOFAST_CHGMODE); vos_flag_set(PHOTOFAST_FLG_ID, FLGPHOTOFAST_CHGMODE);
break; break;
@ -1672,6 +1679,7 @@ static void PhotoFast_ShutDown(void)
void Set_NIGHTMODE(UINT32 id, UINT8 isSnapVideo) void Set_NIGHTMODE(UINT32 id, UINT8 isSnapVideo)
{ {
#if HUNTING_CAMERA_MCU == ENABLE #if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get();
IQT_NIGHT_MODE night_mode = {0}; IQT_NIGHT_MODE night_mode = {0};
AWBT_MANUAL awb_manual = {0}; AWBT_MANUAL awb_manual = {0};
@ -1688,7 +1696,7 @@ void Set_NIGHTMODE(UINT32 id, UINT8 isSnapVideo)
//DrvGPIO_IRLed_Turn_Onoff(1); //DrvGPIO_IRLed_Turn_Onoff(1);
// printf("[%s:%d]s NightMode:%d FlashLed:%d\n",__FUNCTION__,__LINE__,((2 == SysGetFlag(NightMode)) ? 2 : 1), SysGetFlag(FlashLed)); // printf("[%s:%d]s NightMode:%d FlashLed:%d\n",__FUNCTION__,__LINE__,((2 == SysGetFlag(NightMode)) ? 2 : 1), SysGetFlag(FlashLed));
sf_ir_led_set(((2 == SysGetFlag(NightMode)) ? 2 : 1),SysGetFlag(FlashLed), SysGetFlag(NightMode),isSnapVideo); sf_ir_led_set(((2 == puiPara->NightMode) ? 2 : 1),puiPara->FlashLed, puiPara->NightMode, isSnapVideo);
awb_manual.id = 0; awb_manual.id = 0;
awb_manual.manual.en = 1; awb_manual.manual.en = 1;
awb_manual.manual.r_gain= 256; awb_manual.manual.r_gain= 256;
@ -1760,13 +1768,20 @@ void Set_AEMODE(UINT32 id)
vendor_isp_get_ae(AET_ITEM_MANUAL, &ae_manual); vendor_isp_get_ae(AET_ITEM_MANUAL, &ae_manual);
//DBG_ERR(">> aet manual exp %d iso %d\r\n",ae_manual.manual.expotime,ae_manual.manual.iso_gain); //DBG_ERR(">> aet manual exp %d iso %d\r\n",ae_manual.manual.expotime,ae_manual.manual.iso_gain);
if (id == 1){ if (id == 1){
ae_manual.manual.mode = 2; ae_manual.manual.mode = 1;
ae_manual.manual.expotime = ae_status_info.status_info.expotime[0];
ae_manual.manual.iso_gain = ae_status_info.status_info.iso_gain[0];
ISPT_TOTAL_GAIN total;
total.id = 0;
total.gain = 1600;
vendor_isp_set_common(ISPT_ITEM_TOTAL_GAIN, &total);
nvt_cmdsys_runcmd("ae dbg 0 0 0 "); nvt_cmdsys_runcmd("ae dbg 0 0 0 ");
} }
else { else {
ae_manual.manual.mode = 0; ae_manual.manual.mode = 0;
} }
DBG_ERR(">> >>>>>>>>>aet manual mode %d\r\n",ae_manual.manual.mode); //DBG_ERR(">> >>>>>>>>>aet manual mode %d\r\n",ae_manual.manual.mode);
vendor_isp_set_ae(AET_ITEM_MANUAL, &ae_manual); vendor_isp_set_ae(AET_ITEM_MANUAL, &ae_manual);

View File

@ -16,6 +16,7 @@
#include <kwrap/cmdsys.h> #include <kwrap/cmdsys.h>
#define VDO_YUV_BUFSIZE(w, h, pxlfmt) ALIGN_CEIL_4(((w) * (h) * HD_VIDEO_PXLFMT_BPP(pxlfmt)) / 8) #define VDO_YUV_BUFSIZE(w, h, pxlfmt) ALIGN_CEIL_4(((w) * (h) * HD_VIDEO_PXLFMT_BPP(pxlfmt)) / 8)
#define VDO_RAW_BUFSIZE(w, h, pxlfmt) (ALIGN_CEIL_4((w) * HD_VIDEO_PXLFMT_BPP(pxlfmt) / 8) * (h))
/********************************************************************************** /**********************************************************************************
* independent thumbnail * independent thumbnail
@ -580,7 +581,7 @@ static INT32 PhotoFast_SliceEncode_Init_VF_GFX_Slice(
vf_gfx_scale_param->dst_region.w = dst_slice_info.width; vf_gfx_scale_param->dst_region.w = dst_slice_info.width;
vf_gfx_scale_param->dst_region.h = dst_slice_height; vf_gfx_scale_param->dst_region.h = dst_slice_height;
vf_gfx_scale_param->dst_img.blk = dst_buffer_info.blk; vf_gfx_scale_param->dst_img.blk = dst_buffer_info.blk;
vf_gfx_scale_param->quality = HD_GFX_SCALE_QUALITY_BILINEAR; vf_gfx_scale_param->quality = HD_GFX_SCALE_QUALITY_NULL;
offset = video_frame->loff[HD_VIDEO_PINDEX_Y] * slice_idx * src_slice_info.slice_height; offset = video_frame->loff[HD_VIDEO_PINDEX_Y] * slice_idx * src_slice_info.slice_height;
@ -619,23 +620,34 @@ static INT32 PhotoFast_SliceEncode_Init_VF_GFX_Slice(
return E_OK; return E_OK;
} }
#if PHOTOFAST_SLICE_ENC_DBG_PRIMARY_YUV #if 1//PHOTOFAST_SLICE_ENC_DBG_PRIMARY_YUV
static INT32 PhotoFast_SliceEncode_Dump_Frame(const HD_VIDEO_FRAME video_frame) INT32 PhotoFast_SliceEncode_Dump_Frame(const HD_VIDEO_FRAME video_frame, UINT32 format)
//static INT32 PhotoFast_SliceEncode_Dump_Frame(const HD_VIDEO_FRAME video_frame)
{ {
char fileName[128] = {0}; char fileName[128] = {0};
FST_FILE fp = NULL; FST_FILE fp = NULL;
UINT32 size; UINT32 size;
UINT32 va; UINT32 va;
static UINT32 cnt = 0;
size = VDO_YUV_BUFSIZE(video_frame.dim.w, video_frame.dim.h, video_frame.pxlfmt); if(format == HD_VIDEO_PXLFMT_YUV420){
size = VDO_YUV_BUFSIZE(video_frame.dim.w, video_frame.dim.h, video_frame.pxlfmt);
}else{
// video_frame.pxlfmt = HD_VIDEO_PXLFMT_RAW12;
size = VDO_RAW_BUFSIZE(video_frame.dim.w, video_frame.dim.h, video_frame.pxlfmt);
}
va = (UINT32)hd_common_mem_mmap(HD_COMMON_MEM_MEM_TYPE_CACHE, video_frame.phy_addr[0], size); va = (UINT32)hd_common_mem_mmap(HD_COMMON_MEM_MEM_TYPE_CACHE, video_frame.phy_addr[0], size);
if (va == 0) { if (va == 0) {
DBG_ERR("hd_common_mem_mmap error!r\n"); DBG_ERR("hd_common_mem_mmap error!r\n");
return E_SYS; return E_SYS;
} }
if(format == HD_VIDEO_PXLFMT_YUV420){
sprintf(fileName, "A:\\frame_%lux%lu_fmt%lx.dat", video_frame.dim.w, video_frame.dim.h, video_frame.pxlfmt); sprintf(fileName, "A:\\frame_%lux%lu_fmt%lx.dat", video_frame.dim.w, video_frame.dim.h, video_frame.pxlfmt);
}else{
sprintf(fileName, "A:\\frame_%lux%lu_fmt%lx_%02d.raw", video_frame.dim.w, video_frame.dim.h, video_frame.pxlfmt, cnt);
cnt++;
}
fp = FileSys_OpenFile(fileName, FST_CREATE_ALWAYS | FST_OPEN_WRITE); fp = FileSys_OpenFile(fileName, FST_CREATE_ALWAYS | FST_OPEN_WRITE);
FileSys_WriteFile(fp, (UINT8*)va, &size, 0, NULL); FileSys_WriteFile(fp, (UINT8*)va, &size, 0, NULL);
@ -770,7 +782,7 @@ ER PhotoFast_SliceEncode_Scale_YUV(
pscale->dst_region.w = pdestwin->w; pscale->dst_region.w = pdestwin->w;
pscale->dst_region.h = pdestwin->h; pscale->dst_region.h = pdestwin->h;
pscale->dst_img.blk = mem_info.blk; pscale->dst_img.blk = mem_info.blk;
pscale->quality = HD_GFX_SCALE_QUALITY_BILINEAR; pscale->quality = HD_GFX_SCALE_QUALITY_NULL;
vf_gfx_scale(pscale, 1); vf_gfx_scale(pscale, 1);
pscale->dst_img.count = 0; pscale->dst_img.count = 0;
@ -1275,7 +1287,7 @@ INT32 PhotoFast_SliceEncode(const HD_PATH_ID vproc_path_id, const HD_VIDEO_FRAME
#if PHOTOFAST_SLICE_ENC_DBG_PRIMARY_YUV #if PHOTOFAST_SLICE_ENC_DBG_PRIMARY_YUV
PhotoFast_SliceEncode_Dump_Frame(video_frame); PhotoFast_SliceEncode_Dump_Frame(video_frame, HD_VIDEO_PXLFMT_YUV420);
#endif #endif
@ -1752,7 +1764,6 @@ INT32 PhotoFast_SliceEncode_CB2(void* user_data)
MEM_RANGE pri_jpg = {.addr = slice_encode_primary_info->bs_buf_mem_info.va + CFG_JPG_HEADER_SIZE, .size = slice_encode_primary_info->bs_buf_mem_info.used_size}; MEM_RANGE pri_jpg = {.addr = slice_encode_primary_info->bs_buf_mem_info.va + CFG_JPG_HEADER_SIZE, .size = slice_encode_primary_info->bs_buf_mem_info.used_size};
MEM_RANGE scr_jpg = {.addr = slice_encode_screennail_info->bs_buf_mem_info.va, .size = slice_encode_screennail_info->bs_buf_mem_info.used_size}; MEM_RANGE scr_jpg = {.addr = slice_encode_screennail_info->bs_buf_mem_info.va, .size = slice_encode_screennail_info->bs_buf_mem_info.used_size};
MEM_RANGE dst_jpg_file = { 0 }; MEM_RANGE dst_jpg_file = { 0 };
DBG_WRN(" EXIF\r\n");
/* exif */ /* exif */
ExifVendor_Write0thIFD(EXIF_HDL_ID_1); ExifVendor_Write0thIFD(EXIF_HDL_ID_1);
@ -1859,6 +1870,8 @@ INT32 PhotoFast_SliceEncode_CB3(void* user_data)
******************************************************************/ ******************************************************************/
extern INT32 PhotoFast_WriteFile(UINT32 Addr, UINT32 Size, UINT32 Fmt, UINT32 uiPathId); extern INT32 PhotoFast_WriteFile(UINT32 Addr, UINT32 Size, UINT32 Fmt, UINT32 uiPathId);
vos_perf_list_mark("sie_vd", __LINE__, 4);
fastboot_wait_done(BOOT_INIT_FILESYSOK); fastboot_wait_done(BOOT_INIT_FILESYSOK);
fastboot_wait_done(BOOT_INIT_FILENAMINGOK); fastboot_wait_done(BOOT_INIT_FILENAMINGOK);
PhotoFast_WriteFile( PhotoFast_WriteFile(

View File

@ -8,7 +8,7 @@
#define CFG_PHOTOFAST_SLICE_ENC_PRIMARY_BUF_HEIGHT 1080 #define CFG_PHOTOFAST_SLICE_ENC_PRIMARY_BUF_HEIGHT 1080
#define CFG_PHOTOFAST_SLICE_ENC_PRIMARY_BUF_SIZE VDO_YUV_BUFSIZE(CFG_PHOTOFAST_SLICE_ENC_PRIMARY_BUF_WIDTH, CFG_PHOTOFAST_SLICE_ENC_PRIMARY_BUF_HEIGHT, HD_VIDEO_PXLFMT_YUV420) #define CFG_PHOTOFAST_SLICE_ENC_PRIMARY_BUF_SIZE VDO_YUV_BUFSIZE(CFG_PHOTOFAST_SLICE_ENC_PRIMARY_BUF_WIDTH, CFG_PHOTOFAST_SLICE_ENC_PRIMARY_BUF_HEIGHT, HD_VIDEO_PXLFMT_YUV420)
#define CFG_PHOTOFAST_SLICE_ENC_BS_BUF_RATIO 8 /* (yuv size / ratio) + header = bs buf size */ #define CFG_PHOTOFAST_SLICE_ENC_BS_BUF_RATIO 8 /* (yuv size / ratio) + header = bs buf size */
#define CFG_PHOTOFAST_SLICE_ENC_INIT_QUALITY_PRIMARY 75 #define CFG_PHOTOFAST_SLICE_ENC_INIT_QUALITY_PRIMARY 85
#define CFG_PHOTOFAST_SLICE_ENC_INIT_QUALITY_THUMBNAIL 70 #define CFG_PHOTOFAST_SLICE_ENC_INIT_QUALITY_THUMBNAIL 70
#define CFG_PHOTOFAST_SLICE_ENC_INIT_QUALITY_SCREENNAIL 70 #define CFG_PHOTOFAST_SLICE_ENC_INIT_QUALITY_SCREENNAIL 70
#define CFG_PHOTOFAST_SLICE_ENC_QUALITY_DOWN_STEP 3 #define CFG_PHOTOFAST_SLICE_ENC_QUALITY_DOWN_STEP 3

View File

@ -1213,6 +1213,7 @@ INT32 SetupExe_OnPbRetractLens(VControl *pCtrl, UINT32 paramNum, UINT32 *paramAr
INT32 SetupExe_OnSysBootWorkMode(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)///Eric INT32 SetupExe_OnSysBootWorkMode(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)///Eric
{ {
UINT32 uhSelect = 0; UINT32 uhSelect = 0;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
DBG_FUNC_BEGIN("\r\n"); DBG_FUNC_BEGIN("\r\n");
if (paramNum > 0) { if (paramNum > 0) {
uhSelect = paramArray[0]; uhSelect = paramArray[0];
@ -1220,7 +1221,7 @@ INT32 SetupExe_OnSysBootWorkMode(VControl *pCtrl, UINT32 paramNum, UINT32 *param
DBG_IND("uhSelect %d \r\n", uhSelect); DBG_IND("uhSelect %d \r\n", uhSelect);
UI_SetData(CamMode, uhSelect); puiPara->CamMode = uhSelect;
DBG_FUNC_END("\r\n"); DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME; return NVTEVT_CONSUME;
} }

View File

@ -60,19 +60,19 @@
#if (defined(_NVT_ETHREARCAM_TX_)) #if (defined(_NVT_ETHREARCAM_TX_))
#define DEFAULT_MOVIE_SIZE MOVIE_SIZE_CLONE_1920x1080P30_1280x720P30 #define DEFAULT_MOVIE_SIZE MOVIE_SIZE_CLONE_1920x1080P30_1280x720P30
#elif (defined(_NVT_ETHREARCAM_RX_)) #elif (defined(_NVT_ETHREARCAM_RX_))
#define DEFAULT_MOVIE_SIZE MOVIE_SIZE_FRONT_1920x1080P30 #define DEFAULT_MOVIE_SIZE MOVIE_SIZE_DUAL_1920x1080P30_848x480P30//MOVIE_SIZE_FRONT_1920x1080P30
#else #else
#if (MOVIE_AI_DEMO == DISABLE) #if (MOVIE_AI_DEMO == DISABLE)
#define DEFAULT_MOVIE_SIZE MOVIE_SIZE_FRONT_2560x1440P30//MOVIE_SIZE_FRONT_1920x1080P30 #define DEFAULT_MOVIE_SIZE MOVIE_SIZE_CLONE_1920x1080P60_640x360P30//MOVIE_SIZE_FRONT_1920x1080P30
#else #else
#define DEFAULT_MOVIE_SIZE MOVIE_SIZE_FRONT_1920x1080P30 #define DEFAULT_MOVIE_SIZE MOVIE_SIZE_DUAL_1920x1080P30_848x480P30//MOVIE_SIZE_FRONT_1920x1080P30
#endif #endif
#endif #endif
#endif #endif
#define DEFAULT_MOVIE_SIZE_DUAL MOVIE_SIZE_FRONT_2560x1440P30 #define DEFAULT_MOVIE_SIZE_DUAL MOVIE_SIZE_CLONE_1920x1080P60_640x360P30//MOVIE_SIZE_FRONT_1920x1080P30//MOVIE_SIZE_FRONT_2560x1440P30
#define DEFAULT_MOVIE_SIZE_SINGLE MOVIE_SIZE_FRONT_2560x1440P30 #define DEFAULT_MOVIE_SIZE_SINGLE MOVIE_SIZE_CLONE_1920x1080P60_640x360P30//MOVIE_SIZE_FRONT_1920x1080P30//MOVIE_SIZE_FRONT_2560x1440P30
#define DEFAULT_MOVIE_QUALITY MOVIE_QUALITY_FINE #define DEFAULT_MOVIE_QUALITY MOVIE_QUALITY_FINE
#define DEFAULT_MOVIE_COLOR MOVIE_COLOR_NORMAL #define DEFAULT_MOVIE_COLOR MOVIE_COLOR_NORMAL
@ -219,5 +219,6 @@
#define DEFAULT_TIMESEND2_SWITCH SF_OFF #define DEFAULT_TIMESEND2_SWITCH SF_OFF
#define DEFAULT_TIMESEND3_SWITCH SF_OFF #define DEFAULT_TIMESEND3_SWITCH SF_OFF
#define DEFAULT_TIMESEND4_SWITCH SF_OFF #define DEFAULT_TIMESEND4_SWITCH SF_OFF
#define DEFAULT_FTP_SWITCH SF_FTP_ON
#endif #endif

View File

@ -14,6 +14,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <MemCheck.h> #include <MemCheck.h>
#include <sf_mcu.h>
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
#define __MODULE__ UIInfo #define __MODULE__ UIInfo
@ -329,10 +330,10 @@ void Load_MenuInfo(void)
pStrg->Unlock(); pStrg->Unlock();
UINT32 sum = MemCheck_CalcCheckSum16Bit((UINT32)pCurrentInfoTmp, sizeof(currentInfo)); UINT32 sum = MemCheck_CalcCheckSum16Bit((UINT32)pCurrentInfoTmp, sizeof(currentInfo));
DBG_DUMP("**************size = %lx / mov size = %u / sum = %lx **************\n", DBG_DUMP("**************size = %lx / sum = %lx **************\n",
sizeof(currentInfo), sizeof(currentInfo),
// ((UIMenuStoreInfo*)pCurrentInfoTmp)->UIParameter[FL_MOVIE_SIZE], // ((UIMenuStoreInfo*)pCurrentInfoTmp)->UIParameter[FL_MOVIE_SIZE],
((UIMenuStoreInfo*)pCurrentInfoTmp)->UIParameter[CamMode], //((UIMenuStoreInfo*)pCurrentInfoTmp)->UIParameter[CamMode],
sum); sum);
@ -793,6 +794,7 @@ void SysCheckFlag(void)
//#2023/02/10#Payton - begin //#2023/02/10#Payton - begin
#if 0
//=====================Sifar============= //=====================Sifar=============
SysLimitFlag(CamNameSwitch, 0, SF_CAMID_MAX, DEFAULT_SF_CAMID); SysLimitFlag(CamNameSwitch, 0, SF_CAMID_MAX, DEFAULT_SF_CAMID);
SysLimitFlag(CamMode, 0, SF_CAM_MODE_MAX, DEFAULT_BOOT_WORK_MODE); SysLimitFlag(CamMode, 0, SF_CAM_MODE_MAX, DEFAULT_BOOT_WORK_MODE);
@ -859,7 +861,7 @@ void SysCheckFlag(void)
SysLimitFlag(TimeSend3Switch, 0, SF_ON_OFF_MAX, DEFAULT_GPS_NUMBER); SysLimitFlag(TimeSend3Switch, 0, SF_ON_OFF_MAX, DEFAULT_GPS_NUMBER);
SysLimitFlag(TimeSend4Switch, 0, SF_ON_OFF_MAX, DEFAULT_GPS_NUMBER); SysLimitFlag(TimeSend4Switch, 0, SF_ON_OFF_MAX, DEFAULT_GPS_NUMBER);
#endif #endif
#endif
printf("%s:%d sifar para e\n", __FUNCTION__, __LINE__); printf("%s:%d sifar para e\n", __FUNCTION__, __LINE__);
@ -967,17 +969,12 @@ void SysResetFlag(void)
SysSetFlag(FL_DEFOG, DEFAULT_DEFOG); SysSetFlag(FL_DEFOG, DEFAULT_DEFOG);
#if (HUNTING_CAMERA_MODEL == DISABLE)
// Movie // Movie
if (System_GetEnableSensor() == (SENSOR_1 | SENSOR_2)) { if (System_GetEnableSensor() == (SENSOR_1 | SENSOR_2)) {
SysSetFlag(FL_MOVIE_SIZE_MENU, DEFAULT_MOVIE_SIZE_DUAL); SysSetFlag(FL_MOVIE_SIZE_MENU, DEFAULT_MOVIE_SIZE_DUAL);
} else { } else {
SysSetFlag(FL_MOVIE_SIZE_MENU, DEFAULT_MOVIE_SIZE); SysSetFlag(FL_MOVIE_SIZE_MENU, DEFAULT_MOVIE_SIZE);
} }
#else
SysSetFlag(FL_MOVIE_SIZE, DEFAULT_MOVIE_SIZE);
SysSetFlag(FL_MOVIE_SIZE_MENU, DEFAULT_MOVIE_SIZE);
#endif
SysSetFlag(FL_MOVIE_QUALITY, DEFAULT_MOVIE_QUALITY); SysSetFlag(FL_MOVIE_QUALITY, DEFAULT_MOVIE_QUALITY);
SysSetFlag(FL_MOVIE_COLOR, DEFAULT_MOVIE_COLOR); SysSetFlag(FL_MOVIE_COLOR, DEFAULT_MOVIE_COLOR);
SysSetFlag(FL_MOVIE_CYCLIC_REC, DEFAULT_MOVIE_CYCLICREC); SysSetFlag(FL_MOVIE_CYCLIC_REC, DEFAULT_MOVIE_CYCLICREC);
@ -1059,36 +1056,36 @@ void SysResetFlag(void)
SysSetFlag(FL_NetWorkMode, DEFAULT_WIFI_MODE); // Reset To Wi-Fi mode to AP mode. SysSetFlag(FL_NetWorkMode, DEFAULT_WIFI_MODE); // Reset To Wi-Fi mode to AP mode.
#endif #endif
SysSetFlag(FL_ETHCAM_TX_IP_ADDR, DEFAULT_ETHCAM_TX_IP_ADDR);
//#NT#2023/01/11#Eric - begin //#NT#Support //#NT#2023/01/11#Eric - begin //#NT#Support
//=====================Sifar=============///Eric //=====================Sifar=============///Eric
//Ux_SendEvent(&UISetupObjCtrl, NVTEVT_EXE_BOOTWORKMODE, 1, SysGetFlag(CamMode)); //Ux_SendEvent(&UISetupObjCtrl, NVTEVT_EXE_BOOTWORKMODE, 1, SysGetFlag(CamMode));
//#NT#2023/01/11#Eric - end //#NT#2023/01/11#Eric - end
//#2023/02/10#Payton - begin //#2023/02/10#Payton - begin
//=====================Sifar============= //=====================Sifar=============
SysSetFlag(CamNameSwitch, DEFAULT_SF_CAMID);
SysSetFlag(CamMode, DEFAULT_BOOT_WORK_MODE); puiPara->CamNameSwitch = DEFAULT_SF_CAMID;
SysSetFlag(FlashLed, DEFAULT_FLASH_LED); puiPara->CamMode = DEFAULT_BOOT_WORK_MODE;
puiPara->FlashLed = DEFAULT_FLASH_LED;
//ImgSize //ImgSize
SysSetFlag(NightMode, DEFAULT_NIGHT_MODE); puiPara->NightMode = DEFAULT_NIGHT_MODE;
//Multishot //Multishot
//VideoSize //VideoSize
//VideoTimeMenu //VideoTimeMenu
SysSetFlag(VideoLenth, DEFAULT_VIDEO_LENTH); puiPara->VideoLenth = DEFAULT_VIDEO_LENTH;
SysSetFlag(PirSwitch, DEFAULT_PIR_SWITCH); puiPara->PirSwitch = DEFAULT_PIR_SWITCH;
SysSetFlag(PirSensitivity, DEFAULT_PIR_SENSITIVITY); puiPara->PirSensitivity = DEFAULT_PIR_SENSITIVITY;
SysSetFlag(PirDelaySwitch, DEFAULT_PIR_DELAY_SWITCH); puiPara->PirDelaySwitch = DEFAULT_PIR_DELAY_SWITCH;
SysSetFlag(TimelapseSwitch, DEFAULT_TIMELAPSE_SWITCH);
if(SysGetFlag(TimelapseSwitch)) puiPara->TimelapseSwitch = DEFAULT_TIMELAPSE_SWITCH;
if(puiPara->TimelapseSwitch)
{ {
puiPara->TimelapseTime.Hour = 0; puiPara->TimelapseTime.Hour = 0;
puiPara->TimelapseTime.Min = 0; puiPara->TimelapseTime.Min = 0;
puiPara->TimelapseTime.Sec = 5; puiPara->TimelapseTime.Sec = 5;
} }
SysSetFlag(WorkTime1Switch, DEFAULT_WORKTIME_SWITCH); puiPara->WorkTime1Switch = DEFAULT_WORKTIME_SWITCH;
if(SysGetFlag(WorkTime1Switch)) if(puiPara->WorkTime1Switch)
{ {
puiPara->WorkTime[0].StartTime.Hour = 16; puiPara->WorkTime[0].StartTime.Hour = 16;
puiPara->WorkTime[0].StartTime.Min = 0; puiPara->WorkTime[0].StartTime.Min = 0;
@ -1096,8 +1093,8 @@ void SysResetFlag(void)
puiPara->WorkTime[0].StopTime.Min = 0; puiPara->WorkTime[0].StopTime.Min = 0;
} }
SysSetFlag(WorkTime2Switch, DEFAULT_WORKTIME_SWITCH); puiPara->WorkTime2Switch = DEFAULT_WORKTIME_SWITCH;
if(SysGetFlag(WorkTime2Switch)) if(puiPara->WorkTime2Switch)
{ {
puiPara->WorkTime[1].StartTime.Hour = 5; puiPara->WorkTime[1].StartTime.Hour = 5;
puiPara->WorkTime[1].StartTime.Min = 0; puiPara->WorkTime[1].StartTime.Min = 0;
@ -1105,55 +1102,73 @@ void SysResetFlag(void)
puiPara->WorkTime[1].StopTime.Min = 0; puiPara->WorkTime[1].StopTime.Min = 0;
} }
SysSetFlag(SimAutoSwitch, DEFAULT_SIM_AUTO_SWITCH); puiPara->SimAutoSwitch = DEFAULT_SIM_AUTO_SWITCH;
SysSetFlag(SendMaxNum, DEFAULT_SEND_MAX_NUM); puiPara->SendMaxNum = DEFAULT_SEND_MAX_NUM;
SysSetFlag(GprsMode, DEFAULT_GPRS_MODE); puiPara->GprsMode = DEFAULT_GPRS_MODE;
SysSetFlag(DailyReportSwitch, DEFAULT_DAILY_REPORT_SWITCH); puiPara->DailyReportSwitch = DEFAULT_DAILY_REPORT_SWITCH;
SysSetFlag(ReDailyReport, DEFAULT_REDAILY_REPORT_SWITCH); puiPara->ReDailyReport = DEFAULT_REDAILY_REPORT_SWITCH;
SysSetFlag(SimPinFlag, DEFAULT_SIN_PIN_FLAG); puiPara->SimPinFlag = DEFAULT_SIN_PIN_FLAG;
SysSetFlag(GpsSwitch, DEFAULT_GPS_SWITCH); puiPara->GpsSwitch = DEFAULT_GPS_SWITCH;
SysSetFlag(Language, DEFAULT_LANGUAGE); puiPara->Language = DEFAULT_LANGUAGE;
/////////////// ///////////////
SysSetFlag(DateStyle, DEFAULT_DATE_TIME); puiPara->DateStyle = DEFAULT_DATE_TIME;
SysSetFlag(FL_DateFormatIndex, DEFAULT_DATE_TIME); SysSetFlag(FL_DateFormatIndex, DEFAULT_DATE_TIME);
///////////// /////////////
SysSetFlag(StampSwitch, DEFAULT_STAMP_SWITCH); puiPara->StampSwitch = DEFAULT_STAMP_SWITCH;
SysSetFlag(BatteryType, DEFAULT_BATTERY_TYPE); puiPara->BatteryType = DEFAULT_BATTERY_TYPE;
SysSetFlag(SdLoopSwitch, DEFAULT_SD_LOOP_SWITCH); puiPara->SdLoopSwitch = DEFAULT_SD_LOOP_SWITCH;
SysSetFlag(PwdSwitch, DEFAULT_PWD_SWITCH); puiPara->PwdSwitch = DEFAULT_PWD_SWITCH;
SysSetFlag(SendPhotoSwitch, DEFAULT_SEND_PHOTO_SWITCH); puiPara->SendPhotoSwitch = DEFAULT_SEND_PHOTO_SWITCH;
SysSetFlag(SendVideoSwitch, DEFAULT_SEND_VIDEO_SWITCH); puiPara->SendVideoSwitch = DEFAULT_SEND_VIDEO_SWITCH;
SysSetFlag(SendPicSize, DEFAULT_SEND_PIC_SIZE); puiPara->SendPicSize = DEFAULT_SEND_PIC_SIZE;
SysSetFlag(SendMultishotIndex1, DEFAULT_SEND_MULTISHOT_INDEX1); puiPara->SendMultishotIndex1 = DEFAULT_SEND_MULTISHOT_INDEX1;
SysSetFlag(SendMultishotIndex2, DEFAULT_SEND_MULTISHOT_INDEX2); puiPara->SendMultishotIndex2 = DEFAULT_SEND_MULTISHOT_INDEX2;
SysSetFlag(SendMultishotIndex3, DEFAULT_SEND_MULTISHOT_INDEX3); puiPara->SendMultishotIndex3 = DEFAULT_SEND_MULTISHOT_INDEX3;
SysSetFlag(SendMultishotIndex4, DEFAULT_SEND_MULTISHOT_INDEX4); puiPara->SendMultishotIndex4 = DEFAULT_SEND_MULTISHOT_INDEX4;
SysSetFlag(DateAuto, DEFAULT_DATE_AUTO); puiPara->DateAuto = DEFAULT_DATE_AUTO;
//NTPZoneS, //NTPZoneS,
//NTPZoneH, //NTPZoneH,
//NTPZoneM, //NTPZoneM,
SysSetFlag(CamArmDiable, DEFAULT_CAM_ARM_DIABLE); puiPara->CamArmDiable = DEFAULT_CAM_ARM_DIABLE;
SysSetFlag(DebugMode, DEFAULT_DEBUG_MODE); puiPara->DebugMode = DEFAULT_DEBUG_MODE;
SysSetFlag(AutoOffSwitch, DEFAULT_AUTO_OFF_SWITCH); puiPara->AutoOffSwitch = DEFAULT_AUTO_OFF_SWITCH;
SysSetFlag(AutoLogSwitch, DEFAULT_AUTO_LOG_SWITCH); puiPara->AutoLogSwitch = DEFAULT_AUTO_LOG_SWITCH;
SysSetFlag(RawSwitch, DEFAULT_RAW_SWITCH); puiPara->RawSwitch = DEFAULT_RAW_SWITCH;
SysSetFlag(GprsSwitch, DEFAULT_GPRS_SWITCH); puiPara->GprsSwitch = DEFAULT_GPRS_SWITCH;
SysSetFlag(GpsSendFlag, DEFAULT_GPS_SEND_FLAG); puiPara->GpsSendFlag = DEFAULT_GPS_SEND_FLAG;
SysSetFlag(FristSendDailyAndGps, DEFAULT_FRIST_SEND_DAILY_AND_GPS); puiPara->FristSendDailyAndGps = DEFAULT_FRIST_SEND_DAILY_AND_GPS;
SysSetFlag(NetGeneration, DEFAULT_NET_GENERATION); puiPara->NetGeneration = DEFAULT_NET_GENERATION;
SysSetFlag(NeedTimeSyncStartUp, DEFAULT_NEED_TIME_SYNC); puiPara->NeedTimeSyncStartUp = DEFAULT_NEED_TIME_SYNC;
SysSetFlag(NetWorkNeedSearch, DEFAULT_NET_WORK_NEED_SEARCH); puiPara->NetWorkNeedSearch = DEFAULT_NET_WORK_NEED_SEARCH;
SysSetFlag(QLogSwitch, DEFAULT_QLOG_SWITCH); puiPara->QLogSwitch = DEFAULT_QLOG_SWITCH;
SysSetFlag(GpsAntiTheftSwitch, DEFAULT_GPS_ANTI_THEFT_SWITCH); puiPara->GpsAntiTheftSwitch = DEFAULT_GPS_ANTI_THEFT_SWITCH;
SysSetFlag(BatteryLogSwitch, DEFAULT_BATTRERY_LOG_SWITCH); puiPara->BatteryLogSwitch = DEFAULT_BATTRERY_LOG_SWITCH;
puiPara->FtpSwitch = DEFAULT_FTP_SWITCH;
memset(puiPara ->FtpIp,'\0', sizeof(puiPara ->FtpIp));
memset(puiPara ->FtpPort, '\0', sizeof(puiPara ->FtpPort));
memset(puiPara ->FtpUsr, '\0', sizeof(puiPara ->FtpUsr));
memset(puiPara ->FtpPwd,'\0', sizeof(puiPara ->FtpPwd));
memset(puiPara ->FtpsIp,'\0', sizeof(puiPara ->FtpsIp));
memset(puiPara ->FtpsPort, '\0', sizeof(puiPara ->FtpsPort));
memset(puiPara ->FtpsUsr, '\0', sizeof(puiPara ->FtpsUsr));
memset(puiPara ->FtpsPwd,'\0', sizeof(puiPara ->FtpsPwd));
strcpy((char *)puiPara ->FtpIp, "119.23.174.139");
strcpy((char *)puiPara ->FtpPort, "21");
strcpy((char *)puiPara ->FtpUsr, "cameraftp");
strcpy((char *)puiPara ->FtpPwd, "camera123456");
#if defined(_MODEL_565_HUNTING_EVB_LINUX_4G_S530_) #if defined(_MODEL_565_HUNTING_EVB_LINUX_4G_S530_)
SysSetFlag(GpsNumber, DEFAULT_GPS_NUMBER); puiPara->GpsNumber = DEFAULT_GPS_NUMBER;
SysSetFlag(TimeSend1Switch, DEFAULT_TIMESEND1_SWITCH); puiPara->TimeSend1Switch = DEFAULT_TIMESEND1_SWITCH;
SysSetFlag(TimeSend2Switch, DEFAULT_TIMESEND2_SWITCH); puiPara->TimeSend2Switch = DEFAULT_TIMESEND2_SWITCH;
SysSetFlag(TimeSend3Switch, DEFAULT_TIMESEND3_SWITCH); puiPara->TimeSend3Switch = DEFAULT_TIMESEND3_SWITCH;
SysSetFlag(TimeSend4Switch, DEFAULT_TIMESEND4_SWITCH); puiPara->TimeSend4Switch = DEFAULT_TIMESEND4_SWITCH;
sf_set_pir_sensitivity(7);
#endif #endif
printf("%s:%d sifar para e\n", __FUNCTION__, __LINE__); printf("%s:%d sifar para e\n", __FUNCTION__, __LINE__);
@ -1164,6 +1179,7 @@ void SysResetFlag(void)
void SysExeMenuSettingFuncs(void) void SysExeMenuSettingFuncs(void)
{ {
UIMenuStoreInfo *puiPara = sf_ui_para_get();
#if (PHOTO_MODE==ENABLE) #if (PHOTO_MODE==ENABLE)
/*--- Photo ---*/ /*--- Photo ---*/
Ux_SendEvent(&CustomPhotoObjCtrl, NVTEVT_EXE_QUALITY, 1, SysGetFlag(FL_QUALITY)); Ux_SendEvent(&CustomPhotoObjCtrl, NVTEVT_EXE_QUALITY, 1, SysGetFlag(FL_QUALITY));
@ -1234,7 +1250,7 @@ void SysExeMenuSettingFuncs(void)
#endif #endif
//#NT#2023/01/11#Eric - begin //#NT#Support //#NT#2023/01/11#Eric - begin //#NT#Support
//=====================Sifar=============///Eric //=====================Sifar=============///Eric
Ux_SendEvent(&UISetupObjCtrl, NVTEVT_EXE_BOOTWORKMODE, 1, SysGetFlag(CamMode)); Ux_SendEvent(&UISetupObjCtrl, NVTEVT_EXE_BOOTWORKMODE, 1, puiPara->CamMode);
//#NT#2023/01/11#Eric - end //#NT#2023/01/11#Eric - end
} }

View File

@ -268,7 +268,7 @@ typedef enum {
FL_ETHCAM_TX_IP_ADDR, FL_ETHCAM_TX_IP_ADDR,
FL_MOVIE_CODEC_MENU, FL_MOVIE_CODEC_MENU,
FL_MOVIE_SENSOR_ROTATE_MENU, FL_MOVIE_SENSOR_ROTATE_MENU,
#if 0
//#2023/02/10#Payton - begin //#2023/02/10#Payton - begin
CamNameSwitch,/*ON/OFF ,cam name off*/ CamNameSwitch,/*ON/OFF ,cam name off*/
CamMode,/* 0 Photo / 1 Video / 2 PIC+Video*/ CamMode,/* 0 Photo / 1 Video / 2 PIC+Video*/
@ -341,7 +341,7 @@ typedef enum {
SendType, SendType,
/////////////////////// ///////////////////////
#endif #endif
#endif
//#2023/02/10#Payton - end //#2023/02/10#Payton - end
FL_IndexInfoMAX FL_IndexInfoMAX
@ -410,6 +410,79 @@ typedef struct _UIMenuUIMenuStoreInfo {
SF_PARA_TIME_S TimeSend3; SF_PARA_TIME_S TimeSend3;
SF_PARA_TIME_S TimeSend4; SF_PARA_TIME_S TimeSend4;
#endif #endif
//#2023/02/10#Payton - begin
CHAR CamNameSwitch;/*ON/OFF ,cam name off*/
CHAR CamMode;/* 0 Photo / 1 Video / 2 PIC+Video*/
CHAR FlashLed;/* 0 High / 1 Low */
CHAR ImgSize;/* 24M/12M/8M/5M */
CHAR NightMode;/* Max.Range/Balanced/Min.Blur */
CHAR Multishot;/*1P/2P/3P/4P/5P*/
CHAR VideoSize;/*FHD-1080P/HD-720P/WVGA*/
CHAR VideoTimeMenu;/*5/10/15/20/30/40/50/59*/
CHAR VideoLenth;
CHAR PirSwitch;/*OFF/ON*/
CHAR PirSensitivity;/*High/Middle/Low*/
CHAR PirDelaySwitch;/*OFF/ON*/
CHAR TimelapseSwitch;/*OFF/ON*/
CHAR WorkTime1Switch;/*OFF/ON*/
CHAR WorkTime2Switch;/*OFF/ON*/
CHAR SimAutoSwitch;/*Auto/Manual*/
CHAR SendMaxNum;/*Unlimited/1~99*/
CHAR GprsMode;/*Daily/Instant*/
CHAR DailyReportSwitch;/*OFF/ON*/
CHAR ReDailyReport;
CHAR DailyReportTestSwitch;
CHAR SimPinFlag;/*ON*/
CHAR GpsSwitch;/*0:OFF;1:ON*/
CHAR Language;
CHAR DateStyle;/*YY/MM/DD-(CN) / MM/DD/YY-(US) / DD/MM/YY-(EU)*/
CHAR StampSwitch;/*0:OFF;1:ON*///FL_DATE_STAMP
CHAR BatteryType;/*Alkaline/NI-MH/LI*/
CHAR SdLoopSwitch;/*0:OFF;1:ON*/
CHAR PwdSwitch;/*0:OFF;1:ON*/
CHAR SendPhotoSwitch;/*0:OFF;1:ON*/
CHAR SendVideoSwitch;/*0:OFF;1:ON*/
CHAR SendPicSize;/*Small/Bigger/Original*/
CHAR SendMultishotIndex1;/*OFF/ON*/
CHAR SendMultishotIndex2;/*OFF/ON*/
CHAR SendMultishotIndex3;/*OFF/ON*/
CHAR SendMultishotIndex4;/*OFF/ON*/
CHAR SendMultishotIndex5;/*OFF/ON*/
CHAR DateAuto;/*Auto/Manual*/
CHAR NTPZoneS;
CHAR NTPZoneH;
CHAR NTPZoneM;
CHAR DigitPirSensitivity;/*9\7\5*/
CHAR DigitPirCnt;
CHAR DigitPirWindowTime;
CHAR CamArmDiable;
CHAR DebugMode;/*0:OFF;1:ON*/
CHAR AutoOffSwitch;/*0:OFF;1:ON*/
CHAR AutoLogSwitch;/*0:OFF;1:ON*/
CHAR RawSwitch;/*0:OFF;1:ON*/
//ProfLogSwitch;/*0:OFF;1:ON*/
CHAR GprsSwitch;/*0:OFF;1:ON*/
CHAR GpsSendFlag;/*dp need send flag;*/
CHAR FristSendDailyAndGps;
CHAR NetGeneration;/*0:NO 1:xx 2:2G 3:3G 4:4G*/
CHAR NeedTimeSyncStartUp;
CHAR NetWorkNeedSearch;
//SmsNumber;
CHAR QLogSwitch;/*0:OFF;1:ON*/
CHAR GpsAntiTheftSwitch;
CHAR BatteryLogSwitch;
#if defined(_MODEL_565_HUNTING_EVB_LINUX_4G_S530_)
////////////S530////////
CHAR GpsNumber;
CHAR TimeSend1Switch;/*OFF/ON*/
CHAR TimeSend2Switch;/*OFF/ON*/
CHAR TimeSend3Switch;/*OFF/ON*/
CHAR TimeSend4Switch;/*OFF/ON*/
CHAR SendType;
///////////////////////
#endif
CHAR CamNameStr[13]; CHAR CamNameStr[13];
CHAR PwdStr[7]; CHAR PwdStr[7];
CHAR Latitude[16]; CHAR Latitude[16];
@ -431,6 +504,20 @@ typedef struct _UIMenuUIMenuStoreInfo {
CHAR AcmPort[5]; CHAR AcmPort[5];
CHAR WebIp[70]; CHAR WebIp[70];
CHAR OperatorCode[8]; CHAR OperatorCode[8];
CHAR SimIccid[21];
CHAR ServiceProvider[64];
UINT8 SimSignal;
UINT8 SimType;
UINT8 FtpSwitch;/*FTP/OFF/FTPS*/
UINT8 FtpIp[40];
UINT8 FtpPort[5];
UINT8 FtpUsr[40];
UINT8 FtpPwd[20];
UINT8 FtpsIp[40];
UINT8 FtpsPort[5];
UINT8 FtpsUsr[40];
UINT8 FtpsPwd[20];
//============Sifar==============///Payton //============Sifar==============///Payton
} UIMenuStoreInfo; } UIMenuStoreInfo;
@ -1860,6 +1947,14 @@ typedef enum {
SF_BATT_LEVEL_TOTAL SF_BATT_LEVEL_TOTAL
} SF_BatteryLevel_e; } SF_BatteryLevel_e;
typedef enum
{
SF_FTP_ON = 0x00,
SF_FTP_OFF,
SF_FTPS_ON,
SF_FTP_MAX,
} SF_FTP;
extern void Load_SysInfo(void); extern void Load_SysInfo(void);
extern void Save_SysInfo(void); extern void Save_SysInfo(void);
extern void Init_SysInfo(void); extern void Init_SysInfo(void);

View File

@ -120,11 +120,11 @@ static MOVIE_SIZE_ITEM g_MovieSizeTable[] = {
#if (defined(_NVT_ETHREARCAM_TX_)) #if (defined(_NVT_ETHREARCAM_TX_))
{2560, 1440, 30, 1750 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9}, {2560, 1440, 30, 1750 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9},
{1, 3, 36, 8, -8, 0}, {1, 3, 36, 8, -8, 0},
{1, 4, 30, 800 * 1024, 30, 26, 10, 50, 26, 10, 50, -40, 1, 8, 4}, {1, 4, 30, 1750 * 1024, 30, 26, 10, 50, 26, 10, 50, -40, 1, 8, 4},
#else #else
{2560, 1440, 30, 1750 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9}, {2560, 1440, 30, 1750 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9},
{1, 3, 36, 8, -8, 0}, {1, 3, 36, 8, -8, 0},
{1, 4, 30, 800 * 1024, 15, 26, 10, 40, 26, 10, 40, 0, 1, 8, 4}, {1, 4, 30, 1750 * 1024, 15, 26, 10, 40, 26, 10, 40, 0, 1, 8, 4},
#endif #endif
}, },
@ -160,13 +160,13 @@ static MOVIE_SIZE_ITEM g_MovieSizeTable[] = {
[MOVIE_SIZE_1920x1080P30] = { [MOVIE_SIZE_1920x1080P30] = {
#if (defined(_NVT_ETHREARCAM_TX_)) #if (defined(_NVT_ETHREARCAM_TX_))
{1920, 1080, 30, 1200 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9}, {1920, 1080, 30, 200 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9},
{1, 3, 36, 8, -8, 0}, {1, 3, 36, 8, -8, 0},
{1, 4, 30, 1200 * 1024, 30, 26, 10, 40, 26, 10, 40, -40, 1, 8, 4}, {1, 4, 30, 200 * 1024, 30, 26, 10, 40, 26, 10, 40, -40, 1, 8, 4},
#else #else
{1920, 1080, 30, 1200 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9}, {1920, 1080, 30, 262144/* 2M = 2*1024*1024/8 */, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9},
{1, 3, 36, 8, -8, 0}, {1, 3, 36, 8, -8, 0},
{1, 4, 30, 1200 * 1024, 15, 26, 10, 40, 26, 10, 40, 0, 1, 8, 4}, {1, 4, 30, 262144/* 2M = 2*1024*1024/8 */, 15, 26, 15, 50, 26, 15, 50, 0, 1, 8, 4},
#endif #endif
}, },
@ -190,13 +190,13 @@ static MOVIE_SIZE_ITEM g_MovieSizeTable[] = {
[MOVIE_SIZE_1280x720P30] = { [MOVIE_SIZE_1280x720P30] = {
#if (defined(_NVT_ETHREARCAM_TX_)) #if (defined(_NVT_ETHREARCAM_TX_))
{1280, 720, 30, 600 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9}, {1280, 720, 30, 100 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9},
{1, 2, 36, 6, -6, 0}, {1, 2, 36, 6, -6, 0},
{1, 4, 30, 600 * 1024, 1800, 26, 10, 50, 26, 10, 50, -40, 1, 8, 4}, {1, 4, 30, 100 * 1024, 1800, 26, 10, 50, 26, 10, 50, -40, 1, 8, 4},
#else #else
{1280, 720, 30, 450 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9}, {1280, 720, 30, 131072 /* 1M = 1*1024*1024/8 */, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9},
{1, 3, 36, 8, -8, 0}, {1, 3, 36, 8, -8, 0},
{1, 4, 30, 450 * 1024, 15, 26, 10, 40, 26, 10, 40, 0, 1, 8, 4}, {1, 4, 30, 131072 /* 1M = 1*1024*1024/8 */, 15, 26, 15, 50, 26, 15, 50, 0, 1, 8, 4},
#endif #endif
}, },
@ -214,13 +214,13 @@ static MOVIE_SIZE_ITEM g_MovieSizeTable[] = {
[MOVIE_SIZE_848x480P30] = { [MOVIE_SIZE_848x480P30] = {
#if (defined(_NVT_ETHREARCAM_TX_)) #if (defined(_NVT_ETHREARCAM_TX_))
{848, 480, 30, 300 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9}, {848, 480, 30, 84 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9},
{1, 3, 36, 8, -8, 0}, {1, 3, 36, 8, -8, 0},
{1, 4, 30, 300 * 1024, 1800, 26, 10, 50, 26, 10, 50, -40, 1, 8, 4}, {1, 4, 30, 84 * 1024, 1800, 26, 10, 50, 26, 10, 50, -40, 1, 8, 4},
#else #else
{848, 480, 30, 200 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9}, {848, 480, 30, 110100, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9},
{1, 3, 36, 8, -8, 0}, {1, 3, 36, 8, -8, 0},
{1, 4, 30, 200 * 1024, 15, 26, 10, 40, 26, 10, 40, 0, 1, 8, 4}, {1, 4, 30, 110100, 15, 26, 15, 50, 26, 15, 50, 0, 1, 8, 4},
#endif #endif
}, },

View File

@ -437,7 +437,7 @@ extern UINT8 sf_mcu_wdg_set(UINT8 value);
extern UINT8 sf_get_power_on_mode(void); extern UINT8 sf_get_power_on_mode(void);
UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val); UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val);
BOOL sf_is_night_mode(BOOL isRefresh); BOOL sf_is_night_mode(BOOL isRefresh);
extern UINT16 sf_mcu_irshutter_get_adc(void); UINT16 sf_mcu_get_irshtter(void);
BOOL sf_is_card_full(void); BOOL sf_is_card_full(void);
UINT32 sf_check_card_full(void); UINT32 sf_check_card_full(void);
@ -455,6 +455,8 @@ int sf_init_mcu(void);
UINT8 sf_get_mcu_rtc_set_sys(void); UINT8 sf_get_mcu_rtc_set_sys(void);
UINT8 sf_get_power_off_flag(void); UINT8 sf_get_power_off_flag(void);
void sf_set_power_off_flag(UINT8 flag); void sf_set_power_off_flag(UINT8 flag);
UINT32 sf_set_pir_sensitivity(UINT8 pirs);
void sf_set_module_sleep_flag(UINT8 flag);
#endif #endif

View File

@ -1,3 +1,8 @@
#include "PrjCfg.h"
#if HUNTING_MCU_I2C == ENABLE
#ifdef __KERNEL__ #ifdef __KERNEL__
#include <linux/i2c.h> #include <linux/i2c.h>
#include <linux/slab.h> #include <linux/slab.h>
@ -125,3 +130,5 @@ INT32 sf_i2c_transfer(struct i2c_msg *msgs, INT32 num)
return 0; return 0;
} }
#endif

View File

@ -371,7 +371,7 @@ UINT8 sf_mcu_read_multi(UINT8 reg[], UINT8 data[], UINT32 num)
*************************************************/ *************************************************/
UINT8 sf_mcu_power_on_para_get(MCUParam_t attrId) UINT8 sf_mcu_power_on_para_get(MCUParam_t attrId)
{ {
UINT8 dataTemp1 = 0, dataTemp2 = 0; UINT8 dataTemp1 = 0;//, dataTemp2 = 0
UINT8 startMode = 0; UINT8 startMode = 0;
//UINT8 mcuVer = 0; //UINT8 mcuVer = 0;
UINT8 mcuReg[REG_SIZE] = { 0 }; UINT8 mcuReg[REG_SIZE] = { 0 };
@ -390,8 +390,8 @@ UINT8 sf_mcu_power_on_para_get(MCUParam_t attrId)
mcuReg[i++] = MCU_VER_H; mcuReg[i++] = MCU_VER_H;
mcuReg[i++] = MCU_PRODUCT_INFO; mcuReg[i++] = MCU_PRODUCT_INFO;
mcuReg[i++] = START_MODE; mcuReg[i++] = START_MODE;
mcuReg[i++] = LUMINANCE_L; //mcuReg[i++] = LUMINANCE_L;
mcuReg[i++] = LUMINANCE_H; //mcuReg[i++] = LUMINANCE_H;
sf_mcu_read_multi(mcuReg, mcuData, i); sf_mcu_read_multi(mcuReg, mcuData, i);
i = 0; i = 0;
@ -403,9 +403,9 @@ UINT8 sf_mcu_power_on_para_get(MCUParam_t attrId)
dataTemp1 = mcuData[i++]; dataTemp1 = mcuData[i++];
startMode = dataTemp1 & 0x1F; startMode = dataTemp1 & 0x1F;
DailyReportStartMode = (dataTemp1 & 0xc0) >> 6; DailyReportStartMode = (dataTemp1 & 0xc0) >> 6;
dataTemp1= mcuData[i++]; //dataTemp1= mcuData[i++];
dataTemp2 = mcuData[i++]; //dataTemp2 = mcuData[i++];
IRSHTTER = (dataTemp2 << 8) | dataTemp1; //IRSHTTER = (dataTemp2 << 8) | dataTemp1;
#if 0 #if 0
sf_mcu_read(MCU_SUB_VER, &McuSubVersion); sf_mcu_read(MCU_SUB_VER, &McuSubVersion);
@ -447,8 +447,8 @@ UINT8 sf_mcu_power_on_para_get(MCUParam_t attrId)
startMode = PWR_ON_SETUP; startMode = PWR_ON_SETUP;
} }
} }
printf(" start mode = %d \n", startMode);
printf(" start mode = %d IRSHTTER = %d\n", startMode, IRSHTTER); //printf(" start mode = %d IRSHTTER = %d\n", startMode, IRSHTTER);
sf_get_mcu_rtc_set_sys(); sf_get_mcu_rtc_set_sys();
return startMode; return startMode;
@ -665,7 +665,7 @@ UINT8 sf_get_power_on_mode(void)
ModeFlag = 0; ModeFlag = 0;
PowerOnMode = sf_mcu_power_on_para_get(SF_MCU_POWERON); PowerOnMode = sf_mcu_power_on_para_get(SF_MCU_POWERON);
PowerOnMode &= 0x0f; PowerOnMode &= 0x0f;
sf_is_night_mode(1); //sf_is_night_mode(1);
if(1 == PowerOnMode) if(1 == PowerOnMode)
{ {
ConfigureModeFlag = 1; ConfigureModeFlag = 1;
@ -693,6 +693,7 @@ BOOL sf_is_night_mode(BOOL isRefresh)
} }
else if(isRefresh) else if(isRefresh)
{ {
sf_mcu_get_irshtter();
if(IRSHTTER < SF_MCU_NIGHT_MODE_LUMINANCE) if(IRSHTTER < SF_MCU_NIGHT_MODE_LUMINANCE)
{ {
nightMode = TRUE; nightMode = TRUE;
@ -1320,26 +1321,37 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
UINT8 paraSyncFlag = 0; UINT8 paraSyncFlag = 0;
UINT8 gpsAlwaysFlag = 0; UINT8 gpsAlwaysFlag = 0;
UINT8 PowerOnMode = 0; UINT8 PowerOnMode = 0;
signed int isUsb = 0;
signed int isCard = 0;
signed int isCardFull = 0;
printf("Firmware compile time:%s %s VER:%s\n", __DATE__, __TIME__,SF_BASE_VERSION); printf("Firmware compile time:%s %s VER:%s\n", __DATE__, __TIME__,SF_BASE_VERSION);
printf("%s:%d start mode = %d IRSHTTER = %d\n", __FUNCTION__, __LINE__ , sf_get_power_on_mode(), IRSHTTER);
UIMenuStoreInfo *puiPara = sf_ui_para_get(); UIMenuStoreInfo *puiPara = sf_ui_para_get();
PowerOnMode = sf_get_power_on_mode();
if(attrId != SF_MCU_CTRL_MODULE_PIR)//AND LDS SECTION_01 loading order.
{
isUsb = sf_is_usb_flag();
isCard = sf_in_card_exist();
isCardFull = sf_is_card_full();
PowerOnMode = sf_get_power_on_mode();
}
if (attrId > SF_MCU_PARAM_MAX) if (attrId > SF_MCU_PARAM_MAX)
{ {
printf("attrId ERROR!\n"); printf("attrId ERROR!\n");
return FAIL; return FAIL;
} }
printf("sf_mcu_reg_set attrId=%d val=%d\n", attrId, val); printf("sf_mcu_reg_set attrId=%d val=%d\n", attrId, val);
if((simCardInsert) && (1 == SysGetFlag(NeedTimeSyncStartUp)))
{
paraSyncFlag = 1;
}
if(attrId == SF_MCU_POWEROFF) if(attrId == SF_MCU_POWEROFF)
{ {
if((simCardInsert) && (1 == puiPara->NeedTimeSyncStartUp))
{
paraSyncFlag = 1;
}
struct tm ctv = {0}; struct tm ctv = {0};
ctv = hwclock_get_time(TIME_ID_CURRENT); ctv = hwclock_get_time(TIME_ID_CURRENT);
printf("%s:%d %d : %d : %d : %d : %d : %d\n", __FUNCTION__, __LINE__,ctv.tm_year, ctv.tm_mon,ctv.tm_mday,ctv.tm_hour,ctv.tm_min,ctv.tm_sec); printf("%s:%d %d : %d : %d : %d : %d : %d\n", __FUNCTION__, __LINE__,ctv.tm_year, ctv.tm_mon,ctv.tm_mday,ctv.tm_hour,ctv.tm_min,ctv.tm_sec);
@ -1359,7 +1371,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
gpsAlwaysFlag = 0; gpsAlwaysFlag = 0;
if((SysGetFlag(GpsSwitch) == 1) && (SysGetFlag(GpsNumber))) if((puiPara->GpsSwitch == 1) && (puiPara->GpsNumber))
{ {
gpsAlwaysFlag=1; gpsAlwaysFlag=1;
} }
@ -1368,17 +1380,17 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
gpsAlwaysFlag=0; gpsAlwaysFlag=0;
} }
if(SysGetFlag(PirSensitivity)) if(puiPara->PirSensitivity)
temp = 0x01; temp = 0x01;
else else
temp = 0x00; temp = 0x00;
if(1 == SysGetFlag(TimelapseSwitch)) if(1 == puiPara->TimelapseSwitch)
{ {
temp |= 0x02; temp |= 0x02;
} }
if(1 == SysGetFlag(PirDelaySwitch)) if(1 == puiPara->PirDelaySwitch)
{ {
temp |= 0x04; temp |= 0x04;
} }
@ -1403,10 +1415,10 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
} }
if(SysGetFlag(TimeSend1Switch) == 1) if(puiPara->TimeSend1Switch == 1)
temp |= 0x20; temp |= 0x20;
if(SysGetFlag(TimeSend2Switch) == 1) if(puiPara->TimeSend2Switch == 1)
temp |= 0x40; temp |= 0x40;
if(gpsAlwaysFlag && simCardInsert) if(gpsAlwaysFlag && simCardInsert)
@ -1415,7 +1427,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
mcuReg[i] = FUNCTION_SWTICH0; mcuReg[i] = FUNCTION_SWTICH0;
mcuData[i++] = temp; mcuData[i++] = temp;
if(SysGetFlag(TimelapseSwitch)) if(puiPara->TimelapseSwitch)
{ {
mcuReg[i] = TIMELAPSE_HOUR; mcuReg[i] = TIMELAPSE_HOUR;
mcuData[i++] = puiPara->TimelapseTime.Hour; mcuData[i++] = puiPara->TimelapseTime.Hour;
@ -1423,7 +1435,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
mcuData[i++] = puiPara->TimelapseTime.Min; mcuData[i++] = puiPara->TimelapseTime.Min;
mcuReg[i] = TIMELAPSE_SEC; mcuReg[i] = TIMELAPSE_SEC;
if((SysGetFlag(TimelapseSwitch)) && (puiPara->TimelapseTime.Hour == 0) && (puiPara->TimelapseTime.Min == 0) && (puiPara->TimelapseTime.Sec == 0)) if((puiPara->TimelapseSwitch) && (puiPara->TimelapseTime.Hour == 0) && (puiPara->TimelapseTime.Min == 0) && (puiPara->TimelapseTime.Sec == 0))
mcuData[i++] = 5; mcuData[i++] = 5;
else else
mcuData[i++] = puiPara->TimelapseTime.Sec; mcuData[i++] = puiPara->TimelapseTime.Sec;
@ -1438,7 +1450,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
mcuData[i++] = 0; mcuData[i++] = 0;
} }
if(SysGetFlag(PirDelaySwitch)) if(puiPara->PirDelaySwitch)
{ {
mcuReg[i] = PIR_DELAY_HOUR; mcuReg[i] = PIR_DELAY_HOUR;
mcuData[i++] = puiPara->PirDelayTime.Hour; mcuData[i++] = puiPara->PirDelayTime.Hour;
@ -1467,7 +1479,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
mcuData[i++] = 1; mcuData[i++] = 1;
} }
if(SysGetFlag(DailyReportSwitch)) if(puiPara->DailyReportSwitch)
{ {
mcuReg[i] = DAILY_REPORT_HOUR; mcuReg[i] = DAILY_REPORT_HOUR;
mcuData[i++] = puiPara->DailyReportTime2.Hour; mcuData[i++] = puiPara->DailyReportTime2.Hour;
@ -1493,19 +1505,19 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
mcuData[i++] = puiPara->TimeSend2.Min; mcuData[i++] = puiPara->TimeSend2.Min;
mcuReg[i] = ANALOG_PIR_SENSITIVITY; mcuReg[i] = ANALOG_PIR_SENSITIVITY;
temp = sf_mcu_analog_pir_sen_convert(SysGetFlag(PirSensitivity)); temp = sf_mcu_analog_pir_sen_convert(puiPara->PirSensitivity);
//hybrid mode 4G module keep sleep //hybrid mode 4G module keep sleep
if((SysGetFlag(NetWorkNeedSearch) != 3) && simCardInsert && gModuleSleep) if(((puiPara->NetWorkNeedSearch) != 3) && simCardInsert && gModuleSleep)
{ {
//bit 5-bit 6, daily mode 0, hybrid mode 1, instant mode 2 //bit 5-bit 6, daily mode 0, hybrid mode 1, instant mode 2
if((SysGetFlag(GprsMode) == 1) || (paraSyncFlag)) if(((puiPara->GprsMode) == 1) || (paraSyncFlag))
{ {
temp |= 0x40; temp |= 0x40;
} }
else else
{ {
if ((SysGetFlag(GprsMode) == 2) && isSignalReady && (GPRS_ERRNO == 0)) if (((puiPara->GprsMode) == 2) && isSignalReady && (GPRS_ERRNO == 0))
temp |= 0x20; temp |= 0x20;
//sf_pdp_flg_set(0); //sf_pdp_flg_set(0);
@ -1513,7 +1525,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
} }
if(((SysGetFlag(GprsSwitch)) && (simCardInsert) && (SysGetFlag(SendType) == 0)) || (paraSyncFlag)) if(((puiPara->GprsSwitch) && (simCardInsert) && ((puiPara->SendType) == 0)) || (paraSyncFlag))
{ {
temp |= 0x80; temp |= 0x80;
} }
@ -1525,9 +1537,9 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
mcuData[i++] = temp; mcuData[i++] = temp;
mcuReg[i] = DIGITAL_PIR_SENSITIVITY; mcuReg[i] = DIGITAL_PIR_SENSITIVITY;
mcuData[i++] = SysGetFlag(DigitPirSensitivity);//PirDigtSensRegValue[SysGetFlag(PirSensitivity)]; mcuData[i++] = (puiPara->DigitPirSensitivity);//PirDigtSensRegValue[SysGetFlag(PirSensitivity)];
mcuReg[i] = DIGITAL_PIR_CFG; mcuReg[i] = DIGITAL_PIR_CFG;
mcuData[i++] = (SysGetFlag(DigitPirWindowTime) << 4) | SysGetFlag(DigitPirCnt); mcuData[i++] = ((puiPara->DigitPirWindowTime) << 4) | (puiPara->DigitPirCnt);
//mcuData[i++] = (PirDigtSensRegValue[SysGetFlag(PirSensitivity)] <= 10 ? 1 : 0); //mcuData[i++] = (PirDigtSensRegValue[SysGetFlag(PirSensitivity)] <= 10 ? 1 : 0);
//DSP busy/idle //DSP busy/idle
@ -1535,12 +1547,12 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
mcuData[i++] = 0; mcuData[i++] = 0;
mcuReg[i] = SF_SYS_STATUS; mcuReg[i] = SF_SYS_STATUS;
mcuData[i++] = sf_is_usb_flag() << 2 | sf_is_card_full() << 1 | sf_in_card_exist() << 0; mcuData[i++] = isUsb << 2 | isCardFull << 1 | isCard << 0;
mcuReg[i] = POWEROFF_TYPE; mcuReg[i] = POWEROFF_TYPE;
temp = 0; temp = 0;
if(simCardInsert && (SysGetFlag(NetWorkNeedSearch)) if(simCardInsert && (puiPara->NetWorkNeedSearch)
&& ((PowerOnMode == PWR_ON_AUTO) || (PowerOnMode == PWR_ON_SETUP) || (PowerOnMode == PWR_ON_DAILY_REPORT)))/* SET->ON, OFF->ON*/ && ((PowerOnMode == PWR_ON_AUTO) || (PowerOnMode == PWR_ON_SETUP) || (PowerOnMode == PWR_ON_DAILY_REPORT)))/* SET->ON, OFF->ON*/
temp = 1; temp = 1;
else if(SmsCheck) else if(SmsCheck)
@ -1552,7 +1564,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
mcuReg[i] = VBAT_RECOVER_VAL; mcuReg[i] = VBAT_RECOVER_VAL;
mcuData[i++] = SF_BATT_RECOVERY; mcuData[i++] = SF_BATT_RECOVERY;
if(SysGetFlag(WorkTime1Switch)) if(puiPara->WorkTime1Switch)
{ {
mcuReg[i] = WORKTIME1_SWITCH; mcuReg[i] = WORKTIME1_SWITCH;
mcuData[i++] = 0xFF; mcuData[i++] = 0xFF;
@ -1583,7 +1595,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
mcuData[i++] = 0; mcuData[i++] = 0;
} }
if(SysGetFlag(WorkTime2Switch)) if(puiPara->WorkTime2Switch)
{ {
mcuReg[i] = WORKTIME2_SWITCH; mcuReg[i] = WORKTIME2_SWITCH;
mcuData[i++] = 0xFF; mcuData[i++] = 0xFF;
@ -1614,7 +1626,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
mcuData[i++] = 0; mcuData[i++] = 0;
} }
if((SysGetFlag(GpsSwitch) || SysGetFlag(FristSendDailyAndGps)) && (sf_get_mode_flag() || paraSyncFlag)) if(((puiPara->GpsSwitch) || (puiPara->FristSendDailyAndGps)) && (sf_get_mode_flag() || paraSyncFlag))
{ {
mcuReg[i] = GPS_POWER_TIMER_CLEAR; mcuReg[i] = GPS_POWER_TIMER_CLEAR;
mcuData[i++] = 1; mcuData[i++] = 1;
@ -1629,10 +1641,10 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
temp = 0; temp = 0;
if(SysGetFlag(TimeSend3Switch) == 1) if((puiPara->TimeSend3Switch) == 1)
temp |= 0x01; temp |= 0x01;
if(SysGetFlag(TimeSend4Switch) == 1) if((puiPara->TimeSend4Switch) == 1)
temp |= 0x02; temp |= 0x02;
mcuReg[i] = FUNCTION_SWTICH1; mcuReg[i] = FUNCTION_SWTICH1;
@ -1652,14 +1664,14 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
{ {
mcuReg[i] = ANALOG_PIR_SENSITIVITY; mcuReg[i] = ANALOG_PIR_SENSITIVITY;
temp = SysGetFlag(PirSensitivity);//sf_mcu_analog_pir_sen_convert(SysGetFlag(DigPirSensitivity)); temp = (puiPara->PirSensitivity);//sf_mcu_analog_pir_sen_convert(SysGetFlag(DigPirSensitivity));
if(SysGetFlag(GprsMode))//hybrid mode 4G module keep sleep if(puiPara->GprsMode)//hybrid mode 4G module keep sleep
{ {
temp |= 0x40; temp |= 0x40;
} }
if((SysGetFlag(GprsMode)) && (val == 1)) if((puiPara->GprsMode) && (val == 1))
{ {
temp |= 0x80; temp |= 0x80;
} }
@ -1673,12 +1685,12 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
if(ConfigureModeFlag) if(ConfigureModeFlag)
{ {
mcuReg[i] = DIGITAL_PIR_SENSITIVITY; mcuReg[i] = DIGITAL_PIR_SENSITIVITY;
mcuData[i++] = SysGetFlag(DigitPirSensitivity);//PirDigtSensRegValue[SysGetFlag(PirSensitivity)]; mcuData[i++] = (puiPara->DigitPirSensitivity);//PirDigtSensRegValue[SysGetFlag(PirSensitivity)];
mcuReg[i] = DIGITAL_PIR_CFG; mcuReg[i] = DIGITAL_PIR_CFG;
mcuData[i++] = (SysGetFlag(DigitPirWindowTime) << 4) | SysGetFlag(DigitPirCnt); mcuData[i++] = ((puiPara->DigitPirWindowTime) << 4) | (puiPara->DigitPirCnt);
} }
if((SysGetFlag(GpsSwitch) || SysGetFlag(FristSendDailyAndGps)) && (ConfigureModeFlag || paraSyncFlag)) if(((puiPara->GpsSwitch) || (puiPara->FristSendDailyAndGps)) && (ConfigureModeFlag || paraSyncFlag))
{ {
mcuReg[i] = GPS_POWER_TIMER_CLEAR; mcuReg[i] = GPS_POWER_TIMER_CLEAR;
mcuData[i++] = 1; mcuData[i++] = 1;
@ -1695,14 +1707,14 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
{ {
mcuReg[i] = ANALOG_PIR_SENSITIVITY; mcuReg[i] = ANALOG_PIR_SENSITIVITY;
temp = SysGetFlag(PirSensitivity);//sf_mcu_analog_pir_sen_convert(puiPara->PirSensitivity); temp = (puiPara->PirSensitivity);//sf_mcu_analog_pir_sen_convert(puiPara->PirSensitivity);
if((SysGetFlag(GprsMode)) && (gModuleSleep == 1))//hybrid mode 4G module keep sleep if((puiPara->GprsMode) && (gModuleSleep == 1))//hybrid mode 4G module keep sleep
{ {
temp |= 0x40; temp |= 0x40;
} }
if((SysGetFlag(GprsMode)) && (simCardInsert)) if((puiPara->GprsMode) && (simCardInsert))
{ {
temp |= 0x80; temp |= 0x80;
} }
@ -1713,16 +1725,16 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
mcuData[i++] = temp; mcuData[i++] = temp;
printf("[%s:%d] temp:0x%02x GprsSwitch:%lu simCardInsert:%lu\n", __FUNCTION__, __LINE__, temp, SysGetFlag(GprsSwitch), simCardInsert); printf("[%s:%d] temp:0x%02x GprsSwitch:%d simCardInsert:%lu\n", __FUNCTION__, __LINE__, temp, puiPara->GprsSwitch, simCardInsert);
mcuReg[i] = DIGITAL_PIR_SENSITIVITY; mcuReg[i] = DIGITAL_PIR_SENSITIVITY;
mcuData[i++] = SysGetFlag(DigitPirSensitivity);//PirDigtSensRegValue[SysGetFlag(PirSensitivity)]; mcuData[i++] = (puiPara->DigitPirSensitivity);//PirDigtSensRegValue[SysGetFlag(PirSensitivity)];
mcuReg[i] = DIGITAL_PIR_CFG; mcuReg[i] = DIGITAL_PIR_CFG;
mcuData[i++] = (SysGetFlag(DigitPirWindowTime) << 4) | SysGetFlag(DigitPirCnt); mcuData[i++] = ((puiPara->DigitPirWindowTime) << 4) | (puiPara->DigitPirCnt);
mcuReg[i] = SF_SYS_STATUS; mcuReg[i] = SF_SYS_STATUS;
mcuData[i++] = SysGetFlag(CamArmDiable) << 6 | sf_is_usb_flag() << 2 | sf_is_card_full() << 1 | sf_in_card_exist() << 0; mcuData[i++] = (puiPara->CamArmDiable) << 6 | isUsb << 2 | isCardFull << 1 | isCard << 0;
if((SysGetFlag(GpsSwitch) || SysGetFlag(FristSendDailyAndGps)) && (ConfigureModeFlag || paraSyncFlag)) if(((puiPara->GpsSwitch) || (puiPara->FristSendDailyAndGps)) && (ConfigureModeFlag || paraSyncFlag))
{ {
mcuReg[i] = GPS_POWER_TIMER_CLEAR; mcuReg[i] = GPS_POWER_TIMER_CLEAR;
mcuData[i++] = 1; mcuData[i++] = 1;
@ -1738,7 +1750,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
else if(attrId == SF_MCU_RESET_MODULE) else if(attrId == SF_MCU_RESET_MODULE)
{ {
mcuReg[i] = SF_SYS_STATUS; mcuReg[i] = SF_SYS_STATUS;
mcuData[i++] = SysGetFlag(CamArmDiable) << 6 | sf_is_usb_flag() << 2 | sf_is_card_full() << 1 | sf_in_card_exist() << 0 | 0x10; mcuData[i++] = (puiPara->CamArmDiable) << 6 | isUsb << 2 | isCardFull << 1 | isCard << 0 | 0x10;
//sf_pdp_flg_set(0); //sf_pdp_flg_set(0);
} }
else if(attrId == SF_MCU_SOFT_UPDATE) else if(attrId == SF_MCU_SOFT_UPDATE)
@ -1747,22 +1759,22 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
if(val == 1) if(val == 1)
{ {
mcuData[i++] = SysGetFlag(CamArmDiable) << 6 | sf_is_usb_flag() << 2 | sf_is_card_full() << 1 | sf_in_card_exist() << 0 | 0x08; mcuData[i++] = (puiPara->CamArmDiable) << 6 | isUsb << 2 | isCardFull << 1 | isCard << 0 | 0x08;
} }
else else
{ {
mcuData[i++] = SysGetFlag(CamArmDiable) << 6 | sf_is_usb_flag() << 2 | sf_is_card_full() << 1 | sf_in_card_exist() << 0; mcuData[i++] = (puiPara->CamArmDiable) << 6 | isUsb << 2 | isCardFull << 1 | isCard << 0;
} }
} }
else if(attrId == SF_MCU_POWER_RESTART) else if(attrId == SF_MCU_POWER_RESTART)
{ {
mcuReg[i] = SF_SYS_STATUS; mcuReg[i] = SF_SYS_STATUS;
mcuData[i++] = SysGetFlag(CamArmDiable) << 6 | sf_is_usb_flag() << 2 | sf_is_card_full() << 1 | sf_in_card_exist() << 0 | 0x20; mcuData[i++] = (puiPara->CamArmDiable) << 6 | isUsb << 2 | isCardFull << 1 | isCard << 0 | 0x20;
} }
else if(attrId == SF_MCU_PIR_RESTART) else if(attrId == SF_MCU_PIR_RESTART)
{ {
mcuReg[i] = SF_SYS_STATUS; mcuReg[i] = SF_SYS_STATUS;
mcuData[i++] = SysGetFlag(CamArmDiable) << 6 | sf_is_usb_flag() << 2 | sf_is_card_full() << 1 | sf_in_card_exist() << 0 | 0x80; mcuData[i++] = (puiPara->CamArmDiable) << 6 | isUsb << 2 | isCardFull << 1 | isCard << 0 | 0x80;
} }
mcuReg[i] = DSP_WRITE_FLG; //MCU set end mcuReg[i] = DSP_WRITE_FLG; //MCU set end
@ -1817,7 +1829,7 @@ void sf_calculate_daily_report(UINT8*dailyHour, UINT8*dailyMin)
UINT16 timelapse_sum_min = 0; UINT16 timelapse_sum_min = 0;
struct tm mcuTime = {0}; struct tm mcuTime = {0};
//Daily report is always ON //Daily report is always ON
if(SysGetFlag(ReDailyReport)) if(puiPara->ReDailyReport)
{ {
mcuTime = hwclock_get_time(TIME_ID_CURRENT); mcuTime = hwclock_get_time(TIME_ID_CURRENT);
if(puiPara->DailyReportTime2.Hour >= mcuTime.tm_hour) if(puiPara->DailyReportTime2.Hour >= mcuTime.tm_hour)
@ -1839,7 +1851,7 @@ void sf_calculate_daily_report(UINT8*dailyHour, UINT8*dailyMin)
} }
else if(SysGetFlag(GprsMode) == SF_REMOTE_CONTROL_REAL_TIME) else if(puiPara->GprsMode == SF_REMOTE_CONTROL_REAL_TIME)
{ {
if((!sf_get_mode_flag()) && (sf_get_camera_restart() == 1)) if((!sf_get_mode_flag()) && (sf_get_camera_restart() == 1))
@ -1856,7 +1868,7 @@ void sf_calculate_daily_report(UINT8*dailyHour, UINT8*dailyMin)
} }
} }
else if(SysGetFlag(GpsAntiTheftSwitch) == 1) else if(puiPara->GpsAntiTheftSwitch == 1)
{ {
if((!sf_get_mode_flag()) && (sf_get_camera_restart() == 1)) if((!sf_get_mode_flag()) && (sf_get_camera_restart() == 1))
{ {
@ -1897,9 +1909,9 @@ void sf_calculate_daily_report(UINT8*dailyHour, UINT8*dailyMin)
{ {
if((timelapse_sum_min - daily_sum_min) <= 5) if((timelapse_sum_min - daily_sum_min) <= 5)
{ {
if((SysGetFlag(ReDailyReport) == 1) && (timelapse_sum_min < 5)) if((puiPara->ReDailyReport == 1) && (timelapse_sum_min < 5))
{ {
SysSetFlag(ReDailyReport, 2); puiPara->ReDailyReport = 2;
puiPara->DailyReportTime2.Hour = 0; puiPara->DailyReportTime2.Hour = 0;
puiPara->DailyReportTime2.Min = 0; puiPara->DailyReportTime2.Min = 0;
} }
@ -1931,6 +1943,68 @@ int sf_while_flag(void)
} }
} }
/*************************************************
Function: sf_mcu_get_irshtter
Description: get IRSHTTER.
Input: N/A
Output: N/A
Return: IRSHTTER
Others: N/A
*************************************************/
UINT16 sf_mcu_get_irshtter(void)
{
UINT8 dataTemp1 = 0, dataTemp2 = 0;
UINT8 mcuReg[REG_SIZE] = { 0 };
UINT8 mcuData[REG_SIZE] = { 0 };
UINT8 i = 0;
mcuReg[i++] = LUMINANCE_L;
mcuReg[i++] = LUMINANCE_H;
sf_mcu_read_multi(mcuReg, mcuData, i);
i = 0;
dataTemp1= mcuData[i++];
dataTemp2 = mcuData[i++];
IRSHTTER = (dataTemp2 << 8) | dataTemp1;
printf("%s:%d IRSHTTER = %d\n", __FUNCTION__, __LINE__, IRSHTTER);
return IRSHTTER;
}
UINT32 sf_set_pir_sensitivity(UINT8 pirs)
{
UINT8 digPirLevel[10] = {200, 38, 30, 24, 18, 16, 10, 9, 8, 7};
UINT8 digPirCount[10] = {0, 0, 0, 0, 0, 0, 1, 1, 1, 1};
UIMenuStoreInfo *puiPara = sf_ui_para_get();
//UIMenuStoreInfo *puiPara = sf_ui_para_get();
if(pirs >= 10)
return FAIL;
puiPara->PirSensitivity = pirs;
puiPara->DigitPirSensitivity = digPirLevel[pirs];
puiPara->DigitPirCnt = digPirCount[pirs];
puiPara->DigitPirWindowTime = 0;
/*if(puiPara->PirSensitivity))
{
puiPara->TimelapseSwitch, SF_OFF);
puiPara->TimelapseTime.Hour = 0;
puiPara->TimelapseTime.Min = 0;
puiPara->TimelapseTime.Sec = 0;
//Save_MenuInfo();
}*/
return SUCCESS;
}
void sf_set_module_sleep_flag(UINT8 flag)
{
gModuleSleep = flag;
}
#if defined __FREERTOS #if defined __FREERTOS

View File

@ -61,6 +61,7 @@ UINT32 sf_check_card_full(void)
UINT64 diskFree = 0; UINT64 diskFree = 0;
UINT32 ret = 0; UINT32 ret = 0;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
if(!sf_in_card_exist()) if(!sf_in_card_exist())
{ {
return 1; return 1;
@ -72,7 +73,7 @@ UINT32 sf_check_card_full(void)
if(diskFree < 30) /* 30MB */ if(diskFree < 30) /* 30MB */
{ {
ret = TRUE; ret = TRUE;
if(0 == SysGetFlag(SdLoopSwitch)) if(0 == puiPara->SdLoopSwitch)
{ {
IsCardFull = TRUE; IsCardFull = TRUE;
} }

Some files were not shown because too many files have changed in this diff Show More