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)
{
ui_rise = 25;//75%
ui_rise = 30;//70%
}
else
{
@ -471,7 +471,7 @@ void sf_ir_led_set(UINT8 mode, UINT8 flashLed, UINT8 stillExp, UINT8 isSnapVideo
{
if(flashLed == 0)
{
ui_rise = 10;//90%
ui_rise = 15;//85%
}
else
{
@ -505,7 +505,7 @@ void sf_ir_led_set(UINT8 mode, UINT8 flashLed, UINT8 stillExp, UINT8 isSnapVideo
}
#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);
//printf("%s:%d argv:%s\n", __FUNCTION__, __LINE__,argv);

View File

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

View File

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

View File

@ -46,12 +46,6 @@ void Strg_CB(UINT32 event, UINT32 param1, UINT32 param2)
{
UINT32 status;
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) {
// part-1
@ -161,6 +155,11 @@ void Strg_CB(UINT32 event, UINT32 param1, UINT32 param2)
DBG_ERR("Strg_CB Err event(%d)", event);
break;
}
stMessageBuf.arg1 = event;
stMessageBuf.arg2 = param1;
stMessageBuf.arg3 = param2;
stMessageBuf.cmdId = CMD_SD;
sf_com_message_send_to_app(&stMessageBuf);
}
#endif

View File

@ -18,6 +18,7 @@
#include <stdio.h>
#include <stdlib.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 __MODULE__ SysUsbExe
@ -144,10 +145,12 @@ static BOOL System_InsmodUsb(BOOL isHost)
}
if(isHost == FALSE){
sf_usb_mux_s(0);
is_usb_dev_driver_inserted = TRUE;
return System_WaitUsbDev();
}
else{
sf_usb_mux_s(1);
is_usb_host_driver_inserted = 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_battery_thread_init();
}
else
{
sf_usb_mux_s(0);
}
GOIO_Turn_Onoff_IRCUT(1);
#endif

View File

@ -38,13 +38,13 @@
#include "vendor_videoout.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 __DBGLVL__ ((THIS_DBGLVL>=PRJ_DBG_LVL)?THIS_DBGLVL:PRJ_DBG_LVL)
#define __DBGFLT__ "*" //*=All, [mark]=CustomClass
#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 FILE_SN_MAX 999999
@ -199,6 +199,7 @@ INT32 Set_Cur_Day_Night_Status(BOOL OnOff, UINT8 isSnapVideo)
IQT_NIGHT_MODE night_mode = {0};
AWBT_MANUAL awb_manual = {0};
HD_RESULT hd_ret;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
if ((hd_ret = vendor_isp_init()) != HD_OK) {
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;
awb_manual.id = 0;
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);
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;
GOIO_Turn_Onoff_IRCUT(0);
//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
{
@ -233,12 +234,12 @@ INT32 Set_Cur_Day_Night_Status(BOOL OnOff, UINT8 isSnapVideo)
vendor_isp_set_iq(IQT_ITEM_NIGHT_MODE, &night_mode);
if (OnOff){
vos_util_delay_ms(1500);
vos_util_delay_ms(100);
}
if ((hd_ret = vendor_isp_uninit()) != HD_OK) {
DBG_ERR("vendor_isp_uninit() fail(%d)\r\n", hd_ret);
}
vos_util_delay_ms(20);
//vos_util_delay_ms(20);
return 0;
}
@ -1119,6 +1120,8 @@ static void MovieExe_FileNamingCB(MOVIE_CFG_REC_ID id, char *pFileName)
} else {
DCF_GetNextID(&nextFolderID,&nextFileID);
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){
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
MOVIEMULTI_CLOSE_FILE_INFO *info = (MOVIEMULTI_CLOSE_FILE_INFO *)value;
DCF_AddDBfile(info->path);
DBG_DUMP("%s added to DCF\r\n", info->path);
//MOVIEMULTI_CLOSE_FILE_INFO *info = (MOVIEMULTI_CLOSE_FILE_INFO *)value;
//DCF_AddDBfile(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
}
Ux_PostEvent(NVTEVT_CB_MOVIE_REC_FINISH, 1, value);

View File

@ -29,8 +29,8 @@
#if (_SCREENNAIL_SIZE_ == _SCREENNAIL_SIZE_VGA_)
#define CFG_SCREENNAIL_SIZE PHOTO_SIZE_VGA
#define CFG_SCREENNAIL_W 640
#define CFG_SCREENNAIL_H 480
#define CFG_SCREENNAIL_W 640//1024//640
#define CFG_SCREENNAIL_H 480//768//480
#else
#define CFG_SCREENNAIL_SIZE PHOTO_SIZE_3M
#define CFG_SCREENNAIL_W 2048
@ -109,7 +109,7 @@
#define JPG_BRC_INIT_Q 85
#define JPG_BRC_RETRY_CNT 4
#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_LBOUND(TBR) (TBR - (TBR * 15 / 100))
#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 <vf_gfx.h>
#include "vendor_videocapture.h"
#include "sf_mcu.h"
//#include "sf_mcu.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
#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
#include <kwrap/debug.h>
#endif
@ -417,11 +418,12 @@ static UINT32 PhotoExe_GetScreenNailSize(void)
UINT32 uiImageSize, ScreenNailSize;
UINT32 BitStreamSize;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
ScreenNailSize = CFG_SCREENNAIL_SIZE;
uiImageSize = UI_GetData(FL_PHOTO_SIZE);
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 {
BitStreamSize = 0;
}
@ -2368,6 +2370,7 @@ INT32 PhotoExe_OnOpen(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
g_bPhotoOpened = FALSE;
localInfo->isStartCapture = FALSE;
//UIMenuStoreInfo *puiPara = sf_ui_para_get();
ImageRatioIdx = GetPhotoSizeRatio(UI_GetData(FL_PHOTO_SIZE));
g_photo_ImageRatioSize = IMAGERATIO_SIZE[ImageRatioIdx];
@ -2376,7 +2379,7 @@ INT32 PhotoExe_OnOpen(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
FileSys_MakeDir(PHOTO_THUMB_PATH);
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))){
system("rm -rf /mnt/sd/LD96565A.bin");
system("rm -rf /mnt/sd/FW98565A.bin");
@ -3134,6 +3137,7 @@ INT32 PhotoExe_OnCaptureStop(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArra
Photo_setS2Status(FALSE);
ImageApp_Photo_CapStop();
}
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.h = dst_slice_height;
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;
@ -4731,7 +4735,7 @@ ER PhotoExe_Preview_SliceEncode_Scale_YUV(
pscale->dst_region.w = pdestwin->w;
pscale->dst_region.h = pdestwin->h;
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);
pscale->dst_img.count = 0;
@ -6052,17 +6056,32 @@ INT32 PhotoExe_Preview_SliceEncode_CB3(void* user_data)
{
char* file_path = ImageApp_Photo_GetLastWriteFilePath();
char tmp[256] = {'\0'};
char tmp2[64] = {'\0'};
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 + 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);
FileSys_WriteFile(fp, (UINT8*)queue_ele_in->jpg_thumb_addr, &queue_ele_in->jpg_thumb_size, 0, NULL);
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){

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

View File

@ -147,9 +147,9 @@ static MOVIE_SIZE_ITEM g_MovieSizeTable[] = {
},
[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, 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] = {
@ -171,15 +171,15 @@ static MOVIE_SIZE_ITEM g_MovieSizeTable[] = {
},
[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, 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] = {
{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, 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] = {

View File

@ -9,9 +9,10 @@
#if(MOVIE_MODE==ENABLE)
int MenuCustom_Movie(UINT32 uiMessage, UINT32 uiParam)
{
UIMenuStoreInfo *puiPara = sf_ui_para_get();
printf("%s:%d uiParam :%d\n", __FUNCTION__, __LINE__,uiParam);
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);
} else {
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)
{
UIMenuStoreInfo *puiPara = sf_ui_para_get();
printf("%s:%d uiParam :%d\n", __FUNCTION__, __LINE__,uiParam);
if (System_GetState(SYS_STATE_CURRMODE) != PRIMARY_MODE_PHOTO) {
Ux_SendEvent(0, NVTEVT_SYSTEM_MODE, 1, PRIMARY_MODE_PHOTO);
} else {
lv_plugin_scr_close(UIFlowMenuCommonItem, NULL);
}
SysSetFlag(CamMode, SF_CAM_MODE_PHOTO_VIDEO);
puiPara->CamMode = SF_CAM_MODE_PHOTO_VIDEO;
return TMF_PROCESSED;
}
#endif
#if(PHOTO_MODE==ENABLE)
int MenuCustom_Photo(UINT32 uiMessage, UINT32 uiParam)
{
UIMenuStoreInfo *puiPara = sf_ui_para_get();
printf("%s:%d uiParam :%d\n", __FUNCTION__, __LINE__,uiParam);
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);
} else {
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)
{
DBG_DUMP("%s\r\n", __func__);
UIMenuStoreInfo *puiPara = sf_ui_para_get();
set_indev_keypad_group(obj);
@ -501,7 +502,7 @@ static void UIFlowMovie_ScrOpen(lv_obj_t* obj)
}
}
//#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);
}
@ -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)
{
UIMenuStoreInfo *puiPara = sf_ui_para_get();
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);
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 iNextMode = PRIMARY_MODE_PHOTO;
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)
{
UIMenuStoreInfo *puiPara = sf_ui_para_get();
if(msg == NULL){
DBG_ERR("msg is NULL!\r\n");
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);
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 iNextMode = PRIMARY_MODE_MOVIE;
UI_SetData(FL_PreMode, iCurrMode);

View File

@ -60,19 +60,19 @@
#if (defined(_NVT_ETHREARCAM_TX_))
#define DEFAULT_MOVIE_SIZE MOVIE_SIZE_CLONE_1920x1080P30_1280x720P30
#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
#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
#define DEFAULT_MOVIE_SIZE MOVIE_SIZE_FRONT_1920x1080P30
#define DEFAULT_MOVIE_SIZE MOVIE_SIZE_DUAL_1920x1080P30_848x480P30//MOVIE_SIZE_FRONT_1920x1080P30
#endif
#endif
#endif
#define DEFAULT_MOVIE_SIZE_DUAL MOVIE_SIZE_FRONT_2560x1440P30
#define DEFAULT_MOVIE_SIZE_SINGLE 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_CLONE_1920x1080P60_640x360P30//MOVIE_SIZE_FRONT_1920x1080P30//MOVIE_SIZE_FRONT_2560x1440P30
#define DEFAULT_MOVIE_QUALITY MOVIE_QUALITY_FINE
#define DEFAULT_MOVIE_COLOR MOVIE_COLOR_NORMAL
@ -219,5 +219,6 @@
#define DEFAULT_TIMESEND2_SWITCH SF_OFF
#define DEFAULT_TIMESEND3_SWITCH SF_OFF
#define DEFAULT_TIMESEND4_SWITCH SF_OFF
#define DEFAULT_FTP_SWITCH SF_FTP_ON
#endif

View File

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

View File

@ -268,7 +268,7 @@ typedef enum {
FL_ETHCAM_TX_IP_ADDR,
FL_MOVIE_CODEC_MENU,
FL_MOVIE_SENSOR_ROTATE_MENU,
#if 0
//#2023/02/10#Payton - begin
CamNameSwitch,/*ON/OFF ,cam name off*/
CamMode,/* 0 Photo / 1 Video / 2 PIC+Video*/
@ -341,7 +341,7 @@ typedef enum {
SendType,
///////////////////////
#endif
#endif
//#2023/02/10#Payton - end
FL_IndexInfoMAX
@ -410,6 +410,79 @@ typedef struct _UIMenuUIMenuStoreInfo {
SF_PARA_TIME_S TimeSend3;
SF_PARA_TIME_S TimeSend4;
#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 PwdStr[7];
CHAR Latitude[16];
@ -431,6 +504,20 @@ typedef struct _UIMenuUIMenuStoreInfo {
CHAR AcmPort[5];
CHAR WebIp[70];
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
} UIMenuStoreInfo;
@ -1860,6 +1947,14 @@ typedef enum {
SF_BATT_LEVEL_TOTAL
} 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 Save_SysInfo(void);
extern void Init_SysInfo(void);

View File

@ -147,9 +147,9 @@ static MOVIE_SIZE_ITEM g_MovieSizeTable[] = {
},
[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, 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] = {
@ -171,15 +171,15 @@ static MOVIE_SIZE_ITEM g_MovieSizeTable[] = {
},
[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, 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] = {
{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, 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] = {

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_)
{1024, 768, IMAGERATIO_4_3, "0.78M"}, // 0.78M
#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
#endif
//CFG_SCREENNAIL_W
//CFG_SCREENNAIL_H
//SCREENNAIL_TARGETBYTERATE
};
const CHAR *Get_SizeString(UINT32 uiIndex)

View File

@ -216,6 +216,7 @@ SRC = \
./code/source/commMng/sf_share_mem.c \
./code/source/fileMng/cJSON.c \
./code/source/fileMng/sf_fileMng.c \
./code/source/fileMng/sf_file.c \
./code/source/signatureMng/aos_util.c \
./code/source/signatureMng/apr_sha1.c \
./code/source/signatureMng/HMACSHA.c \
@ -242,6 +243,7 @@ SRC = \
./code/source/4gMng/sf_http_server.c \
./code/source/4gMng/sf_module.c \
./code/source/4gMng/sf_opera_adapt.c \
./code/source/4gMng/sf_ftp.c \
./code/source/dataMng/sf_dataMng.c \
./code/source/dataMng/sf_transdata1.c \
./code/source/dataMng/sf_datahttp.c \
@ -262,13 +264,15 @@ SRC = \
#--------- ENVIRONMENT SETTING --------------------
INCLUDES = -I$(NVT_HDAL_DIR)/include -I$(LIBRARY_DIR)/include
WARNING = -Wall -Wundef -Wsign-compare -Wno-missing-braces -Wstrict-prototypes
WARNING = -Wall -Wundef -Wsign-compare -Wno-missing-braces -Wstrict-prototypes
COMPILE_OPTS = $(INCLUDES) -I. -O2 -fPIC -ffunction-sections -fdata-sections
CPPFLAGS =
CFLAGS = $(PLATFORM_CFLAGS) $(PRJCFG_CFLAGS)
C_FLAGS = $(COMPILE_OPTS) $(EXTRA_INCLUDE) $(EXTRA_LIB_DIR) $(EXTRA_LIB) $(CPPFLAGS) $(CFLAGS) $(WARNING) $(C_PREDEFINED)
LD_FLAGS = $(EXTRA_LIB_DIR) $(EXTRA_LIB)
MAKEFLAGS += --silent
C_LDFLAGS = \
--sysroot=$(SYSROOT_DIR) \
--eh-frame-hdr \
@ -312,7 +316,7 @@ $(BIN): $(OBJ)
$(OBJCOPY) -R .comment -R .note.ABI-tag -R .gnu.version $@
%.o: %.c $(HEADER)
$(CC) $(C_FLAGS) -c $< -o $@
$(CC) $(C_FLAGS) -c $< -o $@
clean:
rm -vf $(BIN) $(OBJ) $(BIN).sym *.o *.a *.so*

View File

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

View File

@ -7,6 +7,60 @@ extern "C" {
#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);

View File

@ -340,6 +340,11 @@ UINT8 sf_convert_power_on_mode(void);
int sf_mcu_init(void);
unsigned char sf_mcu_wdg_off(void);
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;

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);
void sf_get_date(UINT32 second, SF_PARA_TIME_S *ptmx);
UINT32 sf_get_seconds(SF_PARA_TIME_S rtc);
#ifdef __cplusplus

View File

@ -10,6 +10,20 @@ extern "C" {
#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"
@ -93,11 +107,136 @@ typedef enum USBNET_APN_INIT_E
USBNET_APN_INIT_END,
}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_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);
@ -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);
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
#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_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_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_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);
@ -48,8 +77,6 @@ SF_SRCFILE_ATTR_S* sf_file_thumb_cfg_get(void);
SINT32 sf_file_size_get(SF_CHAR *filePath,UINT32 *pFileSize);
#ifdef __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_DATAREADY = 6,
SF_KEY_PIN_FILESTATUS = 128,/*virtual key*/
SF_KEY_PIN_AOTU_MODE_POWOFF,
} SF_KEY_PIN_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);
void sf_sys_status_led_set(LedSysState_t ledSysStateId);
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_recv_from_cardv(SF_MESSAGE_BUF_S *pMessageBuf);
BOOL sf_system_check_cardv(void);
BOOL sf_system_cardv_wait_done(void);
#ifdef __cplusplus
#if __cplusplus
}

