Merge branch 'Branch_S550_Fast_Emmc' of 192.168.6.216:linux-em-group/s530-ntk into Branch_S550_Emmc

This commit is contained in:
xiehongyan 2023-12-19 10:06:35 +08:00
commit e69d593ca0
40 changed files with 376 additions and 175 deletions

1
.gitignore vendored
View File

@ -58,3 +58,4 @@ BSP/root-fs/rootfs/usr/lib/libintl.so.8
BSP/root-fs/rootfs/usr/lib/libncurses.so.6 BSP/root-fs/rootfs/usr/lib/libncurses.so.6
BSP/root-fs/rootfs/usr/lib/libreadline.so.8 BSP/root-fs/rootfs/usr/lib/libreadline.so.8
BSP/root-fs/rootfs/usr/lib/libbluetooth.so.3 BSP/root-fs/rootfs/usr/lib/libbluetooth.so.3
loader/Project/Model/Loader565_Data

View File

@ -13,7 +13,7 @@ id_0_expt_time = 10000 #10000us
id_0_gain_ratio = 1000 #1x gain id_0_gain_ratio = 1000 #1x gain
[DIRECTION] [DIRECTION]
id_0_mirror = 1 #no mirror id_0_mirror = 0 #no mirror
id_0_flip = 1 #flip id_0_flip = 1 #flip
[POWER] [POWER]

View File

@ -922,7 +922,7 @@
#define HUNTING_MCU_UART ENABLE #define HUNTING_MCU_UART ENABLE
#define HUNTING_IR_LED_940 ENABLE #define HUNTING_IR_LED_940 ENABLE
#define SF_EXIF_MN_BUF_SIZE 256 #define SF_EXIF_MN_BUF_SIZE 256
#define SF_BASE_VERSION "7MR5RCwDC03" #define SF_BASE_VERSION "7MR5RCwDC04"
#define HW_S530 DISABLE #define HW_S530 DISABLE
#define DCF_DIR_NAME "MEDIA" /* 100MEDIA */ #define DCF_DIR_NAME "MEDIA" /* 100MEDIA */
#define DCF_FILE_NAME "SYGW" /* SYFW0001.JPG */ #define DCF_FILE_NAME "SYGW" /* SYFW0001.JPG */
@ -966,8 +966,8 @@
#define SF_HW_TEST DISABLE #define SF_HW_TEST DISABLE
#define SF_MODULE_UP_FILE "EG915QNA.tar.bz2" #define SF_MODULE_UP_FILE "EG915QNA.tar.bz2"
#define SF_MODULE_UP_FILE_PATH "/mnt/sd/EG915QNA.tar.bz2" #define SF_MODULE_UP_FILE_PATH "/mnt/sd/EG915QNA.tar.bz2"
#define SF_CAM_UP_FILE "S530.tar.bz2" #define SF_CAM_UP_FILE "CAM_OTA_S550/SPHOST_REVEAL.BIN"
#define SF_CAM_UP_FILE_PATH "/mnt/sd/S530.tar.bz2" #define SF_CAM_UP_FILE_PATH "/mnt/sd/FW98565A.bin"
#define SF_CAMERA_GPS_INFO_FILENAME "/tmp/gps.txt" #define SF_CAMERA_GPS_INFO_FILENAME "/tmp/gps.txt"
#define SF_UBOOT_UPDATA_FW ENABLE #define SF_UBOOT_UPDATA_FW ENABLE

View File

@ -263,7 +263,7 @@ SXCMD_ITEM("gprssw %", sf_cmd_gprs_switch, "gprssw 0/1")
SXCMD_ITEM("uiprint %", sf_cmd_para_printf, "uiprint") SXCMD_ITEM("uiprint %", sf_cmd_para_printf, "uiprint")
SXCMD_ITEM("blusw %", cmd_blu_switch, "blusw 0/1") SXCMD_ITEM("blusw %", cmd_blu_switch, "blusw 0/1")
SXCMD_ITEM("wifisw %", cmd_wifi_switch, "wifisw 0/1") SXCMD_ITEM("wifisw %", cmd_wifi_switch, "wifisw 0/1")
SXCMD_ITEM("lcdbk %", sf_set_backlight_status, "lcdbk 0/1")
#endif #endif

View File

