Merge branch 'Branch_S530' of 192.168.6.216:/linux-em-group/s530-ntk into branch_s530

This commit is contained in:
alisa 2023-08-30 23:39:12 +08:00
commit 948687ed10
26 changed files with 486 additions and 134 deletions

View File

@ -920,7 +920,8 @@
#define HUNTING_MCU_I2C DISABLE
#define HUNTING_MCU_UART ENABLE
#define HUNTING_IR_LED_940 DISABLE
#define SF_BASE_VERSION "7MD4RCwD6T9"
#define SF_EXIF_MN_BUF_SIZE 256
#define SF_BASE_VERSION "7MD4RCwD6TB"
#define HW_S530 1
#define DCF_DIR_NAME "MEDIA" /* 100MEDIA */
#define DCF_FILE_NAME "SYFW" /* SYFW0001.JPG */
@ -966,6 +967,7 @@
#define SF_MODULE_UP_FILE_PATH "/mnt/sd/EG915QNA.tar.bz2"
#define SF_CAM_UP_FILE "S530.tar.bz2"
#define SF_CAM_UP_FILE_PATH "/mnt/sd/S530.tar.bz2"
#define SF_CAMERA_GPS_INFO_FILENAME SF_SD_ROOT"/gps.txt"
//////////////////////sf end///////////////////////////////
/*******************************************************************************************

View File

@ -155,24 +155,7 @@ void Strg_CB(UINT32 event, UINT32 param1, UINT32 param2)
INIT_SETFLAG(FLGINIT_MOUNTFS);
#endif
Ux_PostEvent(NVTEVT_STRG_ATTACH, 2, param1, status);
#if HUNTING_CAMERA_MCU == ENABLE
INT32 uiStatus = 0;
UINT8 ucAttrib = 0;
uiStatus = FileSys_GetAttrib(PHOTO_THUMB_PATH, &ucAttrib);
if (uiStatus == FST_STA_OK) {
if(!(ucAttrib&FST_ATTRIB_HIDDEN)){
#if SF_IQ_TEST != ENABLE
FileSys_SetAttrib(PHOTO_THUMB_PATH, FST_ATTRIB_HIDDEN/* | FST_ATTRIB_SYSTEM*/, TRUE);
#endif
}
}
else {
FileSys_MakeDir(PHOTO_THUMB_PATH);
#if SF_IQ_TEST != ENABLE
FileSys_SetAttrib(PHOTO_THUMB_PATH, FST_ATTRIB_HIDDEN/* | FST_ATTRIB_SYSTEM*/, TRUE);
#endif
}
#endif
break;
default:
@ -181,7 +164,7 @@ void Strg_CB(UINT32 event, UINT32 param1, UINT32 param2)
}
#if HUNTING_CAMERA_MCU == ENABLE
if((CMD_FORMAT_SD_STA != sf_get_card_statu())){
if((FST_STA_OK != param2) && (CMD_FORMAT_SD_STA != sf_get_card_statu())){
stMessageBuf.arg1 = event;
stMessageBuf.arg2 = param1;
stMessageBuf.arg3 = param2;

View File

@ -71,7 +71,11 @@
#include <mntent.h>
#include <string.h>
#include "emmc.h"
#if HUNTING_CAMERA_MCU == ENABLE
#include <sf_message_queue.h>
#include <sf_param_struct.h>
#include "sf_sd_common.h"
#endif
#if (LOGFILE_FUNC==ENABLE)
#include "LogFile.h"
#endif
@ -793,7 +797,10 @@ INT32 System_OnStrgAttach(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
unsigned int *p_data;
#endif
UINT32 result = paramArray[1];
#if HUNTING_CAMERA_MCU == ENABLE
SF_MESSAGE_BUF_S stMessageBuf = {0};
#endif
#if defined(__FREERTOS)
if (p_fdt== NULL) {
DBG_ERR("p_fdt is NULL.\n");
@ -855,6 +862,34 @@ INT32 System_OnStrgAttach(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
//FileSys_GetDiskInfo(FST_INFO_DISK_SIZE);
System_SetState(SYS_STATE_FS, FS_INIT_OK);
#if HUNTING_CAMERA_MCU == ENABLE
INT32 uiStatus = 0;
UINT8 ucAttrib = 0;
uiStatus = FileSys_GetAttrib(PHOTO_THUMB_PATH, &ucAttrib);
if (uiStatus == FST_STA_OK) {
if(!(ucAttrib&FST_ATTRIB_HIDDEN)){
#if SF_IQ_TEST != ENABLE
FileSys_SetAttrib(PHOTO_THUMB_PATH, FST_ATTRIB_HIDDEN/* | FST_ATTRIB_SYSTEM*/, TRUE);
#endif
}
}
else {
FileSys_MakeDir(PHOTO_THUMB_PATH);
#if SF_IQ_TEST != ENABLE
FileSys_SetAttrib(PHOTO_THUMB_PATH, FST_ATTRIB_HIDDEN/* | FST_ATTRIB_SYSTEM*/, TRUE);
#endif
}
#if HUNTING_CAMERA_MCU == ENABLE
if((CMD_FORMAT_SD_STA != sf_get_card_statu())){
stMessageBuf.arg1 = STRG_CB_MOUNT_FINISH;
stMessageBuf.arg2 = result;
stMessageBuf.arg3 = FST_STA_OK;
stMessageBuf.cmdId = CMD_SD;
sf_com_message_send_to_app(&stMessageBuf);
}
#endif
#endif
#if defined(__FREERTOS)
if (p_shm && p_shm->boot.LdCtrl2 & LDCF_UPDATE_FW) {
FST_FILE hFile = FileSys_OpenFile(FW_DEL_INDIACTION_PATH, FST_OPEN_READ | FST_OPEN_EXISTING);

View File

@ -49,6 +49,7 @@ typedef struct {
UINT32 MakerNoteCheckID;
UINT16 TestData1;
UINT16 TestData2;
char ExifBuf[SF_EXIF_MN_BUF_SIZE];
//Please reserve two word space to let capture flow save the screennail info.
UINT32 ScreennailOffset;
UINT32 ScreennailSize;
@ -67,6 +68,7 @@ ER ExifCB(EXIF_EVENT event, PMEM_RANGE pBuffer, UINT32 uiRetParamNum, UINT32 *pP
MakerNoteSample.TestData1 = (UINT16)QUALITY_FINE;
#endif
MakerNoteSample.TestData2 = 0xA5A5;
//PhotoStamp_get_isp_status(0,&MakerNoteSample.ExifBuf[0],SF_EXIF_MN_BUF_SIZE);
memcpy((void *)pBuffer->addr, (void *) &MakerNoteSample, sizeof(MakerNoteSample));
pBuffer->size = sizeof(MakerNoteSample);
} else if (PARSE_MAKERNOTE == event) {

View File

@ -145,6 +145,100 @@ static void xUSBMakerInit_UVAC(UVAC_VEND_DEV_DESC *pUVACDevDesc)
extern void GOIO_Turn_Onoff_IRCUT(UINT8 onoff);
extern void GPIO_IRLed_Turn_Onoff(BOOL onoff);
/*
INT32 Set_Manual_AE(BOOL OnOff, UINT8 isSnapVideo))
{
static AET_STATUS_INFO ae_status_info = {0};
AET_MANUAL ae_manual = {0};
HD_RESULT hd_ret;
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get();
#endif
if ((hd_ret = vendor_isp_init()) != HD_OK) {
DBG_ERR("vendor_isp_init() fail(%d)\r\n", hd_ret);
}
ae_status_info.id = 0;
ae_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 ev %d ev_base %d\r\n",ae_status_info.status_info.ev,ae_status_info.status_info.ev_base);
vendor_isp_get_ae(AET_ITEM_MANUAL, &ae_manual);
if (((ae_status_info.status_info.lv / 1000000) < 7)&&(OnOff))
{
#if HUNTING_CAMERA_MCU == ENABLE
sf_set_ae_night_mode(1);
sf_ir_led_set(((2 == puiPara->NightMode) ? 2 : 1),puiPara->FlashLed, puiPara->NightMode,isSnapVideo);
ae_manual.manual.mode = 1;
if (puiPara->NightMode == 0) {
ae_manual.manual.expotime = 125000;//ae_status.status_info.expotime[0];
ae_manual.manual.iso_gain = ae_status_info.status_info.iso_gain[0]*ae_status_info.status_info.expotime[0]/125000;
}
else if (puiPara->NightMode == 1) {
ae_manual.manual.expotime = 66666;//ae_status.status_info.expotime[0];
ae_manual.manual.iso_gain = ae_status_info.status_info.iso_gain[0]*ae_status_info.status_info.expotime[0]/66666;
}
else {
ae_manual.manual.expotime = ae_status_info.status_info.expotime[0];
ae_manual.manual.iso_gain = ae_status_info.status_info.iso_gain[0];
}
#endif
}
else
{
ae_manual.manual.mode = 0;
#if HUNTING_CAMERA_MCU == ENABLE
sf_set_ae_night_mode(0);
sf_ir_led_set(0, 0, 0, 0);
#endif
}
vendor_isp_set_ae(AET_ITEM_MANUAL, &ae_manual);
if ((hd_ret = vendor_isp_uninit()) != HD_OK) {
DBG_ERR("vendor_isp_uninit() fail(%d)\r\n", hd_ret);
}
return 0;
}
*/
void Set_AE_Speed(void)
{
AET_EXTEND_PARAM ext_param = {0};
HD_RESULT hd_ret;
if ((hd_ret = vendor_isp_init()) != HD_OK) {
DBG_ERR("vendor_isp_init() fail(%d)\r\n", hd_ret);
}
ext_param.id = 0;
vendor_isp_get_ae(AET_ITEM_EXT_PARAM, &ext_param);
ext_param.ext_param.dgain_th = 128;
ext_param.ext_param.dgain_mode = 0;
ext_param.ext_param.down_speed = 700;
ext_param.ext_param.up_speed1 = 700;
ext_param.ext_param.up_speed2 = 100;
vendor_isp_set_ae(AET_ITEM_EXT_PARAM, &ext_param);
if ((hd_ret = vendor_isp_uninit()) != HD_OK) {
DBG_ERR("vendor_isp_uninit() fail(%d)\r\n", hd_ret);
}
}
INT32 Set_Cur_Day_Night_Status_cmd(BOOL OnOff)
{
@ -215,8 +309,6 @@ INT32 Set_Cur_Day_Night_Status(BOOL OnOff, UINT8 isSnapVideo)
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 ev %d ev_base %d\r\n",ae_status_info.status_info.ev,ae_status_info.status_info.ev_base);
ae_manual.id = 0;
vendor_isp_get_ae(AET_ITEM_MANUAL, &ae_manual);
if (((ae_status_info.status_info.lv / 1000000) < 7)&&(OnOff))
{
@ -231,29 +323,12 @@ INT32 Set_Cur_Day_Night_Status(BOOL OnOff, UINT8 isSnapVideo)
#if HUNTING_CAMERA_MCU == ENABLE
sf_set_ae_night_mode(1);
sf_ir_led_set(((2 == puiPara->NightMode) ? 2 : 1),puiPara->FlashLed, puiPara->NightMode,isSnapVideo);
if (OnOff){
vos_util_delay_ms(330);
}
ae_manual.manual.mode = 1;
if (puiPara->NightMode == 0) {
ae_manual.manual.expotime = 125000;//ae_status.status_info.expotime[0];
ae_manual.manual.iso_gain = ae_status_info.status_info.iso_gain[0]*ae_status_info.status_info.expotime[0]/125000;
}
else if (puiPara->NightMode == 1) {
ae_manual.manual.expotime = 66666;//ae_status.status_info.expotime[0];
ae_manual.manual.iso_gain = ae_status_info.status_info.iso_gain[0]*ae_status_info.status_info.expotime[0]/66666;
}
else {
ae_manual.manual.expotime = ae_status_info.status_info.expotime[0];
ae_manual.manual.iso_gain = ae_status_info.status_info.iso_gain[0];
}
#endif
}
else
{
night_mode.mode = 0;
awb_manual.manual.en = 0;
ae_manual.manual.mode = 0;
GOIO_Turn_Onoff_IRCUT(1);
//GPIO_IRLed_Turn_Onoff(0);
#if HUNTING_CAMERA_MCU == ENABLE
@ -263,13 +338,43 @@ INT32 Set_Cur_Day_Night_Status(BOOL OnOff, UINT8 isSnapVideo)
}
vendor_isp_set_awb(AWBT_ITEM_MANUAL, &awb_manual);
vendor_isp_set_iq(IQT_ITEM_NIGHT_MODE, &night_mode);
vendor_isp_set_ae(AET_ITEM_MANUAL, &ae_manual);
vendor_isp_set_iq(IQT_ITEM_NIGHT_MODE, &night_mode);
if ((hd_ret = vendor_isp_uninit()) != HD_OK) {
DBG_ERR("vendor_isp_uninit() fail(%d)\r\n", hd_ret);
}
//vos_util_delay_ms(20);
if (OnOff){
vos_util_delay_ms(1000);
}
if (isSnapVideo == 0) {
if ((hd_ret = vendor_isp_init()) != HD_OK) {
DBG_ERR("vendor_isp_init() fail(%d)\r\n", hd_ret);
}
if (OnOff){
ae_manual.manual.mode = 1;
if (puiPara->NightMode == 0) {
ae_manual.manual.expotime = 125000;//ae_status.status_info.expotime[0];
ae_manual.manual.iso_gain = ae_status_info.status_info.iso_gain[0]*ae_status_info.status_info.expotime[0]/125000;
}
else if (puiPara->NightMode == 1) {
ae_manual.manual.expotime = 66666;//ae_status.status_info.expotime[0];
ae_manual.manual.iso_gain = ae_status_info.status_info.iso_gain[0]*ae_status_info.status_info.expotime[0]/66666;
}
else {
ae_manual.manual.expotime = ae_status_info.status_info.expotime[0];
ae_manual.manual.iso_gain = ae_status_info.status_info.iso_gain[0];
}
}
else
{
ae_manual.manual.mode = 0;
}
vendor_isp_set_ae(AET_ITEM_MANUAL, &ae_manual);
if ((hd_ret = vendor_isp_uninit()) != HD_OK) {
DBG_ERR("vendor_isp_uninit() fail(%d)\r\n", hd_ret);
}
}
return 0;
}
@ -2159,6 +2264,7 @@ INT32 MovieExe_OnOpen(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
ImageApp_MovieMulti_SetParam(_CFG_REC_ID_1, MOVIEMULTI_PARAM_IMGCAP_EXIF_EN, TRUE);
MovieExe_InitExif();
#endif
Set_AE_Speed();
MovieExe_InitAlgFunc();

View File

@ -1433,7 +1433,7 @@ ER UiDateImprint_CopyData(DS_STAMP_INFOR *stampInfo,HD_VIDEO_FRAME* Img, UINT32
//sprintf((char *)puiPara->Latitude, "3458.3100N");
//sprintf((char *)puiPara->Longitude, "12294.4200E");
sf_get_gps_info_str(customString, 1);
if(puiPara->GpsSwitch == SF_ON)
if(0/*puiPara->GpsSwitch == SF_ON*/)
{
if(customString[0] != '\0')
{

View File

@ -201,6 +201,11 @@
#define DEFAULT_PIR_SWITCH SF_ON
#define DEFAULT_PIR_SENSITIVITY SF_PIR_SENSITIVITY_7
#define DEFAULT_TIMELAPSE_SWITCH SF_OFF
#if SF_BATTERY_TEST == ENABLE
#define DEFAULT_GPRS_SWITCH SF_OFF
#else
#define DEFAULT_GPRS_SWITCH SF_ON
#endif
#endif
#define DEFAULT_SF_CAMID SF_CAMID_OFF
@ -220,7 +225,6 @@
//#define DEFAULT_PIR_SENSITIVITY SF_PIR_SENSITIVITY_7
//#endif
#define DEFAULT_GPRS_SWITCH SF_ON
#define DEFAULT_BATTERY_TYPE SF_BATT_ALKALINE
#define DEFAULT_WORKTIME_SWITCH SF_OFF
#define DEFAULT_SIM_AUTO_SWITCH SF_SIM_SWITCH_AUTO

View File

@ -2321,7 +2321,7 @@ void sf_power_on_para_check_init(void)
}
else if(PowerOnMode == PWR_ON_DAILY_REPORT)
{
puiPara->NeedTimeSyncStartUp = 1;
//puiPara->NeedTimeSyncStartUp = 1;
if (puiPara->DailyReportSwitch) {
puiPara->GpsSendFlag = 1; // indicate need send dp file in b power on.
}

View File

@ -100,6 +100,8 @@ int get_gps_location(void);
void keep_get_gps_location(const SF_GPS_PARAM param);
void keep_seraching_gps_location(const int timeout_ms);
void app_RegisterNet_stop();
int sf_check_sd(void);
void sf_save_camera_gps_info(void);
#ifdef __cplusplus
#if __cplusplus

View File

@ -2674,7 +2674,7 @@ SINT32 sf_module_complete_init(void)
{
sprintf((char *)gsmPara, "at+qcfg=\"dbgctl\",1\r");
}
sf_set_sim_insert(1);
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
callTime = 0;
@ -4027,7 +4027,7 @@ SINT32 sf_auto_net_reg(void)
strcpy((char *)gsmPara, "AT+QLWCFG=\"startup\",0\r");
}
}
sf_set_sim_insert(1);
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
ttyData.len = strlen(gsmPara) + 2;

View File

@ -1332,7 +1332,13 @@ SINT32 sf_4g_module_ota_ftp(void)
.ftpsFlag = ssl_flag,
.user = (const char*)user,
.password = (const char*)password};
/*
printf("ftp_manager_init url = %s\n", config.ip);
printf("ftp_manager_init port = %d param port = %s\n", config.port, pPara->FtpsPort);
printf("ftp_manager_init ftpsFlag = %d\n", config.ftpsFlag);
printf("ftp_manager_init user = %s\n", config.user);
printf("ftp_manager_init password = %s\n", config.password);
*/
ftp_manager_init(config);
if(SF_TRUE == sf_file_IsExsit(SF_MODULE_UP_FILE_PATH)){
@ -1439,7 +1445,13 @@ SINT32 sf_camera_ota_ftp(void)
.ftpsFlag = ssl_flag,
.user = (const char*)user,
.password = (const char*)password};
/*
printf("ftp_manager_init url = %s\n", config.ip);
printf("ftp_manager_init port = %d param port = %s\n", config.port, pPara->FtpsPort);
printf("ftp_manager_init ftpsFlag = %d\n", config.ftpsFlag);
printf("ftp_manager_init user = %s\n", config.user);
printf("ftp_manager_init password = %s\n", config.password);
*/
ftp_manager_init(config);
if(SF_TRUE == sf_file_IsExsit(SF_CAM_UP_FILE_PATH)){

View File

@ -1298,7 +1298,8 @@ SINT32 sf_sms_read_message(void)
int msmflag = 0;
int msmtmp[255] = { 0 };
int msmmb = 0;
//static testflag = 0;
//static int testflag = 0;
SF_TTY_DATA_TYPE_S ttyData = { .waitMs = 2000, .len = 3, .lenMax = (GPRS_INFO_LINE_MAX-1), .cmp = "OK", .cmperr = "ERROR", .data = gsmPara};
UIMenuStoreInfo *pPara = sf_app_ui_para_get();
SF_PDT_PARAM_STATISTICS_S *pSifarPara = sf_statistics_param_get();
@ -1318,7 +1319,8 @@ SINT32 sf_sms_read_message(void)
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
printf("%s:%d s\n", __FUNCTION__, __LINE__);
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
ttyData.cmp = "OK";
ttyData.len = strlen(gsmPara) + 2;
break;
case SMS_SIM_IRA:
@ -1328,7 +1330,8 @@ SINT32 sf_sms_read_message(void)
printf("%s:%d s\n", __FUNCTION__, __LINE__);
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
ttyData.cmp = "OK";
ttyData.len = strlen(gsmPara) + 2;
break;
case SMS_SIM_CMGR:
@ -1412,7 +1415,8 @@ SINT32 sf_sms_read_message(void)
sprintf((char *)gsmPara, "AT+CMGR=%d\r", number); //read message
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
ttyData.cmp = "+CMGR:";
ttyData.len = strlen(gsmPara) + 2;
//number++;
if((pSifarPara->SmsFlag == 1) && (msmll))
{
@ -1431,7 +1435,7 @@ SINT32 sf_sms_read_message(void)
printf("\n[%s:%d] pSifarPara->SmsFlag:%d\n", __FUNCTION__, __LINE__, pSifarPara->SmsFlag);
/*if(0 == testflag)
{
snprintf((char *)gsmPara, sizeof(gsmPara), "AT+CMGR=0+CMGR: \"REC UNREAD\",\"8619925440232\",,\"22/10/25,14:29:23+32\"$R09*10#W1000001#W1000003#W1000005#W1000007#W1000009#W1000011#W1000013#W1000015#W1000017#W1000019$");
snprintf((char *)gsmPara, sizeof(gsmPara), "AT+CMGR=0+CMGR: \"REC UNREAD\",\"8619925440232\",,\"22/10/25,14:29:23+32\"$R06*1$");
testflag = 1;
}*/
@ -1546,6 +1550,8 @@ SINT32 sf_sms_read_message(void)
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
eSmsLocation = SMS_SIM_EXIT;
ttyData.cmp = "OK";
ttyData.len = strlen(gsmPara) + 2;
break;
case SMS_SIM_EXIT:
@ -1563,8 +1569,8 @@ SINT32 sf_sms_read_message(void)
}
sf_gsm_para_buff_clear();
sf_hal_ttyusb2_read(gsmPara, 200);
//sf_hal_ttyusb2_read(gsmPara, 200);
sf_hal_ttyusb2_read_buf(&ttyData);
printf("-----eSmsLocation:%d-----time:%d-----\n", eSmsLocation, time);
if((gsmPara[0] != '\0') && (eSmsLocation != SMS_SIM_PARA))
@ -1611,6 +1617,8 @@ SINT32 sf_check_message(void)
SINT32 ttyRet = 0;
char strtmp[20] = {0};
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
SF_TTY_DATA_TYPE_S ttyData = { .waitMs = 2000, .len = 3, .lenMax = (GPRS_INFO_LINE_MAX-1), .cmp = "OK", .cmperr = "ERROR", .data = gsmPara};
printf("%s:%d s\n", __FUNCTION__, __LINE__);
if(SUCCESS != app_ttyusb_IsOpen())
@ -1651,8 +1659,8 @@ SINT32 sf_check_message(void)
}
sf_gsm_para_buff_clear();
sf_hal_ttyusb2_read(gsmPara, 200);
//sf_hal_ttyusb2_read(gsmPara, 200);
sf_hal_ttyusb2_read_buf(&ttyData);
if(gsmPara[0] != '\0')
{
@ -1674,6 +1682,8 @@ SINT32 sf_check_message(void)
strcpy((char *)gsmPara, "AT+QCFG=\"sms/listmsgmap\",\"REC UNREAD\"\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
ttyData.cmp = "+QCFG:";
ttyData.len = strlen(gsmPara) + 2;
continue;
}
else
@ -1694,9 +1704,11 @@ SINT32 sf_check_message(void)
location = MMS_ATCMGL1;
//strcpy((char *)gsmPara, "AT+CMGL=\"ALL\"\r");
strcpy((char *)gsmPara, "AT+QCFG=\"sms/listmsgmap\",\"REC UNREAD\"\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
sf_sleep_ms(500);
ttyData.cmp = "+QCFG:";
ttyData.len = strlen(gsmPara) + 2;
}
break;
@ -1810,6 +1822,8 @@ SINT32 sf_check_message(void)
strcpy((char *)gsmPara, "AT+QCFG=\"sms/listmsgmap\",\"REC READ\"\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
ttyData.cmp = "+QCFG:";
ttyData.len = strlen(gsmPara) + 2;
}
else
{
@ -1827,6 +1841,8 @@ SINT32 sf_check_message(void)
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
sf_sleep_ms(500);
ttyData.cmp = "+QCFG:";
ttyData.len = strlen(gsmPara) + 2;
}
break;
@ -2148,6 +2164,8 @@ SINT32 sf_power_off_check_sms(void)
UINT8 PowerOnMode = sf_poweron_type_get();
SINT32 sendFlag = SF_FAILURE;
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
SLOGD(" s %d %d\n",sf_get_sim_insert(), sf_app_while_flag());
/*instant, hybrid mode*/
if((!sf_get_signal_ready_flag()) && (sf_get_sim_insert()) && (sf_app_while_flag()))
{

View File

@ -1149,6 +1149,11 @@ static SINT32 app_file_transfer(SF_FN_PARAM_S *pfnParam) {
SINT32 sf_cardv_file_to_app_send_thread(void) {
SINT32 s32ret = 0;
SF_FN_PARAM_S stpfncallback = {0};
if(SF_FAILURE == sf_check_sd())
{
MLOGE("ERROR sf_check_sd\n");
return SF_FAILURE;
}
stpfncallback.pstParam = sf_customer_param_get();
stpfncallback.pstaticParam = sf_app_ui_para_get();
// stpfncallback.pstaticParam = sf_statistics_param_get();
@ -1185,6 +1190,12 @@ SINT32 sf_cardv_file_to_app_send_thread(void) {
SINT32 sf_file_send_auto(void) {
SINT32 s32ret = 0;
SF_FN_PARAM_S stpfncallback = {0};
if(SF_FAILURE == sf_check_sd())
{
MLOGE("ERROR sf_check_sd\n");
return SF_FAILURE;
}
stpfncallback.pstParam = sf_customer_param_get();
stpfncallback.pstaticParam = sf_app_ui_para_get();
// stpfncallback.pstaticParam = sf_statistics_param_get();
@ -1505,9 +1516,15 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
s32ret = sf_4G_register_net_manual(pfnParam);
if (s32ret != SF_SUCCESS) {
sf_set_signal_ready_flag(TRUE);
sf_set_signal_ready_flag(TRUE);
}
if (1 == pCustomerParam->NeedTimeSyncStartUp) {
printf("[%s:%d]8 between A and B,no reg net again,no reset time sync.\n",
__FUNCTION__, __LINE__);
sf_set_dr_reset_time_sys_flag(1);
}
if (0 != sf_get_cq_signal()) {
pCustomerParam->NeedTimeSyncStartUp = 1;
}
@ -1528,11 +1545,7 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
if ((SF_ON == pCustomerParam->GpsSwitch)) {
s32ret = open_gps(s32ret);
}
if (1 == pCustomerParam->NeedTimeSyncStartUp) {
printf("[%s:%d]8 between A and B,no reg net again,no reset time sync.\n",
__FUNCTION__, __LINE__);
sf_set_dr_reset_time_sys_flag(1);
}
//sf_dailyReport_set();
//sf_share_mem_customer_down(1);
@ -2001,6 +2014,7 @@ int get_gps_location(void)
strcpy(pCustomerParam->Latitude, location.latitude);
LogInfo("location.Longitude = %s\n", pCustomerParam->Longitude);
LogInfo("location.Latitude = %s\n", pCustomerParam->Latitude);
sf_save_camera_gps_info();
return GPS_GET_SUCCEED;
}
return GPS_GET_FAILED;
@ -2069,6 +2083,76 @@ void serach_gps_onkey_start(void)
pthread_attr_destroy(&attr);
}
int sf_check_sd(void)
{
UINT8 i = 0;
int ret = SF_SUCCESS;
if (sf_sd_status_get() != SF_SD_OK) {
ret = SF_FAILURE;
for (i = 0; i < 20; i++) {
ret = sf_sd_status_get();
if (SF_SD_OK == ret) {
ret = SF_SUCCESS;
MLOGI("usb net ip up\r\n");
break;
} else {
sleep(1);
}
}
return ret;
}
return ret;
}
/*************************************************
Function: sf_save_camera_info
Description: save camera info to sd
Input: N/A
Output: N/A
Return: N/A
Others: N/A
*************************************************/
void sf_save_camera_gps_info(void)
{
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
char *temp = NULL;
int fd = 0;
printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
//if(fristRun == 0)
// return;
//fristRun = 0;
temp = malloc(200);
if (temp == NULL) {
MLOGE("temp malloc err\n");
return;
}
memset(temp,'\0', 200);
sprintf(temp, "LATITUDE:%s\r\nLONGITUDE:%s\r\n", puiPara->Latitude, puiPara->Longitude);
printf("[%s:%d] \n%s\n", __FUNCTION__, __LINE__,temp);
if(access((char*)SF_CAMERA_GPS_INFO_FILENAME, F_OK) == 0)
{
system("rm -rf /mnt/sd/gps.txt");
system("sync");
printf("[%s:%d] rm\n", __FUNCTION__, __LINE__);
//FileSys_DeleteFile();
}
fd = open(SF_CAMERA_GPS_INFO_FILENAME, O_WRONLY | O_CREAT);
if(fd)
{
lseek(fd, 0, SEEK_END);
write(fd, temp, strlen(temp));
close(fd);
system("sync");
}
free(temp);
printf("[%s:%d] e\n", __FUNCTION__, __LINE__);
}
#ifdef __cplusplus
#if __cplusplus
}

View File

@ -103,7 +103,30 @@ UINT32 sf_battery_voltage_convert(UINT32 resistanceGnd, UINT32 resistanceVin, UI
*/
//volt = 27 * adcVal * (resistanceGnd + resistanceVin) / resistanceGnd / 511;
volt = 27 * adcVal * (resistanceGnd + resistanceVin) / resistanceGnd / 2696;
//volt = 27 * adcVal * (resistanceGnd + resistanceVin) / resistanceGnd / 2696;
volt = (27 * adcVal + 3097) / 531;
return volt;
}
/*************************************************
Function: sf_aa_battery_voltage_convert
Description: battery voltage convert
Input: resistanceGnd:Grounding terminal resistance,resistanceVin:Input resistance,adcVal:adc val
Output: N/A
Return: Volt * 10
Others: N/A
*************************************************/
UINT32 sf_aa_battery_voltage_convert(UINT32 resistanceGnd, UINT32 resistanceVin, UINT32 adcVal)
{
UINT32 volt = 0;
/*511 * (detected voltage) / (SARADC reference voltage)
DC input voltage x resistanceGnd/(resistanceGnd + resistanceVin) = detected voltage,
SARADC reference voltage:1.8V
*/
//volt = 27 * adcVal * (resistanceGnd + resistanceVin) / resistanceGnd / 511;
volt = (27 * adcVal + 554) / 539;
return volt;
}
@ -112,10 +135,20 @@ UINT32 sf_battery_convert_to_adc(UINT32 resistanceGnd, UINT32 resistanceVin, UIN
UINT32 adcVal = 0;
//adcVal = volt * resistanceGnd * 511 / 27 / (resistanceGnd + resistanceVin);
adcVal = volt * resistanceGnd * 2696 / 27 / (resistanceGnd + resistanceVin);
//adcVal = volt * resistanceGnd * 2696 / 27 / (resistanceGnd + resistanceVin);
adcVal = (volt * 531 - 3097) / 27;
return adcVal;
}
UINT32 sf_aa_battery_convert_to_adc(UINT32 resistanceGnd, UINT32 resistanceVin, UINT32 volt)
{
UINT32 adcVal = 0;
//adcVal = volt * resistanceGnd * 511 / 27 / (resistanceGnd + resistanceVin);
//adcVal = volt * resistanceGnd * 2696 / 27 / (resistanceGnd + resistanceVin);
adcVal = (volt * 539 - 554) / 27;
return adcVal;
}
UINT32 sf_get_max_value(UINT32 *_ValueList)
{
UINT8 readBatCnt = 0;
@ -320,7 +353,7 @@ UINT32 sf_battery_adc_value_get_once(void)
if(sf_adc_value_get(SF_ADC_BATT, &batAdc) == SUCCESS)
{
batVoltageVal = sf_battery_voltage_convert(24, 100, batAdc);
batVoltageVal = sf_aa_battery_voltage_convert(24, 100, batAdc);
//batVoltageVal += 2;
if(puiPara->BatteryLogSwitch)
printf("Bat ADC Value:%d After Convert:%d(%d.%dV)\n",batAdc,batVoltageVal,batVoltageVal/10,batVoltageVal%10);
@ -638,7 +671,7 @@ signed int sf_battery_value_fast_get(void)
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(24, 100, batValueList[readBatCnt]),
printf("%s:%d [%d]Other Battery ADC Value=%d,After Convert:%d(%d.%dV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_aa_battery_convert_to_adc(24, 100, batValueList[readBatCnt]),
batValueList[readBatCnt], batValueList[readBatCnt] / 10, batValueList[readBatCnt] % 10);
}
}
@ -844,7 +877,7 @@ void sf_battery_level_polling(void)
}
else
{
printf("[average]Other Battery Adc:%d After Convert:(%d.%dV)\n\n", sf_battery_convert_to_adc(24, 100, BatVoltageVal),BatVoltageVal / 10, BatVoltageVal % 10);
printf("[average]Other Battery Adc:%d After Convert:(%d.%dV)\n\n", sf_aa_battery_convert_to_adc(24, 100, BatVoltageVal),BatVoltageVal / 10, BatVoltageVal % 10);
}
}
}

View File

@ -287,16 +287,28 @@ void sf_app_power_on_para_check_init(void)
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
UINT8 PowerOnMode = sf_poweron_type_get();
if(((PowerOnMode == SF_MCU_STARTUP_NORMAL) || (PowerOnMode == SF_MCU_STARTUP_OFF) || (PowerOnMode == SF_MCU_STARTUP_ONKEY)))
{
if(1 == puiPara->NeedTimeSyncStartUp){
puiPara->NeedTimeSyncStartUp = 0;
}
if(0 == puiPara->NetWorkNeedSearch){
puiPara->NetWorkNeedSearch = 1;
}
if(((PowerOnMode == SF_MCU_STARTUP_NORMAL) || (PowerOnMode == SF_MCU_STARTUP_OFF) || (PowerOnMode == SF_MCU_STARTUP_ONKEY)))
{
if(1 == puiPara->NeedTimeSyncStartUp){
puiPara->NeedTimeSyncStartUp = 0;
}
if(0 == puiPara->NetWorkNeedSearch){
puiPara->NetWorkNeedSearch = 1;
}
memset(puiPara->SimIccid,'\0',sizeof(puiPara->SimIccid));
}
}
else if(PowerOnMode == SF_MCU_STARTUP_SYN_PARAM)
{
puiPara->NetWorkNeedSearch = 0;
puiPara->NeedTimeSyncStartUp = 0;
}
else if(PowerOnMode == SF_MCU_STARTUP_DP)
{
//puiPara->NeedTimeSyncStartUp = 1;
if (puiPara->DailyReportSwitch) {
puiPara->GpsSendFlag = 1; // indicate need send dp file in b power on.
}
}
printf("PowerOnMode=%d NeedTimeSyncStartUp=%d NetWorkNeedSearch:%d\n", PowerOnMode, puiPara->NeedTimeSyncStartUp, puiPara->NetWorkNeedSearch);
if(puiPara->Multishot != sf_sys_get_flag(FL_CONTINUE_SHOT))
{

View File

@ -1519,12 +1519,20 @@ static const SF_CHAR* sf_process_message_getstatusstring(SF_MESSAGE_TYPE_E enTyp
static SINT32 sf_cardv_proccess_cmd_mcu(SF_MESSAGE_BUF_S *pMessageBuf)
{
static UINT8 wifistart = 0;
UINT8 powerOnMode = 0;
//printf("[%s:%d] ID = %#x\n", __FUNCTION__, __LINE__,pMessageBuf->arg1);
//SF_MESSAGE_BUF_S stMessageBuf = {0};
MLOGI("ID = %#x\n",pMessageBuf->arg1);
switch(pMessageBuf->arg1)
{
case SF_MCU_CMD_POWERON:
powerOnMode = sf_cardv_convert_power_on_mode();
if(pMessageBuf->arg2 != powerOnMode)
{
MLOGE("err get powerOnMode:%d powerOnMode:%d\n",pMessageBuf->arg2, powerOnMode);
Ux_PostEvent(NVTEVT_SYSTEM_SHUTDOWN, 1, APP_POWER_OFF_NORMAL);
}
sf_set_power_on_mode(pMessageBuf->arg2);
sf_mcu_set_irshtter(pMessageBuf->arg3);
break;
@ -1701,10 +1709,10 @@ static SINT32 sf_cardv_proccess_cmd_dev(SF_MESSAGE_BUF_S *pMessageBuf)
break;
case SF_DEV_CMD_BAT:
batteryVal = pMessageBuf->arg2;
batteryType = pMessageBuf->arg3 & 0xf0;
powerVal = pMessageBuf->arg3 & 0xf;
batteryType = (pMessageBuf->arg3>>16)&0x0F;//pMessageBuf->arg3 & 0xf0;
powerVal = pMessageBuf->arg3 & 0xFF;
sf_cardv_battery_level_update(batteryVal);
MLOGI("batteryVal:%d batteryType:%d\n",batteryVal,batteryType);
MLOGI("batteryVal:%d batteryType:%d powerVal:%d p:%d\n",batteryVal, batteryType, powerVal,pMessageBuf->arg3);
break;

View File

@ -947,7 +947,7 @@
#define HUNTING_MCU_UART ENABLE
#define HUNTING_IR_LED_940 DISABLE
#define SF_EXIF_MN_BUF_SIZE 256
#define SF_BASE_VERSION "7MD4RCwD6T9"
#define SF_BASE_VERSION "7MD4RCwD6TB"
#define HW_S530 1
#define DCF_DIR_NAME "MEDIA" /* 100MEDIA */
#define DCF_FILE_NAME "SYFW" /* SYFW0001.JPG */
@ -957,7 +957,6 @@
#define SF_THUMB_SEND_LIST PHOTO_THUMB_PATH"send.list"
#define SF_THUMB_SEND_AUTO PHOTO_THUMB_PATH"auto.list"
#define SF_TRIGGER_TIME_TEST DISABLE
#define SF_TRIGGER_TIME_TEST DISABLE
#define SF_IQ_TEST DISABLE
#define HW_S530 1
#define PHOTO_ISP_STAMP DISABLE
@ -975,7 +974,7 @@
#define SF_TEST_GPRS 1
#define CUSTOM_TEST_FTPS 0
#define SF_TEST_OTA_FTP 0
#define SF_TEST_OTA_FTP 1
#define CUSTOM_TEST_OTA_FTP 0
#define FASTBOOT_WAIT_FILESYS_TIMEOUT_MS 5000

View File

@ -55,6 +55,7 @@ static void card_insert_job(void)
}
// call the function to wait init finish
FileSys_WaitFinishEx('A');
FileSys_SetParamEx('A', FST_PARM_UPDATE_FSINFO , TRUE);
fastboot_set_done(BOOT_INIT_FILESYSOK);
printf("filesys_init e\r\n");
}

View File

@ -259,6 +259,8 @@ static void MovieFast_ShutDown(void)
#if HUNTING_CAMERA_MCU
sf_file_thumb_cfg_sava();
sf_para_print();
DBG_DUMP("wait filesys close ...\n");
FileSys_Close(FST_TIME_INFINITE);
#if SF_IQ_TEST != ENABLE
if(sf_get_power_off_flag()){
sf_mcu_reg_set(SF_MCU_POWEROFF,0);
@ -889,9 +891,10 @@ static void MovieFast_UserEventCb(UINT32 id, MOVIE_USER_CB_EVENT event_id, UINT3
#endif
DBG_DUMP("MOVIE_USER_CB_EVENT_JENC_DONE %s\n", tmp);
FST_FILE fp = FileSys_OpenFile(tmp, FST_OPEN_ALWAYS | FST_OPEN_WRITE);
FST_FILE fp = FileSys_OpenFile(tmp, FST_CREATE_ALWAYS | FST_OPEN_WRITE);
FileSys_WriteFile(fp, (UINT8*)ptr->addr_va, &ptr->size, 0, NULL);
FileSys_FlushFile(fp);
FileSys_CloseFile(fp);
thumb_current_path[0] = '\0';
}

View File

@ -894,6 +894,7 @@ INT32 PhotoFast_WriteFile(UINT32 Addr, UINT32 Size, UINT32 Fmt, UINT32 uiPathId)
Length = Size;
rt = FileSys_WriteFile(fp, (UINT8 *)Addr, &Length, 0, NULL);
FileSys_FlushFile(fp);
FileSys_CloseFile(fp);
if (rt == FST_STA_OK) {
DCF_AddDBfile(FilePath);
@ -1891,6 +1892,8 @@ static void PhotoFast_ShutDown(void)
#if HUNTING_CAMERA_MCU == ENABLE
sf_file_thumb_cfg_sava();
sf_para_print();
DBG_DUMP("wait filesys close ...\n");
FileSys_Close(FST_TIME_INFINITE);
#if SF_IQ_TEST != ENABLE
if(sf_get_power_off_flag()){
sf_mcu_reg_set(SF_MCU_POWEROFF,0);

View File

@ -857,7 +857,7 @@ INT32 PhotoFastCapDateImprint_GenYuvData(HD_VIDEO_FRAME *pDstImg)
//sprintf((char *)puiPara->Latitude, "3458.3100N");
//sprintf((char *)puiPara->Longitude, "12294.4200E");
sf_get_gps_info_str(customString, 1);
if(puiPara->GpsSwitch == SF_ON)
if(0/*puiPara->GpsSwitch == SF_ON*/)
{
if(customString[0] != '\0')
{

View File

@ -2159,9 +2159,10 @@ INT32 PhotoFast_SliceEncode_CB3(void* user_data)
#endif
DBG_IND("PHOTO THUMB %s\n", tmp);
FST_FILE fp = FileSys_OpenFile(tmp, FST_OPEN_ALWAYS | FST_OPEN_WRITE);
FST_FILE fp = FileSys_OpenFile(tmp, FST_CREATE_ALWAYS | FST_OPEN_WRITE);
FileSys_WriteFile(fp, (UINT8*)queue_ele_in->jpg_thumb_addr, &queue_ele_in->jpg_thumb_size, 0, NULL);
FileSys_FlushFile(fp);
FileSys_CloseFile(fp);
#if HUNTING_CAMERA_MCU == ENABLE

View File

@ -177,7 +177,7 @@
#if SF_IQ_TEST == ENABLE
#if SF_HW_TEST == ENABLE
#define DEFAULT_BOOT_WORK_MODE SF_CAM_MODE_PHOTO
#define DEFAULT_BOOT_WORK_MODE SF_CAM_MODE_PHOTO_VIDEO
#define DEFAULT_PIR_SWITCH SF_OFF
#define DEFAULT_PIR_SENSITIVITY SF_PIR_SENSITIVITY_0
#define DEFAULT_TIMELAPSE_SWITCH SF_ON
@ -201,6 +201,11 @@
#define DEFAULT_PIR_SWITCH SF_ON
#define DEFAULT_PIR_SENSITIVITY SF_PIR_SENSITIVITY_7
#define DEFAULT_TIMELAPSE_SWITCH SF_OFF
#if SF_BATTERY_TEST == ENABLE
#define DEFAULT_GPRS_SWITCH SF_OFF
#else
#define DEFAULT_GPRS_SWITCH SF_ON
#endif
#endif
#define DEFAULT_SF_CAMID SF_CAMID_OFF
@ -213,14 +218,13 @@
#define DEFAULT_PIR_DELAY_SWITCH SF_OFF
#define DEFAULT_GPRS_MODE SF_REMOTE_CONTROL_OFF
#define DEFAULT_DAILY_REPORT_SWITCH SF_ON
#define DEFAULT_GPS_SWITCH SF_OFF
#define DEFAULT_GPS_SWITCH SF_ON
//#if defined(_MODEL_565_HUNTING_EVB_LINUX_4G_68CS_)
//#define DEFAULT_PIR_SENSITIVITY SF_PIR_SENSITIVITY_HIGH
//#elif defined(_MODEL_565_HUNTING_EVB_LINUX_4G_S530_)
//#define DEFAULT_PIR_SENSITIVITY SF_PIR_SENSITIVITY_7
//#endif
#define DEFAULT_GPRS_SWITCH SF_ON
#define DEFAULT_BATTERY_TYPE SF_BATT_ALKALINE
#define DEFAULT_WORKTIME_SWITCH SF_OFF
#define DEFAULT_SIM_AUTO_SWITCH SF_SIM_SWITCH_AUTO

View File

@ -579,7 +579,7 @@ void Init_SysInfo(void)
void Init_MenuInfo(void)
{
DBG_IND("[Init_MenuInfo][PStore update state]\r\n");
DBG_IND("Version %s %d\r\n", currentInfo.pVersion, currentInfo.uhInfoSize);
DBG_IND("uhInfoSize:%d\r\n", currentInfo.uhInfoSize);
SysCheckFlag(); // check flag (limit value)
//SysSetFixedFlag(); // set fixed flag
@ -652,7 +652,7 @@ void KeyScan_EnableMisc(BOOL bEn)
GxPower_SetControl(GXPWR_CTRL_AUTOPOWEROFF_EN, 0xff); //reset
GxPower_SetControl(GXPWR_CTRL_AUTOSLEEP_EN, 0xff); //reset
SxTimer_SetFuncActive(SX_TIMER_DET_AUTOPOWEROFF_ID, FALSE);
#if (USB_MODE == ENABLE)
#if (USB_MODE==ENABLE)
SxTimer_SetFuncActive(SX_TIMER_DET_USB_ID, FALSE);
#endif
//UISound_EnableKey(FALSE); // 660 is full-duplex for audio
@ -663,7 +663,7 @@ void KeyScan_EnableMisc(BOOL bEn)
//#NT#Fix Mantis Issue 0113246
SxTimer_SetFuncActive(SX_TIMER_DET_AUTOPOWEROFF_ID, TRUE);
//#NT#2016/11/21#Adam Su -end
#if (USB_MODE == ENABLE)
#if (USB_MODE==ENABLE)
SxTimer_SetFuncActive(SX_TIMER_DET_USB_ID, TRUE);
#endif
//UISound_EnableKey(TRUE); // 660 is full-duplex for audio
@ -1099,8 +1099,8 @@ void SysResetFlag(void)
{
puiPara->TimelapseTime.Hour = 0;
#if SF_HW_TEST == ENABLE
puiPara->TimelapseTime.Min = 0;
puiPara->TimelapseTime.Sec = 30;
puiPara->TimelapseTime.Min = 3;
puiPara->TimelapseTime.Sec = 0;
#else
puiPara->TimelapseTime.Min = 0;
puiPara->TimelapseTime.Sec = 5;
@ -1206,7 +1206,9 @@ void SysResetFlag(void)
snprintf((char *)puiPara->strPASSPHRASE_hotspot_1, sizeof(puiPara->strPASSPHRASE_hotspot_1), "S210X123");
#endif
snprintf((char *)puiPara->WifiApPWD, sizeof(puiPara->WifiApPWD), "Reveal2021");
UINT8 tmpStr[60] = {0};
#if SF_TEST_GPRS
snprintf((char *)puiPara->FtpIp, sizeof(puiPara->FtpIp), USER_FTP_IP);
@ -1230,6 +1232,7 @@ void SysResetFlag(void)
snprintf((char *)puiPara->FtpPwd, sizeof(puiPara->FtpPwd), (char *)tmpStr);
#endif
memset(tmpStr, '\0', sizeof(tmpStr));
sf_base64_decode(OTA_FTP_IP, (char *)tmpStr);
snprintf((char *)puiPara->OtaFtpIp, sizeof(puiPara->OtaFtpIp), (char *)tmpStr);
@ -1242,14 +1245,14 @@ void SysResetFlag(void)
memset(tmpStr, '\0', sizeof(tmpStr));
sf_base64_decode(OTA_FTP_PASSWORD, (char *)tmpStr);
snprintf((char *)puiPara->OtaFtpPassWord, sizeof(puiPara->OtaFtpPassWord), (char *)tmpStr);
#if defined(_MODEL_565_HUNTING_EVB_LINUX_4G_S530_)
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;
#endif
#endif
puiPara->x1 = 0;
puiPara->x2 = 0;
@ -1257,18 +1260,10 @@ void SysResetFlag(void)
puiPara->x4 = 0;
puiPara->x5 = 0;
puiPara->x6 = 0;
#else
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);
//ImgSize
@ -1413,13 +1408,7 @@ void SysExeMenuSettingFuncs(void)
#endif
//#NT#2023/01/11#Eric - begin //#NT#Support
//=====================Sifar=============///Eric
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get();
Ux_SendEvent(&UISetupObjCtrl, NVTEVT_EXE_BOOTWORKMODE, 1, puiPara->CamMode);
#else
Ux_SendEvent(&UISetupObjCtrl, NVTEVT_EXE_BOOTWORKMODE, 1, SysGetFlag(CamMode));
#endif
// Ux_SendEvent(&UISetupObjCtrl, NVTEVT_EXE_BOOTWORKMODE, 1, SysGetFlag(CamMode));
//#NT#2023/01/11#Eric - end
}
@ -1723,16 +1712,29 @@ void sf_power_on_para_check_init(void)
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get();
UINT8 PowerOnMode = sf_convert_power_on_mode();
if(((PowerOnMode == PWR_ON_AUTO) || (PowerOnMode == PWR_OFF) || (PowerOnMode == PWR_ON_SETUP)))
{
if(1 == puiPara->NeedTimeSyncStartUp){
puiPara->NeedTimeSyncStartUp = 0;
}
if(0 == puiPara->NetWorkNeedSearch){
puiPara->NetWorkNeedSearch = 1;
}
if(((PowerOnMode == PWR_ON_AUTO) || (PowerOnMode == PWR_OFF) || (PowerOnMode == PWR_ON_SETUP)))
{
if(1 == puiPara->NeedTimeSyncStartUp){
puiPara->NeedTimeSyncStartUp = 0;
}
if(0 == puiPara->NetWorkNeedSearch){
puiPara->NetWorkNeedSearch = 1;
}
memset(puiPara->SimIccid,'\0',sizeof(puiPara->SimIccid));
}
}
else if(PowerOnMode == PWR_ON_TIME_SYNC)
{
puiPara->NetWorkNeedSearch = 0;
puiPara->NeedTimeSyncStartUp = 0;
}
else if(PowerOnMode == PWR_ON_DAILY_REPORT)
{
//puiPara->NeedTimeSyncStartUp = 1;
if (puiPara->DailyReportSwitch) {
puiPara->GpsSendFlag = 1; // indicate need send dp file in b power on.
}
}
printf("PowerOnMode=%d NeedTimeSyncStartUp=%d NetWorkNeedSearch:%d\n", PowerOnMode, puiPara->NeedTimeSyncStartUp, puiPara->NetWorkNeedSearch);
if(puiPara->Multishot != SysGetFlag(FL_CONTINUE_SHOT))
{

View File

@ -107,7 +107,30 @@ UINT32 sf_battery_voltage_convert(UINT32 resistanceGnd, UINT32 resistanceVin, UI
*/
//volt = 27 * adcVal * (resistanceGnd + resistanceVin) / resistanceGnd / 511;
volt = 27 * adcVal * (resistanceGnd + resistanceVin) / resistanceGnd / 2696;
//volt = 27 * adcVal * (resistanceGnd + resistanceVin) / resistanceGnd / 2696;
volt = (27 * adcVal + 3097) / 531;
return volt;
}
/*************************************************
Function: sf_aa_battery_voltage_convert
Description: battery voltage convert
Input: resistanceGnd:Grounding terminal resistance,resistanceVin:Input resistance,adcVal:adc val
Output: N/A
Return: Volt * 10
Others: N/A
*************************************************/
UINT32 sf_aa_battery_voltage_convert(UINT32 resistanceGnd, UINT32 resistanceVin, UINT32 adcVal)
{
UINT32 volt = 0;
/*511 * (detected voltage) / (SARADC reference voltage)
DC input voltage x resistanceGnd/(resistanceGnd + resistanceVin) = detected voltage,
SARADC reference voltage:1.8V
*/
//volt = 27 * adcVal * (resistanceGnd + resistanceVin) / resistanceGnd / 511;
volt = (27 * adcVal + 554) / 539;
return volt;
}
@ -116,10 +139,19 @@ UINT32 sf_battery_convert_to_adc(UINT32 resistanceGnd, UINT32 resistanceVin, UIN
UINT32 adcVal = 0;
//adcVal = volt * resistanceGnd * 511 / 27 / (resistanceGnd + resistanceVin);
adcVal = volt * resistanceGnd * 2696 / 27 / (resistanceGnd + resistanceVin);
//adcVal = volt * resistanceGnd * 2696 / 27 / (resistanceGnd + resistanceVin);
adcVal = (volt * 531 - 3097) / 27;
return adcVal;
}
UINT32 sf_aa_battery_convert_to_adc(UINT32 resistanceGnd, UINT32 resistanceVin, UINT32 volt)
{
UINT32 adcVal = 0;
//adcVal = volt * resistanceGnd * 511 / 27 / (resistanceGnd + resistanceVin);
//adcVal = volt * resistanceGnd * 2696 / 27 / (resistanceGnd + resistanceVin);
adcVal = (volt * 539 - 554) / 27;
return adcVal;
}
UINT32 sf_get_max_value(UINT32 *_ValueList)
{
UINT8 readBatCnt = 0;
@ -349,7 +381,7 @@ UINT32 sf_battery_adc_value_get_once(void)
{
if(sf_adc_value_get(SF_ADC_BATT, &batAdc) == SUCCESS)
{
batVoltageVal = sf_battery_voltage_convert(24, 100, batAdc);
batVoltageVal = sf_aa_battery_voltage_convert(24, 100, batAdc);
//batVoltageVal += 4;
if(puiPara->BatteryLogSwitch)
printf("Bat ADC Value:%lu After Convert:%lu(%lu.%luV)\n",batAdc,batVoltageVal,batVoltageVal/10,batVoltageVal%10);
@ -663,7 +695,7 @@ signed int sf_battery_value_fast_get(void)
if(puiPara->BatteryLogSwitch)
{
printf("%s:%d [%d]Other Battery ADC Value=%lu,After Convert:%lu(%lu.%luV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(24, 100, batValueList[readBatCnt]),
printf("%s:%d [%d]Other Battery ADC Value=%lu,After Convert:%lu(%lu.%luV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_aa_battery_convert_to_adc(24, 100, batValueList[readBatCnt]),
batValueList[readBatCnt], batValueList[readBatCnt] / 10, batValueList[readBatCnt] % 10);
}
}
@ -1692,7 +1724,7 @@ void sf_battery_print(void)
}
else
{
printf("Other ADC Value=%lu V:(%lu.%luV)\n", sf_battery_convert_to_adc(24, 100, BatVoltageVal), BatVoltageVal / 10, BatVoltageVal % 10);
printf("Other ADC Value=%lu V:(%lu.%luV)\n", sf_aa_battery_convert_to_adc(24, 100, BatVoltageVal), BatVoltageVal / 10, BatVoltageVal % 10);
}
}
#endif

View File

@ -2153,6 +2153,9 @@ void sf_file_thumb_cfg_sava(void)
//FileSys_CloseFile(fp);
free(pThumbFileCfg);
#endif
//printf("%s:%d test\n", __FUNCTION__, __LINE__);
//return ;
UINT8 fileIndex = 0;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
@ -2198,7 +2201,7 @@ void sf_file_thumb_cfg_sava(void)
else {
fd = open(sendListName, O_APPEND | O_WRONLY | O_CREAT);
}*/
fs = FileSys_OpenFile(sendListName, FST_OPEN_ALWAYS | FST_OPEN_WRITE);
fs = FileSys_OpenFile(sendListName, FST_CREATE_ALWAYS | FST_OPEN_WRITE);
if(/*fd*/fs)
{
for(fileIndex = 0; fileIndex < pThumbFileCfg->filecnt; fileIndex++)
@ -2208,6 +2211,7 @@ void sf_file_thumb_cfg_sava(void)
printf("%s:%d thumbfileSize:%ld thumbfileName:%s thumbfilePath:%s\n", __FUNCTION__, __LINE__,pThumbFileCfg->stfileattr[fileIndex].thumbfileSize,pThumbFileCfg->stfileattr[fileIndex].thumbfileName,pThumbFileCfg->stfileattr[fileIndex].thumbfilePath);
}
}
FileSys_FlushFile(fs);
FileSys_CloseFile(fs);
//close(fd);
}
@ -2218,7 +2222,7 @@ void sf_file_thumb_cfg_sava(void)
char str1[6] = { 0 };
char str2[6] = { 0 };
printf("fileName:%s\n",SF_BATTERY_TEST_FILE);
fs = FileSys_OpenFile(SF_BATTERY_TEST_FILE, FST_OPEN_ALWAYS | FST_OPEN_WRITE);
fs = FileSys_OpenFile(SF_BATTERY_TEST_FILE, FST_CREATE_ALWAYS | FST_OPEN_WRITE);
if(fs)
{
for(fileIndex = 0; fileIndex < pThumbFileCfg->filecnt; fileIndex++)
@ -2232,6 +2236,7 @@ void sf_file_thumb_cfg_sava(void)
sf_BatteryInfoSave(str2,fs);
}
}
FileSys_FlushFile(fs);
FileSys_CloseFile(fs);
//close(fd);
}
@ -2243,7 +2248,7 @@ void sf_file_thumb_cfg_sava(void)
char str4[6] = { 0 };
printf("fileName:%s\n",SF_HW_TEST_FILE);
fs = FileSys_OpenFile(SF_HW_TEST_FILE, FST_OPEN_ALWAYS | FST_OPEN_WRITE);
fs = FileSys_OpenFile(SF_HW_TEST_FILE, FST_CREATE_ALWAYS | FST_OPEN_WRITE);
if(fs)
{
for(fileIndex = 0; fileIndex < pThumbFileCfg->filecnt; fileIndex++)
@ -2257,6 +2262,7 @@ void sf_file_thumb_cfg_sava(void)
sf_hw_info_save(str4,fs);
}
}
FileSys_FlushFile(fs);
FileSys_CloseFile(fs);
//close(fd);
}