View File

@ -28,7 +28,7 @@ extern "C" {
#include "sf_param_common.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
#if __cplusplus
}

View File

@ -175,6 +175,21 @@ extern "C" {
#define SF_DCF_FILE_NAME_PREFIX "SYEW"
#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)))
/** SF Module ID */
typedef enum SF_MOD_e {
SF_MOD_4G = 1,
SF_MOD_SIM = 1,
SF_MOD_FTP,
SF_MOD_4G,
SF_MOD_4G_SEND,
SF_MOD_GPS,
SF_MOD_FILE,
SF_MOD_HTTP,
@ -208,6 +225,7 @@ typedef enum SF_MOD_e {
SF_MOD_STORE,
SF_MOD_SYS,
SF_MOD_APP,
SF_MOD_UPLOAD,
SF_MOD_BUTT,
} SF_MOD_E;

View File

@ -47,7 +47,6 @@ SINT8 app_upgrade_ota_restore_IsRun(void);
SINT32 app_preinit(void);
#ifdef __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"sf_http_server.h"
#include "sf_base64.h"
#ifdef __cplusplus
#if __cplusplus
extern "C" {
@ -339,17 +340,17 @@ static SINT32 http_pushfile_to_server(SINT32 socketfd, SF_FILE_ATTR_S *stFileAtt
SLOGD("SF_SUCCESS!\n");
return SF_SUCCESS;
}
static SINT32 http_file_response_parse()
/*static SINT32 http_file_response_parse()
{
return SF_SUCCESS;
}
}*/
SINT32 sf_usbnet_http_authenrequst(SF_PDT_PARAM_STATISTICS_S *pStaticParam)
{
SF_COMM_CHECK_POINTER(pStaticParam,SF_FAILURE);
SINT32 s32ret = 0;
SINT32 recv_byte = 0;
//SINT32 recv_byte = 0;
SINT32 sock_cli = 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)
{
if(simSignal == 0)
{
return 0;
}
else if((simSignal <= 95) && (simSignal > 0))
{
return 4;
}
else if((simSignal <= 105) && (simSignal > 95))
{
return 3;
}
else if((simSignal <= 115) && (simSignal > 105))
{
return 3;
}
else if((simSignal > 115))
return 2;
if(simSignal <= 105)
{
return 4;
}
else if(simSignal <= 115)
{
return 3;
}
else
{
return 2;
}
return SF_SUCCESS;
}
static UINT8 sf_3g_net_level_get(UINT8 simSignal)
{
if(simSignal == 0)
{
return 0;
}
else if(simSignal < 10)
{
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
}
if (simSignal < 8)
return 2;
else if (simSignal < 14)
return 3;
else
return 4;
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)
{
#if defined(CFG_MODULE_EG91)
//return sf_quectel_module_complete_init();
return eg91_sim_init(pfnParam);
#endif
}

View File

@ -48,7 +48,7 @@
#include <sf_hal_gpio.h>
#include <sf_hal_ttyusb.h>
#include <sys/vfs.h>
#include "sf_keymng.h"
extern pthread_mutex_t Param_mutexLock;
extern pthread_mutex_t GPIO_mutexLock;
@ -59,10 +59,11 @@ UIMenuStoreInfo origInfo = {0}; /* backup */
void sf_signalStop(SINT32 signo)
{
printf("\nsignalStop(signal code: %d) !!!\n", signo);
sf_share_mem_file_deinit();
sf_share_mem_customer_deinit();
sf_led_stop();
sf_commu_mcu_task_stop();
_exit(0);
}
@ -98,33 +99,41 @@ int main(int argc, char *argv[])
//gpio_direction_input(C_GPIO(10));
SINT16 startup = 0;
SF_MUTEX_INIT_LOCK(Param_mutexLock);
SF_MUTEX_INIT_LOCK(GPIO_mutexLock);
//test_sd_free();
//return 0;
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_get_power_on_mode();
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_com_message_app_init();
sf_com_message_cardv_init();
sf_customer_param_load();
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
printf("[%s:%d] CamMode:%d\n", __FUNCTION__, __LINE__,puiPara->CamMode);
if(!isUsb)
{
//sf_usb_mux_s(1);
sf_load_ko();
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_sys_status_led_set(SF_LED_SYS_STATE_PIR_NOT_DETECT);
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_preinit();
//app_RegisterNet_start();
app_RegisterNet_start();
startup = sf_poweron_type_get();
SLOGD("poweron type beginning :[%d,%s]\n", startup, sf_poweron_type_string(startup));
if(SF_MCU_STARTUP_ONKEY == startup)
@ -160,6 +169,14 @@ int main(int argc, char *argv[])
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();

View File

@ -30,6 +30,8 @@
#include "sf_debug.h"
#include "sf_device.h"
#include "sf_eg91_sim.h"
#include "sf_commu_mcu_reg.h"
#ifdef __cplusplus
@ -338,89 +340,71 @@ SINT32 app_led_net_reg_start(void)
{
SF_MESSAGE_BUF_S stMessageBuf = {0};
stMessageBuf.cmdId = CMD_LED;
stMessageBuf.arg1 = LED_STATUS_SLOWFLASH_ON;
stMessageBuf.arg2 = LED_GROUP_SIGNAL;
stMessageBuf.arg3 = LED_TYPE_GREEN;
stMessageBuf.arg1 = SF_LED_SYS_STATE_GPRS_SEARCH;
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;
}
SINT32 app_led_net_reg_stop(SINT32 s32ret)
{
SF_MESSAGE_BUF_S stMessageBuf = {0};
stMessageBuf.cmdId = CMD_LED;
stMessageBuf.arg2 = LED_GROUP_SIGNAL;
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
UINT8 netSearchStep = sf_get_netsearch_step();
if(s32ret == SF_SUCCESS) {
stMessageBuf.arg1 = LED_STATUS_HOLD_ON;
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);
switch(signalLevel)
if(netSearchStep == GPRS_SEARCH_STEP_LOGIN_FAILED)
{
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;
sf_sys_status_led_set(SF_LED_SYS_STATE_SERVER_FAIL);
}
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 \
|| s32ret == SF_4G_ERROR_NO_SUPPOET \
|| s32ret == SF_APP_ERROR_NO_SUPPOET)
{
stMessageBuf.arg1 = LED_STATUS_SLOWFLASH_ON;
stMessageBuf.arg3 = LED_TYPE_RED;
sf_set_sim_insert(0);
sf_sys_status_led_set(SF_LED_SYS_STATE_SIM_ERROR);
}
else if(s32ret == SF_HTTP_ERROR_REQUEST) {
stMessageBuf.arg1 = LED_STATUS_HOLD_ON;
stMessageBuf.arg3 = LED_TYPE_RED;
sf_sys_status_led_set(SF_LED_SYS_STATE_ERROR);
}
else if(s32ret == SF_TTY_ERROR_OPEN)
{
stMessageBuf.arg1 = LED_STATUS_QUICKFLASH_ON;
stMessageBuf.arg3 = LED_TYPE_RED;
sf_sys_status_led_set(SF_LED_SYS_STATE_SIM_ERROR);
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 {
stMessageBuf.arg1 = LED_STATUS_HOLD_ON;
stMessageBuf.arg3 = LED_TYPE_RED;
sf_sys_status_led_set(SF_LED_SYS_STATE_ERROR);
}
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;
}
SINT32 app_led_poweroff(void)
@ -523,7 +507,7 @@ SINT32 sf_in_card_exist(void)
sf_hal_gpio_deinit(SF_GPIO_CARD_DETECT);
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;
}
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)
{
@ -566,9 +566,15 @@ BOOL sf_load_ko(void)
char cmd[256] = {'\0'};
int ret = 0;
BOOL ret2 = TRUE;
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++])
{
}
@ -579,7 +585,7 @@ BOOL sf_load_ko(void)
if(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);
if(0 != ret)
{
@ -587,7 +593,8 @@ BOOL sf_load_ko(void)
}
}
}
MLOGI(" s\n");
//printf("[%s:%d] e\n", __FUNCTION__, __LINE__);
return ret2;
}

View File