@ -833,11 +833,14 @@ INT32 System_OnStrgInsert(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
#endif #endif
dcfParm.WorkbuffSize = POOL_SIZE_DCF_BUFFER; dcfParm.WorkbuffSize = POOL_SIZE_DCF_BUFFER;
DCF_Open(&dcfParm);
UINT32 handle = DCF_Open(&dcfParm);
DBG_DUMP("Handle = %lu, drive = %c\n", handle, dcfParm.Drive);
// DCF_ScanObj(); // DCF_ScanObj();
} }
#endif #endif
if(stg_id == 0){
if (GxStrg_GetDeviceCtrl(stg_id, CARD_READONLY)) { if (GxStrg_GetDeviceCtrl(stg_id, CARD_READONLY)) {
System_SetState(SYS_STATE_CARD, CARD_LOCKED); System_SetState(SYS_STATE_CARD, CARD_LOCKED);
DBG_IND("Card Locked\r\n"); DBG_IND("Card Locked\r\n");
@ -845,6 +848,7 @@ INT32 System_OnStrgInsert(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
System_SetState(SYS_STATE_CARD, CARD_INSERTED); System_SetState(SYS_STATE_CARD, CARD_INSERTED);
DBG_IND("Card inserted\r\n"); DBG_IND("Card inserted\r\n");
} }
}
return NVTEVT_CONSUME; return NVTEVT_CONSUME;
} }
@ -930,6 +934,7 @@ INT32 System_OnStrgAttach(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
UINT32 result = paramArray[1]; UINT32 result = paramArray[1];
#if HUNTING_CAMERA_MCU == ENABLE #if HUNTING_CAMERA_MCU == ENABLE
SF_MESSAGE_BUF_S stMessageBuf = {0}; SF_MESSAGE_BUF_S stMessageBuf = {0};
UINT32 strg_id = paramArray[0];
#endif #endif
#if defined(__FREERTOS) #if defined(__FREERTOS)
@ -969,25 +974,25 @@ INT32 System_OnStrgAttach(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
result = FileSys_FormatDisk(pStrgDevCur, TRUE); result = FileSys_FormatDisk(pStrgDevCur, TRUE);
} }
#endif #endif
#if ( !defined(_EMBMEM_SPI_NOR_) && (FS_MULTI_STRG_FUNC == ENABLE))
UINT32 stg_id = paramArray[0];
if (stg_id != 0) { // stg_id=1 is interal storage FAT
return NVTEVT_CONSUME;
}
#endif
} }
DBG_WRN("stg_id = %lu\n", paramArray[0]);
switch (result) { switch (result) {
case FST_STA_OK: case FST_STA_OK:
if(strg_id == 0){
printf("read only = %llu\n", FileSys_GetDiskInfoEx('A', FST_INFO_IS_READ_ONLY)); printf("read only = %llu\n", FileSys_GetDiskInfoEx('A', FST_INFO_IS_READ_ONLY));
if(FileSys_GetDiskInfoEx('A', FST_INFO_IS_READ_ONLY)){ if(FileSys_GetDiskInfoEx('A', FST_INFO_IS_READ_ONLY)){
system("mount -t vfat /dev/mmcblk0 /mnt/sd/ -o remount,rw"); system("mount -t vfat /dev/mmcblk0 /mnt/sd/ -o remount,rw");
} }
}
//#if (USE_DCF == ENABLE) //#if (USE_DCF == ENABLE)
// if (!UI_GetData(FL_IsCopyToCarding)) { // if (!UI_GetData(FL_IsCopyToCarding)) {
DCF_ScanObj(); DBG_DUMP("DCF scan\n");
DCF_ScanObjEx(0); /* sd card: strg_id = 0, dcf handle = 1 */
DCF_ScanObjEx(1);
// } // }
//#endif //#endif
//FileSys_GetDiskInfo(FST_INFO_DISK_SIZE); //FileSys_GetDiskInfo(FST_INFO_DISK_SIZE);
@ -1087,15 +1092,19 @@ INT32 System_OnStrgAttach(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
#endif #endif
break; break;
case FST_STA_DISK_UNFORMAT: case FST_STA_DISK_UNFORMAT:
if(strg_id == 0)
System_SetState(SYS_STATE_FS, FS_UNFORMATTED); System_SetState(SYS_STATE_FS, FS_UNFORMATTED);
break; break;
case FST_STA_DISK_UNKNOWN_FORMAT: case FST_STA_DISK_UNKNOWN_FORMAT:
if(strg_id == 0)
System_SetState(SYS_STATE_FS, FS_UNKNOWN_FORMAT); System_SetState(SYS_STATE_FS, FS_UNKNOWN_FORMAT);
break; break;
case FST_STA_CARD_ERR: case FST_STA_CARD_ERR:
if(strg_id == 0)
System_SetState(SYS_STATE_FS, FS_DISK_ERROR); System_SetState(SYS_STATE_FS, FS_DISK_ERROR);
break; break;
default: default:
if(strg_id == 0)
System_SetState(SYS_STATE_FS, FS_DISK_ERROR); System_SetState(SYS_STATE_FS, FS_DISK_ERROR);
break; break;
} }

View File

@ -64,11 +64,18 @@ void mempool_init(void)
} }
mempool_storage_nand = (UINT32)va; mempool_storage_nand = (UINT32)va;
#endif #endif
#if (FS_MULTI_STRG_FUNC)
ret = vendor_common_mem_alloc_fixed_pool("filesys", &pa, (void **)&va, POOL_SIZE_FILESYS * 2, DDR_ID0);
#else
ret = vendor_common_mem_alloc_fixed_pool("filesys", &pa, (void **)&va, POOL_SIZE_FILESYS, DDR_ID0); ret = vendor_common_mem_alloc_fixed_pool("filesys", &pa, (void **)&va, POOL_SIZE_FILESYS, DDR_ID0);
#endif
if (ret != HD_OK) { if (ret != HD_OK) {
return; return;
} }
mempool_filesys = (UINT32)va; mempool_filesys = (UINT32)va;
ret = vendor_common_mem_alloc_fixed_pool("gxgfx_temp", &pa, (void **)&va, POOL_SIZE_GFX_TEMP, DDR_ID0); ret = vendor_common_mem_alloc_fixed_pool("gxgfx_temp", &pa, (void **)&va, POOL_SIZE_GFX_TEMP, DDR_ID0);
if (ret != HD_OK) { if (ret != HD_OK) {
return; return;

View File

@ -1247,16 +1247,17 @@ static void MovieExe_FileNamingCB(MOVIE_CFG_REC_ID id, char *pFileName)
#endif #endif
#elif USE_DCF #elif USE_DCF
UINT32 dcf_path = 1; /* 0:emmc 1:sd */
UINT32 nextFolderID = 0, nextFileID = 0; UINT32 nextFolderID = 0, nextFileID = 0;
if (DCF_GetDBInfo(DCF_INFO_IS_9999)) { if (DCF_GetDBInfoEx(dcf_path, DCF_INFO_IS_9999)) {
DBG_ERR("Exceed max dcf file!\r\n"); DBG_ERR("Exceed max dcf file!\r\n");
pFileName[0] = '\0'; pFileName[0] = '\0';
} else { } else {
DCF_GetNextID(&nextFolderID,&nextFileID); DCF_GetNextIDEx(dcf_path, &nextFolderID,&nextFileID);
DCF_MakeObjPath(nextFolderID, nextFileID, DCF_FILE_TYPE_MP4, pFileName); DCF_MakeObjPathEx(dcf_path, nextFolderID, nextFileID, DCF_FILE_TYPE_MP4, pFileName);
DCF_AddDBfile(pFileName); DCF_AddDBfileEx(dcf_path, pFileName);
DBG_DUMP("%s added to DCF\r\n", pFileName); DBG_DUMP("%s added to DCF Path%lu\r\n", pFileName, dcf_path);
#if HUNTING_CAMERA_MCU == ENABLE #if HUNTING_CAMERA_MCU == ENABLE
char tmp[NMC_TOTALFILEPATH_MAX_LEN] = {'\0'}; char tmp[NMC_TOTALFILEPATH_MAX_LEN] = {'\0'};
sprintf(tmp, "S%03d%04d.JPG", nextFolderID, nextFileID); sprintf(tmp, "S%03d%04d.JPG", nextFolderID, nextFileID);
@ -1317,13 +1318,14 @@ static void MovieExe_RawEncodeFileNamingCB(MOVIE_CFG_REC_ID id, char *pFileName)
#elif USE_DCF #elif USE_DCF
UINT32 nextFolderID = 0, nextFileID = 0; UINT32 nextFolderID = 0, nextFileID = 0;
UINT32 dcf_path = 1;
if (DCF_GetDBInfo(DCF_INFO_IS_9999)) { if (DCF_GetDBInfoEx(dcf_path, DCF_INFO_IS_9999)) {
DBG_ERR("Exceed max dcf file!\r\n"); DBG_ERR("Exceed max dcf file!\r\n");
pFileName[0] = '\0'; pFileName[0] = '\0';
} else { } else {
DCF_GetNextID(&nextFolderID,&nextFileID); DCF_GetNextIDEx(dcf_path, &nextFolderID,&nextFileID);
DCF_MakeObjPath(nextFolderID, nextFileID, DCF_FILE_TYPE_JPG, pFileName); DCF_MakeObjPathEx(dcf_path, nextFolderID, nextFileID, DCF_FILE_TYPE_JPG, pFileName);
} }
#endif #endif

View File

@ -6185,10 +6185,12 @@ INT32 PhotoExe_Preview_SliceEncode(VControl *pCtrl, UINT32 paramNum, UINT32 *par
DBG_ERR("primary buffer overflow during combine jpg!\r\n"); DBG_ERR("primary buffer overflow during combine jpg!\r\n");
} }
UINT32 dcf_path = 1; /* 0:emmc , 1:sd */
FstStatus.Status = ImageApp_Photo_WriteCB( FstStatus.Status = ImageApp_Photo_WriteCB(
dst_jpg_file.addr, dst_jpg_file.addr,
dst_jpg_file.size, dst_jpg_file.size,
HD_CODEC_TYPE_JPEG, 0); HD_CODEC_TYPE_JPEG, dcf_path);
{ {
char* file_path = ImageApp_Photo_GetLastWriteFilePath(); char* file_path = ImageApp_Photo_GetLastWriteFilePath();
@ -6781,10 +6783,12 @@ INT32 PhotoExe_Preview_SliceEncode_CB3(void* user_data)
extern INT32 ImageApp_Photo_WriteCB(UINT32 Addr, UINT32 Size, UINT32 Fmt, UINT32 uiPathId); extern INT32 ImageApp_Photo_WriteCB(UINT32 Addr, UINT32 Size, UINT32 Fmt, UINT32 uiPathId);
IMG_CAP_FST_INFO FstStatus = {FST_STA_OK}; IMG_CAP_FST_INFO FstStatus = {FST_STA_OK};
UINT32 dcf_path = 1; /* 0:emmc 1:sd */
FstStatus.Status = ImageApp_Photo_WriteCB( FstStatus.Status = ImageApp_Photo_WriteCB(
(UINT32)queue_ele_in->jpg_combined_addr, (UINT32)queue_ele_in->jpg_combined_addr,
queue_ele_in->jpg_combined_size, queue_ele_in->jpg_combined_size,
HD_CODEC_TYPE_JPEG, 0); HD_CODEC_TYPE_JPEG, dcf_path);
{ {
char* file_path = ImageApp_Photo_GetLastWriteFilePath(); char* file_path = ImageApp_Photo_GetLastWriteFilePath();

View File

@ -1040,6 +1040,9 @@ static void UIFlowMenuCommonItem_ScrClose(lv_obj_t* obj)
Save_MenuInfo(); Save_MenuInfo();
LV_MenuItem_OnClose(obj); LV_MenuItem_OnClose(obj);
gMenuLuck = MENU_CLOSED; gMenuLuck = MENU_CLOSED;
#if HUNTING_CAMERA_MCU == ENABLE
sf_set_menu_open(FALSE);
#endif
} }
@ -1065,9 +1068,6 @@ static void UIFlowMenuCommonItem_ChildScrClose(lv_obj_t* obj,const LV_USER_EVENT
} }
gMenuLuck = MENU_UNLUCK; gMenuLuck = MENU_UNLUCK;
#if HUNTING_CAMERA_MCU == ENABLE
sf_set_menu_open(FALSE);
#endif
} }

View File

@ -256,12 +256,12 @@ static void signal_icon_show(const short signal)
} }
static void update_4g_module_icon(void) static void update_4g_module_icon(void)
{ {
UIMenuStoreInfo *puiPara = sf_ui_para_get(); //UIMenuStoreInfo *puiPara = sf_ui_para_get();
static short signal = SIGNAL_NOT_YET_GET; static short signal = SIGNAL_NOT_YET_GET;
static short searching_index = -1; static short searching_index = -1;
short signal_new = sf_cardv_get_cq_signal(); short signal_new = sf_cardv_get_cq_signal();
unsigned short signal_level = 0; unsigned short signal_level = 0;
network_signal_level_get(puiPara->NetGeneration, signal_new, &signal_level); network_signal_level_get(sf_get_net_generation(), signal_new, &signal_level);
// printf("new signal = %d, old signal = %d\n", signal_new, signal); // printf("new signal = %d, old signal = %d\n", signal_new, signal);
if(SIGNAL_NOT_YET_GET == signal_new) if(SIGNAL_NOT_YET_GET == signal_new)
{ {
@ -294,20 +294,20 @@ const int EMPTY_IMAGE = 0;
LV_PLUGIN_IMG_ID_SF_NET3G, LV_PLUGIN_IMG_ID_SF_NET3G,
LV_PLUGIN_IMG_ID_SF_NET4G LV_PLUGIN_IMG_ID_SF_NET4G
}; };
// printf("NetGeneration:%d\n", puiPara->NetGeneration); // printf("NetGeneration:%d\n", sf_get_net_generation());
const int SIM_CARD_NOT_INIT = 0; const int SIM_CARD_NOT_INIT = 0;
const int NET_GENERATION_2G = 2; const int NET_GENERATION_2G = 2;
// const int NET_GENERATION_3G = 3; // const int NET_GENERATION_3G = 3;
const int NET_GENERATION_4G = 4; const int NET_GENERATION_4G = 4;
// puiPara->NetGeneration = NET_GENERATION_4G; // Test // puiPara->NetGeneration = NET_GENERATION_4G; // Test
if (SIM_CARD_NOT_INIT == puiPara->NetGeneration if (SIM_CARD_NOT_INIT == sf_get_net_generation()
|| puiPara->NetGeneration < NET_GENERATION_2G || sf_get_net_generation() < NET_GENERATION_2G
|| puiPara->NetGeneration > NET_GENERATION_4G) || sf_get_net_generation() > NET_GENERATION_4G)
{ {
lv_obj_set_hidden(image_4g_scr_uiflowmovie, true); lv_obj_set_hidden(image_4g_scr_uiflowmovie, true);
return; return;
} }
int index = puiPara->NetGeneration; int index = sf_get_net_generation();
lv_obj_set_hidden(image_4g_scr_uiflowmovie, false); lv_obj_set_hidden(image_4g_scr_uiflowmovie, false);
lv_plugin_img_set_src(image_4g_scr_uiflowmovie, res[index]); lv_plugin_img_set_src(image_4g_scr_uiflowmovie, res[index]);
} }

View File