@ -42,7 +42,9 @@
#include "sf_device.h"
#include "sf_system.h"
#include "sf_service.h"
#include "sf_param_common.h"
#include "sf_eg91_sim.h"
#include "sf_ftp.h"
#ifdef __cplusplus
#if __cplusplus
@ -65,6 +67,8 @@ SF_THREAD_S ThumbSend =
.TskId = -1,
};
UINT32 FtpOpenOk = FAIL;
SINT32 app_ttyusb_IsOpen(void)
{
int retryTime = 0;
@ -996,7 +1000,7 @@ static SINT16 app_file_transfer(SF_FN_PARAM_S *pfnParam)
{
SINT16 s32ret = 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;
if(sf_usb_IsInsert())
return SF_SUCCESS;
@ -1008,63 +1012,28 @@ static SINT16 app_file_transfer(SF_FN_PARAM_S *pfnParam)
case SF_MCU_STARTUP_OFF:
break;
case SF_MCU_STARTUP_ONKEY:
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);
if(sf_get_signal_ready())
{
sf_sys_status_led_set(SF_LED_SYS_STATE_SENDING);
// stMessageBuf.cmdId = CMD_LED;
// stMessageBuf.arg1 = LED_STATUS_SLOWFLASH_ON;
// stMessageBuf.arg2 = LED_GROUP_SIGNAL;
// stMessageBuf.arg3 = LED_TYPE_GREEN;
// sf_com_message_send_to_app(&stMessageBuf);
sf_thumb_file_creat();
if(pStaticParam->PicPlan == 1)
s32ret = app_file_thumbsend(pfnParam);
s32ret |= app_server_excute_cmd(pfnParam);
if(s32ret != SF_SUCCESS || pStaticParam->PicPlan != 1) {
stMessageBuf.arg1 = LED_STATUS_SLOWFLASH_ON;
stMessageBuf.arg3 = LED_TYPE_RED;
//sf_thumb_file_creat();
sf_share_mem_file_init();
s32ret = sf_simcom_ftp_send(1);
if(s32ret == SF_SUCCESS) {
sf_sys_status_led_set(SF_LED_SYS_STATE_SEND_SUCCESS);
}
else {
//FtpOpenOk = FAIL;
sf_sys_status_led_set(SF_LED_SYS_STATE_SEND_FAIL);
}
}
else {
stMessageBuf.arg1 = LED_STATUS_HOLD_ON;
stMessageBuf.arg3 = LED_TYPE_GREEN;
}
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);
sf_share_mem_file_down(1);
sf_set_upload_to_module_flag(0);//test
break;
#if 0
case SF_MCU_STARTUP_TIMELAPSE:
case SF_MCU_STARTUP_PIR:
if(pStaticParam->PicPlan == 0) {
@ -1122,7 +1091,8 @@ static SINT16 app_file_transfer(SF_FN_PARAM_S *pfnParam)
case SF_MCU_STARTUP_BATCH_SEND:
break;
default:
#endif
default:
break;
}
SLOGD("s32ret:%x\n", s32ret);
@ -1136,22 +1106,25 @@ SINT32 app_FileSend_thread(void)
SINT16 s32ret = 0;
SF_FN_PARAM_S stpfncallback = { 0 };
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;
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)
{
MLOGE("ERROR:%#x\n", s32ret);
ThumbSend.IsRun = 0;
sf_share_mem_file_down(1);
return s32ret;
}
s32ret = app_file_transfer(&stpfncallback);
if(s32ret == SF_APP_ERROR_NO_SUPPOET)
app_file_transfer_Error_return_server(&stpfncallback);
//if(s32ret == SF_APP_ERROR_NO_SUPPOET)
// app_file_transfer_Error_return_server(&stpfncallback);
ThumbSend.IsRun = 0;
return s32ret;
@ -1241,9 +1214,10 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
//SF_CHAR version[12] = {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;
UIMenuStoreInfo *pCustomerParam = pfnParam->pstParam;
sf_log_Level_set(SF_LOG_LEVEL_DEBUG);
if(sf_usb_IsInsert())
@ -1290,8 +1264,15 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
break;
#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();
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);
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_NO_SUPPOET);
*/
break;
case SF_MCU_STARTUP_NORMAL:
break;
case SF_MCU_STARTUP_RING:/**/
case SF_MCU_STARTUP_RING:/*
#ifdef SF_HARDWARE_TEST
app_system_poweroff(SF_POWEROFF_NOT);
break;
@ -1379,11 +1360,12 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
stMessageBuf.cmdId = CMD_POWEROFF;
sf_com_message_send_to_app(&stMessageBuf);
}
*/
break;
case SF_MCU_STARTUP_TIMELAPSE:
case SF_MCU_STARTUP_PIR:
/*
#ifdef SF_HARDWARE_TEST
app_system_poweroff(SF_POWEROFF_NOT);
break;
@ -1419,7 +1401,7 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
s32ret = app_FileSend_thread();
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_REQUEST);
*/
break;
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:
break;
case SF_MCU_STARTUP_DP:
case SF_MCU_STARTUP_DP:/*
#ifdef SF_HARDWARE_TEST
app_system_poweroff(SF_POWEROFF_NOT);
break;
@ -1489,12 +1471,12 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
stMessageBuf.arg1 = SF_POWEROFF_NOT;
stMessageBuf.cmdId = CMD_POWEROFF;
sf_com_message_send_to_app(&stMessageBuf);
sf_com_message_send_to_app(&stMessageBuf);*/
break;
case SF_MCU_STARTUP_USB:
break;
case SF_MCU_STARTUP_RESET:
case SF_MCU_STARTUP_RESET:/*
#ifdef SF_HARDWARE_TEST
app_system_poweroff(SF_POWEROFF_NOT);
break;
@ -1616,7 +1598,7 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
stMessageBuf.arg1 = SF_POWEROFF_NOT;
stMessageBuf.cmdId = CMD_POWEROFF;
sf_com_message_send_to_app(&stMessageBuf);
sf_com_message_send_to_app(&stMessageBuf);*/
break;
case SF_MCU_STARTUP_BATCH_SEND:
@ -1632,7 +1614,8 @@ void app_Register_Net_thread(void)
SINT32 s32ret = 0;
SF_FN_PARAM_S stpfncallback = { 0 };
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;
pthread_detach(pthread_self());

View File

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

View File

@ -12,6 +12,7 @@
#include "sf_log.h"
#include "sf_type.h"
#include "sf_param_common.h"
#include "sf_message_queue.h"
#ifdef __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)
{
pMessageBuf->mtype = 1;
sf_system_cardv_wait_done();
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
#if __cplusplus
}

View File

@ -178,13 +178,48 @@ SINT32 sf_share_mem_file_init(void)
}
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__);
return SF_SUCCESS;
}
}
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)
{
UIMenuStoreInfo *pSfCustomerPara = 0;

View File

@ -325,7 +325,15 @@ extern SF_PARA_TIME_S rtcTime;
void sf_get_date(UINT32 second, SF_PARA_TIME_S *ptmx)
{
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);
get_monthday(tmx.Day, isleap(tmx.Year), &tmx);
get_subtime(second%86400,&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);
}
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)

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/vfs.h>
#include<pthread.h>
#include <sf_message_queue.h>
#include "sf_log.h"
#include "sf_fileMng.h"
#include "HMACSHA.h"
#ifdef __cplusplus
#if __cplusplus
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->txtfilePath,SF_FAILURE);
SINT32 len = 0;
UINT32 len = 0;
SF_CHAR *pBuf = NULL;
SF_CHAR *bufBak = NULL;
UINT32 readSize = 0;
@ -176,10 +176,11 @@ SINT32 sf_file_txt_fill(SF_FILE_ATTR_S *pstFileAttr)
#if defined(CFG_TRANSDATA_AT)
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(pStaticParam,SF_FAILURE);
SINT32 s32Ret = SF_SUCCESS;
SINT16 i = 0;
SINT16 fd = 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);
memcpy(pstFileAttr->txtfileName, txtfilename, strlen(txtfilename));
memcpy(pstFileAttr->txtfilePath, txtfilePathName, strlen(txtfilePathName));
#endif
return s32Ret;
}
@ -378,11 +379,11 @@ SINT32 sf_file_subscribe_check(SF_FILE_ATTR_S *pstfileAttr, SF_SUBSCRIBE_ATTR_S
#else
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(pStaticParam,SF_FAILURE);
SINT32 s32Ret = SF_SUCCESS;
SINT16 i = 0;
SINT16 fd = 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));
memcpy(pstFileAttr->txtfileName, txtfilename, strlen(txtfilename));
memcpy(pstFileAttr->txtfilePath, txtfilePathName, strlen(txtfilePathName));
#endif
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)
{
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)

View File

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

View File

@ -24,8 +24,8 @@
#include <unistd.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/msg.h>
#include <pthread.h>
#include <termios.h>
@ -35,6 +35,7 @@
#include "sf_keymng.h"
#include "sf_message_queue.h"
#include "sf_commu_mcu.h"
#include <sf_device.h>
#define SERIAL_DEVICE_PATH "/dev/ttyS2"
@ -898,7 +899,9 @@ static void * sf_commu_mcu_task(void * argv)
unsigned char temp_start2 = 0;
unsigned char temp_end1 = 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();
while(sf_commu_mcu_exit == 0)
{
@ -1001,6 +1004,7 @@ static void * sf_commu_mcu_task(void * argv)
usleep(10000);//10ms
}
sf_commu_mcu_close();
pthread_exit(0);
}

View File