@ -546,12 +546,12 @@ static void update_4g_module_icon(void)
const int NET_GENERATION_2G = 2; const int NET_GENERATION_2G = 2;
// const int NET_GENERATION_3G = 3; // const int NET_GENERATION_3G = 3;
const int NET_GENERATION_4G = 4; const int NET_GENERATION_4G = 4;
UIMenuStoreInfo *puiPara = sf_ui_para_get(); //UIMenuStoreInfo *puiPara = sf_ui_para_get();
static short signal = SIGNAL_NOT_YET_GET; static short signal = SIGNAL_NOT_YET_GET;
static short searching_index = -1; static short searching_index = -1;
short signal_new = sf_cardv_get_cq_signal(); short signal_new = sf_cardv_get_cq_signal();
unsigned short signal_level = 0; unsigned short signal_level = 0;
network_signal_level_get(puiPara->NetGeneration, signal_new, &signal_level); network_signal_level_get(sf_get_net_generation(), signal_new, &signal_level);
// printf("new signal = %d, old signal = %d\n", signal_new, signal); // printf("new signal = %d, old signal = %d\n", signal_new, signal);
if(SIGNAL_NOT_YET_GET == signal_new) if(SIGNAL_NOT_YET_GET == signal_new)
{ {
@ -561,7 +561,7 @@ static void update_4g_module_icon(void)
// printf(" searching ... [%d]\n", searching_index); // printf(" searching ... [%d]\n", searching_index);
signal_icon_show(searching_index); signal_icon_show(searching_index);
} }
else if(signal != signal_new && SIM_CARD_NOT_INIT != puiPara->NetGeneration) else if(signal != signal_new && SIM_CARD_NOT_INIT != sf_get_net_generation())
{ {
lv_obj_set_hidden(label_tips_scr_uiflowphoto, true); lv_obj_set_hidden(label_tips_scr_uiflowphoto, true);
// Update the icon. // Update the icon.
@ -613,16 +613,16 @@ const int EMPTY_IMAGE = 0;
LV_PLUGIN_IMG_ID_SF_NET3G, LV_PLUGIN_IMG_ID_SF_NET3G,
LV_PLUGIN_IMG_ID_SF_NET4G LV_PLUGIN_IMG_ID_SF_NET4G
}; };
// printf("NetGeneration:%d\n", puiPara->NetGeneration); // printf("NetGeneration:%d\n", sf_get_net_generation());
// puiPara->NetGeneration = NET_GENERATION_4G; // Test // puiPara->NetGeneration = NET_GENERATION_4G; // Test
if (SIM_CARD_NOT_INIT == puiPara->NetGeneration if (SIM_CARD_NOT_INIT == sf_get_net_generation()
|| puiPara->NetGeneration < NET_GENERATION_2G || sf_get_net_generation() < NET_GENERATION_2G
|| puiPara->NetGeneration > NET_GENERATION_4G) || sf_get_net_generation() > NET_GENERATION_4G)
{ {
lv_obj_set_hidden(image_4g_scr_uiflowphoto, true); lv_obj_set_hidden(image_4g_scr_uiflowphoto, true);
return; return;
} }
int index = puiPara->NetGeneration; int index = sf_get_net_generation();
lv_obj_set_hidden(image_4g_scr_uiflowphoto, false); lv_obj_set_hidden(image_4g_scr_uiflowphoto, false);
lv_plugin_img_set_src(image_4g_scr_uiflowphoto, res[index]); lv_plugin_img_set_src(image_4g_scr_uiflowphoto, res[index]);
} }
@ -1653,6 +1653,7 @@ void UIFlowPhoto_UpdateInfo(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg)
case UIAPPPHOTO_CB_CAPSTART: case UIAPPPHOTO_CB_CAPSTART:
#if HUNTING_CAMERA_MCU == ENABLE #if HUNTING_CAMERA_MCU == ENABLE
sf_set_cap_statu(TRUE); sf_set_cap_statu(TRUE);
sf_set_cammode_statu(puiPara->CamMode);
#endif #endif
if(obj == UIFlowPhoto) if(obj == UIFlowPhoto)
@ -1679,7 +1680,7 @@ void UIFlowPhoto_UpdateInfo(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg)
UIFlowPhoto_BackPreviewHandle(); UIFlowPhoto_BackPreviewHandle();
#if HUNTING_CAMERA_MCU == ENABLE #if HUNTING_CAMERA_MCU == ENABLE
if((sf_get_mode_flag()) && (puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO || puiPara->CamMode == SF_CAM_MODE_VIDEO2)){ if((sf_get_mode_flag()) && (sf_get_cammode_statu() == SF_CAM_MODE_PHOTO_VIDEO || sf_get_cammode_statu() == SF_CAM_MODE_VIDEO2)){
#else #else
if(SysGetFlag(CamMode) == SF_CAM_MODE_PHOTO_VIDEO){ if(SysGetFlag(CamMode) == SF_CAM_MODE_PHOTO_VIDEO){
#endif #endif

View File

@ -69,7 +69,7 @@
#if SF_HW_TEST == ENABLE #if SF_HW_TEST == ENABLE
#define DEFAULT_MOVIE_SIZE MOVIE_SIZE_FRONT_1280x720P30 #define DEFAULT_MOVIE_SIZE MOVIE_SIZE_FRONT_1280x720P30
#else #else
#define DEFAULT_MOVIE_SIZE MOVIE_SIZE_CLONE_1920x1080P30_1920x1080P25 #define DEFAULT_MOVIE_SIZE MOVIE_SIZE_FRONT_1920x1080P30
#endif #endif
#endif #endif
#else #else

View File

@ -505,6 +505,10 @@ void Load_MenuInfo(void)
#if HUNTING_CAMERA_MCU == ENABLE #if HUNTING_CAMERA_MCU == ENABLE
if(sf_get_ui_para_flag()) if(sf_get_ui_para_flag())
{ {
if(!sf_is_usb_flag())
{
sf_mcu_reg_set(SF_MCU_SOFT_UPDATE, 0);
}
memcpy(&origInfo, &currentInfo, sizeof(currentInfo)); memcpy(&origInfo, &currentInfo, sizeof(currentInfo));
memcpy(&origInfo_check, &currentInfo, sizeof(currentInfo)); memcpy(&origInfo_check, &currentInfo, sizeof(currentInfo));
return; return;
@ -518,6 +522,10 @@ void Load_MenuInfo(void)
if(sf_is_usb_flag()) if(sf_is_usb_flag())
{ {
Save_MenuInfo(); Save_MenuInfo();
}
else
{
sf_mcu_reg_set(SF_MCU_SOFT_UPDATE, 0);
} }
#endif #endif
#if HUNTING_CAMERA_MCU == ENABLE #if HUNTING_CAMERA_MCU == ENABLE

View File

@ -279,6 +279,8 @@ typedef enum SIM_ERR_CODE_s{
SIM_FAILED, SIM_FAILED,
}SIM_ERR_CODE; }SIM_ERR_CODE;
UINT8 sf_get_net_generation(void);
void sf_set_net_generation(UINT8 value);
SINT32 eg91_iccid_get(SF_CHAR *iccid,SF_FN_PARAM_S *pfnParam); SINT32 eg91_iccid_get(SF_CHAR *iccid,SF_FN_PARAM_S *pfnParam);
SINT32 eg91_qsclk_set(SF_FN_PARAM_S *pfnParam); SINT32 eg91_qsclk_set(SF_FN_PARAM_S *pfnParam);

View File

@ -42,7 +42,7 @@ BOOL GprsNetWorkReady = FALSE;
time_t sendStartTime; time_t sendStartTime;
UINT8 gprs_search_process = GPRS_SEARCH_STEP_IDLE; UINT8 gprs_search_process = GPRS_SEARCH_STEP_IDLE;
extern SF_PARA_TIME_S rtcTime; extern SF_PARA_TIME_S rtcTime;
CHAR netGeneration = SF_NET_NO; static CHAR netGeneration = SF_NET_NO;
// SF_PARA_TIME_S nowDate = { 0, 0, 0, 0, 0, 0}; // SF_PARA_TIME_S nowDate = { 0, 0, 0, 0, 0, 0};
typedef struct sf_cimi_id typedef struct sf_cimi_id
@ -54,6 +54,22 @@ typedef struct sf_cimi_id
sf_cimi_id_t cimi_head = { .id = 1, .cimi = "0", .next = NULL }; sf_cimi_id_t cimi_head = { .id = 1, .cimi = "0", .next = NULL };
UINT8 sf_get_net_generation(void)
{
return netGeneration;
}
void sf_set_net_generation(UINT8 value)
{
if((value >= SF_NET_NO) && (value <= SF_NET_4G))
{
netGeneration = value;
}
else
{
printf("[%s:%d]value(%d) invalid,no set.\n", __FUNCTION__, __LINE__, value);
}
}
UINT8 sf_qcsq_decode(char *instr, UINT8 *csqVal) UINT8 sf_qcsq_decode(char *instr, UINT8 *csqVal)
{ {
char *pStr = NULL; char *pStr = NULL;
@ -1784,28 +1800,28 @@ SINT32 eg91_register_net_auto(SF_FN_PARAM_S *pfnParam)
SLOGI("%s", ttyData); SLOGI("%s", ttyData);
if(strstr(ttyData, "No Service")) if(strstr(ttyData, "No Service"))
{ {
pStaticParam->NetGeneration = 2; sf_set_net_generation(2);
}else if (NULL != strtok(ttyData,"\"")){ }else if (NULL != strtok(ttyData,"\"")){
SF_CHAR netStr[20] = { 0 }; SF_CHAR netStr[20] = { 0 };
strcpy(netStr, strtok(NULL,"\"")); strcpy(netStr, strtok(NULL,"\""));
MLOGD("netStr:%s\n", netStr); MLOGD("netStr:%s\n", netStr);
if((strstr(netStr,"DD") != NULL)) if((strstr(netStr,"DD") != NULL))
{ {
pStaticParam->NetGeneration = 4; sf_set_net_generation(4);
} }
else if(strstr(netStr, "CDMA") != NULL || strstr(netStr, "HDR") != NULL \ else if(strstr(netStr, "CDMA") != NULL || strstr(netStr, "HDR") != NULL \
|| strstr(netStr, "HSUPA") != NULL || strstr(netStr, "HSDPA") != NULL \ || strstr(netStr, "HSUPA") != NULL || strstr(netStr, "HSDPA") != NULL \
|| strstr(netStr, "HSPA+") != NULL) || strstr(netStr, "HSPA+") != NULL)
{ {
pStaticParam->NetGeneration = 3; sf_set_net_generation(3);
} }
else else
{ {
pStaticParam->NetGeneration = 2; sf_set_net_generation(2);
} }
} }
if(pStaticParam->NetGeneration == 4)//NetGeneration == 4 if(sf_get_net_generation() == 4)//NetGeneration == 4
{ {
enMmcLocation = SIM_REG_NET_QCSQ; enMmcLocation = SIM_REG_NET_QCSQ;
sprintf(ttyData, "AT+QCSQ\r"); sprintf(ttyData, "AT+QCSQ\r");
@ -2080,24 +2096,24 @@ SINT32 eg91_register_net_manual(SF_FN_PARAM_S *pfnParam)
SLOGI("%s", ttyData); SLOGI("%s", ttyData);
if(strstr(ttyData, "No Service")) if(strstr(ttyData, "No Service"))
{ {
pStaticParam->NetGeneration = 2; sf_set_net_generation(2);
}else if (NULL != strtok(ttyData,"\"")){ }else if (NULL != strtok(ttyData,"\"")){
SF_CHAR netStr[20] = { 0 }; SF_CHAR netStr[20] = { 0 };
strcpy(netStr, strtok(NULL,"\"")); strcpy(netStr, strtok(NULL,"\""));
MLOGD("netStr:%s\n", netStr); MLOGD("netStr:%s\n", netStr);
if((strstr(netStr,"DD") != NULL)) if((strstr(netStr,"DD") != NULL))
{ {
pStaticParam->NetGeneration = 4; sf_set_net_generation(4);
} }
else if(strstr(netStr, "CDMA") != NULL || strstr(netStr, "HDR") != NULL \ else if(strstr(netStr, "CDMA") != NULL || strstr(netStr, "HDR") != NULL \
|| strstr(netStr, "HSUPA") != NULL || strstr(netStr, "HSDPA") != NULL \ || strstr(netStr, "HSUPA") != NULL || strstr(netStr, "HSDPA") != NULL \
|| strstr(netStr, "HSPA+") != NULL) || strstr(netStr, "HSPA+") != NULL)
{ {
pStaticParam->NetGeneration = 3; sf_set_net_generation(3);
} }
else else
{ {
pStaticParam->NetGeneration = 2; sf_set_net_generation(2);
} }
} }
@ -2122,7 +2138,7 @@ SINT32 eg91_register_net_manual(SF_FN_PARAM_S *pfnParam)
printf("cops2 is %s\r\n", pStaticParam->ServiceProvider); printf("cops2 is %s\r\n", pStaticParam->ServiceProvider);
} }
if(pStaticParam->NetGeneration == 4)//NetGeneration == 4 if(sf_get_net_generation() == 4)//NetGeneration == 4
{ {
enMmcLocation = SIM_REG_NET_QCSQ; enMmcLocation = SIM_REG_NET_QCSQ;
sprintf(ttyData, "AT+QCSQ\r"); sprintf(ttyData, "AT+QCSQ\r");
@ -3766,8 +3782,7 @@ SINT32 sf_net_regist_manual(void)
{ {
if(strstr((const char *)gsmPara, "No Service")) if(strstr((const char *)gsmPara, "No Service"))
{ {
//puiPara->NetGeneration = 2; sf_set_net_generation(2);
netGeneration = 2;
} }
else if(NULL != strtok((char *)(char *)gsmPara, "\"")) else if(NULL != strtok((char *)(char *)gsmPara, "\""))
{ {
@ -3776,30 +3791,23 @@ SINT32 sf_net_regist_manual(void)
if((strstr((const char *)netStr, "DD") != NULL)) if((strstr((const char *)netStr, "DD") != NULL))
{ {
//puiPara->NetGeneration = 4; sf_set_net_generation(4);
netGeneration = 4;
} }
else if(strstr((const char *)netStr, "CDMA") != NULL || strstr((const char *)netStr, "HDR") != NULL || strstr((const char *)netStr, "HSUPA") != NULL else if(strstr((const char *)netStr, "CDMA") != NULL || strstr((const char *)netStr, "HDR") != NULL || strstr((const char *)netStr, "HSUPA") != NULL
|| strstr((const char *)netStr, "HSDPA") != NULL || (strstr((const char *)netStr, "HSPA+") != NULL)) || strstr((const char *)netStr, "HSDPA") != NULL || (strstr((const char *)netStr, "HSPA+") != NULL))
{ {
//puiPara->NetGeneration = 3; sf_set_net_generation(3);
netGeneration = 3;
} }
else if(strstr((const char *)netStr, "CMDA") != NULL || strstr((const char *)netStr, "G") != NULL) else if(strstr((const char *)netStr, "CMDA") != NULL || strstr((const char *)netStr, "G") != NULL)
{ {
//puiPara->NetGeneration = 2; sf_set_net_generation(2);
netGeneration = 2;
} }
else else
{ {
// puiPara->NetGeneration = 2; sf_set_net_generation(2);
netGeneration = 2;
} }
} }
if(puiPara->NetGeneration != netGeneration)
{
puiPara->NetGeneration = netGeneration;
}
if(netGeneration == 4) if(netGeneration == 4)
{ {
eNetRegLocation = QUECTEL_NETREG_QCSQ; eNetRegLocation = QUECTEL_NETREG_QCSQ;
@ -4598,8 +4606,7 @@ SINT32 sf_auto_net_reg(void)
{ {
if(strstr((const char *)gsmPara, "No Service")) if(strstr((const char *)gsmPara, "No Service"))
{ {
//puiPara->NetGeneration = 2; sf_set_net_generation(2);
netGeneration = 2;
} }
else if(NULL != strtok((char *)(char *)gsmPara, "\"")) else if(NULL != strtok((char *)(char *)gsmPara, "\""))
{ {
@ -4608,30 +4615,23 @@ SINT32 sf_auto_net_reg(void)
if((strstr((const char *)netStr, "DD") != NULL)) if((strstr((const char *)netStr, "DD") != NULL))
{ {
// puiPara->NetGeneration = 4; sf_set_net_generation(4);
netGeneration = 4;
} }
else if(strstr((const char *)netStr, "CDMA") != NULL || strstr((const char *)netStr, "HDR") != NULL || strstr((const char *)netStr, "HSUPA") != NULL else if(strstr((const char *)netStr, "CDMA") != NULL || strstr((const char *)netStr, "HDR") != NULL || strstr((const char *)netStr, "HSUPA") != NULL
|| strstr((const char *)netStr, "HSDPA") != NULL || (strstr((const char *)netStr, "HSPA+") != NULL)) || strstr((const char *)netStr, "HSDPA") != NULL || (strstr((const char *)netStr, "HSPA+") != NULL))
{ {
// puiPara->NetGeneration = 3; sf_set_net_generation(3);
netGeneration = 3;
} }
else if(strstr((const char *)netStr, "CMDA") != NULL || strstr((const char *)netStr, "G") != NULL) else if(strstr((const char *)netStr, "CMDA") != NULL || strstr((const char *)netStr, "G") != NULL)
{ {
// puiPara->NetGeneration = 2; sf_set_net_generation(2);
netGeneration = 2;
} }
else else
{ {
// puiPara->NetGeneration = 2; sf_set_net_generation(2);
netGeneration = 2;
} }
} }
if(puiPara->NetGeneration != netGeneration)
{
puiPara->NetGeneration = netGeneration;
}
if(netGeneration == 4) if(netGeneration == 4)
{ {
eNetRegLocation = QUECTEL_NETREG_QCSQ; eNetRegLocation = QUECTEL_NETREG_QCSQ;

View File

@ -895,15 +895,15 @@ SINT32 sf_pic_send_ftp(void)
//sendStartTime = sf_sys_os_utime_get()/1000; //sendStartTime = sf_sys_os_utime_get()/1000;
sf_custom_str_get(CamNameStr); sf_custom_str_get(CamNameStr);
sf_4G_signal_level_get(pPara->NetGeneration,sf_get_cq_signal(),&csqlevel); sf_4G_signal_level_get(sf_get_net_generation(),sf_get_cq_signal(),&csqlevel);
snprintf(cameraID, sizeof(cameraID), "%s-%d-%d-%s-", pPara->ModuleImei, sf_app_get_battery(), csqlevel, CamNameStr); /* DCF 8.3 naming rule */ snprintf(cameraID, sizeof(cameraID), "%s-%d-%d-%s-", pPara->ModuleImei, sf_app_get_battery(), csqlevel, CamNameStr); /* DCF 8.3 naming rule */
if(4 == pPara->NetGeneration) if(4 == sf_get_net_generation())
{ {
tempPicSize = pPara->SendPicSize; tempPicSize = pPara->SendPicSize;
} }
else if(3 == pPara->NetGeneration) else if(3 == sf_get_net_generation())
{ {
tempPicSize = ((1 <= pPara->SendPicSize) ? 1 : 0); tempPicSize = ((1 <= pPara->SendPicSize) ? 1 : 0);
} }
@ -936,7 +936,7 @@ SINT32 sf_pic_send_ftp(void)
// piccount = 1; // piccount = 1;
// } // }
// } // }
MLOGI("NetGeneration:%dG,tempPicSize=%d,piccount=%d,filecnt=%d\n", pPara->NetGeneration, tempPicSize, piccount, pThumbFileCfg->filecnt); MLOGI("netGeneration:%dG,tempPicSize=%d,piccount=%d,filecnt=%d\n", sf_get_net_generation(), tempPicSize, piccount, pThumbFileCfg->filecnt);
//printf("[%s:%d]piccount=%d\n", __FUNCTION__, __LINE__, piccount); //printf("[%s:%d]piccount=%d\n", __FUNCTION__, __LINE__, piccount);
@ -1052,11 +1052,11 @@ SINT32 sf_video_send_ftp(void)
MLOGD("start\n"); MLOGD("start\n");
sf_custom_str_get(CamNameStr); sf_custom_str_get(CamNameStr);
sf_4G_signal_level_get(pPara->NetGeneration,sf_get_cq_signal(),&csqlevel); sf_4G_signal_level_get(sf_get_net_generation(),sf_get_cq_signal(),&csqlevel);
snprintf(cameraID, sizeof(cameraID), "%s-%d-%d-%s-", pPara->ModuleImei, sf_app_get_battery(), csqlevel, CamNameStr); /* DCF 8.3 naming rule */ snprintf(cameraID, sizeof(cameraID), "%s-%d-%d-%s-", pPara->ModuleImei, sf_app_get_battery(), csqlevel, CamNameStr); /* DCF 8.3 naming rule */
printf("NetGeneration:%dG,tempPicSize=%d,piccount=%d,pic=%d\n", pPara->NetGeneration, tempPicSize, piccount, pic); printf("netGeneration:%dG,tempPicSize=%d,piccount=%d,pic=%d\n", sf_get_net_generation(), tempPicSize, piccount, pic);
/*sf_get_send_video_fname(videoDirKey, videoFname); /*sf_get_send_video_fname(videoDirKey, videoFname);
sprintf((char *)ftpFileName, "%s%s", cameraID, videoFname); sprintf((char *)ftpFileName, "%s%s", cameraID, videoFname);
@ -1238,7 +1238,7 @@ SINT32 sf_send_file_to_ftp(UINT8 mode)
if(mode == 1 ) //send Original+video if(mode == 1 ) //send Original+video
{ {
if(((puiPara->CamMode == SF_CAM_MODE_VIDEO) || (puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO) || (puiPara->CamMode == SF_CAM_MODE_VIDEO2)) && (puiPara->SendVideoSwitch == 1) && (puiPara->NetGeneration == 4)) //video if(((puiPara->CamMode == SF_CAM_MODE_VIDEO) || (puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO) || (puiPara->CamMode == SF_CAM_MODE_VIDEO2)) && (puiPara->SendVideoSwitch == 1) && (sf_get_net_generation() == 4)) //video
{ {
timeout = 120000; timeout = 120000;
} }
@ -1278,9 +1278,9 @@ SINT32 sf_send_file_to_ftp(UINT8 mode)
} }
} }
printf("[%s:%d]puiPara->NetGeneration=%d\n", __FUNCTION__, __LINE__, puiPara->NetGeneration); printf("[%s:%d]netGeneration=%d\n", __FUNCTION__, __LINE__, sf_get_net_generation());
if(((puiPara->CamMode == SF_CAM_MODE_VIDEO) || (puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO) || (puiPara->CamMode == SF_CAM_MODE_VIDEO2)) && (puiPara->SendVideoSwitch == 1) && (puiPara->NetGeneration == 4)) //video if(((puiPara->CamMode == SF_CAM_MODE_VIDEO) || (puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO) || (puiPara->CamMode == SF_CAM_MODE_VIDEO2)) && (puiPara->SendVideoSwitch == 1) && (sf_get_net_generation() == 4)) //video
{ {
if(smtpUploadVideoFlag == 0) if(smtpUploadVideoFlag == 0)
{ {
@ -1319,7 +1319,7 @@ SINT32 sf_send_file_to_ftp(UINT8 mode)
if(ret1 != SF_FTP_ERROR_TERM) if(ret1 != SF_FTP_ERROR_TERM)
{ {
ret2 = sf_ftp_stop(ssl, gprsMode); //ret2 = sf_ftp_stop(ssl, gprsMode);
} }
#if SF_TEST_ERROR_CODE #if SF_TEST_ERROR_CODE
@ -1427,7 +1427,7 @@ SINT32 sf_connect_ftps_server(void)
gprsMode = 0;//puiPara->GprsMode; gprsMode = 0;//puiPara->GprsMode;
printf("[%s:%d] ssl:%d,GprsMode:%d\n", __FUNCTION__, __LINE__, ssl, gprsMode); printf("[%s:%d] ssl:%d,GprsMode:%d\n", __FUNCTION__, __LINE__, ssl, gprsMode);
if(((puiPara->CamMode == SF_CAM_MODE_VIDEO) || (puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO) || (puiPara->CamMode == SF_CAM_MODE_VIDEO2)) && (puiPara->SendVideoSwitch == 1) && (puiPara->NetGeneration == 4)) //video if(((puiPara->CamMode == SF_CAM_MODE_VIDEO) || (puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO) || (puiPara->CamMode == SF_CAM_MODE_VIDEO2)) && (puiPara->SendVideoSwitch == 1) && (sf_get_net_generation() == 4)) //video
{ {
timeout = 60000; timeout = 60000;
} }
@ -1442,7 +1442,7 @@ SINT32 sf_connect_ftps_server(void)
{ {
FtpOpenOk = SUCCESS; FtpOpenOk = SUCCESS;
} }
ret = sf_ftp_stop(ssl, gprsMode); //ret = sf_ftp_stop(ssl, gprsMode);
//SF_FTP_CONNECT_END: //SF_FTP_CONNECT_END:
//printf("[%s:%d]ret:[0x%08X]\n\n", __FUNCTION__, __LINE__, ret); //printf("[%s:%d]ret:[0x%08X]\n\n", __FUNCTION__, __LINE__, ret);
@ -1499,10 +1499,11 @@ SINT32 sf_camera_ota_ftp(void)
} }
ret = ftp_download_file(SF_CAM_UP_FILE,SF_CAM_UP_FILE_PATH,0); ret = ftp_download_file(SF_CAM_UP_FILE,SF_CAM_UP_FILE_PATH,0);
if(SUCCESS == ret){ //if(SUCCESS == ret)
sprintf(Cmd, "tar -xjvf %s -C %s", SF_CAM_UP_FILE_PATH, SF_SD_ROOT); {
MLOGD("%s\n", Cmd); // sprintf(Cmd, "tar -xjvf %s -C %s", SF_CAM_UP_FILE_PATH, SF_SD_ROOT);
ret = system(Cmd); // MLOGD("%s\n", Cmd);
// ret = system(Cmd);
if(SUCCESS == ret){ if(SUCCESS == ret){
sf_set_fw_update(1); sf_set_fw_update(1);
sf_set_key_fw_update(sf_get_fw_update()); sf_set_key_fw_update(sf_get_fw_update());
@ -1561,7 +1562,7 @@ SINT32 sf_concentrated_ftp_send(void)
// SINT64 sendStartTime = 0; // SINT64 sendStartTime = 0;
SINT64 sendEndTime = 0; SINT64 sendEndTime = 0;
sf_custom_str_get(CamNameStr); sf_custom_str_get(CamNameStr);
sf_4G_signal_level_get(pPara->NetGeneration,sf_get_cq_signal(),&csqlevel); sf_4G_signal_level_get(sf_get_net_generation(),sf_get_cq_signal(),&csqlevel);
// sendStartTime = sf_sys_os_utime_get()/1000; // sendStartTime = sf_sys_os_utime_get()/1000;
@ -1676,7 +1677,7 @@ SF_CONCENTRATED_END:
if(ret1 != SF_FTP_ERROR_TERM) if(ret1 != SF_FTP_ERROR_TERM)
{ {
ret2 = sf_ftp_stop(ssl, gprsMode); //ret2 = sf_ftp_stop(ssl, gprsMode);
} }
#if SF_TEST_ERROR_CODE #if SF_TEST_ERROR_CODE
@ -1748,7 +1749,7 @@ SINT32 sf_hd_ftp_send(void)
sf_set_send_hd(0); sf_set_send_hd(0);
sf_custom_str_get(CamNameStr); sf_custom_str_get(CamNameStr);
sf_4G_signal_level_get(pPara->NetGeneration,sf_get_cq_signal(),&csqlevel); sf_4G_signal_level_get(sf_get_net_generation(),sf_get_cq_signal(),&csqlevel);
// sendStartTime = sf_sys_os_utime_get()/1000; // sendStartTime = sf_sys_os_utime_get()/1000;
@ -1858,7 +1859,7 @@ SF_HD_END:
if(ret1 != SF_FTP_ERROR_TERM) if(ret1 != SF_FTP_ERROR_TERM)
{ {
ret2 = sf_ftp_stop(ssl, gprsMode); //ret2 = sf_ftp_stop(ssl, gprsMode);
} }
#if SF_TEST_ERROR_CODE #if SF_TEST_ERROR_CODE
@ -1969,7 +1970,7 @@ SINT32 sf_video_ftp_send(void)
sf_set_send_video(0); sf_set_send_video(0);
sf_custom_str_get(CamNameStr); sf_custom_str_get(CamNameStr);
sf_4G_signal_level_get(pPara->NetGeneration,sf_get_cq_signal(),&csqlevel); sf_4G_signal_level_get(sf_get_net_generation(),sf_get_cq_signal(),&csqlevel);
// sendStartTime = sf_sys_os_utime_get()/1000; // sendStartTime = sf_sys_os_utime_get()/1000;
@ -2084,7 +2085,7 @@ SF_VIDEO_END:
if(ret1 != SF_FTP_ERROR_TERM) if(ret1 != SF_FTP_ERROR_TERM)
{ {
ret2 = sf_ftp_stop(ssl, gprsMode); //ret2 = sf_ftp_stop(ssl, gprsMode);
} }
#if SF_TEST_ERROR_CODE #if SF_TEST_ERROR_CODE
@ -2176,7 +2177,7 @@ SINT32 sf_log_send_ftp(void)
} }
if(ret != SF_FTP_ERROR_TERM) if(ret != SF_FTP_ERROR_TERM)
{ {
ret2 = sf_ftp_stop(ssl, gprsMode); //ret2 = sf_ftp_stop(ssl, gprsMode);
} }
#if SF_TEST_ERROR_CODE #if SF_TEST_ERROR_CODE
@ -2295,7 +2296,7 @@ SINT32 sf_gps_send_ftp(void)
} }
if(ret != SF_FTP_ERROR_TERM) if(ret != SF_FTP_ERROR_TERM)
{ {
ret2 = sf_ftp_stop(ssl, gprsMode); //ret2 = sf_ftp_stop(ssl, gprsMode);
} }
#if SF_TEST_ERROR_CODE #if SF_TEST_ERROR_CODE
@ -2985,11 +2986,11 @@ SINT32 sf_test_send_file_to_ftp(void)
MLOGD("start\n"); MLOGD("start\n");
sf_custom_str_get(CamNameStr); sf_custom_str_get(CamNameStr);
sf_4G_signal_level_get(puiPara->NetGeneration,sf_get_cq_signal(),&csqlevel); sf_4G_signal_level_get(sf_get_net_generation(),sf_get_cq_signal(),&csqlevel);
snprintf(cameraID, sizeof(cameraID), "%s-%d-%d-%s-", puiPara->ModuleImei, sf_app_get_battery(), csqlevel, CamNameStr); /* DCF 8.3 naming rule */ snprintf(cameraID, sizeof(cameraID), "%s-%d-%d-%s-", puiPara->ModuleImei, sf_app_get_battery(), csqlevel, CamNameStr); /* DCF 8.3 naming rule */
printf("NetGeneration:%dG,tempPicSize=%d,piccount=%d,pic=%d\n", puiPara->NetGeneration, tempPicSize, piccount, pic); printf("netGeneration:%dG,tempPicSize=%d,piccount=%d,pic=%d\n", sf_get_net_generation(), tempPicSize, piccount, pic);
sprintf((char *)ftpFileName, "%sMEMPHOTO.JPG", cameraID); sprintf((char *)ftpFileName, "%sMEMPHOTO.JPG", cameraID);
sprintf((char *)filePath, "UFS:MEMPHOTO.JPG"); sprintf((char *)filePath, "UFS:MEMPHOTO.JPG");
@ -3082,7 +3083,7 @@ SINT32 sf_card_log_send_ftp(void)
} }
if(ret != SF_FTP_ERROR_TERM) if(ret != SF_FTP_ERROR_TERM)
{ {
ret2 = sf_ftp_stop(ssl, gprsMode); //ret2 = sf_ftp_stop(ssl, gprsMode);
} }
MLOGD(" end ret:[0x%08X],ret2:[0x%08X]\n", ret, ret2); MLOGD(" end ret:[0x%08X],ret2:[0x%08X]\n", ret, ret2);

View File

@ -1975,12 +1975,17 @@ void sf_hd_pic_add_to_list(UINT8 *fileName)
UINT8 tempStr[20] = {0}; UINT8 tempStr[20] = {0};
SubImgList_t *pList = pSubImgListHead; SubImgList_t *pList = pSubImgListHead;
SubImgList_t *qList = pSubImgListHead; SubImgList_t *qList = pSubImgListHead;
char fname[50] = {0};
printf("[%s:%d] add to list:%s\n", __FUNCTION__, __LINE__, fileName); printf("[%s:%d] add to list:%s\n", __FUNCTION__, __LINE__, fileName);
SF_STRNCPY(tempStr, fileName+1, 3); SF_STRNCPY(tempStr, fileName+1, 3);
dirKey = atoi((const char *)tempStr); dirKey = atoi((const char *)tempStr);
fileKey = atoi((const char *)fileName+4); fileKey = atoi((const char *)fileName+4);
SF_SPRINTF(fname, "%s/%03dMEDIA/%s%04d.JPG", SF_DCIM_DIR, dirKey, DCF_FILE_NAME, fileKey);
if(sf_file_IsExsit(fname) != SF_TRUE)
{
MLOGE("%s\n", fname);
return;
}
if(pSubImgListHead == NULL) if(pSubImgListHead == NULL)
{ {
pSubImgListHead = (SubImgList_t *)malloc(sizeof(SubImgList_t)); pSubImgListHead = (SubImgList_t *)malloc(sizeof(SubImgList_t));
@ -2088,13 +2093,40 @@ void sf_video_add_to_list(UINT8 *fileName)
SubImgList_t *qList = pSubVideoListHead; SubImgList_t *qList = pSubVideoListHead;
//sfPara_t* pSifarPara = sf_ParaGet(); //sfPara_t* pSifarPara = sf_ParaGet();
//UINT8 subscribeMaxNum = SUBSCRIBE_MAX_NUM - pSifarPara->subscribeSendCnt; //UINT8 subscribeMaxNum = SUBSCRIBE_MAX_NUM - pSifarPara->subscribeSendCnt;
char fname[50] = {0};
UINT32 fileSize = 0;
UINT32 fileIndex = 0;
UINT8 i = 0;
UINT16 dirKeytmp = 0;
UINT16 fileKeytmp = 0;
printf("add to list:%s\n", fileName); printf("add to list:%s\n", fileName);
SF_STRNCPY(tempStr, fileName+1, 3); SF_STRNCPY(tempStr, fileName+1, 3);
dirKey = atoi((const char *)tempStr); dirKey = atoi((const char *)tempStr);
fileKey = atoi((const char *)fileName+4); fileKey = atoi((const char *)fileName+4);
fileIndex = dirKey * 10000 + fileKey + 1;
for(i = 0; i < 3; i++)
{
dirKeytmp = fileIndex / 10000;
fileKeytmp = fileIndex % 10000;
SF_SPRINTF(fname, "%s/%03dMEDIA/%s%04d.MP4", SF_DCIM_DIR, dirKeytmp, DCF_FILE_NAME, fileKeytmp);
sf_file_size_get(fname,&fileSize);
printf("find video:%s size=%d\n", fname, fileSize);
if(fileSize != 0)
{
break;
}
fileIndex++;
}
if(fileSize == 0)
{
MLOGE("No File %s\n", fname);
return;
}
if(pSubVideoListHead == NULL) if(pSubVideoListHead == NULL)
{ {
pSubVideoListHead = (SubImgList_t *)malloc(sizeof(SubImgList_t)); pSubVideoListHead = (SubImgList_t *)malloc(sizeof(SubImgList_t));
@ -2167,10 +2199,10 @@ SINT32 sf_simcom_check_need_send(void)
UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
UINT8 PowerOnMode = sf_poweron_type_get(); UINT8 PowerOnMode = sf_poweron_type_get();
printf("[%s:%d]sf_get_pic()=%d,puiPara->NetGeneration=%d\n", __FUNCTION__, __LINE__, sf_get_pic(), puiPara->NetGeneration); printf("[%s:%d]sf_get_pic()=%d,netGeneration=%d\n", __FUNCTION__, __LINE__, sf_get_pic(), sf_get_net_generation());
if((sf_get_sim_insert()) && ((sf_get_mode_flag() == 1) || (PowerOnMode == PWR_ON_PIR) || (PowerOnMode == PWR_ON_TIMELAPSE) || (sf_get_pic() == SF_TRUE)) if((sf_get_sim_insert()) && ((sf_get_mode_flag() == 1) || (PowerOnMode == PWR_ON_PIR) || (PowerOnMode == PWR_ON_TIMELAPSE) || (sf_get_pic() == SF_TRUE))
&& ((puiPara->SendPhotoSwitch == 1) || ((puiPara->CamMode == SF_CAM_MODE_VIDEO) && (puiPara->SendVideoSwitch == 1) && (puiPara->NetGeneration == 4)))) && ((puiPara->SendPhotoSwitch == 1) || ((puiPara->CamMode == SF_CAM_MODE_VIDEO) && (puiPara->SendVideoSwitch == 1) && (sf_get_net_generation() == 4))))
{ {
if((sf_check_ftp_send(1) == SF_SUCCESS)) if((sf_check_ftp_send(1) == SF_SUCCESS))
{ {

View File

@ -355,6 +355,7 @@ SINT32 sf_app_cq_signal_to_cardv(void)
stMessageBuf.cmdId = CMD_GPRS; stMessageBuf.cmdId = CMD_GPRS;
stMessageBuf.arg1 = SF_GPRS_CMD_SIGNAL; stMessageBuf.arg1 = SF_GPRS_CMD_SIGNAL;
stMessageBuf.arg2 = sf_get_cq_signal(); stMessageBuf.arg2 = sf_get_cq_signal();
stMessageBuf.arg3 = ((SINT32)(((sf_get_sim_insert()) << 16) | (sf_get_net_generation())));
sf_com_message_send_to_cardv(&stMessageBuf); sf_com_message_send_to_cardv(&stMessageBuf);
return SF_SUCCESS; return SF_SUCCESS;
} }
@ -383,7 +384,6 @@ void sf_signal_led_show(UINT8 signalLevel)
SINT32 app_led_net_reg_stop(SINT32 s32ret) SINT32 app_led_net_reg_stop(SINT32 s32ret)
{ {
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
//UINT8 netSearchStep = sf_get_netsearch_step(); //UINT8 netSearchStep = sf_get_netsearch_step();
UINT8 signalLevel = 0; UINT8 signalLevel = 0;
sf_app_cq_signal_to_cardv(); sf_app_cq_signal_to_cardv();
@ -419,7 +419,7 @@ SINT32 app_led_net_reg_stop(SINT32 s32ret)
sf_sys_status_led_set(SF_LED_SYS_STATE_SERVER_FAIL); sf_sys_status_led_set(SF_LED_SYS_STATE_SERVER_FAIL);
} }
else { else {
sf_4G_signal_level_get(puiPara->NetGeneration,sf_get_cq_signal(),&signalLevel); sf_4G_signal_level_get(sf_get_net_generation(),sf_get_cq_signal(),&signalLevel);
MLOGI("signalLevel = %d\n",signalLevel); MLOGI("signalLevel = %d\n",signalLevel);
// sf_app_cq_signal_to_cardv(); // sf_app_cq_signal_to_cardv();
sf_signal_led_show(signalLevel); sf_signal_led_show(signalLevel);

View File

@ -141,7 +141,11 @@ SF_THREAD_S McuUpDataTskCfg =
.IsRun = 0, .IsRun = 0,
.TskId = -1, .TskId = -1,
}; };
SF_THREAD_S PowerOffTskCfg =
{
.IsRun = 0,
.TskId = -1,
};
SINT8 debugFlag = 0; SINT8 debugFlag = 0;
UINT8 McuInitFlag = 0; UINT8 McuInitFlag = 0;
@ -1499,7 +1503,36 @@ SINT32 sf_app_mcu_para_stop(void)
} }
return SF_SUCCESS; return SF_SUCCESS;
} }
void* sf_app_power_off_thread(void *arg)
{
SLOGI("thread run\n");
PowerOffTskCfg.IsRun = 1;
sleep(5);
SLOGE("cdv power off err\n");
app_system_poweroff(0);
PowerOffTskCfg.IsRun = 0;
SLOGI("thread end\n");
return NULL;
}
SINT32 sf_app_power_off_start(void)
{
SINT32 ret = SF_FAILURE;
if(PowerOffTskCfg.IsRun)
{
SLOGE("thread has already run !!!\n");
return SF_FAILURE;
}
ret = pthread_create(&PowerOffTskCfg.TskId, NULL, sf_app_power_off_thread, NULL);
if(ret != SF_SUCCESS)
{
MLOGD("thread creat fail!\n");
return ret;
}
return SF_SUCCESS;
}
/************************************************* /*************************************************
Function: sf_power_off_msg_to_cardv Function: sf_power_off_msg_to_cardv
Description: power off Description: power off
@ -1516,6 +1549,7 @@ void sf_power_off_msg_to_cardv(void)
stMessageBuf.arg1 = SF_EVENT_KEY_SHORT_CLICK; stMessageBuf.arg1 = SF_EVENT_KEY_SHORT_CLICK;
stMessageBuf.arg2 = SF_KEY_PIN_AOTU_MODE_POWOFF;//auto mode powoff stMessageBuf.arg2 = SF_KEY_PIN_AOTU_MODE_POWOFF;//auto mode powoff
sf_com_message_send_to_cardv(&stMessageBuf); sf_com_message_send_to_cardv(&stMessageBuf);
sf_app_power_off_start();
} }
UINT8 sf_app_get_mcu_init_flag(void) UINT8 sf_app_get_mcu_init_flag(void)

View File

@ -565,11 +565,11 @@ SINT32 sf_upload_send_files_to_module(UINT8 mode)
//sf_custom_str_get(customStr); //sf_custom_str_get(customStr);
if(4 == pPara->NetGeneration) if(4 == sf_get_net_generation())
{ {
tempPicSize = pPara->SendPicSize; tempPicSize = pPara->SendPicSize;
} }
else if(3 == pPara->NetGeneration) else if(3 == sf_get_net_generation())
{ {
tempPicSize = ((1 <= pPara->SendPicSize) ? 1 : 0); tempPicSize = ((1 <= pPara->SendPicSize) ? 1 : 0);
} }
@ -601,7 +601,7 @@ SINT32 sf_upload_send_files_to_module(UINT8 mode)
} }
else if(mode == 1) else if(mode == 1)
{ {
printf("NetGeneration:%dG,tempPicSize=%d,piccount=%d,pic=%d\n", pPara->NetGeneration, tempPicSize, piccount, pic); printf("netGeneration:%dG,tempPicSize=%d,piccount=%d,pic=%d\n", sf_get_net_generation(), tempPicSize, piccount, pic);
SendPicSize = tempPicSize; SendPicSize = tempPicSize;
@ -657,7 +657,7 @@ SINT32 sf_upload_send_files_to_module(UINT8 mode)
printf("[%s:%d]before,piccount=%d\n", __FUNCTION__, __LINE__, piccount); printf("[%s:%d]before,piccount=%d\n", __FUNCTION__, __LINE__, piccount);
if(4 == pPara->NetGeneration) if(4 == sf_get_net_generation())
{ {
if(piccount >= 2) if(piccount >= 2)
{ {
@ -1008,8 +1008,8 @@ UINT32 sf_create_dailyreport_file(void)
gpsStrTemp[0] = '\0'; gpsStrTemp[0] = '\0';
}*/ }*/
//csqlevel = sf_signal_level_get(pPara->NetGeneration, sf_get_cq_signal()); //csqlevel = sf_signal_level_get(sf_get_net_generation(), sf_get_cq_signal());
sf_4G_signal_level_get(pPara->NetGeneration,sf_get_cq_signal(),&csqlevel); sf_4G_signal_level_get(sf_get_net_generation(),sf_get_cq_signal(),&csqlevel);
if(pPara->DateStyle == SF_DATE_TIME_YYMMDD) if(pPara->DateStyle == SF_DATE_TIME_YYMMDD)
{ {
sprintf(tmpDate, "%d/%02d/%02d %02d:%02d:%02d", drRtcTime.Year, drRtcTime.Mon, drRtcTime.Day, drRtcTime.Hour, drRtcTime.Min, drRtcTime.Sec); sprintf(tmpDate, "%d/%02d/%02d %02d:%02d:%02d", drRtcTime.Year, drRtcTime.Mon, drRtcTime.Day, drRtcTime.Hour, drRtcTime.Min, drRtcTime.Sec);
@ -1036,7 +1036,7 @@ UINT32 sf_create_dailyreport_file(void)
"Total Pics Sent:%ld\r\n", \ "Total Pics Sent:%ld\r\n", \
pPara->ModuleImei, \ pPara->ModuleImei, \
csqlevel, \ csqlevel, \
pPara->NetGeneration, \ sf_get_net_generation(), \
cameraID, \ cameraID, \
str, \ str, \
tmpDate, \ tmpDate, \

View File

@ -34,6 +34,7 @@
#include "sf_sms.h" #include "sf_sms.h"
#include "sf_system.h" #include "sf_system.h"
#include "sf_message_queue.h" #include "sf_message_queue.h"
#include "sf_eg91_sim.h"
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
extern "C" { extern "C" {
@ -882,6 +883,8 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
if(val == 1) if(val == 1)
{ {
mcuData[i++] = (puiPara->CamArmDiable) << 6 | isUsb << 2 | isCardFull << 1 | isCard << 0 | 0x08; mcuData[i++] = (puiPara->CamArmDiable) << 6 | isUsb << 2 | isCardFull << 1 | isCard << 0 | 0x08;
mcuReg[i] = WDT_TIME;
mcuData[i++] = 16;/*16 min*/
} }
else else
{ {
@ -910,7 +913,11 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
sf_debug_save_log(); sf_debug_save_log();
} }
#endif #endif
if(FAIL == sf_mcu_write_multi(mcuReg, mcuData, i))
{
sf_sleep_ms(200);
sf_mcu_write_multi(mcuReg, mcuData, i); sf_mcu_write_multi(mcuReg, mcuData, i);
}
return SUCCESS; return SUCCESS;
} }
@ -1265,9 +1272,7 @@ UINT32 sf_get_sim_insert(void)
void sf_set_cq_signal(UINT8 csq) void sf_set_cq_signal(UINT8 csq)
{ {
UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); if(((sf_get_net_generation() == 4) && (csq > 0) && (csq < 129)) || ((sf_get_net_generation() < 4) && (csq > 1) && (csq < 32)))
if(((puiPara->NetGeneration == 4) && (csq > 0) && (csq < 129)) || ((puiPara->NetGeneration < 4) && (csq > 1) && (csq < 32)))
{ {
cq_Signal = csq; cq_Signal = csq;
isSignalReady = 1; isSignalReady = 1;

View File

@ -13,7 +13,7 @@ id_0_expt_time = 10000 #10000us
id_0_gain_ratio = 1000 #1x gain id_0_gain_ratio = 1000 #1x gain
[DIRECTION] [DIRECTION]
id_0_mirror = 1 #no mirror id_0_mirror = 0 #no mirror
id_0_flip = 1 #flip id_0_flip = 1 #flip
[POWER] [POWER]

View File

@ -17,7 +17,7 @@
}; };
DIRECTION { DIRECTION {
id_0_mirror = <1>; /* no mirror */ id_0_mirror = <0>; /* no mirror */
id_0_flip = <1>; /* flip */ id_0_flip = <1>; /* flip */
}; };

View File

@ -189,4 +189,9 @@ void sf_set_msdc_clk(void);
void sf_send_message_to_create_qrcode(void); void sf_send_message_to_create_qrcode(void);
UINT8 sf_get_rtsp_flag(void); UINT8 sf_get_rtsp_flag(void);
void sf_set_rtsp_flag(UINT8 flag); void sf_set_rtsp_flag(UINT8 flag);
char sf_get_cammode_statu(void);
void sf_set_cammode_statu(char is);
BOOL sf_set_backlight_status(unsigned char argc, char **argv);
UINT8 sf_get_net_generation(void);
void sf_set_net_generation(UINT8 value);
#endif #endif

View File

@ -100,7 +100,8 @@ static UINT8 UiparaFlag = 0;
static SF_BLE_STATUS_E BleStatus = SF_BLE_OK; static SF_BLE_STATUS_E BleStatus = SF_BLE_OK;
static UINT8 McuUpdateFlag = 0; static UINT8 McuUpdateFlag = 0;
static SF_GPS_STATUS_E gGpsSearching = SF_GPS_SEARCHING_UNKNOW; static SF_GPS_STATUS_E gGpsSearching = SF_GPS_SEARCHING_UNKNOW;
static char CamMode = 0;
static CHAR netGeneration = SF_NET_NO;
static SF_THREAD_S UpgradeTskParam = static SF_THREAD_S UpgradeTskParam =
{ {
.IsRun = 0, .IsRun = 0,
@ -1352,6 +1353,10 @@ BOOL sf_cmd_ftp_ota(unsigned char argc, char **argv)
UIMenuStoreInfo *puiPara = sf_ui_para_get(); UIMenuStoreInfo *puiPara = sf_ui_para_get();
if(4 == argc) if(4 == argc)
{ {
memset(puiPara ->OtaFtpIp,'\0', sizeof(puiPara ->OtaFtpIp));
memset(puiPara ->OtaFtpPort, '\0', sizeof(puiPara ->OtaFtpPort));
memset(puiPara ->OtaFtpUserName, '\0', sizeof(puiPara ->OtaFtpUserName));
memset(puiPara ->OtaFtpPassWord,'\0', sizeof(puiPara ->OtaFtpPassWord));
strncpy((char *)puiPara->OtaFtpIp, argv[0], ((sizeof(puiPara->OtaFtpIp) <= strlen(argv[0])) ? (sizeof(puiPara->OtaFtpIp)) : (strlen(argv[0])))); strncpy((char *)puiPara->OtaFtpIp, argv[0], ((sizeof(puiPara->OtaFtpIp) <= strlen(argv[0])) ? (sizeof(puiPara->OtaFtpIp)) : (strlen(argv[0]))));
strncpy((char *)puiPara->OtaFtpPort, argv[1], ((sizeof(puiPara->OtaFtpPort) <= strlen(argv[1])) ? (sizeof(puiPara->OtaFtpPort)) : (strlen(argv[1])))); strncpy((char *)puiPara->OtaFtpPort, argv[1], ((sizeof(puiPara->OtaFtpPort) <= strlen(argv[1])) ? (sizeof(puiPara->OtaFtpPort)) : (strlen(argv[1]))));
strncpy((char *)puiPara->OtaFtpUserName, argv[2], ((sizeof(puiPara->OtaFtpUserName) <= strlen(argv[2])) ? (sizeof(puiPara->OtaFtpUserName)) : (strlen(argv[2])))); strncpy((char *)puiPara->OtaFtpUserName, argv[2], ((sizeof(puiPara->OtaFtpUserName) <= strlen(argv[2])) ? (sizeof(puiPara->OtaFtpUserName)) : (strlen(argv[2]))));
@ -1794,6 +1799,8 @@ static SINT32 sf_cardv_proccess_cmd_gprs(SF_MESSAGE_BUF_S *pMessageBuf)
{ {
case SF_GPRS_CMD_SIGNAL: case SF_GPRS_CMD_SIGNAL:
cq_Signal = pMessageBuf->arg2; cq_Signal = pMessageBuf->arg2;
sf_set_net_generation(pMessageBuf->arg3 & 0xFF);
sf_cardv_set_sim_insert((pMessageBuf->arg3>>16)&0x0F);
break; break;
default: default:
@ -3370,3 +3377,45 @@ void sf_send_message_to_create_qrcode(void)
stMessageBuf.cmdId = CMD_KEY; stMessageBuf.cmdId = CMD_KEY;
sf_com_message_send_to_app(&stMessageBuf); sf_com_message_send_to_app(&stMessageBuf);
} }
void sf_set_cammode_statu(char is)
{
CamMode = is;
//printf("[%s]:%d IsCap:%d\n", __FUNCTION__, __LINE__,IsCap);
}
char sf_get_cammode_statu(void)
{
//printf("[%s]:%d IsCap:%d\n", __FUNCTION__, __LINE__,IsCap);
return CamMode;
}
BOOL sf_set_backlight_status(unsigned char argc, char **argv)
{
UINT32 value;
sscanf_s(argv[0],"%d", &value);
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < SF_ON_OFF_MAX){
printf("[%s:%d] Status:%d\n", __FUNCTION__, __LINE__,GPIO_SetBacklightStatus(value));
}
return TRUE;
}
UINT8 sf_get_net_generation(void)
{
return netGeneration;
}
void sf_set_net_generation(UINT8 value)
{
if((value >= SF_NET_NO) && (value <= SF_NET_4G))
{
netGeneration = value;
}
else
{
printf("[%s:%d]value(%d) invalid,no set.\n", __FUNCTION__, __LINE__, value);
}
}

View File

@ -803,9 +803,16 @@ void sf_mcu_dataready_ck(UINT8 startMode)
gModuleSleep = 0; //power off 4G module gModuleSleep = 0; //power off 4G module
sf_set_power_off_flag(1); sf_set_power_off_flag(1);
printf("[power off] %s(%d)\n", __FUNCTION__, __LINE__); printf("[power off] %s(%d)\n", __FUNCTION__, __LINE__);
if((startMode == 1) && (PWR_ON_AUTO == sf_cardv_convert_power_on_mode()))
{
system("reboot");
}
else
{
Ux_PostEvent(NVTEVT_SYSTEM_SHUTDOWN, 1, 0); //shutdown start Ux_PostEvent(NVTEVT_SYSTEM_SHUTDOWN, 1, 0); //shutdown start
} }
} }
}
#endif #endif
} }

View File

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

View File

@ -77,7 +77,7 @@
max-voltage = <3300>; max-voltage = <3300>;
bus-width = <4>; bus-width = <4>;
neg-sample-edge = <0>; neg-sample-edge = <0>;
driving = <15 15 15 20 15 15 25 25 25 25 25 25>; driving = <25 25 25 25 25 25 25 25 25 25 25 25>;
cd_gpio = <C_GPIO(9) GPIO_FALLING_EDGE GPIO_POLLING>; cd_gpio = <C_GPIO(9) GPIO_FALLING_EDGE GPIO_POLLING>;
card_power_gpio = <P_GPIO(7) GPIO_LOW>; card_power_gpio = <P_GPIO(7) GPIO_LOW>;
/*ro_gpio = <D_GPIO(1) GPIO_RISING_EDGE GPIO_POLLING>;*/ /*ro_gpio = <D_GPIO(1) GPIO_RISING_EDGE GPIO_POLLING>;*/

View File

@ -91,6 +91,7 @@ extern void loader_setRecoveryPartitionID(UINT32 partition_id);
extern void loader_setVersion(UINT32 version); extern void loader_setVersion(UINT32 version);
extern void loader_setStorageIntType(STORAGEINT type, PSTORAGE_OBJ strg_obj); extern void loader_setStorageIntType(STORAGEINT type, PSTORAGE_OBJ strg_obj);
extern void loader_installSpecialKeyCB(LDR_SPECIAL_KEY_CB callback); extern void loader_installSpecialKeyCB(LDR_SPECIAL_KEY_CB callback);
extern void loader_installsfSpecialKeyCB(LDR_SPECIAL_KEY_CB callback);
extern void loader_installCardDetectCB(LDR_CARD_DETECT_CB callback); extern void loader_installCardDetectCB(LDR_CARD_DETECT_CB callback);
extern void loader_installRecoveryTriggerCB(LDR_RECOVERY_TRIGGER_CB callback); extern void loader_installRecoveryTriggerCB(LDR_RECOVERY_TRIGGER_CB callback);
extern void loader_installFastbootKeyCB(LDR_FASTBOOT_KEY_CB callback); extern void loader_installFastbootKeyCB(LDR_FASTBOOT_KEY_CB callback);

View File

@ -108,6 +108,7 @@ static LDR_FASTBOOT_KEY_CB gFastbootKeyCallBack = NULL;
static LDR_SPECIAL_KEY_CB gSpecialKeyCallBack = NULL; static LDR_SPECIAL_KEY_CB gSpecialKeyCallBack = NULL;
static LDR_CARD_DETECT_CB gCardDetectCallBack = NULL; static LDR_CARD_DETECT_CB gCardDetectCallBack = NULL;
static STORAGEINT gStorageIntType = STORAGEINT_UNOKNOWN; static STORAGEINT gStorageIntType = STORAGEINT_UNOKNOWN;
static LDR_SPECIAL_KEY_CB gsfSpecialKeyCallBack = NULL;
static LDR_RECOVERY_TRIGGER_CB gRecoveryTriggerCallBack = NULL; static LDR_RECOVERY_TRIGGER_CB gRecoveryTriggerCallBack = NULL;
//#if (!USB_WRITELOADER) //#if (!USB_WRITELOADER)
@ -675,7 +676,7 @@ static void bl_cpu_timer_init(UINT32 value)
#endif #endif
_THUMB2 int bl_flash_open(void) _THUMB2 int bl_flash_open(void)
{ {
int er; int er = -1;
//UINT32 uiStorageVersion = (UINT32)&_load_nand_table_start_base; //UINT32 uiStorageVersion = (UINT32)&_load_nand_table_start_base;
if (g_is_flash_open) { if (g_is_flash_open) {
@ -770,10 +771,15 @@ _THUMB2 static const void *bl_get_fdt_nvt_memory_cfg_property(const void *p_dtb,
} }
nodeoffset = fdt_subnode_offset(p_dtb, nodeoffset_nvt_memory_cfg, &p_path[16]); nodeoffset = fdt_subnode_offset(p_dtb, nodeoffset_nvt_memory_cfg, &p_path[16]);
//debug_msg_var("nodeoffset_nvt_memory_cfg", nodeoffset_nvt_memory_cfg);
//debug_msg_var("nodeoffset", nodeoffset);
if (nodeoffset < 0) { if (nodeoffset < 0) {
return NULL; return NULL;
} }
nodep = fdt_getprop(p_dtb, nodeoffset, p_property, len); nodep = fdt_getprop(p_dtb, nodeoffset, p_property, len);
//debug_msg_var("len", *len);
if (len == 0) { if (len == 0) {
return NULL; return NULL;
} }
@ -2014,7 +2020,7 @@ _THUMB2 static int bl_load_uboot_from_flash(unsigned char *p_fdt, unsigned char
// //============Sifar==============///Payton // //============Sifar==============///Payton
// //
// } UIMenuStoreInfo; // } UIMenuStoreInfo;
#if 1
_THUMB2 static void *bl_get_sys_partition(unsigned char *p_fdt /*IN*/, int *p_id /*OUT*/) _THUMB2 static void *bl_get_sys_partition(unsigned char *p_fdt /*IN*/, int *p_id /*OUT*/)
{ {
#if (FDT_SUPPORT) #if (FDT_SUPPORT)
@ -2099,7 +2105,7 @@ _THUMB2 static int bl_load_uboot_from_flash(unsigned char *p_fdt, unsigned char
return (*ota_flag); return (*ota_flag);
} }
#endif
/***********************************************************************************/ /***********************************************************************************/
_THUMB2 static int bl_load_rtos_from_flash(unsigned char *p_fdt, unsigned char *p_tmp) _THUMB2 static int bl_load_rtos_from_flash(unsigned char *p_fdt, unsigned char *p_tmp)
@ -3206,7 +3212,11 @@ _THUMB2 UINT32 bl_mainFlow(void)
#endif #endif
} }
UINT32 ota_flag = bl_check_ota_flag(); UINT32 ota_flag = 0;
if(gsfSpecialKeyCallBack(0))
{
ota_flag = bl_check_ota_flag();
}
#if !(USB_WRITELOADER || UART_UPDATE) #if !(USB_WRITELOADER || UART_UPDATE)
if (bl_load_rtos_from_uart(uiUpdateMainBinBufAddr, FAT_READ_TOTAL_FILE_LENGTH, &adjusted_addr, &adjusted_size) == 0) { if (bl_load_rtos_from_uart(uiUpdateMainBinBufAddr, FAT_READ_TOTAL_FILE_LENGTH, &adjusted_addr, &adjusted_size) == 0) {
@ -3620,7 +3630,10 @@ _THUMB2 void loader_installSpecialKeyCB(LDR_SPECIAL_KEY_CB callback)
{ {
gSpecialKeyCallBack = callback; gSpecialKeyCallBack = callback;
} }
_THUMB2 void loader_installsfSpecialKeyCB(LDR_SPECIAL_KEY_CB callback)
{
gsfSpecialKeyCallBack = callback;
}
_THUMB2 void loader_installCardDetectCB(LDR_CARD_DETECT_CB callback) _THUMB2 void loader_installCardDetectCB(LDR_CARD_DETECT_CB callback)
{ {
gCardDetectCallBack = callback; gCardDetectCallBack = callback;

View File

@ -163,6 +163,23 @@ static BOOL prj_isSpecialKeyPressed(UINT32 ota_flag)
} }
//return TRUE; //return TRUE;
} }
static BOOL prj_issfSpecialKeyPressed(UINT32 ota_flag)
{
#if (MODEL == MODEL_S530)
if ((!gpio_getPin(GPIO_SPECIAL_KEY)) && (gpio_getPin(GPIO_SPECIAL_USB)))
#elif (MODEL == MODEL_S550)
if ((gpio_getPin(GPIO_SPECIAL_KEY)) && (gpio_getPin(GPIO_SPECIAL_USB)))
#endif
{
return TRUE;
}
else
{
return FALSE;
}
//return TRUE;
}
#endif #endif
#if (FASTBOOT_KEY == ENABLE) #if (FASTBOOT_KEY == ENABLE)
@ -254,6 +271,7 @@ _THUMB2 void prj_main(void)
#if (SPECIAL_KEY_UPDATE == ENABLE) #if (SPECIAL_KEY_UPDATE == ENABLE)
loader_installSpecialKeyCB(prj_isSpecialKeyPressed); loader_installSpecialKeyCB(prj_isSpecialKeyPressed);
loader_installsfSpecialKeyCB(prj_issfSpecialKeyPressed);
#endif #endif
#if (CHECK_CARD_EXIST == ENABLE) #if (CHECK_CARD_EXIST == ENABLE)

View File

@ -1302,7 +1302,7 @@ void setet_preset_param(void)
vendor_isp_get_ae(AET_ITEM_STATUS, &ae_status_info); vendor_isp_get_ae(AET_ITEM_STATUS, &ae_status_info);
DBG_WRN(">> aet status exp %d iso %d\r\n",ae_status_info.status_info.expotime[0],ae_status_info.status_info.iso_gain[0]); DBG_WRN(">> aet status exp %d iso %d\r\n",ae_status_info.status_info.expotime[0],ae_status_info.status_info.iso_gain[0]);
preset_param.expt= ae_status_info.status_info.expotime[0]; preset_param.expt= ae_status_info.status_info.expotime[0];
preset_param.gain= ae_status_info.status_info.iso_gain[0]; preset_param.gain= ae_status_info.status_info.iso_gain[0]*10;
total_gain.id = 0; total_gain.id = 0;
total_gain.gain = preset_param.gain; total_gain.gain = preset_param.gain;
vendor_isp_set_common(ISPT_ITEM_TOTAL_GAIN, &total_gain); vendor_isp_set_common(ISPT_ITEM_TOTAL_GAIN, &total_gain);

View File

@ -945,7 +945,7 @@
#define HUNTING_MCU_UART ENABLE #define HUNTING_MCU_UART ENABLE
#define HUNTING_IR_LED_940 ENABLE #define HUNTING_IR_LED_940 ENABLE
#define SF_EXIF_MN_BUF_SIZE 256 #define SF_EXIF_MN_BUF_SIZE 256
#define SF_BASE_VERSION "7MR5RCwDC03" #define SF_BASE_VERSION "7MR5RCwDC04"
#define DCF_DIR_NAME "MEDIA" /* 100MEDIA */ #define DCF_DIR_NAME "MEDIA" /* 100MEDIA */
#define DCF_FILE_NAME "SYGW" /* SYFW0001.JPG */ #define DCF_FILE_NAME "SYGW" /* SYFW0001.JPG */
#define PHOTO_THUMB_PATH "A:\\THUMB\\" #define PHOTO_THUMB_PATH "A:\\THUMB\\"

View File

@ -1356,10 +1356,10 @@ static INT32 MovieFast_Mode2_Get_Cont_Shot(UINT32* max_cnt, UINT32* duration)
if(SF_MULTISHOT_INTEVEL_1S == puiPara->MultiShotIntevel) if(SF_MULTISHOT_INTEVEL_1S == puiPara->MultiShotIntevel)
{ {
*duration = 1000;//The interval between consecutive shots of each photo is 1 second *duration = 970;//The interval between consecutive shots of each photo is 1 second
} }
else if(SF_MULTISHOT_INTEVEL_2S == puiPara->MultiShotIntevel) { else if(SF_MULTISHOT_INTEVEL_2S == puiPara->MultiShotIntevel) {
*duration = 2000;//The interval between consecutive shots of each photo is 2 second *duration = 1970;//The interval between consecutive shots of each photo is 2 second
} }
else { else {
*duration = 1000 / *max_cnt;//SF_MULTISHOT_INTEVEL_0S *duration = 1000 / *max_cnt;//SF_MULTISHOT_INTEVEL_0S
@ -1385,11 +1385,11 @@ THREAD_RETTYPE MovieFast_InitMovieModeThread(void *arg)
//UI_SetData(FL_MOVIE_SIZE, MOVIE_SIZE_CLONE_1920x1080P30_1280x720P30); //UI_SetData(FL_MOVIE_SIZE, MOVIE_SIZE_CLONE_1920x1080P30_1280x720P30);
Set_NIGHTMODE(0, 0); Set_NIGHTMODE(0, 0);
nvt_cmdsys_runcmd("ae set_speed 0 128 700 700 100 "); //nvt_cmdsys_runcmd("ae set_speed 0 128 700 700 100 ");
} }
else{ else{
Set_NIGHTMODE(0, 1); Set_NIGHTMODE(0, 1);
Set_AEMODE(0); //Set_AEMODE(0);
} }
MovieFast_SetRecInfoByUISetting(); MovieFast_SetRecInfoByUISetting();
@ -1587,6 +1587,9 @@ THREAD_RETTYPE MovieFast_InitMovieModeThread(void *arg)
MovieFast_InstallID(); MovieFast_InstallID();
nvt_cmdsys_runcmd("ae set_speed 0 128 700 700 100 ");
//nvt_cmdsys_runcmd("ae dbg 0 256 1 ");
HD_VIDEO_FRAME frame_capture = {0}; HD_VIDEO_FRAME frame_capture = {0};
{ {
@ -1614,8 +1617,8 @@ THREAD_RETTYPE MovieFast_InitMovieModeThread(void *arg)
ae_preset_flag = TRUE; ae_preset_flag = TRUE;
vprc_frm_cnt_ae_preset = vprc_frm_cnt; vprc_frm_cnt_ae_preset = vprc_frm_cnt;
DBG_DUMP("ae preset vprc frame cnt = %lu\n", vprc_frm_cnt_ae_preset); DBG_DUMP("ae preset vprc frame cnt = %lu\n", vprc_frm_cnt_ae_preset);
Set_AEMODE(1); Set_AEMODE(0);
setet_preset_param(); //setet_preset_param();
} }
} }

View File

@ -1500,10 +1500,10 @@ THREAD_RETTYPE PhotoFast_FlowPreviewThread(void *arg)
#if HUNTING_CAMERA_MCU == ENABLE #if HUNTING_CAMERA_MCU == ENABLE
if(SF_MULTISHOT_INTEVEL_1S == puiPara->MultiShotIntevel) if(SF_MULTISHOT_INTEVEL_1S == puiPara->MultiShotIntevel)
{ {
period = 1000;//The interval between consecutive shots of each photo is 1 second period = 970;//The interval between consecutive shots of each photo is 1 second
} }
else if(SF_MULTISHOT_INTEVEL_2S == puiPara->MultiShotIntevel) { else if(SF_MULTISHOT_INTEVEL_2S == puiPara->MultiShotIntevel) {
period = 2000;//The interval between consecutive shots of each photo is 2 second period = 1970;//The interval between consecutive shots of each photo is 2 second
} }
else { else {
period = 1000 / max_cnt;//SF_MULTISHOT_INTEVEL_0S period = 1000 / max_cnt;//SF_MULTISHOT_INTEVEL_0S

View File

@ -69,7 +69,7 @@
#if SF_HW_TEST == ENABLE #if SF_HW_TEST == ENABLE
#define DEFAULT_MOVIE_SIZE MOVIE_SIZE_FRONT_1280x720P30 #define DEFAULT_MOVIE_SIZE MOVIE_SIZE_FRONT_1280x720P30
#else #else
#define DEFAULT_MOVIE_SIZE MOVIE_SIZE_CLONE_1920x1080P30_1920x1080P25 #define DEFAULT_MOVIE_SIZE MOVIE_SIZE_FRONT_1920x1080P30
#endif #endif
#endif #endif
#else #else

View File

@ -13,7 +13,7 @@ id_0_expt_time = 10000 #10000us
id_0_gain_ratio = 1000 #1x gain id_0_gain_ratio = 1000 #1x gain
[DIRECTION] [DIRECTION]
id_0_mirror = 1 #no mirror id_0_mirror = 0 #no mirror
id_0_flip = 1 #flip id_0_flip = 1 #flip
[POWER] [POWER]

View File

@ -17,7 +17,7 @@
}; };
DIRECTION { DIRECTION {
id_0_mirror = <1>; /* no mirror */ id_0_mirror = <0>; /* no mirror */
id_0_flip = <1>; /* flip */ id_0_flip = <1>; /* flip */
}; };