@ -28,6 +28,7 @@
#include "sf_commu_mcu.h"
#include "sf_commu_mcu_reg.h"
#include <sf_device.h>
#include <sf_dev_usb.h>
#ifdef __cplusplus
@ -58,6 +59,10 @@ static UINT8 gModuleSleep = 1;
static UINT8 isSignalReady = 0;
static UINT32 GPRS_ERRNO = 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)
{
@ -155,7 +160,7 @@ unsigned char sf_mcu_power_on_para_get (MCUParam_t attrId)
}
printf(" start mode = %d IRSHTTER = %d\n", startMode, IRSHTTER);
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);
//McuPowerOnMode = startMode;
@ -364,8 +369,8 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
if(attrId == SF_MCU_POWEROFF)
{
//printf("SynMcuSet = %x\n", statisPara->SynMcuSet);
MLOGI("NeedTimeSyncStartUp = %d\n", sf_sys_get_flag(NeedTimeSyncStartUp));
if(sf_sys_get_flag(NeedTimeSyncStartUp) == 1)
MLOGI("NeedTimeSyncStartUp = %d\n", puiPara->NeedTimeSyncStartUp);
if(puiPara->NeedTimeSyncStartUp == 1)
{
paraSyncFlag = 1;
}
@ -387,7 +392,7 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
mcuReg[i] = SF_RTC_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;
}
@ -396,17 +401,17 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
gpsAlwaysFlag=0;
}
if(sf_sys_get_flag(PirSensitivity))
if(puiPara->PirSensitivity)
temp = 0x01;
else
temp = 0x00;
if(1 == sf_sys_get_flag(TimelapseSwitch))
if(1 == puiPara->TimelapseSwitch)
{
temp |= 0x02;
}
if(1 == sf_sys_get_flag(PirDelaySwitch))
if(1 == puiPara->PirDelaySwitch)
{
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;
if(sf_sys_get_flag(TimeSend2Switch) == 1)
if(puiPara->TimeSend2Switch == 1)
temp |= 0x40;
if(gpsAlwaysFlag && simCardInsert)
@ -447,7 +452,7 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
temp = 0;
if(sf_sys_get_flag(TimelapseSwitch))
if(puiPara->TimelapseSwitch)
{
mcuReg[i] = TIMELAPSE_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;
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;
else
mcuData[i++] = puiPara->TimelapseTime.Sec;
@ -470,7 +475,7 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
mcuData[i++] = 0;
}
if(sf_sys_get_flag(PirDelaySwitch))
if(puiPara->PirDelaySwitch)
{
mcuReg[i] = PIR_DELAY_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;
}
if(sf_sys_get_flag(DailyReportSwitch))
if(puiPara->DailyReportSwitch)
{
mcuReg[i] = DAILY_REPORT_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;
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
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
if((sf_sys_get_flag(GprsMode) == 1) || (paraSyncFlag))
if(((puiPara->GprsMode) == 1) || (paraSyncFlag))
{
temp |= 0x40;
}
else
{
if ((sf_sys_get_flag(GprsMode) == 2) && isSignalReady && (GPRS_ERRNO == 0))
if (((puiPara->GprsMode) == 2) && isSignalReady && (GPRS_ERRNO == 0))
temp |= 0x20;
//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;
}
@ -553,9 +558,9 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
mcuData[i++] = temp;
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;
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);
//DSP busy/idle
@ -568,7 +573,7 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
mcuReg[i] = POWEROFF_TYPE;
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*/
temp = 1;
else if(SmsCheck)
@ -583,7 +588,7 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
mcuReg[i] = VBAT_RECOVER_VAL;
mcuData[i++] = SF_BATT_RECOVERY;
if(sf_sys_get_flag(WorkTime1Switch))
if(puiPara->WorkTime1Switch)
{
mcuReg[i] = WORKTIME1_SWITCH;
mcuData[i++] = 0xFF;
@ -614,7 +619,7 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
mcuData[i++] = 0;
}
if(sf_sys_get_flag(WorkTime2Switch))
if(puiPara->WorkTime2Switch)
{
mcuReg[i] = WORKTIME2_SWITCH;
mcuData[i++] = 0xFF;
@ -645,7 +650,7 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
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;
mcuData[i++] = 1;
@ -660,10 +665,10 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
temp = 0;
if(sf_sys_get_flag(TimeSend3Switch) == 1)
if((puiPara->TimeSend3Switch) == 1)
temp |= 0x01;
if(sf_sys_get_flag(TimeSend4Switch) == 1)
if((puiPara->TimeSend4Switch) == 1)
temp |= 0x02;
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;
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;
}
if((sf_sys_get_flag(GprsMode)) && (val == 1))
if((puiPara->GprsMode) && (val == 1))
{
temp |= 0x80;
}
@ -704,12 +709,12 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
if(ConfigureModeFlag)
{
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;
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;
mcuData[i++] = 1;
@ -726,14 +731,14 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
{
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;
}
if((sf_sys_get_flag(GprsMode)) && (simCardInsert))
if((puiPara->GprsMode) && (simCardInsert))
{
temp |= 0x80;
}
@ -744,16 +749,16 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
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;
mcuData[i++] = sf_sys_get_flag(DigitPirSensitivity);//PirDigtSensRegValue[SysGetFlag(PirSensitivity)];
mcuData[i++] = (puiPara->DigitPirSensitivity);//PirDigtSensRegValue[SysGetFlag(PirSensitivity)];
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;
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;
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)
{
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);
}
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)
{
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
{
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)
{
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)
{
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
@ -1095,6 +1100,53 @@ void sf_set_module_sleep_flag(UINT8 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
#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)
{
SF_COMM_CHECK_POINTER(pstDateTime,SF_FAILURE);
time_t t;
struct tm *rtctm;
//SINT32 fdRtc = -1;
SINT32 fdRtc = -1;
int ret = SF_SUCCESS;
/*time_t t;
struct tm *rtctm;
time(&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->Min = rtctm->tm_min;
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);
if (fdRtc < 0)
{
@ -136,7 +136,8 @@ SINT32 sf_sys_rtc_time_get(SF_PARA_TIME_S *pstDateTime)
pstDateTime->Sec = rtctm.tm_sec;
}
close(fdRtc);
*/
SLOGI("%d-%d-%d %d:%d:%d\n",pstDateTime->Year,pstDateTime->Mon,pstDateTime->Day,pstDateTime->Hour,pstDateTime->Min,pstDateTime->Sec);
return ret;
}
@ -145,8 +146,10 @@ SINT32 sf_sys_rtc_time_set(SF_PARA_TIME_S* pstDateTime)
{
SF_COMM_CHECK_POINTER(pstDateTime,SF_FAILURE);
//SINT32 fdRtc = -1;
SINT32 fdRtc = -1;
SINT32 ret = SF_SUCCESS;
#if 0
time_t t;
struct tm *tm_info;
@ -171,13 +174,13 @@ SINT32 sf_sys_rtc_time_set(SF_PARA_TIME_S* pstDateTime)
/* 设置系统时间 */
if (settimeofday(&tv, NULL) == -1) {
perror("settimeofday error");
exit(EXIT_FAILURE);
//exit(EXIT_FAILURE);
} else {
printf("Time set successfully!\n");
}
#endif
/*fdRtc = open(DEFAULT_RTC_DEVICE, O_RDWR);
fdRtc = open(DEFAULT_RTC_DEVICE, O_RDWR);
if (fdRtc < 0)
{
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);
}
close(fdRtc);
*/
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 {
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 {
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 {
size = [60 00 00 00];
@ -39,7 +39,7 @@
};
awb_luma_weight {
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/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_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_share_mem.c \

View File

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

View File

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

View File

@ -407,6 +407,7 @@ BOOL sf_check_low_battery(void)
{
UINT8 lowCompareVal = 0;
BOOL ret = FALSE;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
if(sf_is_usb_flag())
{
@ -417,22 +418,22 @@ BOOL sf_check_low_battery(void)
if(sf_get_night_led_flag())
{
if(SysGetFlag(BatteryType) == SF_BATT_ALKALINE)
if(puiPara->BatteryType == SF_BATT_ALKALINE)
{
lowCompareVal = 69;
}
else if(SysGetFlag(BatteryType) == SF_BATT_NI_MH)
else if(puiPara->BatteryType == SF_BATT_NI_MH)
{
lowCompareVal = 71;
}
}
else
{
if(SysGetFlag(BatteryType) == SF_BATT_ALKALINE)
if(puiPara->BatteryType == SF_BATT_ALKALINE)
{
lowCompareVal = 80;
}
else if(SysGetFlag(BatteryType) == SF_BATT_NI_MH)
else if(puiPara->BatteryType == SF_BATT_NI_MH)
{
lowCompareVal = 80;
}
@ -471,6 +472,7 @@ signed int sf_battery_adc_value_get(void)
UINT32 batTemp = 0;
UINT32 dcValueList[12] = { 0 };
UINT32 batValueList[12] = { 0 };
UIMenuStoreInfo *puiPara = sf_ui_para_get();
SINT32 ret = FAIL;
@ -485,7 +487,7 @@ signed int sf_battery_adc_value_get(void)
{
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]),
dcValueList[readBatCnt], dcValueList[readBatCnt] / 10, dcValueList[readBatCnt] % 10);
@ -495,7 +497,7 @@ signed int sf_battery_adc_value_get(void)
{
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]),
batValueList[readBatCnt], batValueList[readBatCnt] / 10, batValueList[readBatCnt] % 10);
@ -505,7 +507,7 @@ signed int sf_battery_adc_value_get(void)
{
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]),
batValueList[readBatCnt], batValueList[readBatCnt] / 10, batValueList[readBatCnt] % 10);
@ -539,7 +541,7 @@ signed int sf_battery_adc_value_get(void)
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");
@ -615,6 +617,7 @@ void sf_battery_level_polling(void)
UINT32 batTemp = 0;
UINT32 dcValueList[12] = { 0 };
UINT32 batValueList[12] = { 0 };
UIMenuStoreInfo *puiPara = sf_ui_para_get();
signed int ret = FALSE;
@ -626,7 +629,7 @@ void sf_battery_level_polling(void)
{
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]),
dcValueList[readBatCnt], dcValueList[readBatCnt] / 10, dcValueList[readBatCnt] % 10);
@ -636,7 +639,7 @@ void sf_battery_level_polling(void)
{
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]),
batValueList[readBatCnt], batValueList[readBatCnt] / 10, batValueList[readBatCnt] % 10);
@ -646,7 +649,7 @@ void sf_battery_level_polling(void)
{
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]),
batValueList[readBatCnt], batValueList[readBatCnt] / 10, batValueList[readBatCnt] % 10);
@ -684,7 +687,7 @@ void sf_battery_level_polling(void)
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");
@ -705,7 +708,7 @@ void sf_battery_level_polling(void)
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);
}
@ -722,7 +725,7 @@ void sf_battery_level_polling(void)
{
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.
@ -857,6 +860,7 @@ 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);
@ -920,7 +924,7 @@ UINT8 sf_battery_value_get(UINT8 nightMode)
{
batteryVal = BatVoltageVal;
if(SysGetFlag(BatteryType) == SF_BATT_ALKALINE) //ALK
if(puiPara->BatteryType == SF_BATT_ALKALINE) //ALK
{
if(batteryVal < 62)
{
@ -974,7 +978,7 @@ UINT8 sf_battery_value_get(UINT8 nightMode)
value = 100;
}
}
else if(SysGetFlag(BatteryType) == SF_BATT_NI_MH) //NIH
else if(puiPara->BatteryType == SF_BATT_NI_MH) //NIH
{
if(batteryVal < 60)
{

View File

@ -111,7 +111,7 @@ void sf_mode_detect(void)
static UINT8 pwroffcnt = 0;
static UINT8 countDownOffFlg = 0;
static UINT8 pirDelay = 0;
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
if(sf_get_power_off_flag() || sf_is_usb_flag())
{
sf_set_pir_statu_flag(FALSE);
@ -202,7 +202,7 @@ void sf_mode_detect(void)
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;
}
@ -259,7 +259,7 @@ BOOL sf_cmd_cam_name_switch(unsigned char argc, char **argv)
sscanf_s(argv[0],"%d", &value);
if(value < SF_CAMID_MAX)
{
SysSetFlag(CamNameSwitch, value);
puiPara->CamNameSwitch = value;
}
strncpy(puiPara->CamNameStr, argv[1], ((12 <= strlen(argv[1])) ? 12 : (strlen(argv[1]))));
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)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_FLASH_LED_MAX){
SysSetFlag(FlashLed, value);
puiPara->FlashLed = value;
Save_MenuInfo();
}
printf("[%s:%d] FlashLed:%d\n", __FUNCTION__, __LINE__,SysGetFlag(FlashLed));
printf("[%s:%d] FlashLed:%d\n", __FUNCTION__, __LINE__,puiPara->FlashLed);
return TRUE;
}
BOOL sf_cmd_img_size(unsigned char argc, char **argv)
{
UINT32 value;
//UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
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)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_NIGHT_MODE_MAX){
SysSetFlag(NightMode, value);
puiPara->NightMode = value;
Save_MenuInfo();
}
printf("[%s:%d] NightMode:%d\n", __FUNCTION__, __LINE__,SysGetFlag(NightMode));
printf("[%s:%d] NightMode:%d\n", __FUNCTION__, __LINE__,puiPara->NightMode);
return TRUE;
}
BOOL sf_cmd_multishot(unsigned char argc, char **argv)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < CONTINUE_SHOT_SETTING_MAX){
SysSetFlag(Multishot, value);
puiPara->Multishot = value;
SysSetFlag(FL_CONTINUE_SHOT, value);
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)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < MOVIE_SIZE_ID_MAX){
SysSetFlag(VideoSize, value);
puiPara->VideoSize = value;
SysSetFlag(FL_MOVIE_SIZE, value);
SysSetFlag(FL_MOVIE_SIZE_MENU, value);
Save_MenuInfo();
}
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 i, mask;
UINT32 movie_rec_mask, clone_rec_mask;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &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;
break;
}
UI_SetData(VideoLenth, uiSelect);
puiPara->VideoLenth = uiSelect;
Save_MenuInfo();
gMovie_Rec_Option.seamless_sec = 15;
@ -381,7 +388,7 @@ BOOL sf_cmd_video_lenth(unsigned char argc, char **argv)
mask <<= 1;
}
printf("[%s:%d] VideoLenth:%d\n", __FUNCTION__, __LINE__,SysGetFlag(VideoLenth));
printf("[%s:%d] VideoLenth:%d\n", __FUNCTION__, __LINE__,puiPara->VideoLenth);
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)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){
SysSetFlag(PirSwitch, value);
puiPara->PirSwitch = value;
Save_MenuInfo();
}
printf("[%s:%d] PirSwitch:%d\n", __FUNCTION__, __LINE__,SysGetFlag(PirSwitch));
printf("[%s:%d] PirSwitch:%d\n", __FUNCTION__, __LINE__,puiPara->PirSwitch);
return TRUE;
}
BOOL sf_cmd_pir_sensitivity(unsigned char argc, char **argv)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_PIR_SENSITIVITY_MAX){
SysSetFlag(PirSensitivity, value);
puiPara->PirSensitivity = value;
Save_MenuInfo();
}
printf("[%s:%d] PirSensitivity:%d\n", __FUNCTION__, __LINE__,SysGetFlag(PirSensitivity));
printf("[%s:%d] PirSensitivity:%d\n", __FUNCTION__, __LINE__,puiPara->PirSensitivity);
return TRUE;
}
@ -421,7 +430,7 @@ BOOL sf_cmd_pir_delay_switch(unsigned char argc, char **argv)
sscanf_s(argv[0],"%d", &value);
if(value < SF_ON_OFF_MAX)
{
SysSetFlag(PirDelaySwitch, value);
puiPara->PirDelaySwitch = value;
sscanf_s(argv[1],"%d", &value);
puiPara->PirDelayTime.Hour = value;
sscanf_s(argv[2],"%d", &value);
@ -431,7 +440,7 @@ BOOL sf_cmd_pir_delay_switch(unsigned char argc, char **argv)
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;
}
@ -443,7 +452,7 @@ BOOL sf_cmd_timelapse_switch(unsigned char argc, char **argv)
{
sscanf_s(argv[0],"%d", &value);
if(value < SF_ON_OFF_MAX){
SysSetFlag(TimelapseSwitch, value);
puiPara->TimelapseSwitch = value;
sscanf_s(argv[1],"%d", &value);
puiPara->TimelapseTime.Hour = value;
sscanf_s(argv[2],"%d", &value);
@ -453,7 +462,7 @@ BOOL sf_cmd_timelapse_switch(unsigned char argc, char **argv)
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;
}
@ -470,7 +479,7 @@ BOOL sf_cmd_work_time_switch(unsigned char argc, char **argv)
sscanf_s(argv[1],"%d", &value);
if(value < SF_ON_OFF_MAX)
{
SysSetFlag(WorkTime1Switch, value);
puiPara->WorkTime1Switch = value;
sscanf_s(argv[2],"%d", &value);
puiPara->WorkTime[0].StartTime.Hour = value;
sscanf_s(argv[3],"%d", &value);
@ -482,14 +491,14 @@ BOOL sf_cmd_work_time_switch(unsigned char argc, char **argv)
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)
{
sscanf_s(argv[1],"%d", &value);
if(value < SF_ON_OFF_MAX)
{
SysSetFlag(WorkTime2Switch, value);
puiPara->WorkTime2Switch = value;
sscanf_s(argv[2],"%d", &value);
puiPara->WorkTime[1].StartTime.Hour = 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;
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)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_SIM_SWITCH_MAX){
SysSetFlag(SimAutoSwitch, value);
puiPara->SimAutoSwitch = value;
Save_MenuInfo();
}
printf("[%s:%d] SimAutoSwitch:%d\n", __FUNCTION__, __LINE__,SysGetFlag(SimAutoSwitch));
printf("[%s:%d] SimAutoSwitch:%d\n", __FUNCTION__, __LINE__,puiPara->SimAutoSwitch);
return TRUE;
}
BOOL sf_cmd_sen_max_num(unsigned char argc, char **argv)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_SEND_MAX_NUM_MAX){
SysSetFlag(SendMaxNum, value);
puiPara->SendMaxNum = value;
Save_MenuInfo();
}
printf("[%s:%d] SendMaxNum:%d\n", __FUNCTION__, __LINE__,SysGetFlag(SendMaxNum));
printf("[%s:%d] SendMaxNum:%d\n", __FUNCTION__, __LINE__,puiPara->SendMaxNum);
return TRUE;
}
BOOL sf_cmd_gprs_mode(unsigned char argc, char **argv)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_GPRS_MODE_MAX){
SysSetFlag(GprsMode, value);
puiPara->GprsMode = value;
Save_MenuInfo();
}
printf("[%s:%d] GprsMode:%d\n", __FUNCTION__, __LINE__,SysGetFlag(GprsMode));
printf("[%s:%d] GprsMode:%d\n", __FUNCTION__, __LINE__,puiPara->GprsMode);
return TRUE;
}
@ -558,26 +570,26 @@ BOOL sf_cmd_daily_report_switch(unsigned char argc, char **argv)
sscanf_s(argv[1],"%d", &value);
if(value < SF_ON_OFF_MAX)
{
SysSetFlag(DailyReportSwitch, value);
puiPara->DailyReportSwitch = value;
sscanf_s(argv[2],"%d", &value);
puiPara->DailyReportTime.Hour = value;
sscanf_s(argv[3],"%d", &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)
{
sscanf_s(argv[1],"%d", &value);
if(value < SF_ON_OFF_MAX)
{
SysSetFlag(ReDailyReport, value);
puiPara->ReDailyReport = value;
sscanf_s(argv[2],"%d", &value);
puiPara->DailyReportTime2.Hour = value;
sscanf_s(argv[3],"%d", &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();
}
@ -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)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){
SysSetFlag(ReDailyReport, value);
puiPara->ReDailyReport = value;
Save_MenuInfo();
}
printf("[%s:%d] ReDailyReport:%d\n", __FUNCTION__, __LINE__,SysGetFlag(ReDailyReport));
printf("[%s:%d] ReDailyReport:%d\n", __FUNCTION__, __LINE__,puiPara->ReDailyReport);
return TRUE;
}
BOOL sf_cmd_daily_report_test_switch(unsigned char argc, char **argv)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){
SysSetFlag(DailyReportTestSwitch, value);
puiPara->DailyReportTestSwitch = value;
Save_MenuInfo();
}
printf("[%s:%d] DailyReportTestSwitch:%d\n", __FUNCTION__, __LINE__,SysGetFlag(DailyReportTestSwitch));
printf("[%s:%d] DailyReportTestSwitch:%d\n", __FUNCTION__, __LINE__,puiPara->DailyReportTestSwitch);
return TRUE;
}
BOOL sf_cmd_sim_pin_flag(unsigned char argc, char **argv)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){
SysSetFlag(SimPinFlag, value);
puiPara->SimPinFlag = value;
Save_MenuInfo();
}
printf("[%s:%d] SimPinFlag:%d\n", __FUNCTION__, __LINE__,SysGetFlag(SimPinFlag));
printf("[%s:%d] SimPinFlag:%d\n", __FUNCTION__, __LINE__,puiPara->SimPinFlag);
return TRUE;
}
BOOL sf_cmd_gps_switch(unsigned char argc, char **argv)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){
SysSetFlag(GpsSwitch, value);
puiPara->GpsSwitch = value;
Save_MenuInfo();
}
printf("[%s:%d] GpsSwitch:%d\n", __FUNCTION__, __LINE__,SysGetFlag(GpsSwitch));
printf("[%s:%d] GpsSwitch:%d\n", __FUNCTION__, __LINE__,puiPara->GpsSwitch);
return TRUE;
}
@ -671,11 +687,12 @@ BOOL sf_cmd_longitude(unsigned char argc, char **argv)
BOOL sf_cmd_language(unsigned char argc, char **argv)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < LANG_ID_MAX){
SysSetFlag(FL_LANGUAGE, value);
SysSetFlag(Language, value);
puiPara->Language = value;
Save_MenuInfo();
}
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)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_DATE_TIME_MAX){
SysSetFlag(DateStyle, value);
puiPara->DateStyle = value;
SysSetFlag(FL_DateFormatIndex, value);
Save_MenuInfo();
}
printf("[%s:%d] DateStyle:%d\n", __FUNCTION__, __LINE__,SysGetFlag(DateStyle));
printf("[%s:%d] DateStyle:%d\n", __FUNCTION__, __LINE__,puiPara->DateStyle);
return TRUE;
}
BOOL sf_cmd_stamp_switch(unsigned char argc, char **argv)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){
SysSetFlag(StampSwitch, value);
puiPara->StampSwitch = value;
SysSetFlag(FL_DATE_STAMP, ((1 == value) ? DATEIMPRINT_DATE_TIME : DATEIMPRINT_OFF));
Save_MenuInfo();
}
printf("[%s:%d] StampSwitch:%d\n", __FUNCTION__, __LINE__,SysGetFlag(StampSwitch));
printf("[%s:%d] StampSwitch:%d\n", __FUNCTION__, __LINE__,puiPara->StampSwitch);
return TRUE;
}
BOOL sf_cmd_battery_type(unsigned char argc, char **argv)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_BATT_MAX){
SysSetFlag(BatteryType, value);
puiPara->BatteryType = value;
Save_MenuInfo();
}
printf("[%s:%d] BatteryType:%d\n", __FUNCTION__, __LINE__,SysGetFlag(BatteryType));
printf("[%s:%d] BatteryType:%d\n", __FUNCTION__, __LINE__,puiPara->BatteryType);
return TRUE;
}
BOOL sf_cmd_sd_loop_switch(unsigned char argc, char **argv)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){
SysSetFlag(SdLoopSwitch, value);
puiPara->SdLoopSwitch = value;
Save_MenuInfo();
}
printf("[%s:%d] SdLoopSwitch:%d\n", __FUNCTION__, __LINE__,SysGetFlag(SdLoopSwitch));
printf("[%s:%d] SdLoopSwitch:%d\n", __FUNCTION__, __LINE__,puiPara->SdLoopSwitch);
return TRUE;
}
@ -745,175 +766,187 @@ BOOL sf_cmd_pwd_switch(unsigned char argc, char **argv)
sscanf_s(argv[0],"%d", &value);
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]))));
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;
}
BOOL sf_cmd_send_photo_switch(unsigned char argc, char **argv)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){
SysSetFlag(SendPhotoSwitch, value);
puiPara->SendPhotoSwitch = value;
Save_MenuInfo();
}
printf("[%s:%d] SendPhotoSwitch:%d\n", __FUNCTION__, __LINE__,SysGetFlag(SendPhotoSwitch));
printf("[%s:%d] SendPhotoSwitch:%d\n", __FUNCTION__, __LINE__,puiPara->SendPhotoSwitch);
return TRUE;
}
BOOL sf_cmd_send_video_switch(unsigned char argc, char **argv)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){
SysSetFlag(SendVideoSwitch, value);
puiPara->SendVideoSwitch = value;
Save_MenuInfo();
}
printf("[%s:%d] SendVideoSwitch:%d\n", __FUNCTION__, __LINE__,SysGetFlag(SendVideoSwitch));
printf("[%s:%d] SendVideoSwitch:%d\n", __FUNCTION__, __LINE__,puiPara->SendVideoSwitch);
return TRUE;
}
BOOL sf_cmd_send_pic_size(unsigned char argc, char **argv)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_SEND_MAX){
SysSetFlag(SendPicSize, value);
puiPara->SendPicSize = value;
Save_MenuInfo();
}
printf("[%s:%d] SendPicSize:%d\n", __FUNCTION__, __LINE__,SysGetFlag(SendPicSize));
printf("[%s:%d] SendPicSize:%d\n", __FUNCTION__, __LINE__,puiPara->SendPicSize);
return TRUE;
}
BOOL sf_cmd_send_multishot_index(unsigned char argc, char **argv)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
if(argc == 5)
{
sscanf_s(argv[0],"%d", &value);
SysSetFlag(SendMultishotIndex1, value);
puiPara->SendMultishotIndex1 = value;
sscanf_s(argv[1],"%d", &value);
SysSetFlag(SendMultishotIndex2, value);
puiPara->SendMultishotIndex2 = value;
sscanf_s(argv[2],"%d", &value);
SysSetFlag(SendMultishotIndex3, value);
puiPara->SendMultishotIndex3 = value;
sscanf_s(argv[3],"%d", &value);
SysSetFlag(SendMultishotIndex4, value);
puiPara->SendMultishotIndex4 = value;
sscanf_s(argv[4],"%d", &value);
SysSetFlag(SendMultishotIndex5, value);
puiPara->SendMultishotIndex5 = value;
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;
}
BOOL sf_cmd_date_auto(unsigned char argc, char **argv)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_DATE_MAX){
SysSetFlag(DateAuto, value);
puiPara->DateAuto = value;
Save_MenuInfo();
}
printf("[%s:%d] DateAuto:%d\n", __FUNCTION__, __LINE__,SysGetFlag(DateAuto));
printf("[%s:%d] DateAuto:%d\n", __FUNCTION__, __LINE__,puiPara->DateAuto);
return TRUE;
}
BOOL sf_cmd_debug_mode(unsigned char argc, char **argv)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){
SysSetFlag(DebugMode, value);
puiPara->DebugMode = value;
Save_MenuInfo();
}
printf("[%s:%d] DebugMode:%d\n", __FUNCTION__, __LINE__,SysGetFlag(DebugMode));
printf("[%s:%d] DebugMode:%d\n", __FUNCTION__, __LINE__,puiPara->DebugMode);
return TRUE;
}
BOOL sf_cmd_auto_off_switch(unsigned char argc, char **argv)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){
SysSetFlag(AutoOffSwitch, value);
puiPara->AutoOffSwitch = value;
Save_MenuInfo();
}
printf("[%s:%d] AutoOffSwitch:%d\n", __FUNCTION__, __LINE__,SysGetFlag(AutoOffSwitch));
printf("[%s:%d] AutoOffSwitch:%d\n", __FUNCTION__, __LINE__,puiPara->AutoOffSwitch);
return TRUE;
}
BOOL sf_cmd_auto_log_switch(unsigned char argc, char **argv)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){
SysSetFlag(AutoLogSwitch, value);
puiPara->AutoLogSwitch = value;
Save_MenuInfo();
}
printf("[%s:%d] AutoLogSwitch:%d\n", __FUNCTION__, __LINE__,SysGetFlag(AutoLogSwitch));
printf("[%s:%d] AutoLogSwitch:%d\n", __FUNCTION__, __LINE__,puiPara->AutoLogSwitch);
return TRUE;
}
BOOL sf_cmd_raw_switch(unsigned char argc, char **argv)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){
SysSetFlag(RawSwitch, value);
puiPara->RawSwitch = value;
Save_MenuInfo();
}
printf("[%s:%d] RawSwitch:%d\n", __FUNCTION__, __LINE__,SysGetFlag(RawSwitch));
printf("[%s:%d] RawSwitch:%d\n", __FUNCTION__, __LINE__,puiPara->RawSwitch);
return TRUE;
}
BOOL sf_cmd_gprs_switch(unsigned char argc, char **argv)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){
SysSetFlag(GprsSwitch, value);
puiPara->GprsSwitch = value;
Save_MenuInfo();
}
printf("[%s:%d] GprsSwitch:%d\n", __FUNCTION__, __LINE__,SysGetFlag(GprsSwitch));
printf("[%s:%d] GprsSwitch:%d\n", __FUNCTION__, __LINE__,puiPara->GprsSwitch);
return TRUE;
}
BOOL sf_cmd_qlog_switch(unsigned char argc, char **argv)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){
SysSetFlag(QLogSwitch, value);
puiPara->QLogSwitch = value;
Save_MenuInfo();
}
printf("[%s:%d] QLogSwitch:%d\n", __FUNCTION__, __LINE__,SysGetFlag(QLogSwitch));
printf("[%s:%d] QLogSwitch:%d\n", __FUNCTION__, __LINE__,puiPara->QLogSwitch);
return TRUE;
}
BOOL cmd_cam_mode(unsigned char argc, char **argv)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
if(value < SF_CAM_MODE_MAX){
SysSetFlag(CamMode, value);
puiPara->CamMode = value;
Save_MenuInfo();
}
printf("[%s:%d] CamMode:%d\n", __FUNCTION__, __LINE__,SysGetFlag(CamMode));
printf("[%s:%d] CamMode:%d\n", __FUNCTION__, __LINE__,puiPara->CamMode);
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)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){
SysSetFlag(BatteryLogSwitch, value);
puiPara->BatteryLogSwitch = value;
Save_MenuInfo();
}
printf("[%s:%d] BatteryLogSwitch:%d\n", __FUNCTION__, __LINE__,SysGetFlag(BatteryLogSwitch));
printf("[%s:%d] BatteryLogSwitch:%d\n", __FUNCTION__, __LINE__,puiPara->BatteryLogSwitch);
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};
UIMenuStoreInfo *puiPara = sf_ui_para_get();
//UIMenuStoreInfo *puiPara = sf_ui_para_get();
if(pirs >= 10)
return FAIL;
SysSetFlag(PirSensitivity, pirs);
SysSetFlag(DigitPirSensitivity, digPirLevel[pirs]);
SysSetFlag(DigitPirCnt, digPirCount[pirs]);
SysSetFlag(DigitPirWindowTime, 0);
puiPara->PirSensitivity = pirs;
puiPara->DigitPirSensitivity = digPirLevel[pirs];
puiPara->DigitPirCnt = digPirCount[pirs];
puiPara->DigitPirWindowTime = 0;
if(SysGetFlag(PirSensitivity))
/*if(puiPara->PirSensitivity))
{
SysSetFlag(TimelapseSwitch, SF_OFF);
puiPara->TimelapseSwitch, SF_OFF);
puiPara->TimelapseTime.Hour = 0;
puiPara->TimelapseTime.Min = 0;
puiPara->TimelapseTime.Sec = 0;
//Save_MenuInfo();
}
}*/
return SUCCESS;
}
@ -1080,14 +1115,14 @@ UINT32 sf_set_pir_sensitivity(UINT8 pirs)
void sf_usb_mux_s(UINT32 cnt)
{
static UINT8 cntflag = 1;
printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
printf("[%s:%d] c s\n", __FUNCTION__, __LINE__);
if(1 == cntflag)
{
cntflag = 0;
gpio_direction_output(GPIO_USB_MUX_S, 1);
}
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)
{
@ -1153,6 +1188,10 @@ static SINT32 sf_cardv_proccess_cmd_key(SF_MESSAGE_BUF_S *pMessageBuf)
{
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;
default:
@ -1177,7 +1216,7 @@ static SINT32 app_proccess_cmd_para_update(SF_MESSAGE_BUF_S *pMessageBuf)
return SF_SUCCESS;
}
#if 0
void sf_cardv_proccess_cmd_gprs(SF_MESSAGE_BUF_S *pMessageBuf)
{
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;
UINT8 gGPRSNoRespone = ((pMessageBuf->arg3) >> 1) & 1;
UINT32 FtpOpenOk = ((pMessageBuf->arg3) >> 2) & 1;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
if (sf_get_fw_update())
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);
@ -1244,13 +1284,14 @@ void sf_cardv_proccess_cmd_gprs(SF_MESSAGE_BUF_S *pMessageBuf)
}
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)
{
@ -1276,8 +1317,12 @@ void* sf_cardv_message_thread(void *argv)
app_proccess_cmd_para_update(&stMessagebuf);
break;
case CMD_GPRS:
sf_cardv_proccess_cmd_gprs(&stMessagebuf);
//sf_cardv_proccess_cmd_gprs(&stMessagebuf);
break;
case CMD_FILE:
sf_share_mem_file_init();
break;
default:
break;
}

View File

@ -60,6 +60,7 @@ UINT32 sf_check_card_full(void)
UINT64 diskFree = 0;
UINT32 ret = 0;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
if(!sf_in_card_exist())
{
return 1;
@ -71,7 +72,7 @@ UINT32 sf_check_card_full(void)
if(diskFree < 30) /* 30MB */
{
ret = TRUE;
if(0 == SysGetFlag(SdLoopSwitch))
if(0 == puiPara->SdLoopSwitch)
{
IsCardFull = TRUE;
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)
static UINT32 simCardInsert=0;
static UINT8 gModuleSleep = 1;
static UINT32 SmsCheck = 0;
UINT32 SmsCheck = 0;
static SF_CAMERA_CMD_S CameraCmd = {0};
static UINT8 McuProductInfo = 0;
@ -68,8 +68,8 @@ static UINT8 McuProductInfo = 0;
static UINT8 drNoResetTimeSync = FALSE; //0:reset; 1:no reset;
#elif defined(_MODEL_565_HUNTING_EVB_LINUX_4G_S530_)
static UINT8 isSignalReady = 0;
static UINT32 GPRS_ERRNO = 0;
//static UINT8 isSignalReady = 0;
//static UINT32 GPRS_ERRNO = 0;
#endif
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)
{
#if 0
UINT8 mcuReg[REG_SIZE] = {0};
UINT8 mcuData[REG_SIZE] = {0};
UINT8 i = 0;
@ -1848,6 +1849,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
}
#endif
sf_mcu_write_multi(mcuReg, mcuData, i);
#endif
return SUCCESS;
}
@ -1883,7 +1885,7 @@ void sf_calculate_daily_report(UINT8*dailyHour, UINT8*dailyMin)
UINT16 timelapse_sum_min = 0;
struct tm mcuTime = {0};
//Daily report is always ON
if(SysGetFlag(ReDailyReport))
if(puiPara->ReDailyReport)
{
mcuTime = hwclock_get_time(TIME_ID_CURRENT);
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))
@ -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))
{
@ -1963,9 +1965,9 @@ void sf_calculate_daily_report(UINT8*dailyHour, UINT8*dailyMin)
{
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.Min = 0;
}

View File

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

View File

@ -1,6 +1,6 @@
; Source Insight Project File List
; Project Name: na51089_linux_sdk
; Generated by Source Insight 4.00.0107 at 2023/4/10 14:55:33
; Project Name: s530_app
; Generated by Source Insight 4.00.0107 at 2023/4/25 17:47:48
; Version=4.00.0107
;
; 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\mem\Makefile
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\msdcnvt\msdcnvt_api.h
driver\include\msdcnvt\msdcnvt_callback.h
@ -5003,41 +5186,30 @@ lib\source\pcm_anr\Makefile
lib\source\playback\Makefile
lib\source\PStore\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_common.h
lib\source\sifar\code\include\sf_commu_mcu.h
lib\source\sifar\code\include\sf_dbg.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_inc.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_message_queue.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_share_mem.h
lib\source\sifar\code\include\sf_sim.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_common.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_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_log.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\module\sf_4G_auto_operation.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_hal_ttyusb.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_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_kernel { label = "kernel"; reg = <0x0 0x100000 0x0 0x290000>; };
partition_rootfs { label = "rootfs"; reg = <0x0 0x390000 0x0 0x3E0000>; };
partition_rootfs1 { label = "rootfs1"; reg = <0x0 0x770000 0x0 0xA00000>; };
partition_rtos { label = "rtos"; reg = <0x0 0x1170000 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_sys { label = "sys"; reg = <0x0 0x1AC0000 0x0 0x10000>; };
partition_rootfs1 { label = "rootfs1"; reg = <0x0 0x770000 0x0 0xB00000>; };
partition_rtos { label = "rtos"; reg = <0x0 0x1270000 0x0 0x900000>; };
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 0x1CC0000 0x0 0x10000>; };
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;
int ret = 1;
UINT8 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
if(first_entry == TRUE){
@ -176,12 +177,12 @@ UINT32 DrvGPIO_GetPhotoMovieModeFromMonitor(void)
default:
printf("%s:%d CamMode:%lu\n", __FUNCTION__, __LINE__,SysGetFlag(CamMode));
if(SF_CAM_MODE_PHOTO == SysGetFlag(CamMode))
printf("%s:%d CamMode:%lu\n", __FUNCTION__, __LINE__,puiPara->CamMode);
if(SF_CAM_MODE_PHOTO == puiPara->CamMode)
{
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;
}
@ -394,7 +395,6 @@ void sf_ir_cut_ctrl_PowerOff(void)
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);
PWM_CFG pwm_cfg = {
.ui_prd = 100,
.ui_rise = 0,
@ -418,7 +418,7 @@ void sf_ir_led_set(UINT8 mode, UINT8 flashLed, UINT8 stillExp, UINT8 isSnapVideo
{
if(flashLed == 0)
{
ui_rise = 25;//75%
ui_rise = 30;//70%
}
else
{
@ -429,7 +429,7 @@ void sf_ir_led_set(UINT8 mode, UINT8 flashLed, UINT8 stillExp, UINT8 isSnapVideo
{
if(flashLed == 0)
{
ui_rise = 10;//90%
ui_rise = 15;//85%
}
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_pwm_config_clock_div(PWM0_3_CLKDIV, 14);//pwm clk = 120M/clk div+1/period
pwm_pwm_config(IRLED_PWMID, &pwm_cfg);
pwm_pwm_enable(IRLED_PWMID);

View File

@ -26,6 +26,7 @@
#if HUNTING_CAMERA_MCU == ENABLE
#include <sf_mcu.h>
#endif
//#include "flow_boot_logo.h"
///////////////////////////////////////////////////////////////////////////////
//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].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);
return ret;
}
@ -841,7 +849,7 @@ int flow_preview(void)
}
#if HUNTING_CAMERA_MCU == ENABLE
if(sf_is_night_mode(0) !=TRUE)
if(sf_is_night_mode(1) !=TRUE)
{
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);
}
#if HUNTING_PHOTO_FAST_AE_60_FPS == ENABLE
#else
hd_ret = hd_videocap_unbind(HD_VIDEOCAP_0_OUT_0);
if (hd_ret != HD_OK) {
DBG_ERR("vcap unbind failed, hd_ret = %d\r\n", hd_ret);
}
#endif
}
void flow_preview_uninit_module(void)
@ -1066,11 +1079,11 @@ static UINT32 ae_adc_tbl[57][3] = {
{813, 8333, 1280},
{809, 8333, 2380},
{799, 16666, 4300},
{787, 16666, 4300},//6390},
{735, 16666, 4300},// 7990},
{686, 16666, 6390},//8460},
{652, 16666, 6390},//9530},
{613, 16666, 7990},//10690},
{787, 16666, 6390},
{735, 16666, 7990},
{686, 16666, 8460},
{652, 16666, 9530},
{613, 16666, 10690},
{576, 16666, 2310},//night
{541, 16666, 2310},
{509, 16666, 2310},
@ -1080,26 +1093,27 @@ static UINT32 ae_adc_tbl[57][3] = {
{399, 16666, 2310},
{363, 16666, 2310},
{322, 16666, 2310},// 12190},
{288, 33333, 4300},// 26600},
{246, 33333, 4300}, //45770},
{216, 33333, 4300},
{188, 33333, 4300},
{162, 33333, 4300},
{151, 33333, 5300},
{138, 33333, 5300},
{118, 33333, 5300},
{96, 33333, 5300},
{80, 33333, 5300},
{62, 33333, 5300},
{48, 33333, 5300},
{35, 33333, 2000},
{288, 16666, 2310},// 26600},
{246, 16666, 2310}, //45770},
{216, 16666, 2310},
{188, 16666, 1000},
{162, 16666, 1000},
{151, 16666, 1000},
{138, 16666, 1000},
{118, 16666, 1000},
{96, 16666, 1280},
{80, 16666, 2000},
{62, 16666, 2000},
{48, 20000, 2000},
{35, 20000, 2000},
{26, 33333, 1100},
{19, 33333, 1100},
{13, 33333, 1100},
{10, 33333, 1100},
{8, 33333, 2100},
{4, 33333, 3100},
{2, 33333, 3000},
{2, 33333, 3400},
//{1, 33333, 3500},
{0, 33333, 4000},
#else // 1K RSS
@ -1163,14 +1177,14 @@ static UINT32 ae_adc_tbl[57][3] = {
#endif
};
void ae_adc_get_exp_photo(UINT16 adc_value, UINT32 *exptime, UINT32 *isogain)
{
UINT32 idx0=0, idx1=0;
UINT32 exptime0, isogain0;
//UINT32 exptime1, isogain1;
//UINT32 adc_ev, ev0, ev1;
UINT32 exptime0, exptime1, isogain0, isogain1;
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])
{
@ -1186,16 +1200,23 @@ void ae_adc_get_exp_photo(UINT16 adc_value, UINT32 *exptime, UINT32 *isogain)
exptime0 = ae_adc_tbl[idx0][1];
isogain0 = (ae_adc_tbl[idx0][2]);
//exptime1 = ae_adc_tbl[idx1][1];
//isogain1 = (ae_adc_tbl[idx1][2]);
///ev0 = (exptime0 * isogain0);
//ev1 = (exptime1 * isogain1);
exptime1 = ae_adc_tbl[idx1][1];
isogain1 = (ae_adc_tbl[idx1][2]);
ev0 = (exptime0 * isogain0);
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;
*isogain = isogain0;//(adc_ev / exptime0);
if(adc_value>200)
{
*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);
}

View File

@ -35,6 +35,7 @@
#include <kwrap/debug.h>
#include "PrjInc.h"
#include "IOCfg.h"
#include "DxHunting.h"
/*
#include "NvtUser/NvtUser.h"
#include "AppControl/AppControl.h"
@ -80,7 +81,7 @@ UINT32 sf_battery_voltage_convert(UINT32 resistanceGnd, UINT32 resistanceVin, UI
SARADC reference voltage:1.8V
*/
volt = 25 * adcVal * (resistanceGnd + resistanceVin) / resistanceGnd / 511;
volt = 25 * adcVal * (resistanceGnd + resistanceVin) / resistanceGnd / 512;
return volt;
}
@ -89,7 +90,7 @@ UINT32 sf_battery_convert_to_adc(UINT32 resistanceGnd, UINT32 resistanceVin, UIN
{
UINT32 adcVal = 0;
adcVal = volt * resistanceGnd * 511 / 25 / (resistanceGnd + resistanceVin);
adcVal = volt * resistanceGnd * 512 / 25 / (resistanceGnd + resistanceVin);
return adcVal;
}
@ -193,11 +194,11 @@ UINT32 sf_battery_adc_value_get_once(void)
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)
{
@ -206,29 +207,30 @@ UINT32 sf_battery_adc_value_get_once(void)
}
else
{
_LiPolymerVoltageVal = 0;
if(sf_adc_value_get(SF_ADC_BATT, &batAdc) == SUCCESS)
{
_BatVoltageVal = sf_battery_voltage_convert(33, 100, batAdc);
_BatVoltageVal += 1;
getBatAdcFlg = 0;
return SUCCESS;
}
else
{
getBatAdcFlg = 0;
printf("%s:%d [ERR] failed !!!\n", __FUNCTION__, __LINE__);
return FAIL;
}
if(sf_adc_value_get(SF_ADC_BATT, &batAdc) == SUCCESS)
{
_BatVoltageVal = sf_battery_voltage_convert(15, 100, batAdc);
//_BatVoltageVal += 1;
getBatAdcFlg = 0;
return SUCCESS;
}
else
{
getBatAdcFlg = 0;
printf("%s:%d [ERR] failed !!!\n", __FUNCTION__, __LINE__);
return FAIL;
}
}
}
else
{
getBatAdcFlg = 0;
return FAIL;
}
else
{
getBatAdcFlg = 0;
printf("%s:%d [ERR] failed !!!\n", __FUNCTION__, __LINE__);
return FAIL;
}
}
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
Description: Get battery Voltage with Level.
@ -251,7 +295,7 @@ void sf_battery_level_update(void)
UINT8 batteryVal = 0;
UINT8 batteryLevel = SF_BATT_LEVEL_0;
if(IsNightLedOn)
if(sf_get_night_led_flag())
{
return;
}
@ -354,7 +398,7 @@ void sf_battery_level_update(void)
printf("battery levle=%d\n", sf_LatestBattLevel);
}
}
#endif
/*************************************************
Function: sf_check_low_battery
Description: check is low battery in auto mode.
@ -366,6 +410,7 @@ BOOL sf_check_low_battery(void)
{
UINT8 lowCompareVal = 0;
BOOL ret = FALSE;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
if(sf_is_usb_flag())
{
@ -374,24 +419,24 @@ BOOL sf_check_low_battery(void)
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;
}
else if(SysGetFlag(BatteryType) == SF_BATT_NI_MH)
else if(puiPara->BatteryType == SF_BATT_NI_MH)
{
lowCompareVal = 71;
}
}
else
{
if(SysGetFlag(BatteryType) == SF_BATT_ALKALINE)
if(puiPara->BatteryType == SF_BATT_ALKALINE)
{
lowCompareVal = 80;
}
else if(SysGetFlag(BatteryType) == SF_BATT_NI_MH)
else if(puiPara->BatteryType == SF_BATT_NI_MH)
{
lowCompareVal = 80;
}
@ -422,7 +467,7 @@ BOOL sf_check_low_battery(void)
Return: SUCCESS/FAIL
Others: N/A
*******************************************************/
SINT32 sf_battery_adc_value_get(void)
signed int sf_battery_adc_value_get(void)
{
UINT8 readBatCnt = 0;
@ -430,6 +475,7 @@ SINT32 sf_battery_adc_value_get(void)
UINT32 batTemp = 0;
UINT32 dcValueList[12] = { 0 };
UINT32 batValueList[12] = { 0 };
UIMenuStoreInfo *puiPara = sf_ui_para_get();
SINT32 ret = FAIL;
@ -444,7 +490,7 @@ SINT32 sf_battery_adc_value_get(void)
{
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]),
dcValueList[readBatCnt], dcValueList[readBatCnt] / 10, dcValueList[readBatCnt] % 10);
@ -454,7 +500,7 @@ SINT32 sf_battery_adc_value_get(void)
{
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]),
batValueList[readBatCnt], batValueList[readBatCnt] / 10, batValueList[readBatCnt] % 10);
@ -464,9 +510,9 @@ SINT32 sf_battery_adc_value_get(void)
{
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);
}
}
@ -498,7 +544,7 @@ SINT32 sf_battery_adc_value_get(void)
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");
@ -574,6 +620,7 @@ void sf_battery_level_polling(void)
UINT32 batTemp = 0;
UINT32 dcValueList[12] = { 0 };
UINT32 batValueList[12] = { 0 };
UIMenuStoreInfo *puiPara = sf_ui_para_get();
signed int ret = FALSE;
@ -585,9 +632,9 @@ void sf_battery_level_polling(void)
{
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);
}
@ -595,9 +642,9 @@ void sf_battery_level_polling(void)
{
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);
}
}
@ -605,9 +652,9 @@ void sf_battery_level_polling(void)
{
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);
}
}
@ -643,7 +690,7 @@ void sf_battery_level_polling(void)
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");
@ -659,26 +706,31 @@ void sf_battery_level_polling(void)
}
}
}
sf_battery_level_update();
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);
}
if(batTempLevel != sf_LatestBattLevel)
{
//sp5kHostMsgSend(APP_UI_MSG_TRANSFER_REFLUSH, 0, 0, 0);
batTempLevel = sf_LatestBattLevel;
}
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)
{
@ -687,6 +739,12 @@ void sf_battery_level_polling(void)
//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)
{
@ -741,4 +799,255 @@ UINT32 sf_battery_level_get(void)
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

View File

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

View File

@ -936,8 +936,8 @@
#define HUNTING_CAMERA_SYS_PARTITION_NAME sys
#define HUNTING_CAMERA_BOOT_LINUX ENABLE
#define HUNTING_CAMERA_MCU ENABLE
#define HUNTING_CAMERA_4G ENABLE//DISABLE
#define PHOTO_STAMP_ISP_STATUS ENABLE
#define HUNTING_CAMERA_4G DISABLE
#define PHOTO_STAMP_ISP_STATUS DISABLE//ENABLE
#define PHOTO_PREVIEW_SLICE_ENC_FUNC ENABLE
#define PHOTO_PREVIEW_SLICE_ENC_VER2_FUNC ENABLE
#define PHOTO_DIRECT_FUNC DISABLE
@ -949,8 +949,9 @@
#define HUNTING_MCU_UART ENABLE
#define HUNTING_IR_LED_940 DISABLE
#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 HW_S530 1
/*******************************************************************************************
* LVGL UI Style config

View File

@ -390,16 +390,16 @@ static void insmod_sensor(void)
static void sie_vd_cb(const UINT32 vd_cnt)
{
/*if(vd_cnt == 0){
vos_perf_list_mark("sie_vd", __LINE__, vd_cnt);
if(vd_cnt == 0){
vos_perf_list_mark("sie_vd", __LINE__, 0);
}
else if(vd_cnt == 1){
vos_perf_list_mark("sie_vd", __LINE__, vd_cnt);
}
else if(vd_cnt == (PHOTOFAST_CAP_FRAME_CNT-1)){
/*else if(vd_cnt == 1){
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)
// 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.
*use Cmd_movie_set_boot_mode for test
**/
SysGetFlag(CamMode);
//SysGetFlag(CamMode);
//Save_MenuInfo();
//#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)
{
UINT32 value;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
sscanf_s(argv[0],"%d", &value);
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();
}
return TRUE;

View File

@ -155,7 +155,12 @@ static void MovieFast_ShutDown(void)
#endif
#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
fastboot_set_done(BOOT_FLOW_BOOT);
flow_wait_linux();
@ -447,17 +452,43 @@ static void MovieFast_OnRecStart(void)
UINT32 movie_rec_mask, clone_rec_mask;
USIZE thmub_size;
UINT32 uifile_buffer_reserved_sec = 5;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
if (g_bIsRecStatus) {
return;
} else {
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_)
flow_lv_init();
#endif
vos_util_delay_ms(99);
//vos_util_delay_ms(99);
movie_rec_mask = Movie_GetMovieRecMask();
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)
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_BUFRESSEC, uifile_buffer_reserved_sec);
//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) {
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_BUFRESSEC, uifile_buffer_reserved_sec);
//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;
@ -559,6 +592,8 @@ static void MovieFast_FileNamingCB(MOVIE_CFG_REC_ID id, char *pFileName)
} else {
DCF_GetNextID(&nextFolderID,&nextFileID);
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){
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
case MOVIE_USER_CB_EVENT_CLOSE_FILE_COMPLETED: {
MOVIEMULTI_CLOSE_FILE_INFO *info = (MOVIEMULTI_CLOSE_FILE_INFO *)value;
DCF_AddDBfile(info->path);
DBG_DUMP("%s added to DCF\r\n", info->path);
//MOVIEMULTI_CLOSE_FILE_INFO *info = (MOVIEMULTI_CLOSE_FILE_INFO *)value;
//DCF_AddDBfile(info->path);
//DBG_DUMP("%s added to DCF\r\n", info->path);
vos_flag_set(MOVIEFAST_FLG_ID, FLGMOVIEFAST_SHUTDOWN);
}
break;
@ -652,6 +687,7 @@ static void MovieFast_UserEventCb(UINT32 id, MOVIE_USER_CB_EVENT event_id, UINT3
CHAR *pFileName = (CHAR *) value;
// Make custome file name
fastboot_wait_done(BOOT_INIT_FILESYSOK);
MovieFast_FileNamingCB(id, pFileName);
}

View File

@ -29,8 +29,8 @@
#if (_SCREENNAIL_SIZE_ == _SCREENNAIL_SIZE_VGA_)
#define CFG_SCREENNAIL_SIZE PHOTO_SIZE_VGA
#define CFG_SCREENNAIL_W 640
#define CFG_SCREENNAIL_H 480
#define CFG_SCREENNAIL_W 640//1024//640
#define CFG_SCREENNAIL_H 480//768//480
#else
#define CFG_SCREENNAIL_SIZE PHOTO_SIZE_3M
#define CFG_SCREENNAIL_W 2048
@ -109,7 +109,7 @@
#define JPG_BRC_INIT_Q 85
#define JPG_BRC_RETRY_CNT 4
#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_LBOUND(TBR) (TBR - (TBR * 15 / 100))
#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 BOOL captureflag = FALSE;
UINT32 Cap_cnt=0;
extern INT32 PhotoFast_SliceEncode_Dump_Frame(const HD_VIDEO_FRAME video_frame, UINT8 format);
THREAD_RETTYPE PhotoFast_FlowPreviewThread(void *arg)
{
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;
UINT32 max_cnt = 0;
BOOL start_cap = FALSE;
IQT_SHARPNESS_LV sharpness_lv = {0};
// IQT_SHARPNESS_LV sharpness_lv = {0};
IQT_NR_LV nr_lv = {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(&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("vprc info");
// nvt_cmdsys_runcmd("ctl_ipp dump_hdl_all");
nvt_cmdsys_runcmd("ae dbg 0 256 1 ");
// isp_dbg_set_dbg_mode(0, 0x0003000 );
//ISPT_TOTAL_GAIN total;
// 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("iq dbg 0 0 ");
//nvt_cmdsys_runcmd("iq dbg 0 8 ");
nr_lv.id = 0;
nr_lv.lv = 175;
vendor_isp_set_iq(IQT_ITEM_NR_LV, &nr_lv); //50~200
sharpness_lv.id = 0;
sharpness_lv.lv = 70;
vendor_isp_set_iq(IQT_ITEM_SHARPNESS_LV, &sharpness_lv);
// nr_lv.id = 0;
// nr_lv.lv = 200;
// vendor_isp_set_iq(IQT_ITEM_NR_LV, &nr_lv); //50~200
// sharpness_lv.id = 0;
//// sharpness_lv.lv = 70;
// 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
while(g_bPreViewPullFlag) {
@ -1380,19 +1386,19 @@ THREAD_RETTYPE PhotoFast_FlowPreviewThread(void *arg)
setet_preset_param();
}*/
if ((g_bFrmCnt > 2)&&(captureflag == FALSE)){
vendor_isp_get_ae(AET_ITEM_STATUS, &ae_status);
if ((ae_status.status_info.state_adj ==0)|| (++g_bFrmCnt==10)){
Cap_cnt=g_bFrmCnt;
captureflag = TRUE;
capturcnt = 0;
Set_AEMODE(1);
setet_preset_param();
vendor_isp_get_ae(AET_ITEM_STATUS, &ae_status);
if ((ae_status.status_info.state_adj ==0)|| (++g_bFrmCnt==6)){
Cap_cnt=g_bFrmCnt;
captureflag = TRUE;
capturcnt = 0;
Set_AEMODE(1);
setet_preset_param();
}
}
else
{
{
++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]);
#if POWERON_FAST_SLICE_ENC_VER2 == ENABLE
@ -1402,7 +1408,7 @@ THREAD_RETTYPE PhotoFast_FlowPreviewThread(void *arg)
#if HUNTING_CAMERA_MCU == ENABLE
if(sf_is_night_mode(0) ==TRUE){
//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
vos_util_delay_ms(200);
@ -1412,12 +1418,13 @@ THREAD_RETTYPE PhotoFast_FlowPreviewThread(void *arg)
#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);
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);
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);
goto exit;
}
#else
(void) vcap_path;
(void) video_cap_frame;
#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);
goto exit;
}
@ -1439,30 +1447,26 @@ THREAD_RETTYPE PhotoFast_FlowPreviewThread(void *arg)
//if(g_bFrmCnt < PHOTOFAST_CAP_FRAME_CNT){
// vos_perf_list_mark("yuv", __LINE__, 0);
//}
if(capturcnt==1){//++g_bFrmCnt >= 5){//PHOTOFAST_CAP_FRAME_CNT){
nr_lv.id = 0;
nr_lv.lv = 125;
vendor_isp_set_iq(IQT_ITEM_NR_LV, &nr_lv); //50~200
sharpness_lv.id = 0;
sharpness_lv.lv = 90;
vendor_isp_set_iq(IQT_ITEM_SHARPNESS_LV, &sharpness_lv);
}
if(capturcnt==2){//++g_bFrmCnt >= 5){//PHOTOFAST_CAP_FRAME_CNT){
// if (capturcnt == 4) {
// nvt_cmdsys_runcmd("iq info ");
// isp_dbg_set_dbg_mode(0, 0x0202002 );
// }
if (captureflag)
capturcnt++;
if(0){//(capturcnt==1){//++g_bFrmCnt >= 5){//PHOTOFAST_CAP_FRAME_CNT){
nr_lv.id = 0;
nr_lv.lv = 100;
vendor_isp_set_iq(IQT_ITEM_NR_LV, &nr_lv); //50~200
sharpness_lv.id = 0;
sharpness_lv.lv = 100;
vendor_isp_set_iq(IQT_ITEM_SHARPNESS_LV, &sharpness_lv);
//sharpness_lv.id = 0;
//sharpness_lv.lv = 100;
//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>4) {
if (capturcnt>3) {
// 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 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_CAMERA_PHOTO_MOVIE:
vos_perf_list_mark("sie_vd", __LINE__, 3);
vos_flag_set(PHOTOFAST_FLG_ID, FLGPHOTOFAST_CHGMODE);
break;
@ -1672,6 +1679,7 @@ static void PhotoFast_ShutDown(void)
void Set_NIGHTMODE(UINT32 id, UINT8 isSnapVideo)
{
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get();
IQT_NIGHT_MODE night_mode = {0};
AWBT_MANUAL awb_manual = {0};
@ -1688,7 +1696,7 @@ void Set_NIGHTMODE(UINT32 id, UINT8 isSnapVideo)
//DrvGPIO_IRLed_Turn_Onoff(1);
// 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.manual.en = 1;
awb_manual.manual.r_gain= 256;
@ -1760,13 +1768,20 @@ void Set_AEMODE(UINT32 id)
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);
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 ");
}
else {
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);

View File

@ -16,6 +16,7 @@
#include <kwrap/cmdsys.h>
#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
@ -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.h = dst_slice_height;
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;
@ -619,23 +620,34 @@ static INT32 PhotoFast_SliceEncode_Init_VF_GFX_Slice(
return E_OK;
}
#if PHOTOFAST_SLICE_ENC_DBG_PRIMARY_YUV
static INT32 PhotoFast_SliceEncode_Dump_Frame(const HD_VIDEO_FRAME video_frame)
#if 1//PHOTOFAST_SLICE_ENC_DBG_PRIMARY_YUV
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};
FST_FILE fp = NULL;
UINT32 size;
UINT32 va;
size = VDO_YUV_BUFSIZE(video_frame.dim.w, video_frame.dim.h, video_frame.pxlfmt);
static UINT32 cnt = 0;
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);
if (va == 0) {
DBG_ERR("hd_common_mem_mmap error!r\n");
return E_SYS;
}
sprintf(fileName, "A:\\frame_%lux%lu_fmt%lx.dat", video_frame.dim.w, video_frame.dim.h, video_frame.pxlfmt);
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);
}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);
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.h = pdestwin->h;
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);
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
PhotoFast_SliceEncode_Dump_Frame(video_frame);
PhotoFast_SliceEncode_Dump_Frame(video_frame, HD_VIDEO_PXLFMT_YUV420);
#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 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 };
DBG_WRN(" EXIF\r\n");
/* exif */
ExifVendor_Write0thIFD(EXIF_HDL_ID_1);
@ -1764,7 +1775,7 @@ INT32 PhotoFast_SliceEncode_CB2(void* user_data)
DBG_ERR("Create Exif fail\r\n");
exif_data.size = 0;
}
/* combine jpg */
GxImgFile_CombineJPG(&exif_data, &pri_jpg, &scr_jpg, &dst_jpg_file);
@ -1859,6 +1870,8 @@ INT32 PhotoFast_SliceEncode_CB3(void* user_data)
******************************************************************/
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_FILENAMINGOK);
PhotoFast_WriteFile(

View File

@ -8,7 +8,7 @@
#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_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_SCREENNAIL 70
#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
{
UINT32 uhSelect = 0;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
DBG_FUNC_BEGIN("\r\n");
if (paramNum > 0) {
uhSelect = paramArray[0];
@ -1220,7 +1221,7 @@ INT32 SetupExe_OnSysBootWorkMode(VControl *pCtrl, UINT32 paramNum, UINT32 *param
DBG_IND("uhSelect %d \r\n", uhSelect);
UI_SetData(CamMode, uhSelect);
puiPara->CamMode = uhSelect;
DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME;
}

View File

@ -60,19 +60,19 @@
#if (defined(_NVT_ETHREARCAM_TX_))
#define DEFAULT_MOVIE_SIZE MOVIE_SIZE_CLONE_1920x1080P30_1280x720P30
#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
#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
#define DEFAULT_MOVIE_SIZE MOVIE_SIZE_FRONT_1920x1080P30
#define DEFAULT_MOVIE_SIZE MOVIE_SIZE_DUAL_1920x1080P30_848x480P30//MOVIE_SIZE_FRONT_1920x1080P30
#endif
#endif
#endif
#define DEFAULT_MOVIE_SIZE_DUAL MOVIE_SIZE_FRONT_2560x1440P30
#define DEFAULT_MOVIE_SIZE_SINGLE 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_CLONE_1920x1080P60_640x360P30//MOVIE_SIZE_FRONT_1920x1080P30//MOVIE_SIZE_FRONT_2560x1440P30
#define DEFAULT_MOVIE_QUALITY MOVIE_QUALITY_FINE
#define DEFAULT_MOVIE_COLOR MOVIE_COLOR_NORMAL
@ -219,5 +219,6 @@
#define DEFAULT_TIMESEND2_SWITCH SF_OFF
#define DEFAULT_TIMESEND3_SWITCH SF_OFF
#define DEFAULT_TIMESEND4_SWITCH SF_OFF
#define DEFAULT_FTP_SWITCH SF_FTP_ON
#endif

View File

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

View File

@ -268,7 +268,7 @@ typedef enum {
FL_ETHCAM_TX_IP_ADDR,
FL_MOVIE_CODEC_MENU,
FL_MOVIE_SENSOR_ROTATE_MENU,
#if 0
//#2023/02/10#Payton - begin
CamNameSwitch,/*ON/OFF ,cam name off*/
CamMode,/* 0 Photo / 1 Video / 2 PIC+Video*/
@ -341,7 +341,7 @@ typedef enum {
SendType,
///////////////////////
#endif
#endif
//#2023/02/10#Payton - end
FL_IndexInfoMAX
@ -410,6 +410,79 @@ typedef struct _UIMenuUIMenuStoreInfo {
SF_PARA_TIME_S TimeSend3;
SF_PARA_TIME_S TimeSend4;
#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 PwdStr[7];
CHAR Latitude[16];
@ -431,6 +504,20 @@ typedef struct _UIMenuUIMenuStoreInfo {
CHAR AcmPort[5];
CHAR WebIp[70];
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
} UIMenuStoreInfo;
@ -1860,6 +1947,14 @@ typedef enum {
SF_BATT_LEVEL_TOTAL
} 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 Save_SysInfo(void);
extern void Init_SysInfo(void);

View File

@ -120,11 +120,11 @@ static MOVIE_SIZE_ITEM g_MovieSizeTable[] = {
#if (defined(_NVT_ETHREARCAM_TX_))
{2560, 1440, 30, 1750 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9},
{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
{2560, 1440, 30, 1750 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9},
{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
},
@ -160,13 +160,13 @@ static MOVIE_SIZE_ITEM g_MovieSizeTable[] = {
[MOVIE_SIZE_1920x1080P30] = {
#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, 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
{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, 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
},
@ -190,13 +190,13 @@ static MOVIE_SIZE_ITEM g_MovieSizeTable[] = {
[MOVIE_SIZE_1280x720P30] = {
#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, 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
{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, 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
},
@ -214,13 +214,13 @@ static MOVIE_SIZE_ITEM g_MovieSizeTable[] = {
[MOVIE_SIZE_848x480P30] = {
#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, 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
{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, 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
},

View File

@ -437,7 +437,7 @@ extern UINT8 sf_mcu_wdg_set(UINT8 value);
extern UINT8 sf_get_power_on_mode(void);
UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val);
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);
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_power_off_flag(void);
void sf_set_power_off_flag(UINT8 flag);
UINT32 sf_set_pir_sensitivity(UINT8 pirs);
void sf_set_module_sleep_flag(UINT8 flag);
#endif

View File

@ -1,3 +1,8 @@
#include "PrjCfg.h"
#if HUNTING_MCU_I2C == ENABLE
#ifdef __KERNEL__
#include <linux/i2c.h>
#include <linux/slab.h>
@ -125,3 +130,5 @@ INT32 sf_i2c_transfer(struct i2c_msg *msgs, INT32 num)
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 dataTemp1 = 0, dataTemp2 = 0;
UINT8 dataTemp1 = 0;//, dataTemp2 = 0
UINT8 startMode = 0;
//UINT8 mcuVer = 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_PRODUCT_INFO;
mcuReg[i++] = START_MODE;
mcuReg[i++] = LUMINANCE_L;
mcuReg[i++] = LUMINANCE_H;
//mcuReg[i++] = LUMINANCE_L;
//mcuReg[i++] = LUMINANCE_H;
sf_mcu_read_multi(mcuReg, mcuData, i);
i = 0;
@ -403,9 +403,9 @@ UINT8 sf_mcu_power_on_para_get(MCUParam_t attrId)
dataTemp1 = mcuData[i++];
startMode = dataTemp1 & 0x1F;
DailyReportStartMode = (dataTemp1 & 0xc0) >> 6;
dataTemp1= mcuData[i++];
dataTemp2 = mcuData[i++];
IRSHTTER = (dataTemp2 << 8) | dataTemp1;
//dataTemp1= mcuData[i++];
//dataTemp2 = mcuData[i++];
//IRSHTTER = (dataTemp2 << 8) | dataTemp1;
#if 0
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;
}
}
printf(" start mode = %d IRSHTTER = %d\n", startMode, IRSHTTER);
printf(" start mode = %d \n", startMode);
//printf(" start mode = %d IRSHTTER = %d\n", startMode, IRSHTTER);
sf_get_mcu_rtc_set_sys();
return startMode;
@ -665,7 +665,7 @@ UINT8 sf_get_power_on_mode(void)
ModeFlag = 0;
PowerOnMode = sf_mcu_power_on_para_get(SF_MCU_POWERON);
PowerOnMode &= 0x0f;
sf_is_night_mode(1);
//sf_is_night_mode(1);
if(1 == PowerOnMode)
{
ConfigureModeFlag = 1;
@ -693,6 +693,7 @@ BOOL sf_is_night_mode(BOOL isRefresh)
}
else if(isRefresh)
{
sf_mcu_get_irshtter();
if(IRSHTTER < SF_MCU_NIGHT_MODE_LUMINANCE)
{
nightMode = TRUE;
@ -1320,26 +1321,37 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
UINT8 paraSyncFlag = 0;
UINT8 gpsAlwaysFlag = 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("%s:%d start mode = %d IRSHTTER = %d\n", __FUNCTION__, __LINE__ , sf_get_power_on_mode(), IRSHTTER);
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)
{
printf("attrId ERROR!\n");
printf("attrId ERROR!\n");
return FAIL;
}
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((simCardInsert) && (1 == puiPara->NeedTimeSyncStartUp))
{
paraSyncFlag = 1;
}
struct tm ctv = {0};
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);
@ -1359,7 +1371,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
gpsAlwaysFlag = 0;
if((SysGetFlag(GpsSwitch) == 1) && (SysGetFlag(GpsNumber)))
if((puiPara->GpsSwitch == 1) && (puiPara->GpsNumber))
{
gpsAlwaysFlag=1;
}
@ -1368,17 +1380,17 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
gpsAlwaysFlag=0;
}
if(SysGetFlag(PirSensitivity))
if(puiPara->PirSensitivity)
temp = 0x01;
else
temp = 0x00;
if(1 == SysGetFlag(TimelapseSwitch))
if(1 == puiPara->TimelapseSwitch)
{
temp |= 0x02;
}
if(1 == SysGetFlag(PirDelaySwitch))
if(1 == puiPara->PirDelaySwitch)
{
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;
if(SysGetFlag(TimeSend2Switch) == 1)
if(puiPara->TimeSend2Switch == 1)
temp |= 0x40;
if(gpsAlwaysFlag && simCardInsert)
@ -1415,7 +1427,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
mcuReg[i] = FUNCTION_SWTICH0;
mcuData[i++] = temp;
if(SysGetFlag(TimelapseSwitch))
if(puiPara->TimelapseSwitch)
{
mcuReg[i] = TIMELAPSE_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;
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;
else
mcuData[i++] = puiPara->TimelapseTime.Sec;
@ -1438,7 +1450,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
mcuData[i++] = 0;
}
if(SysGetFlag(PirDelaySwitch))
if(puiPara->PirDelaySwitch)
{
mcuReg[i] = PIR_DELAY_HOUR;
mcuData[i++] = puiPara->PirDelayTime.Hour;
@ -1467,7 +1479,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
mcuData[i++] = 1;
}
if(SysGetFlag(DailyReportSwitch))
if(puiPara->DailyReportSwitch)
{
mcuReg[i] = DAILY_REPORT_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;
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
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
if((SysGetFlag(GprsMode) == 1) || (paraSyncFlag))
if(((puiPara->GprsMode) == 1) || (paraSyncFlag))
{
temp |= 0x40;
}
else
{
if ((SysGetFlag(GprsMode) == 2) && isSignalReady && (GPRS_ERRNO == 0))
if (((puiPara->GprsMode) == 2) && isSignalReady && (GPRS_ERRNO == 0))
temp |= 0x20;
//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;
}
@ -1525,9 +1537,9 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
mcuData[i++] = temp;
mcuReg[i] = DIGITAL_PIR_SENSITIVITY;
mcuData[i++] = SysGetFlag(DigitPirSensitivity);//PirDigtSensRegValue[SysGetFlag(PirSensitivity)];
mcuData[i++] = (puiPara->DigitPirSensitivity);//PirDigtSensRegValue[SysGetFlag(PirSensitivity)];
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);
//DSP busy/idle
@ -1535,12 +1547,12 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
mcuData[i++] = 0;
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;
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*/
temp = 1;
else if(SmsCheck)
@ -1552,7 +1564,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
mcuReg[i] = VBAT_RECOVER_VAL;
mcuData[i++] = SF_BATT_RECOVERY;
if(SysGetFlag(WorkTime1Switch))
if(puiPara->WorkTime1Switch)
{
mcuReg[i] = WORKTIME1_SWITCH;
mcuData[i++] = 0xFF;
@ -1583,7 +1595,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
mcuData[i++] = 0;
}
if(SysGetFlag(WorkTime2Switch))
if(puiPara->WorkTime2Switch)
{
mcuReg[i] = WORKTIME2_SWITCH;
mcuData[i++] = 0xFF;
@ -1614,7 +1626,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
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;
mcuData[i++] = 1;
@ -1629,10 +1641,10 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
temp = 0;
if(SysGetFlag(TimeSend3Switch) == 1)
if((puiPara->TimeSend3Switch) == 1)
temp |= 0x01;
if(SysGetFlag(TimeSend4Switch) == 1)
if((puiPara->TimeSend4Switch) == 1)
temp |= 0x02;
mcuReg[i] = FUNCTION_SWTICH1;
@ -1652,14 +1664,14 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
{
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;
}
if((SysGetFlag(GprsMode)) && (val == 1))
if((puiPara->GprsMode) && (val == 1))
{
temp |= 0x80;
}
@ -1673,12 +1685,12 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
if(ConfigureModeFlag)
{
mcuReg[i] = DIGITAL_PIR_SENSITIVITY;
mcuData[i++] = SysGetFlag(DigitPirSensitivity);//PirDigtSensRegValue[SysGetFlag(PirSensitivity)];
mcuData[i++] = (puiPara->DigitPirSensitivity);//PirDigtSensRegValue[SysGetFlag(PirSensitivity)];
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;
mcuData[i++] = 1;
@ -1695,14 +1707,14 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
{
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;
}
if((SysGetFlag(GprsMode)) && (simCardInsert))
if((puiPara->GprsMode) && (simCardInsert))
{
temp |= 0x80;
}
@ -1713,16 +1725,16 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
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;
mcuData[i++] = SysGetFlag(DigitPirSensitivity);//PirDigtSensRegValue[SysGetFlag(PirSensitivity)];
mcuData[i++] = (puiPara->DigitPirSensitivity);//PirDigtSensRegValue[SysGetFlag(PirSensitivity)];
mcuReg[i] = DIGITAL_PIR_CFG;
mcuData[i++] = (SysGetFlag(DigitPirWindowTime) << 4) | SysGetFlag(DigitPirCnt);
mcuData[i++] = ((puiPara->DigitPirWindowTime) << 4) | (puiPara->DigitPirCnt);
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;
mcuData[i++] = 1;
@ -1738,7 +1750,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
else if(attrId == SF_MCU_RESET_MODULE)
{
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);
}
else if(attrId == SF_MCU_SOFT_UPDATE)
@ -1747,22 +1759,22 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
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
{
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)
{
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)
{
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
@ -1817,7 +1829,7 @@ void sf_calculate_daily_report(UINT8*dailyHour, UINT8*dailyMin)
UINT16 timelapse_sum_min = 0;
struct tm mcuTime = {0};
//Daily report is always ON
if(SysGetFlag(ReDailyReport))
if(puiPara->ReDailyReport)
{
mcuTime = hwclock_get_time(TIME_ID_CURRENT);
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))
@ -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))
{
@ -1897,9 +1909,9 @@ void sf_calculate_daily_report(UINT8*dailyHour, UINT8*dailyMin)
{
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.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

View File

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

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