1.修改4g业务;2.更新0606

This commit is contained in:
payton 2023-06-06 19:03:36 +08:00
parent 2b8029a43d
commit b3691380ec
55 changed files with 1522 additions and 742 deletions

View File

@ -50,7 +50,7 @@ my_mount()
mkdir -p "${MNT_PATH}/${MNT_DIR}" || exit 1 mkdir -p "${MNT_PATH}/${MNT_DIR}" || exit 1
fat_type=`blkid "$MOUNTDEV" | awk -F'TYPE=' '{print $NF}'` fat_type=`blkid "$MOUNTDEV" | awk -F'TYPE=' '{print $NF}'`
if [ "${fat_type}" == "\"vfat\"" ]; then if [ "${fat_type}" == "\"vfat\"" ]; then
if ! mount -o dirsync,time_offset=$time_offset_total_m "$MOUNTDEV" "${MNT_PATH}/${MNT_DIR}" 2>&1 | tee -a /tmp/mountstat; then if ! mount -o usefree,dirsync,time_offset=$time_offset_total_m "$MOUNTDEV" "${MNT_PATH}/${MNT_DIR}" 2>&1 | tee -a /tmp/mountstat; then
echo "$MOUNTDEV $MNT_PATH/$MNT_DIR ignore defaults 0 0" >> /tmp/.nvt_mounts echo "$MOUNTDEV $MNT_PATH/$MNT_DIR ignore defaults 0 0" >> /tmp/.nvt_mounts
exit 1 exit 1
fi fi
@ -209,7 +209,7 @@ if [ -z $DEVPATH ]; then
# Inserted but can't be mounted # Inserted but can't be mounted
fat_type=`blkid "$MOUNTDEV" | awk -F'TYPE=' '{print $NF}'` fat_type=`blkid "$MOUNTDEV" | awk -F'TYPE=' '{print $NF}'`
if [ "${fat_type}" == "\"vfat\"" ]; then if [ "${fat_type}" == "\"vfat\"" ]; then
if ! mount -o dirsync,time_offset=$time_offset_total_m "$MOUNTDEV" "${MNT_PATH}/${MNT_DIR}" 2>&1 | tee -a /tmp/mountstat; then if ! mount -o usefree,dirsync,time_offset=$time_offset_total_m "$MOUNTDEV" "${MNT_PATH}/${MNT_DIR}" 2>&1 | tee -a /tmp/mountstat; then
echo "$MOUNTDEV $MNT_PATH/$MNT_DIR ignore defaults 0 0" >> /tmp/.nvt_mounts echo "$MOUNTDEV $MNT_PATH/$MNT_DIR ignore defaults 0 0" >> /tmp/.nvt_mounts
continue continue
fi fi

View File

@ -917,12 +917,18 @@
#define DZOOM_FUNC ENABLE #define DZOOM_FUNC ENABLE
#define HUNTING_MCU_I2C DISABLE #define HUNTING_MCU_I2C DISABLE
#define HUNTING_MCU_UART ENABLE #define HUNTING_MCU_UART ENABLE
#define HUNTING_IR_LED_940 ENABLE//DISABLE #define HUNTING_IR_LED_940 ENABLE
#define SF_BASE_VERSION "7MD4RCwD3T8" #define SF_BASE_VERSION "7MD4RCwD6T2"
#define HW_S530 1 #define HW_S530 1
#define DCF_DIR_NAME "MEDIA" /* 100HUNTI */ #define DCF_DIR_NAME "MEDIA" /* 100MEDIA */
#define DCF_FILE_NAME "SYFW" /* IMAG0001.JPG */ #define DCF_FILE_NAME "SYFW" /* SYFW0001.JPG */
#define PHOTO_THUMB_PATH "A:\\THUMB\\"
#define MOVIE_THUMB_PATH "A:\\THUMB\\"
#define SF_SD_ROOT "/mnt/sd/"
#define SF_SEND_LIST_DIR "/mnt/sd/THUMB/"
#define SF_THUMB_SEND_LIST SF_SEND_LIST_DIR"send.list"
#define SF_IQ_TEST ENABLE
#define PHOTO_ISP_STAMP DISABLE #define PHOTO_ISP_STAMP DISABLE
#define SF_BASE_VERSION_FEA "R2.3" #define SF_BASE_VERSION_FEA "R2.3"

View File

@ -851,7 +851,7 @@ INT32 System_OnStrgAttach(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
DCF_ScanObj(); DCF_ScanObj();
// } // }
#endif #endif
FileSys_GetDiskInfo(FST_INFO_DISK_SIZE); //FileSys_GetDiskInfo(FST_INFO_DISK_SIZE);
System_SetState(SYS_STATE_FS, FS_INIT_OK); System_SetState(SYS_STATE_FS, FS_INIT_OK);
#if defined(__FREERTOS) #if defined(__FREERTOS)

View File

@ -61,7 +61,6 @@ static UINT32 raw_enc_path = 0;
/********************************************************************************** /**********************************************************************************
* independent thumbnail * independent thumbnail
*********************************************************************************/ *********************************************************************************/
#define MOVIE_THUMB_PATH "A:\\Thumb\\"
static char thumb_current_path_main[256] = {'\0'}; static char thumb_current_path_main[256] = {'\0'};
static char thumb_current_path_clone[256] = {'\0'}; static char thumb_current_path_clone[256] = {'\0'};

View File

@ -51,7 +51,6 @@ BOOL _g_bFirstPhoto = TRUE;
/********************************************************************************** /**********************************************************************************
* independent thumbnail * independent thumbnail
*********************************************************************************/ *********************************************************************************/
#define PHOTO_THUMB_PATH "A:\\Thumb\\"
#if(PHOTO_MODE==ENABLE) #if(PHOTO_MODE==ENABLE)
@ -2464,6 +2463,9 @@ INT32 PhotoExe_OnOpen(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
// g_photo_ImageRatioSize = IMAGERATIO_SIZE[4]; // g_photo_ImageRatioSize = IMAGERATIO_SIZE[4];
FileSys_MakeDir(PHOTO_THUMB_PATH); FileSys_MakeDir(PHOTO_THUMB_PATH);
#if SF_IQ_TEST != ENABLE
FileSys_SetAttrib(PHOTO_THUMB_PATH, FST_ATTRIB_HIDDEN | FST_ATTRIB_SYSTEM, TRUE);
#endif
GOIO_Turn_Onoff_IRCUT(1); GOIO_Turn_Onoff_IRCUT(1);
//sf_ir_led_set(((2 == puiPara->NightMode) ? 2 : 1),puiPara->FlashLed, puiPara->NightMode,0); //sf_ir_led_set(((2 == puiPara->NightMode) ? 2 : 1),puiPara->FlashLed, puiPara->NightMode,0);
@ -6347,7 +6349,7 @@ INT32 PhotoExe_Preview_SliceEncode_CB3(void* user_data)
#if HUNTING_CAMERA_MCU == ENABLE #if HUNTING_CAMERA_MCU == ENABLE
char tmp2[64] = {'\0'}; char tmp2[64] = {'\0'};
memset(tmp, '\0', sizeof(tmp)); memset(tmp, '\0', sizeof(tmp));
snprintf(tmp, sizeof(tmp), "%sW%s%s.JPG", SF_SD_THUMB_PATH, folder, number); /* DCF 8.3 naming rule */ snprintf(tmp, sizeof(tmp), "%sW%s%s.JPG", SF_SEND_LIST_DIR, folder, number); /* DCF 8.3 naming rule */
snprintf(tmp2, sizeof(tmp2), "W%s%s.JPG", folder, number); /* DCF 8.3 naming rule */ snprintf(tmp2, sizeof(tmp2), "W%s%s.JPG", folder, number); /* DCF 8.3 naming rule */
DBG_DUMP("PHOTO THUMB %s \n %s\n", tmp, tmp2); DBG_DUMP("PHOTO THUMB %s \n %s\n", tmp, tmp2);
sf_file_thumb_cfg_fill(tmp, tmp2, queue_ele_in->jpg_thumb_size, SF_FILE_TYPE_PIC_SMALL); sf_file_thumb_cfg_fill(tmp, tmp2, queue_ele_in->jpg_thumb_size, SF_FILE_TYPE_PIC_SMALL);

View File

@ -183,7 +183,12 @@
#elif defined(_MODEL_565_HUNTING_EVB_LINUX_4G_S530_) #elif defined(_MODEL_565_HUNTING_EVB_LINUX_4G_S530_)
#define DEFAULT_PIR_SENSITIVITY SF_PIR_SENSITIVITY_7 #define DEFAULT_PIR_SENSITIVITY SF_PIR_SENSITIVITY_7
#endif #endif
#if SF_IQ_TEST == ENABLE
#define DEFAULT_NET_WORK_NEED_SEARCH SF_OFF #define DEFAULT_NET_WORK_NEED_SEARCH SF_OFF
#else
#define DEFAULT_NET_WORK_NEED_SEARCH SF_ON
#endif
#define DEFAULT_GPRS_SWITCH SF_OFF #define DEFAULT_GPRS_SWITCH SF_OFF
#define DEFAULT_BATTERY_TYPE SF_BATT_ALKALINE #define DEFAULT_BATTERY_TYPE SF_BATT_ALKALINE
#define DEFAULT_WORKTIME_SWITCH SF_OFF #define DEFAULT_WORKTIME_SWITCH SF_OFF

View File

@ -506,7 +506,9 @@ void Load_MenuInfo(void)
Save_MenuInfo(); Save_MenuInfo();
} }
#endif #endif
#if HUNTING_CAMERA_MCU == ENABLE
sf_share_mem_customer_down(0);
#endif
return; return;
} }
@ -1707,6 +1709,16 @@ void SysResetFlag(void)
puiPara->FtpSwitch = DEFAULT_FTP_SWITCH; puiPara->FtpSwitch = DEFAULT_FTP_SWITCH;
puiPara->MultiShotIntevel = DEFAULT_MULTISHOT_INTEVEL; puiPara->MultiShotIntevel = DEFAULT_MULTISHOT_INTEVEL;
if(puiPara->ModuleImei[0] != '\0')
{
puiPara->DailyReportTime.Hour = ((UINT16)(puiPara->ModuleImei[11]-48)*10+(puiPara->ModuleImei[12]-48))%12;
puiPara->DailyReportTime.Min = ((UINT16)(puiPara->ModuleImei[13]-48)*10+(puiPara->ModuleImei[14]-48))%60;
}
else
{
puiPara->DailyReportTime.Hour = 0;
puiPara->DailyReportTime.Min = 0;
}
memset(puiPara ->FtpIp,'\0', sizeof(puiPara ->FtpIp)); memset(puiPara ->FtpIp,'\0', sizeof(puiPara ->FtpIp));
memset(puiPara ->FtpPort, '\0', sizeof(puiPara ->FtpPort)); memset(puiPara ->FtpPort, '\0', sizeof(puiPara ->FtpPort));
memset(puiPara ->FtpUsr, '\0', sizeof(puiPara ->FtpUsr)); memset(puiPara ->FtpUsr, '\0', sizeof(puiPara ->FtpUsr));

View File

@ -359,7 +359,11 @@ void sf_set_sim_insert(UINT32 sim);
int sf_get_signal_ready(void); int sf_get_signal_ready(void);
void sf_set_sim_pin_flag(UINT8 simPin, UINT8 simPins, UINT8 simPinPuk); void sf_set_sim_pin_flag(UINT8 simPin, UINT8 simPins, UINT8 simPinPuk);
void sf_set_cq_signal(UINT8 csq); void sf_set_cq_signal(UINT8 csq);
UINT8 sf_get_cq_signal(void);
void sf_mcu_version_get(UINT8 *mcuVer); void sf_mcu_version_get(UINT8 *mcuVer);
void sf_dailyReport_set(void);
UINT16 sf_mcu_get_irshtter(void);
void sf_set_dr_reset_time_sys_flag(UINT8 value);
extern unsigned short TrigType; extern unsigned short TrigType;

View File

@ -256,7 +256,7 @@ SINT32 sf_get_ntp(SINT32 value);
UINT8 sf_get_pdp_index(void); UINT8 sf_get_pdp_index(void);
void sf_custom_str_get(UINT8 *pCustomStr); void sf_custom_str_get(UINT8 *pStr);
void sf_get_send_video_fname(UINT8 *videoDirKey, UINT8 *videoFname); void sf_get_send_video_fname(UINT8 *videoDirKey, UINT8 *videoFname);

View File

@ -19,6 +19,15 @@ UINT8 sf_get_upload_to_module_flag(void);
void sf_set_upload_to_module_flag(UINT8 Falg); void sf_set_upload_to_module_flag(UINT8 Falg);
void sf_app_set_temper(SINT16 val); /*0:°F 1:°C */
void sf_app_set_battery(UINT8 val, UINT8 type);
UINT32 sf_create_dailyreport_file(void);
UINT8 sf_app_get_battery(void);
void sf_custom_send_str_get(UINT8 *sendName, UINT8 *pStr);
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
} }

View File

@ -12,9 +12,6 @@ extern "C" {
#define SF_VIDEO_LOOP_NUM 4 /*PIC 3 + VIDEO 1*/ #define SF_VIDEO_LOOP_NUM 4 /*PIC 3 + VIDEO 1*/
#define SF_SEND_LIST_ITEM_LENGTH 15 #define SF_SEND_LIST_ITEM_LENGTH 15
#define SF_THUMB_SEND_LIST "/mnt/sd/Thumb/send.list"
#define SF_SD_THUMB_PATH_CFG "/mnt/sd/Thumb/ThumbFileCfg"
#define SF_FILE_ERROR_NO_FILE SF_ERR_ID(SF_MOD_FILE, ERROR_NO_FILE) #define SF_FILE_ERROR_NO_FILE SF_ERR_ID(SF_MOD_FILE, ERROR_NO_FILE)
typedef enum sf_SUBSCRIBE_TYPE_E typedef enum sf_SUBSCRIBE_TYPE_E
@ -81,7 +78,7 @@ SF_SRCFILE_ATTR_S* sf_file_thumb_cfg_get(void);
SINT32 sf_file_size_get(SF_CHAR *filePath,UINT32 *pFileSize); SINT32 sf_file_size_get(SF_CHAR *filePath,UINT32 *pFileSize);
BOOL sf_check_auto_thumb_file(VOID); BOOL sf_check_auto_thumb_file(VOID);
UINT8 sf_get_send_file_list(char *sendfileList, UINT8 *fileTotal);
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
} }

View File

@ -141,8 +141,11 @@ extern "C" {
#define SF_SD_ROOT "/mnt/sd/" #define SF_SD_ROOT "/mnt/sd/"
#define SIFAR_CUSTOMER_PARAM_PATH "/misc/sfSysParm.bin" #define SIFAR_CUSTOMER_PARAM_PATH "/misc/sfSysParm.bin"
#define SIFAR_STATISTICS_PARAM_PATH "/mnt/sd/DCIM/THUMB/sfStatisticsParm.bin" #define SIFAR_STATISTICS_PARAM_PATH "/mnt/sd/THUMB/sfStatisticsParm.bin"
//#define SF_SEND_LIST_DIR SF_SD_ROOT"THUMB"
#define SF_DAILYREPORT_FILENAME SF_SD_ROOT"THUMB/d.txt"
#define SF_ERROR_CODE SF_SD_ROOT"THUMB/warning.txt"
#define SF_DAILYREPORT_TXT "DailyReport.txt"
#define GPIO_DIR_OUT 1 #define GPIO_DIR_OUT 1
@ -177,12 +180,12 @@ extern "C" {
#define GPRS_INFO_LINE_MAX 512 #define GPRS_INFO_LINE_MAX 512
#define MAX_CALL_TIMES 100 #define MAX_CALL_TIMES 100
#define SF_SD_DISK "A:" #define SF_SD_DISK "/mnt/sd/"
#define SF_DCIM_DIR SF_SD_DISK"\\DCIM" #define SF_DCIM_DIR SF_SD_ROOT"DCIM"
#define SF_THUMB_DIR SF_SD_DISK"\\DCIM\\THUMB" #define SF_THUMB_DIR SF_SD_DISK"THUMB"
#define SF_THUMB_SMALL_DIR SF_SD_DISK"\\DCIM\\THUMB\\small" #define SF_THUMB_SMALL_DIR SF_SD_DISK"THUMB/small"
#define SF_THUMB_BIG_DIR SF_SD_DISK"\\DCIM\\THUMB\\big" #define SF_THUMB_BIG_DIR SF_SD_DISK"THUMB/big"
#define SF_THUMB_VIDEO_DIR SF_SD_DISK"\\DCIM\\THUMB\\video" #define SF_THUMB_VIDEO_DIR SF_SD_DISK"THUMB/video"
#define DCF_DIR_FREE_CHAR "MEDIA" #define DCF_DIR_FREE_CHAR "MEDIA"
#define DCF_FILE_FREE_CHAR "SYFW" #define DCF_FILE_FREE_CHAR "SYFW"
@ -381,6 +384,7 @@ typedef enum sf_MESSAGE_TYPE_E
CMD_PARA = 0x1F02, CMD_PARA = 0x1F02,
CMD_GPRS = 0x1F03, CMD_GPRS = 0x1F03,
CMD_WIFI = 0x1F04, CMD_WIFI = 0x1F04,
CMD_DEV = 0x1F05,
}SF_MESSAGE_TYPE_E; }SF_MESSAGE_TYPE_E;
@ -493,6 +497,16 @@ typedef enum _GPRS_SEARCH_STEP_e{
GPRS_SEARCH_STEP_GPS_LOCATE_FINISH, GPRS_SEARCH_STEP_GPS_LOCATE_FINISH,
} GPRS_SEARCH_STEP_e; } GPRS_SEARCH_STEP_e;
typedef enum _SF_GPRS_CMD_STEP_e{
SF_GPRS_CMD_SIGNAL = 0x0,
SF_GPRS_CMD_STEP_SEARCH,
} SF_GPRS_CMD_STEP_e;
typedef enum _SF_DEV_CMD_STEP_e{
SF_DEV_CMD_TEMPER = 0x0,
SF_DEV_CMD_BAT = 0x1,
SF_DEV_CMD_BUTT
} SF_DEV_CMD_STEP_e;
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus

View File

@ -147,6 +147,7 @@ typedef struct sfPDT_PARAM_STATISTICS_S
UINT16 Year; UINT16 Year;
UINT16 Mon; UINT16 Mon;
UINT16 Day; UINT16 Day;
UINT16 Hour;
UINT16 TriggerTimes; UINT16 TriggerTimes;
UINT8 SubscribeSendCnt; UINT8 SubscribeSendCnt;
@ -234,6 +235,38 @@ typedef struct sfPDT_PARAM_STATISTICS_S
SF_OSS_S stOssCfg; SF_OSS_S stOssCfg;
SF_PARA_TIME_S httpTime; SF_PARA_TIME_S httpTime;
UINT32 picSendCount;
UINT32 sendThumbnailCount;
UINT32 picSendSucessCount;
UINT32 picSendTimeoutCount;
UINT32 picSendFailCount;
UINT32 sendThumbnailFailCount;
UINT32 picSendTimeCount;
UINT32 sendThumbnailTimeCount;
UINT32 videoSendCount;
UINT32 videoSendTimeCount;
UINT32 videoSendFailCount;
UINT32 videoSendSucessCount;
UINT32 TirgNum;
UINT32 NewFlieCount;
//UINT16 TYear;
//UINT8 TMonth;
//UINT8 Tday;
//UINT8 Thour;
UINT16 picSendMax;
UINT8 subscribeSendCnt;
UINT8 subscribeVideoSendCnt;
UINT8 GpsSearchFailCnt;/*dailyReport mode, search gps fail cnt*/
UINT8 msm_flag;
UINT8 msm_number;
UINT8 msm_str[66];
UINT8 SendlowPowerWarnCnt;
UINT32 CheckSum; UINT32 CheckSum;
}SF_PDT_PARAM_STATISTICS_S; }SF_PDT_PARAM_STATISTICS_S;

View File

@ -46,6 +46,9 @@ SINT8 app_upgrade_ota_restore_IsRun(void);
SINT32 app_preinit(void); SINT32 app_preinit(void);
UINT8 *sf_versionGet(UINT8 ver[],UINT8 fea[]);
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus

View File

@ -443,8 +443,8 @@ SINT32 eg91_usb_net_apn_cfg(SF_FN_PARAM_S *pfnParam)
UINT8 sts = 1; UINT8 sts = 1;
USBNET_APN_INIT_e enMmcLocation; USBNET_APN_INIT_e enMmcLocation;
enMmcLocation = USBNET_APN_INIT_FIRST; enMmcLocation = USBNET_APN_INIT_FIRST;
UIMenuStoreInfo *pStaticParam = pfnParam->pstaticParam; //UIMenuStoreInfo *pStaticParam = pfnParam->pstaticParam;
UIMenuStoreInfo *pStaticParam = sf_app_ui_para_get();
sprintf(ttyData, "AT\r"); sprintf(ttyData, "AT\r");
@ -582,8 +582,8 @@ SINT32 eg91_sim_init(SF_FN_PARAM_S *pfnParam)
SF_CHAR tempICCID[21] = { 0 }; SF_CHAR tempICCID[21] = { 0 };
SF_CHAR lastICCID[21] = { 0 }; SF_CHAR lastICCID[21] = { 0 };
SF_CHAR *pStr = NULL; SF_CHAR *pStr = NULL;
UIMenuStoreInfo *pStaticParam = sf_app_ui_para_get();
UIMenuStoreInfo *pStaticParam = pfnParam->pstaticParam;//sf_app_ui_para_get(); //UIMenuStoreInfo *pStaticParam = pfnParam->pstaticParam;//sf_app_ui_para_get();
//SF_PDT_PARAM_STATISTICS_S *pStaticParam = pfnParam->pstaticParam; //SF_PDT_PARAM_STATISTICS_S *pStaticParam = pfnParam->pstaticParam;
SIM_INIT_E enMmcLocation; SIM_INIT_E enMmcLocation;
enMmcLocation = SIM_INIT_ATE; enMmcLocation = SIM_INIT_ATE;
@ -614,6 +614,7 @@ SINT32 eg91_sim_init(SF_FN_PARAM_S *pfnParam)
callTime++; callTime++;
if(callTime > 50) if(callTime > 50)
{ {
sf_set_sim_insert(0);
SLOGE("SimCard not inserted.\n"); SLOGE("SimCard not inserted.\n");
memset(&pStaticParam->SimIccid,'\0',SF_ICCID_MAX_LEN); memset(&pStaticParam->SimIccid,'\0',SF_ICCID_MAX_LEN);
return SF_4G_ERROR_NO_SIMCARD; return SF_4G_ERROR_NO_SIMCARD;
@ -626,6 +627,7 @@ SINT32 eg91_sim_init(SF_FN_PARAM_S *pfnParam)
} }
else if(strstr(ttyData, "+QSIMSTAT: 0,1")) else if(strstr(ttyData, "+QSIMSTAT: 0,1"))
{ {
sf_set_sim_insert(1);
count = 0; count = 0;
callTime = 0; callTime = 0;
// enMmcLocation = SIM_INIT_QNTP; // enMmcLocation = SIM_INIT_QNTP;
@ -637,6 +639,7 @@ SINT32 eg91_sim_init(SF_FN_PARAM_S *pfnParam)
} }
else if(strstr(ttyData, "+CPIN: NOT INSERTED")) else if(strstr(ttyData, "+CPIN: NOT INSERTED"))
{ {
sf_set_sim_insert(0);
MLOGE("SimCard not inserted.\n"); MLOGE("SimCard not inserted.\n");
memset(&pStaticParam->SimIccid,'\0',SF_ICCID_MAX_LEN); memset(&pStaticParam->SimIccid,'\0',SF_ICCID_MAX_LEN);
return SF_4G_ERROR_NO_SIMCARD; return SF_4G_ERROR_NO_SIMCARD;
@ -763,6 +766,8 @@ SINT32 eg91_sim_init(SF_FN_PARAM_S *pfnParam)
MLOGD("%s\n", GsnNow); MLOGD("%s\n", GsnNow);
sprintf(pStaticParam->ModuleImei, "%s", GsnNow); sprintf(pStaticParam->ModuleImei, "%s", GsnNow);
pStaticParam->DailyReportTime.Hour = ((UINT16)(pStaticParam->ModuleImei[11]-48)*10+(pStaticParam->ModuleImei[12]-48))%12;
pStaticParam->DailyReportTime.Min = ((UINT16)(pStaticParam->ModuleImei[13]-48)*10+(pStaticParam->ModuleImei[14]-48))%60;
//LOGI_R("%s", sim_info_t2->ModuleImei); //LOGI_R("%s", sim_info_t2->ModuleImei);
MLOGD("imei:%s\n", pStaticParam->ModuleImei); MLOGD("imei:%s\n", pStaticParam->ModuleImei);
@ -1329,8 +1334,8 @@ SINT32 eg91_register_net_auto(SF_FN_PARAM_S *pfnParam)
#if SF_QLOG_ENABLE #if SF_QLOG_ENABLE
SF_PDT_PARAM_CFG_S *pstparam = pfnParam->pstParam; SF_PDT_PARAM_CFG_S *pstparam = pfnParam->pstParam;
#endif #endif
UIMenuStoreInfo *pStaticParam = pfnParam->pstaticParam; //UIMenuStoreInfo *pStaticParam = pfnParam->pstaticParam;
UIMenuStoreInfo *pStaticParam = sf_app_ui_para_get();
while(sts) while(sts)
{ {
@ -1357,6 +1362,7 @@ SINT32 eg91_register_net_auto(SF_FN_PARAM_S *pfnParam)
callTime++; callTime++;
if(callTime > 50) if(callTime > 50)
{ {
sf_set_sim_insert(0);
MLOGE("SimCard not inserted.\n"); MLOGE("SimCard not inserted.\n");
return SF_4G_ERROR_NO_SIMCARD; return SF_4G_ERROR_NO_SIMCARD;
@ -1369,7 +1375,7 @@ SINT32 eg91_register_net_auto(SF_FN_PARAM_S *pfnParam)
} }
else if(strstr(ttyData, "+QSIMSTAT: 0,1")) else if(strstr(ttyData, "+QSIMSTAT: 0,1"))
{ {
sf_set_sim_insert(1);
#if SF_QLOG_ENABLE #if SF_QLOG_ENABLE
if(pstparam->DebugMode) if(pstparam->DebugMode)
@ -1443,6 +1449,7 @@ SINT32 eg91_register_net_auto(SF_FN_PARAM_S *pfnParam)
else if(strstr(ttyData, "+CPIN: NOT INSERTED")) else if(strstr(ttyData, "+CPIN: NOT INSERTED"))
{ {
MLOGE("SimCard not inserted.\n"); MLOGE("SimCard not inserted.\n");
sf_set_sim_insert(0);
return SF_4G_ERROR_NO_SIMCARD; return SF_4G_ERROR_NO_SIMCARD;
} }
else else
@ -1643,9 +1650,7 @@ SINT32 eg91_register_net_auto(SF_FN_PARAM_S *pfnParam)
if(strstr(ttyData, "No Service")) if(strstr(ttyData, "No Service"))
{ {
pStaticParam->NetGeneration = 2; pStaticParam->NetGeneration = 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);
@ -1671,9 +1676,7 @@ SINT32 eg91_register_net_auto(SF_FN_PARAM_S *pfnParam)
sprintf(ttyData, "AT+QCSQ\r"); sprintf(ttyData, "AT+QCSQ\r");
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(ttyData, strlen(ttyData));
} }else{
else
{
enMmcLocation = SIM_REG_NET_CSQ; enMmcLocation = SIM_REG_NET_CSQ;
sprintf(ttyData, "AT+CSQ\r"); sprintf(ttyData, "AT+CSQ\r");
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(ttyData, strlen(ttyData));
@ -1698,16 +1701,16 @@ SINT32 eg91_register_net_auto(SF_FN_PARAM_S *pfnParam)
MLOGI("pStr:%s\n", pStr); MLOGI("pStr:%s\n", pStr);
csq = 0 - atoi(pStr); csq = 0 - atoi(pStr);
MLOGD("csq:%d\n", csq); MLOGD("csq:%d\n", csq);
pStaticParam->SimSignal = (UINT8)csq; sf_set_cq_signal(csq);
if(pStaticParam->SimSignal == 0) if(csq == 0)
{ {
pStaticParam->SimSignal = 105; sf_set_cq_signal(105);
} }
} }
else else
{ {
pStaticParam->SimSignal = 0; sf_set_cq_signal(0);
ret = SF_4G_ERROR_NO_SIGNAL; ret = SF_4G_ERROR_NO_SIGNAL;
} }
MLOGD("apn:%s\n", pStaticParam->Sim4gApn); MLOGD("apn:%s\n", pStaticParam->Sim4gApn);
@ -1740,13 +1743,13 @@ SINT32 eg91_register_net_auto(SF_FN_PARAM_S *pfnParam)
else else
{ {
callTime = 0; callTime = 0;
pStaticParam->SimSignal = 0; sf_set_cq_signal(0);
return SF_4G_ERROR_NO_SIGNAL; return SF_4G_ERROR_NO_SIGNAL;
} }
} }
else else
{ {
pStaticParam->SimSignal = csq; sf_set_cq_signal(csq);
ret = SF_SUCCESS; ret = SF_SUCCESS;
MLOGD("apn:%s\n", pStaticParam->Sim4gApn); MLOGD("apn:%s\n", pStaticParam->Sim4gApn);
return SF_SUCCESS; return SF_SUCCESS;
@ -1799,8 +1802,8 @@ SINT32 eg91_register_net_manual(SF_FN_PARAM_S *pfnParam)
SF_CHAR *pTemp = NULL; SF_CHAR *pTemp = NULL;
SIM_REG_NET_e enMmcLocation; SIM_REG_NET_e enMmcLocation;
enMmcLocation = SIM_REG_NET_FIRST; enMmcLocation = SIM_REG_NET_FIRST;
UIMenuStoreInfo *pStaticParam = pfnParam->pstaticParam; //UIMenuStoreInfo *pStaticParam = pfnParam->pstaticParam;
UIMenuStoreInfo *pStaticParam = sf_app_ui_para_get();
while(sts) while(sts)
{ {
@ -1942,9 +1945,7 @@ SINT32 eg91_register_net_manual(SF_FN_PARAM_S *pfnParam)
if(strstr(ttyData, "No Service")) if(strstr(ttyData, "No Service"))
{ {
pStaticParam->NetGeneration = 2; pStaticParam->NetGeneration = 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);
@ -2014,10 +2015,10 @@ SINT32 eg91_register_net_manual(SF_FN_PARAM_S *pfnParam)
printf("pStr:%s\n", pStr); printf("pStr:%s\n", pStr);
csq = 0 - atoi(pStr); csq = 0 - atoi(pStr);
MLOGD("SINT32:%d\n", csq); MLOGD("SINT32:%d\n", csq);
pStaticParam->SimSignal = (UINT8)csq; sf_set_cq_signal(csq);
//ret = sf_auto_operation_adaptation(sim_info_t->OperatorCode, sim_info_t); //ret = sf_auto_operation_adaptation(sim_info_t->OperatorCode, sim_info_t);
if(pStaticParam->SimSignal == 0) if(csq == 0)
{ {
callTime++; callTime++;
@ -2029,7 +2030,7 @@ SINT32 eg91_register_net_manual(SF_FN_PARAM_S *pfnParam)
} }
else else
{ {
pStaticParam->SimSignal = 105; sf_set_cq_signal(105);
} }
} }
else else
@ -2043,7 +2044,7 @@ SINT32 eg91_register_net_manual(SF_FN_PARAM_S *pfnParam)
} }
else else
{ {
pStaticParam->SimSignal = 0; sf_set_cq_signal(0);
ret = SF_4G_ERROR_NO_SIGNAL; ret = SF_4G_ERROR_NO_SIGNAL;
enMmcLocation = SIM_REG_NET_SAVE; enMmcLocation = SIM_REG_NET_SAVE;
sprintf(ttyData, "AT&W\r"); sprintf(ttyData, "AT&W\r");
@ -2079,13 +2080,13 @@ SINT32 eg91_register_net_manual(SF_FN_PARAM_S *pfnParam)
else else
{ {
callTime = 0; callTime = 0;
pStaticParam->SimSignal = 0; sf_set_cq_signal(0);
ret = SF_4G_ERROR_NO_SIGNAL; ret = SF_4G_ERROR_NO_SIGNAL;
} }
} }
else else
{ {
pStaticParam->SimSignal = csq; sf_set_cq_signal(csq);
//ret = sf_auto_operation_adaptation(sim_info_t->OperatorCode, sim_info_t); //ret = sf_auto_operation_adaptation(sim_info_t->OperatorCode, sim_info_t);
ret = SF_SUCCESS; ret = SF_SUCCESS;
MLOGD("apn:%s\n", pStaticParam->Sim4gApn); MLOGD("apn:%s\n", pStaticParam->Sim4gApn);
@ -2306,6 +2307,9 @@ SINT32 sf_quectel_module_complete_init(void)
if(strcasecmp((const char *)strNow, (const char *)puiPara->ModuleImei) != 0) if(strcasecmp((const char *)strNow, (const char *)puiPara->ModuleImei) != 0)
{ {
strncpy((char *)puiPara->ModuleImei, (const char *)strNow, MODULE_IMEI_LEN); strncpy((char *)puiPara->ModuleImei, (const char *)strNow, MODULE_IMEI_LEN);
puiPara->DailyReportTime.Hour = ((UINT16)(puiPara->ModuleImei[11]-48)*10+(puiPara->ModuleImei[12]-48))%12;
puiPara->DailyReportTime.Min = ((UINT16)(puiPara->ModuleImei[13]-48)*10+(puiPara->ModuleImei[14]-48))%60;
SLOGI(puiPara->ModuleImei); SLOGI(puiPara->ModuleImei);
SF_DEBUG("ModuleImei=%s", puiPara->ModuleImei); SF_DEBUG("ModuleImei=%s", puiPara->ModuleImei);
} }
@ -3975,38 +3979,29 @@ UINT8 sf_get_pdp_index(void)
Return: N/A Return: N/A
Others: N/A Others: N/A
*************************************************/ *************************************************/
void sf_custom_str_get(UINT8 *pCustomStr) void sf_custom_str_get(UINT8 *pStr)
{ {
UINT8 customStr[50] = { 0 }; UIMenuStoreInfo *pPara = sf_app_ui_para_get();
UIMenuStoreInfo *pPara = sf_app_ui_para_get(); UINT8 datestr[20] = { 0 };
SF_PARA_TIME_S drRtcTime;
printf("[%s:%d]pPara->CamNameSwitch=%d,pPara->CamNameStr:%s\n", __FUNCTION__, __LINE__, pPara->CamNameSwitch, pPara->CamNameStr); sf_sys_rtc_time_get(&drRtcTime);
printf("[%s:%d]pPara->CamNameSwitch:%d,pPara->CamNameStr:%s\n", __FUNCTION__, __LINE__, pPara->CamNameSwitch, pPara->CamNameStr);
#if CUSTOM_STR if(pPara->DateStyle == SF_DATE_TIME_YYMMDD)
if(pPara->CamNameSwitch == SF_CAMID_ON)
{ {
sprintf((char *)customStr, "%s-", pPara->CamNameStr); sprintf((char *)datestr, "%d%02d%02d%02d%02d%02d", drRtcTime.Year, drRtcTime.Mon, drRtcTime.Day, drRtcTime.Hour, drRtcTime.Min, drRtcTime.Sec);
}
else if (pPara->DateStyle == SF_DATE_TIME_MMDDYY)
{
sprintf((char *)datestr, "%02d%02d%d%02d%02d%02d", drRtcTime.Mon, drRtcTime.Day, drRtcTime.Year, drRtcTime.Hour, drRtcTime.Min, drRtcTime.Sec);
} }
else else
{ {
customStr[0] = '\0'; sprintf((char *)datestr, "%02d%02d%d%02d%02d%02d", drRtcTime.Day, drRtcTime.Mon, drRtcTime.Year,drRtcTime.Hour, drRtcTime.Min, drRtcTime.Sec);
} }
printf("[%s:%d]customStr:%s\n", __FUNCTION__, __LINE__, datestr);
#else sprintf((char *)pStr, "%s", datestr);
if(pPara->CamNameSwitch == SF_CAMID_ON)
{
sprintf((char *)customStr, "%s-", pPara->CamNameStr);
}
else
{
customStr[0] = '\0';
}
#endif
printf("[%s:%d]customStr:%s\n", __FUNCTION__, __LINE__, customStr);
sprintf((char *)pCustomStr, "%s", customStr);
} }
void sf_get_send_video_fname(UINT8 *videoDirKey, UINT8 *videoFname) void sf_get_send_video_fname(UINT8 *videoDirKey, UINT8 *videoFname)

View File

@ -67,6 +67,7 @@ UINT8 smtpUploadPicFlag = 0; /*0:smtp upload pic fail; 1:success.*/
UINT8 smtpUploadVideoFlag = 0; /*0:smtp upload video fail; 1:success.*/ UINT8 smtpUploadVideoFlag = 0; /*0:smtp upload video fail; 1:success.*/
UINT8 sendPicSuccessFlag = 0; UINT8 sendPicSuccessFlag = 0;
UINT8 sendVideoSuccessFlag = 0; UINT8 sendVideoSuccessFlag = 0;
UINT8 DailyReportFtpSendSucess = 0;
extern char logStr[128]; extern char logStr[128];
extern char gsmPara[GPRS_INFO_LINE_MAX]; extern char gsmPara[GPRS_INFO_LINE_MAX];
@ -287,12 +288,12 @@ SINT32 sf_ftp_config(UINT8 ssl, UINT8 GprsMode, UINT8 timeout)
if(strstr((const char *)gsmPara, "OK")) if(strstr((const char *)gsmPara, "OK"))
{ {
if((pPara->FtpSwitch == 0)) if((0 == pPara->FtpSwitch))
{ {
eFtpLocation = FTP_SIM_CCHSTART; eFtpLocation = FTP_SIM_CCHSTART;
sprintf((char *)gsmPara, "AT+QFTPCFG=\"account\",\"%s\",\"%s\"\r", pPara->FtpUsr, pPara->FtpPwd); sprintf((char *)gsmPara, "AT+QFTPCFG=\"account\",\"%s\",\"%s\"\r", pPara->FtpUsr, pPara->FtpPwd);
} }
else if((pPara->FtpSwitch == 2))//ftps else if((2 == pPara->FtpSwitch))//ftps
{ {
eFtpLocation = FTP_SIM_QSSLCFG0; eFtpLocation = FTP_SIM_QSSLCFG0;
sprintf((char *)gsmPara, "AT+QFTPCFG=\"account\",\"%s\",\"%s\"\r", pPara->FtpsUsr, pPara->FtpsPwd); sprintf((char *)gsmPara, "AT+QFTPCFG=\"account\",\"%s\",\"%s\"\r", pPara->FtpsUsr, pPara->FtpsPwd);
@ -367,11 +368,11 @@ SINT32 sf_ftp_config(UINT8 ssl, UINT8 GprsMode, UINT8 timeout)
eFtpLocation = FTP_SIM_EXIT; eFtpLocation = FTP_SIM_EXIT;
printf("[%s:%d]log ftp\n", __FUNCTION__, __LINE__); printf("[%s:%d]log ftp\n", __FUNCTION__, __LINE__);
if((pPara->FtpSwitch == 0)) if((0 == pPara->FtpSwitch))
{ {
sprintf((char *)gsmPara, "AT+QFTPOPEN=\"%s\",%s\r", pPara->FtpIp, pPara->FtpPort); sprintf((char *)gsmPara, "AT+QFTPOPEN=\"%s\",%s\r", pPara->FtpIp, pPara->FtpPort);
} }
else if((pPara->FtpSwitch == 2)) else if((2 == pPara->FtpSwitch))
{ {
sprintf((char *)gsmPara, "AT+QFTPOPEN=\"%s\",%s\r", pPara->FtpsIp, pPara->FtpsPort); sprintf((char *)gsmPara, "AT+QFTPOPEN=\"%s\",%s\r", pPara->FtpsIp, pPara->FtpsPort);
} }
@ -573,7 +574,8 @@ SINT32 sf_ftp_send(UINT8 *ftpFileName, UINT8 *filePath, UINT8 timeout)
if(gsmPara[0] != '\0') if(gsmPara[0] != '\0')
{ {
printf("%s:%d %d \n%s\n", __FUNCTION__, __LINE__, eFtpLocation, gsmPara); //printf("%s:%d %d \n%s\n", __FUNCTION__, __LINE__, eFtpLocation, gsmPara);
SLOGI(" %d \n%s\n", eFtpLocation, gsmPara);
} }
time++; time++;
@ -748,7 +750,8 @@ SINT32 sf_ftp_stop(UINT8 ssl, UINT8 GprsMode)
if(gsmPara[0] != '\0') if(gsmPara[0] != '\0')
{ {
printf("eFtpLocation=%d,time=%d\ngsmPara:%s\n", eFtpLocation, time, gsmPara); //printf("eFtpLocation=%d,time=%d\ngsmPara:%s\n", eFtpLocation, time, gsmPara);
SLOGI("eFtpLocation=%d,time=%d\ngsmPara:%s", eFtpLocation, time, gsmPara);
} }
time++; time++;
@ -780,17 +783,21 @@ SINT32 sf_pic_send_ftp(void)
UINT8 ftpFileName[5][64] = { { 0 } }; UINT8 ftpFileName[5][64] = { { 0 } };
UINT8 filePath[5][64] = { { 0 } }; UINT8 filePath[5][64] = { { 0 } };
UINT8 fileStr[5][64] = { { 0 } }; UINT8 fileStr[5][64] = { { 0 } };
UINT8 cameraID[20] = { 0 }; char cameraID[64] = { 0 };
UINT8 CamNameStr[64] = { 0 };
UIMenuStoreInfo *pPara = sf_app_ui_para_get(); UIMenuStoreInfo *pPara = sf_app_ui_para_get();
SINT32 ret = SF_SUCCESS; SINT32 ret = SF_SUCCESS;
UINT8 tempPicSize = 0; UINT8 tempPicSize = 0;
UINT8 piccount = 0; UINT8 piccount = 0;
UINT8 pic = 0; UINT8 pic = 0;
UINT8 csqlevel = 0;
UINT8 timeout = 60; UINT8 timeout = 60;
SF_SRCFILE_ATTR_S *pThumbFileCfg = sf_file_thumb_cfg_get(); SF_SRCFILE_ATTR_S *pThumbFileCfg = sf_file_thumb_cfg_get();
sf_custom_str_get(cameraID); sf_custom_str_get(CamNameStr);
sf_4G_signal_level_get(pPara->NetGeneration,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 */
if(4 == pPara->NetGeneration) if(4 == pPara->NetGeneration)
{ {
@ -814,36 +821,10 @@ SINT32 sf_pic_send_ftp(void)
timeout = 120; timeout = 120;
} }
/*if(((pPara->CamMode == 1) || (pPara->CamMode == 2)) && (pPara->SendVideoSwitch == 1) && (pPara->NetGeneration == 4)) //video
{
timeout = 100;
}
else if((2 == pPara->SendPicSize) && (((pPara->CamMode == 0) || (pPara->CamMode == 2)) && (pPara->SendPhotoSwitch == 1))) //pic(+video)
{
timeout = 100;
}*/
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", pPara->NetGeneration, tempPicSize, piccount, pic);
if((pPara->SendMultishotIndex1) || (SF_MANUAL == sf_get_mode_flag())) if((pPara->SendMultishotIndex1) || (SF_MANUAL == sf_get_mode_flag()))
{ {
/*sprintf((char *)ftpFileName[piccount], "%s%s", cameraID, PicName[0][1]);
if(2 == tempPicSize)
{
sprintf((char *)fileStr[piccount], "%s\\%s%s\\%s", SF_DCIM_DIR, PicName[0][0], DCF_DIR_FREE_CHAR, PicName[0][1]);
sprintf((char *)filePath[piccount], "UFS:/%s", PicName[0][1]);
}
else if(1 == tempPicSize)
{
sprintf((char *)fileStr[piccount], "%s\\%s", SF_THUMB_BIG_DIR, PicName[0][1]);
sprintf((char *)filePath[piccount], "UFS:/%s", PicName[0][1]);
}
else
{
sprintf((char *)fileStr[piccount], "%s\\%s", SF_THUMB_SMALL_DIR, PicName[0][1]);
sprintf((char *)filePath[piccount], "UFS:/%s", PicName[0][1]);
}*/
sprintf((char *)ftpFileName[piccount], "%s%s", cameraID, pThumbFileCfg->stfileattr[0].thumbfileName); sprintf((char *)ftpFileName[piccount], "%s%s", cameraID, pThumbFileCfg->stfileattr[0].thumbfileName);
sprintf((char *)filePath[piccount], "UFS:/%s", pThumbFileCfg->stfileattr[0].thumbfileName); sprintf((char *)filePath[piccount], "UFS:/%s", pThumbFileCfg->stfileattr[0].thumbfileName);
@ -854,23 +835,6 @@ SINT32 sf_pic_send_ftp(void)
{ {
if(pPara->SendMultishotIndex2) if(pPara->SendMultishotIndex2)
{ {
/*sprintf((char *)ftpFileName[piccount], "%s%s", cameraID, PicName[1][1]);
if(2 == tempPicSize)
{
sprintf((char *)fileStr[piccount], "%s\\%s%s\\%s", SF_DCIM_DIR, PicName[1][0], DCF_DIR_FREE_CHAR, PicName[1][1]);
sprintf((char *)filePath[piccount], "UFS:/%s", PicName[1][1]);
}
else if(1 == tempPicSize)
{
sprintf((char *)fileStr[piccount], "%s\\%s", SF_THUMB_BIG_DIR, PicName[1][1]);
sprintf((char *)filePath[piccount], "UFS:/%s", PicName[1][1]);
}
else
{
sprintf((char *)fileStr[piccount], "%s\\%s", SF_THUMB_SMALL_DIR, PicName[1][1]);
sprintf((char *)filePath[piccount], "UFS:/%s", PicName[1][1]);
}*/
sprintf((char *)ftpFileName[piccount], "%s%s", cameraID, pThumbFileCfg->stfileattr[1].thumbfileName); sprintf((char *)ftpFileName[piccount], "%s%s", cameraID, pThumbFileCfg->stfileattr[1].thumbfileName);
sprintf((char *)filePath[piccount], "UFS:/%s", pThumbFileCfg->stfileattr[1].thumbfileName); sprintf((char *)filePath[piccount], "UFS:/%s", pThumbFileCfg->stfileattr[1].thumbfileName);
@ -879,23 +843,6 @@ SINT32 sf_pic_send_ftp(void)
if(pPara->SendMultishotIndex3) if(pPara->SendMultishotIndex3)
{ {
/*sprintf((char *)ftpFileName[piccount], "%s%s", cameraID, PicName[2][1]);
if(2 == tempPicSize)
{
sprintf((char *)fileStr[piccount], "%s\\%s%s\\%s", SF_DCIM_DIR, PicName[2][0], DCF_DIR_FREE_CHAR, PicName[2][1]);
sprintf((char *)filePath[piccount], "UFS:/%s", PicName[2][1]);
}
else if(1 == tempPicSize)
{
sprintf((char *)fileStr[piccount], "%s\\%s", SF_THUMB_BIG_DIR, PicName[2][1]);
sprintf((char *)filePath[piccount], "UFS:/%s", PicName[2][1]);
}
else
{
sprintf((char *)fileStr[piccount], "%s\\%s", SF_THUMB_SMALL_DIR, PicName[2][1]);
sprintf((char *)filePath[piccount], "UFS:/%s", PicName[2][1]);
}*/
sprintf((char *)ftpFileName[piccount], "%s%s", cameraID, pThumbFileCfg->stfileattr[2].thumbfileName); sprintf((char *)ftpFileName[piccount], "%s%s", cameraID, pThumbFileCfg->stfileattr[2].thumbfileName);
sprintf((char *)filePath[piccount], "UFS:/%s", pThumbFileCfg->stfileattr[2].thumbfileName); sprintf((char *)filePath[piccount], "UFS:/%s", pThumbFileCfg->stfileattr[2].thumbfileName);
@ -904,23 +851,6 @@ SINT32 sf_pic_send_ftp(void)
if(pPara->SendMultishotIndex4) if(pPara->SendMultishotIndex4)
{ {
/*sprintf((char *)ftpFileName[piccount], "%s%s", cameraID, PicName[3][1]);
if(2 == tempPicSize)
{
sprintf((char *)fileStr[piccount], "%s\\%s%s\\%s", SF_DCIM_DIR, PicName[3][0], DCF_DIR_FREE_CHAR, PicName[3][1]);
sprintf((char *)filePath[piccount], "UFS:/%s", PicName[3][1]);
}
else if(1 == tempPicSize)
{
sprintf((char *)fileStr[piccount], "%s\\%s", SF_THUMB_BIG_DIR, PicName[3][1]);
sprintf((char *)filePath[piccount], "UFS:/%s", PicName[3][1]);
}
else
{
sprintf((char *)fileStr[piccount], "%s\\%s", SF_THUMB_SMALL_DIR, PicName[3][1]);
sprintf((char *)filePath[piccount], "UFS:/%s", PicName[3][1]);
}*/
sprintf((char *)ftpFileName[piccount], "%s%s", cameraID, pThumbFileCfg->stfileattr[3].thumbfileName); sprintf((char *)ftpFileName[piccount], "%s%s", cameraID, pThumbFileCfg->stfileattr[3].thumbfileName);
sprintf((char *)filePath[piccount], "UFS:/%s", pThumbFileCfg->stfileattr[3].thumbfileName); sprintf((char *)filePath[piccount], "UFS:/%s", pThumbFileCfg->stfileattr[3].thumbfileName);
@ -929,23 +859,6 @@ SINT32 sf_pic_send_ftp(void)
if(pPara->SendMultishotIndex5) if(pPara->SendMultishotIndex5)
{ {
/*sprintf((char *)ftpFileName[piccount], "%s%s", cameraID, PicName[4][1]);
if(2 == tempPicSize)
{
sprintf((char *)fileStr[piccount], "%s\\%s%s\\%s", SF_DCIM_DIR, PicName[4][0], DCF_DIR_FREE_CHAR, PicName[4][1]);
sprintf((char *)filePath[piccount], "UFS:/%s", PicName[4][1]);
}
else if(1 == tempPicSize)
{
sprintf((char *)fileStr[piccount], "%s\\%s", SF_THUMB_BIG_DIR, PicName[4][1]);
sprintf((char *)filePath[piccount], "UFS:/%s", PicName[4][1]);
}
else
{
sprintf((char *)fileStr[piccount], "%s\\%s", SF_THUMB_SMALL_DIR, PicName[4][1]);
sprintf((char *)filePath[piccount], "UFS:/%s", PicName[4][1]);
}*/
sprintf((char *)ftpFileName[piccount], "%s%s", cameraID, pThumbFileCfg->stfileattr[4].thumbfileName); sprintf((char *)ftpFileName[piccount], "%s%s", cameraID, pThumbFileCfg->stfileattr[4].thumbfileName);
sprintf((char *)filePath[piccount], "UFS:/%s", pThumbFileCfg->stfileattr[4].thumbfileName); sprintf((char *)filePath[piccount], "UFS:/%s", pThumbFileCfg->stfileattr[4].thumbfileName);
@ -1005,8 +918,8 @@ SINT32 sf_video_send_ftp(void)
//extern UINT8 PicName[5][2][35]; //extern UINT8 PicName[5][2][35];
UINT8 ftpFileName[64] = { 0 }; UINT8 ftpFileName[64] = { 0 };
UINT8 filePath[64] = { 0 }; UINT8 filePath[64] = { 0 };
//UINT8 fileStr[64] = {0}; UINT8 CamNameStr[64] = {0};
UINT8 cameraID[20] = { 0 }; char cameraID[64] = { 0 };
//UINT8 videoDirKey[4] = { 0 }; //UINT8 videoDirKey[4] = { 0 };
UINT8 videoDir[64] = { 0 }; UINT8 videoDir[64] = { 0 };
//UINT8 videoFname[15] = { 0 }; //UINT8 videoFname[15] = { 0 };
@ -1017,9 +930,13 @@ SINT32 sf_video_send_ftp(void)
UINT8 pic = 0; UINT8 pic = 0;
UINT8 timeout = 120; UINT8 timeout = 120;
UINT8 fileIndex = 0; UINT8 fileIndex = 0;
UINT8 csqlevel = 0;
SF_SRCFILE_ATTR_S *pThumbFileCfg = sf_file_thumb_cfg_get(); SF_SRCFILE_ATTR_S *pThumbFileCfg = sf_file_thumb_cfg_get();
sf_custom_str_get(cameraID); sf_custom_str_get(CamNameStr);
sf_4G_signal_level_get(pPara->NetGeneration,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 */
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", pPara->NetGeneration, tempPicSize, piccount, pic);
/*sf_get_send_video_fname(videoDirKey, videoFname); /*sf_get_send_video_fname(videoDirKey, videoFname);
@ -1059,26 +976,27 @@ SINT32 sf_video_send_ftp(void)
SINT32 sf_simcom_ftp_dailyreport_send(void) SINT32 sf_simcom_ftp_dailyreport_send(void)
{ {
SINT32 ret = SF_SUCCESS; SINT32 ret = SF_SUCCESS;
#if 0 //UINT8 CamNameStr[20] = { 0 };
UINT8 CamNameStr[20] = { 0 };
UINT8 uploadFname[64] = { 0 }; UINT8 uploadFname[64] = { 0 };
UINT8 customStr[64] = { 0 }; UINT8 customStr[64] = { 0 };
UINT8 filePath[64] = { 0 }; UINT8 filePath[64] = { 0 };
UINT8 timeout = 60; UINT8 timeout = 60;
UIMenuStoreInfo *pPara = sf_app_ui_para_get();
printf("%s:%d start\n", __FUNCTION__, __LINE__); printf("%s:%d start\n", __FUNCTION__, __LINE__);
if(SF_SUCCESS != sf_create_send_dailyreport()) if(SUCCESS != sf_create_dailyreport_file())
{ {
printf("%s:%d err create dailyreport file\n", __FUNCTION__, __LINE__); printf("%s:%d err create dailyreport file\n", __FUNCTION__, __LINE__);
return SF_FAILURE; return SF_FAILURE;
} }
sprintf((char *)filePath, "UFS:/%s", SF_DAILYREPORT_TXT); sprintf((char *)filePath, "UFS:/%s", SF_DAILYREPORT_TXT);
sprintf((char *)filePath, "UFS:/%s-dr.txt", pPara->ModuleImei);
printf("%s:%d filePath:%s\n", __FUNCTION__, __LINE__, filePath); printf("%s:%d filePath:%s\n", __FUNCTION__, __LINE__, filePath);
sf_custom_send_str_get((UINT8 *)SF_DAILYREPORT_FILENAME, customStr); //sf_custom_send_str_get((UINT8 *)SF_DAILYREPORT_FILENAME, customStr);
sf_custom_str_get(CamNameStr); sf_custom_str_get(customStr);
sprintf((char *)uploadFname, "%s-%s%s", customStr, CamNameStr, SF_DAILYREPORT_TXT); sprintf((char *)uploadFname, "%s-%s-dr.txt",pPara->ModuleImei, customStr);
ret = sf_quectel_upload_file_to_module((UINT8 *)SF_DAILYREPORT_FILENAME, (UINT8 *)SF_DAILYREPORT_TXT); ret = sf_quectel_upload_file_to_module((UINT8 *)SF_DAILYREPORT_FILENAME, (UINT8 *)SF_DAILYREPORT_TXT);
@ -1093,9 +1011,11 @@ SINT32 sf_simcom_ftp_dailyreport_send(void)
if(SF_SUCCESS != ret) if(SF_SUCCESS != ret)
{ {
printf("%s:%d err ret: [0x%08X] filePath:%s\n", __FUNCTION__, __LINE__, ret, filePath); printf("%s:%d err ret: [0x%08X] filePath:%s\n", __FUNCTION__, __LINE__, ret, filePath);
}else {
DailyReportFtpSendSucess = 1;
} }
} }
#endif
printf("[%s:%d]ret:[0x%08X]\n\n", __FUNCTION__, __LINE__, ret); printf("[%s:%d]ret:[0x%08X]\n\n", __FUNCTION__, __LINE__, ret);
return ret; return ret;
} }

View File

@ -89,7 +89,7 @@ static UINT8 sf_3g_net_level_get(UINT8 simSignal)
else else
return 4; return 4;
return SF_SUCCESS; //return SF_SUCCESS;
} }

View File

@ -160,9 +160,9 @@ int main(int argc, char *argv[])
{ {
//sf_wifi_app_start(); //sf_wifi_app_start();
} }
//#if #if SF_IQ_TEST != ENABLE
//app_RegisterNet_start(); app_RegisterNet_start();
//#endif #endif
SLOGD("poweron type beginning :[%d,%s]\n", startup, sf_poweron_type_string(startup)); SLOGD("poweron type beginning :[%d,%s]\n", startup, sf_poweron_type_string(startup));
/*if(SF_MCU_STARTUP_ONKEY != startup) /*if(SF_MCU_STARTUP_ONKEY != startup)
{ {

View File

@ -52,7 +52,8 @@ extern "C" {
#include "sf_service.h" #include "sf_service.h"
#include <FileSysTsk.h> #include <FileSysTsk.h>
//#include "sf_wifi_svr.h" //#include "sf_wifi_svr.h"
#include <sf_file.h>
#include <sf_commMng.h>
extern pthread_mutex_t Param_mutexLock; extern pthread_mutex_t Param_mutexLock;
SINT8 longClickhold = 0; SINT8 longClickhold = 0;
@ -106,6 +107,10 @@ const SF_CHAR* app_process_message_getstatusstring(SF_MESSAGE_TYPE_E enType)
return "CMD_PARA"; return "CMD_PARA";
case CMD_GPRS: case CMD_GPRS:
return "CMD_GPRS"; return "CMD_GPRS";
case CMD_WIFI:
return "CMD_GPRS";
case CMD_DEV:
return "CMD_GPRS";
default: default:
return "Unknown"; return "Unknown";
} }
@ -437,7 +442,7 @@ static SINT32 process_cmd_holdup(SF_MESSAGE_BUF_S *pMessageBuf)
} }
return SF_SUCCESS; return SF_SUCCESS;
} }
static SINT32 app_process_cmd_keyctrl(SF_MESSAGE_BUF_S *pMessageBuf) static SINT32 sf_app_process_cmd_keyctrl(SF_MESSAGE_BUF_S *pMessageBuf)
{ {
SF_MESSAGE_CMD_KEY_E enEventkey = pMessageBuf->arg1; SF_MESSAGE_CMD_KEY_E enEventkey = pMessageBuf->arg1;
MLOGI("[%d,%s],[%d,%s]\n", pMessageBuf->arg1,\ MLOGI("[%d,%s],[%d,%s]\n", pMessageBuf->arg1,\
@ -488,10 +493,10 @@ static SINT32 app_process_cmd_keyctrl(SF_MESSAGE_BUF_S *pMessageBuf)
return SF_SUCCESS; return SF_SUCCESS;
} }
static SINT32 app_process_cmd_SD(SF_MESSAGE_BUF_S *pMessageBuf) static SINT32 sf_app_process_cmd_SD(SF_MESSAGE_BUF_S *pMessageBuf)
{ {
static SINT8 bsdstatus = 0; //static SINT8 bsdstatus = 0;
static SINT8 bsdoutstatus = 0; //static SINT8 bsdoutstatus = 0;
UINT32 status; UINT32 status;
MLOGI("[%d,%s]\n",pMessageBuf->arg1,app_process_SD_getstatusstring(pMessageBuf->arg1)); MLOGI("[%d,%s]\n",pMessageBuf->arg1,app_process_SD_getstatusstring(pMessageBuf->arg1));
switch(pMessageBuf->arg1) switch(pMessageBuf->arg1)
@ -517,12 +522,14 @@ static SINT32 app_process_cmd_SD(SF_MESSAGE_BUF_S *pMessageBuf)
sf_set_card(1); sf_set_card(1);
sf_sd_status_set(SF_SD_OK); sf_sd_status_set(SF_SD_OK);
sf_sys_status_led_set(SF_LED_SYS_STATE_SD_NORMAL); sf_sys_status_led_set(SF_LED_SYS_STATE_SD_NORMAL);
sf_statistics_param_load(sf_statistics_param_get());
MLOGI("card-%d mount OK\r\n", pMessageBuf->arg2 + 1); MLOGI("card-%d mount OK\r\n", pMessageBuf->arg2 + 1);
break; break;
case FST_STA_DISK_UNFORMAT: case FST_STA_DISK_UNFORMAT:
sf_set_card(1); sf_set_card(1);
sf_sd_status_set(SF_SD_OK); sf_sd_status_set(SF_SD_OK);
sf_sys_status_led_set(SF_LED_SYS_STATE_SD_NORMAL); sf_sys_status_led_set(SF_LED_SYS_STATE_SD_NORMAL);
sf_statistics_param_load(sf_statistics_param_get());
MLOGI("^Rcard-%d mount FAIL: Unformat\r\n", pMessageBuf->arg2 + 1); MLOGI("^Rcard-%d mount FAIL: Unformat\r\n", pMessageBuf->arg2 + 1);
break; break;
case FST_STA_DISK_UNKNOWN_FORMAT: case FST_STA_DISK_UNKNOWN_FORMAT:
@ -629,7 +636,7 @@ static SINT32 app_process_cmd_SD(SF_MESSAGE_BUF_S *pMessageBuf)
} }
return SF_SUCCESS; return SF_SUCCESS;
} }
static SINT32 app_proccess_cmd_file(SF_MESSAGE_BUF_S *pMessageBuf) static SINT32 sf_app_proccess_cmd_file(SF_MESSAGE_BUF_S *pMessageBuf)
{ {
#ifdef SF_HARDWARE_TEST #ifdef SF_HARDWARE_TEST
app_system_poweroff(SF_POWEROFF_NOT); app_system_poweroff(SF_POWEROFF_NOT);
@ -646,7 +653,7 @@ static SINT32 app_proccess_cmd_file(SF_MESSAGE_BUF_S *pMessageBuf)
} }
return SF_SUCCESS; return SF_SUCCESS;
} }
static SINT32 app_proccess_cmd_poweroff(SF_MESSAGE_BUF_S *pMessageBuf) static SINT32 sf_app_proccess_cmd_poweroff(SF_MESSAGE_BUF_S *pMessageBuf)
{ {
return app_system_poweroff(pMessageBuf->arg1); return app_system_poweroff(pMessageBuf->arg1);
} }
@ -661,7 +668,7 @@ static void app_proccess_cmd_led(SF_MESSAGE_BUF_S *pMessageBuf)
sf_led_event_process(pMessageBuf->arg1,pMessageBuf->arg2,pMessageBuf->arg3); sf_led_event_process(pMessageBuf->arg1,pMessageBuf->arg2,pMessageBuf->arg3);
} }
static SINT32 app_proccess_cmd_mcu(SF_MESSAGE_BUF_S *pMessageBuf) static SINT32 sf_app_proccess_cmd_mcu(SF_MESSAGE_BUF_S *pMessageBuf)
{ {
MLOGI("ID = %#x\n",pMessageBuf->arg1); MLOGI("ID = %#x\n",pMessageBuf->arg1);
SF_MESSAGE_BUF_S stMessageBuf = {0}; SF_MESSAGE_BUF_S stMessageBuf = {0};
@ -694,7 +701,7 @@ static SINT32 app_proccess_cmd_mcu(SF_MESSAGE_BUF_S *pMessageBuf)
return SF_SUCCESS; return SF_SUCCESS;
} }
static SINT32 app_proccess_cmd_para_update(SF_MESSAGE_BUF_S *pMessageBuf) static SINT32 sf_app_proccess_cmd_para_update(SF_MESSAGE_BUF_S *pMessageBuf)
{ {
MLOGI("ID = %#x\n",pMessageBuf->arg1); MLOGI("ID = %#x\n",pMessageBuf->arg1);
@ -710,7 +717,7 @@ static SINT32 app_proccess_cmd_para_update(SF_MESSAGE_BUF_S *pMessageBuf)
return SF_SUCCESS; return SF_SUCCESS;
} }
static SINT32 sf_proccess_cmd_wifi(SF_MESSAGE_BUF_S *pMessageBuf) static SINT32 sf_app_proccess_cmd_wifi(SF_MESSAGE_BUF_S *pMessageBuf)
{ {
MLOGI("ID = %#x\n",pMessageBuf->arg1); MLOGI("ID = %#x\n",pMessageBuf->arg1);
@ -766,6 +773,25 @@ static SINT32 app_proccess_cmd_venc(SF_MESSAGE_BUF_S *pMessageBuf)
return SF_SUCCESS; return SF_SUCCESS;
} }
#endif #endif
static SINT32 sf_app_proccess_cmd_dev(SF_MESSAGE_BUF_S *pMessageBuf)
{
MLOGI("ID = %#x\n",pMessageBuf->arg1);
switch(pMessageBuf->arg1)
{
case SF_DEV_CMD_TEMPER:
sf_app_set_temper(pMessageBuf->arg2);
break;
case SF_DEV_CMD_BAT:
sf_app_set_battery(pMessageBuf->arg2, pMessageBuf->arg3);
break;
default:
break;
}
return SF_SUCCESS;
}
void* app_message_recv_thread(void *arg) void* app_message_recv_thread(void *arg)
{ {
SINT32 ret = 0; SINT32 ret = 0;
@ -781,20 +807,20 @@ void* app_message_recv_thread(void *arg)
switch(stMessagebuf.cmdId) switch(stMessagebuf.cmdId)
{ {
case CMD_KEY: case CMD_KEY:
app_process_cmd_keyctrl(&stMessagebuf); sf_app_process_cmd_keyctrl(&stMessagebuf);
break; break;
case CMD_SD: case CMD_SD:
app_process_cmd_SD(&stMessagebuf); sf_app_process_cmd_SD(&stMessagebuf);
break; break;
case CMD_LED: case CMD_LED:
sf_sys_status_led_set(stMessagebuf.arg1); sf_sys_status_led_set(stMessagebuf.arg1);
//app_proccess_cmd_led(&stMessagebuf); //app_proccess_cmd_led(&stMessagebuf);
break; break;
case CMD_FILE: case CMD_FILE:
app_proccess_cmd_file(&stMessagebuf); sf_app_proccess_cmd_file(&stMessagebuf);
break; break;
case CMD_POWEROFF: case CMD_POWEROFF:
app_proccess_cmd_poweroff(&stMessagebuf); sf_app_proccess_cmd_poweroff(&stMessagebuf);
break; break;
#if defined(CFG_LIVE_ENBLE) #if defined(CFG_LIVE_ENBLE)
case CMD_VENC: case CMD_VENC:
@ -802,13 +828,16 @@ void* app_message_recv_thread(void *arg)
break; break;
#endif #endif
case CMD_MCU: case CMD_MCU:
app_proccess_cmd_mcu(&stMessagebuf); sf_app_proccess_cmd_mcu(&stMessagebuf);
break; break;
case CMD_PARA: case CMD_PARA:
app_proccess_cmd_para_update(&stMessagebuf); sf_app_proccess_cmd_para_update(&stMessagebuf);
break; break;
case CMD_WIFI: case CMD_WIFI:
sf_proccess_cmd_wifi(&stMessagebuf); sf_app_proccess_cmd_wifi(&stMessagebuf);
break;
case CMD_DEV:
sf_app_proccess_cmd_dev(&stMessagebuf);
break; break;
default: default:
break; break;

View File

@ -344,6 +344,16 @@ SINT32 app_led_net_reg_start(void)
sf_com_message_send_to_app(&stMessageBuf); sf_com_message_send_to_app(&stMessageBuf);
return SF_SUCCESS; return SF_SUCCESS;
} }
SINT32 sf_app_cq_signal_to_cardv(void)
{
SF_MESSAGE_BUF_S stMessageBuf = {0};
stMessageBuf.cmdId = CMD_GPRS;
stMessageBuf.arg1 = SF_GPRS_CMD_SIGNAL;
stMessageBuf.arg2 = sf_get_cq_signal();
sf_com_message_send_to_cardv(&stMessageBuf);
return SF_SUCCESS;
}
SINT32 app_led_net_reg_stop(SINT32 s32ret) SINT32 app_led_net_reg_stop(SINT32 s32ret)
{ {
@ -351,16 +361,15 @@ SINT32 app_led_net_reg_stop(SINT32 s32ret)
UINT8 netSearchStep = sf_get_netsearch_step(); UINT8 netSearchStep = sf_get_netsearch_step();
if(s32ret == SF_SUCCESS) { if(s32ret == SF_SUCCESS) {
UINT8 signalLevel = 0; UINT8 signalLevel = 0;
sf_4G_signal_level_get(puiPara->NetGeneration,puiPara->SimSignal,&signalLevel); sf_4G_signal_level_get(puiPara->NetGeneration,sf_get_cq_signal(),&signalLevel);
MLOGI("signalLevel = %d\n",signalLevel); MLOGI("signalLevel = %d\n",signalLevel);
sf_app_cq_signal_to_cardv();
if(netSearchStep == GPRS_SEARCH_STEP_LOGIN_FAILED) if(netSearchStep == GPRS_SEARCH_STEP_LOGIN_FAILED)
{ {
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_set_sim_insert(1);
sf_set_cq_signal(puiPara->SimSignal);
switch(signalLevel) switch(signalLevel)
{ {
case 1: case 1:
@ -385,7 +394,6 @@ SINT32 app_led_net_reg_stop(SINT32 s32ret)
|| s32ret == SF_4G_ERROR_NO_SUPPOET \ || s32ret == SF_4G_ERROR_NO_SUPPOET \
|| s32ret == SF_APP_ERROR_NO_SUPPOET) || s32ret == SF_APP_ERROR_NO_SUPPOET)
{ {
sf_set_sim_insert(0);
sf_sys_status_led_set(SF_LED_SYS_STATE_SIM_ERROR); sf_sys_status_led_set(SF_LED_SYS_STATE_SIM_ERROR);
} }
else if(s32ret == SF_HTTP_ERROR_REQUEST) { else if(s32ret == SF_HTTP_ERROR_REQUEST) {
@ -399,7 +407,6 @@ SINT32 app_led_net_reg_stop(SINT32 s32ret)
else if(s32ret == SF_4G_ERROR_REG_NET) { else if(s32ret == SF_4G_ERROR_REG_NET) {
sf_sys_status_led_set(SF_LED_SYS_STATE_SIM_ERROR); sf_sys_status_led_set(SF_LED_SYS_STATE_SIM_ERROR);
sf_sys_status_led_set(SF_LED_SYS_STATE_ERROR); sf_sys_status_led_set(SF_LED_SYS_STATE_ERROR);
sf_set_sim_insert(0);
} }
else { else {
sf_sys_status_led_set(SF_LED_SYS_STATE_ERROR); sf_sys_status_led_set(SF_LED_SYS_STATE_ERROR);

View File

@ -45,6 +45,10 @@
#include "sf_param_common.h" #include "sf_param_common.h"
#include "sf_eg91_sim.h" #include "sf_eg91_sim.h"
#include "sf_ftp.h" #include "sf_ftp.h"
#include "sf_commu_mcu_reg.h"
#include "sf_file.h"
#include "sf_commMng.h"
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
@ -129,7 +133,7 @@ SINT32 sf_USB_net_init(void)
static UINT8 flag = 0; static UINT8 flag = 0;
SF_CHAR cmdStr[128] = {0}; SF_CHAR cmdStr[128] = {0};
int ret = SF_FAILURE; int ret = SF_FAILURE;
SF_PDT_PARAM_STATISTICS_S *sfPara = sf_statistics_param_get(); //SF_PDT_PARAM_STATISTICS_S *sfPara = sf_statistics_param_get();
if(flag == 0) if(flag == 0)
{ {
flag = 1; flag = 1;
@ -597,7 +601,7 @@ static SINT32 app_server_excute_cmd(SF_FN_PARAM_S *pfnParam)
{ {
SINT32 ret = SF_SUCCESS; SINT32 ret = SF_SUCCESS;
SF_PDT_PARAM_CFG_S *pParam = (SF_PDT_PARAM_CFG_S*)pfnParam->pstParam; SF_PDT_PARAM_CFG_S *pParam = (SF_PDT_PARAM_CFG_S*)pfnParam->pstParam;
SF_PDT_PARAM_STATISTICS_S *pstaticParam = (SF_PDT_PARAM_STATISTICS_S*)pfnParam->pstaticParam; //SF_PDT_PARAM_STATISTICS_S *pstaticParam = (SF_PDT_PARAM_STATISTICS_S*)pfnParam->pstaticParam;
if(sf_get_login_reponse()->synConfigCommand == 1) { if(sf_get_login_reponse()->synConfigCommand == 1) {
@ -999,14 +1003,21 @@ static SINT16 app_file_transfer_Error_return_server(SF_FN_PARAM_S *pfnParam)
static SINT32 app_file_transfer(SF_FN_PARAM_S *pfnParam) static SINT32 app_file_transfer(SF_FN_PARAM_S *pfnParam)
{ {
SINT32 s32ret = 0; SINT32 s32ret = 0;
SF_MESSAGE_BUF_S stMessageBuf = {0}; //SF_MESSAGE_BUF_S stMessageBuf = {0};
//UIMenuStoreInfo *pCustomerParam = pfnParam->pstParam;
//SF_PDT_PARAM_STATISTICS_S *pStaticParam = pfnParam->pstaticParam;
UIMenuStoreInfo *pCustomerParam = pfnParam->pstParam; UIMenuStoreInfo *pCustomerParam = pfnParam->pstParam;
SF_PDT_PARAM_STATISTICS_S *pStaticParam = pfnParam->pstaticParam;
if(sf_usb_IsInsert()) if(sf_usb_IsInsert())
return SF_SUCCESS; return SF_SUCCESS;
sf_4G_status_set(SF_4G_SENDING); sf_4G_status_set(SF_4G_SENDING);
SLOGD("STARTUP:[%d]\n",sf_poweron_type_get()); SLOGD("STARTUP:[%d]\n",sf_poweron_type_get());
if(sf_get_cq_signal() == 0)
{
SLOGD("no csq signal\n");
return SF_SUCCESS;
}
switch(sf_poweron_type_get()) switch(sf_poweron_type_get())
{ {
case SF_MCU_STARTUP_OFF: case SF_MCU_STARTUP_OFF:
@ -1037,13 +1048,16 @@ static SINT32 app_file_transfer(SF_FN_PARAM_S *pfnParam)
case SF_MCU_STARTUP_TIMELAPSE: case SF_MCU_STARTUP_TIMELAPSE:
case SF_MCU_STARTUP_PIR: case SF_MCU_STARTUP_PIR:
//sf_share_mem_file_init(); //sf_share_mem_file_init();
sf_check_auto_thumb_file(); if(TRUE == sf_check_auto_thumb_file()){
s32ret = sf_simcom_ftp_send(1); s32ret = sf_simcom_ftp_send(1);
}
/*
stMessageBuf.cmdId = CMD_KEY; stMessageBuf.cmdId = CMD_KEY;
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);
*/
break; break;
#if 0 #if 0
case SF_MCU_STARTUP_NORMAL: case SF_MCU_STARTUP_NORMAL:
@ -1071,11 +1085,17 @@ static SINT32 app_file_transfer(SF_FN_PARAM_S *pfnParam)
case SF_MCU_STARTUP_DP: case SF_MCU_STARTUP_DP:
case SF_MCU_STARTUP_USB: case SF_MCU_STARTUP_USB:
case SF_MCU_STARTUP_RESET: case SF_MCU_STARTUP_RESET:
case SF_MCU_STARTUP_SYN_PARAM:
case SF_MCU_STARTUP_BATCH_SEND: case SF_MCU_STARTUP_BATCH_SEND:
break; break;
#endif #endif
case SF_MCU_STARTUP_SYN_PARAM:
if(pCustomerParam->GpsSendFlag){
s32ret = sf_simcom_ftp_send(2);
}
break;
default: default:
break; break;
} }
@ -1120,10 +1140,10 @@ SINT32 app_FileSend_thread(void)
} }
static SINT32 app_Register_Net_Error_return_setup(SF_FN_PARAM_S *pfnParam,SINT32 s32ret) static SINT32 app_Register_Net_Error_return_setup(SF_FN_PARAM_S *pfnParam,SINT32 s32ret)
{ {
SF_PDT_PARAM_STATISTICS_S *pStaticParam = pfnParam->pstaticParam; //SF_PDT_PARAM_STATISTICS_S *pStaticParam = pfnParam->pstaticParam;
SLOGD("s32ret:%x\n", s32ret); SLOGD("s32ret:%x\n", s32ret);
SLOGD("bind flag:%x\n", pStaticParam->bindFlag); //SLOGD("bind flag:%x\n", pStaticParam->bindFlag);
if(sf_poweron_type_get() == SF_MCU_STARTUP_ONKEY) if(sf_poweron_type_get() == SF_MCU_STARTUP_ONKEY)
{ {
if(SF_TRUE == sf_sys_rtc_time_check(&rtcTime)) if(SF_TRUE == sf_sys_rtc_time_check(&rtcTime))
@ -1132,8 +1152,17 @@ static SINT32 app_Register_Net_Error_return_setup(SF_FN_PARAM_S *pfnParam,SINT32
} }
app_led_net_reg_stop(s32ret); app_led_net_reg_stop(s32ret);
}else{
SF_MESSAGE_BUF_S stMessageBuf = {0};
MLOGI(" SF_KEY_PIN_AOTU_MODE_POWOFF\n");
stMessageBuf.cmdId = CMD_KEY;
stMessageBuf.arg1 = SF_EVENT_KEY_SHORT_CLICK;
stMessageBuf.arg2 = SF_KEY_PIN_AOTU_MODE_POWOFF;//auto mode powoff
sf_com_message_send_to_cardv(&stMessageBuf);
RegisterNetTskParam.IsRun = 0;
} }
pStaticParam->u8ResetLimited = 0; //pStaticParam->u8ResetLimited = 0;
sf_4G_status_set(SF_4G_FREE); sf_4G_status_set(SF_4G_FREE);
return SF_SUCCESS; return SF_SUCCESS;
@ -1141,13 +1170,13 @@ static SINT32 app_Register_Net_Error_return_setup(SF_FN_PARAM_S *pfnParam,SINT32
} }
static SINT32 app_Register_Net_Error_return_init(SF_FN_PARAM_S *pfnParam) static SINT32 app_Register_Net_Error_return_init(SF_FN_PARAM_S *pfnParam)
{ {
SF_PDT_PARAM_CFG_S *pCustomerParam =pfnParam->pstParam; //SF_PDT_PARAM_CFG_S *pCustomerParam =pfnParam->pstParam;
SF_PDT_PARAM_STATISTICS_S *pStaticParam = pfnParam->pstaticParam; //SF_PDT_PARAM_STATISTICS_S *pStaticParam = pfnParam->pstaticParam;
SF_MESSAGE_BUF_S stMessageBuf = {0}; SF_MESSAGE_BUF_S stMessageBuf = {0};
if(sf_poweron_type_get() != SF_MCU_STARTUP_ONKEY) if(sf_poweron_type_get() != SF_MCU_STARTUP_ONKEY)
{ {
if(pCustomerParam->GprsMode == 1) { /*if(pCustomerParam->GprsMode == 1) {
app_realtime_resetlimited(pStaticParam, pCustomerParam->GprsMode); app_realtime_resetlimited(pStaticParam, pCustomerParam->GprsMode);
stMessageBuf.arg1 = (pStaticParam->u8ResetLimited < 3 )?SF_POWEROFF_SYNC_PARAM:SF_POWEROFF_NOT; stMessageBuf.arg1 = (pStaticParam->u8ResetLimited < 3 )?SF_POWEROFF_SYNC_PARAM:SF_POWEROFF_NOT;
} }
@ -1155,21 +1184,27 @@ static SINT32 app_Register_Net_Error_return_init(SF_FN_PARAM_S *pfnParam)
stMessageBuf.arg1 = SF_POWEROFF_NOT; stMessageBuf.arg1 = SF_POWEROFF_NOT;
} }
stMessageBuf.cmdId = CMD_POWEROFF; stMessageBuf.cmdId = CMD_POWEROFF;
sf_com_message_send_to_app(&stMessageBuf); sf_com_message_send_to_app(&stMessageBuf);*/
MLOGI(" SF_KEY_PIN_AOTU_MODE_POWOFF CMD_KEY\n");
stMessageBuf.cmdId = CMD_KEY;
stMessageBuf.arg1 = SF_EVENT_KEY_SHORT_CLICK;
stMessageBuf.arg2 = SF_KEY_PIN_AOTU_MODE_POWOFF;//auto mode powoff
sf_com_message_send_to_cardv(&stMessageBuf);
} }
RegisterNetTskParam.IsRun = 0; RegisterNetTskParam.IsRun = 0;
return SF_SUCCESS; return SF_SUCCESS;
} }
static SINT32 app_Register_Net_Error_return_server(SF_FN_PARAM_S *pfnParam,SINT32 s32ret) static SINT32 app_Register_Net_Error_return_server(SF_FN_PARAM_S *pfnParam,SINT32 s32ret)
{ {
SF_PDT_PARAM_CFG_S *pCustomerParam = pfnParam->pstParam; //SF_PDT_PARAM_CFG_S *pCustomerParam = pfnParam->pstParam;
SF_PDT_PARAM_STATISTICS_S *pStaticParam = pfnParam->pstaticParam; //SF_PDT_PARAM_STATISTICS_S *pStaticParam = pfnParam->pstaticParam;
SF_MESSAGE_BUF_S stMessageBuf = {0}; SF_MESSAGE_BUF_S stMessageBuf = {0};
s32ret |= sf_4G_server_close(pfnParam); //s32ret |= sf_4G_server_close(pfnParam);
SLOGE("s32ret:%#x\n", s32ret); SLOGE("s32ret:%#x\n", s32ret);
SLOGD("bind flag:%x\n", pStaticParam->bindFlag); //SLOGD("bind flag:%x\n", pStaticParam->bindFlag);
if(sf_poweron_type_get() == SF_MCU_STARTUP_ONKEY) if(sf_poweron_type_get() == SF_MCU_STARTUP_ONKEY)
{ {
if(SF_TRUE == sf_sys_rtc_time_check(&rtcTime)) if(SF_TRUE == sf_sys_rtc_time_check(&rtcTime))
@ -1183,10 +1218,16 @@ static SINT32 app_Register_Net_Error_return_server(SF_FN_PARAM_S *pfnParam,SINT3
else else
{ {
app_realtime_resetlimited(pStaticParam, pCustomerParam->GprsMode); /*app_realtime_resetlimited(pStaticParam, pCustomerParam->GprsMode);
stMessageBuf.arg1 = (pStaticParam->u8ResetLimited < 3 )?SF_POWEROFF_SYNC_PARAM:SF_POWEROFF_NOT; stMessageBuf.arg1 = (pStaticParam->u8ResetLimited < 3 )?SF_POWEROFF_SYNC_PARAM:SF_POWEROFF_NOT;
stMessageBuf.cmdId = CMD_POWEROFF; stMessageBuf.cmdId = CMD_POWEROFF;
sf_com_message_send_to_app(&stMessageBuf); sf_com_message_send_to_app(&stMessageBuf);*/
MLOGI(" SF_KEY_PIN_AOTU_MODE_POWOFF CMD_KEY\n");
stMessageBuf.cmdId = CMD_KEY;
stMessageBuf.arg1 = SF_EVENT_KEY_SHORT_CLICK;
stMessageBuf.arg2 = SF_KEY_PIN_AOTU_MODE_POWOFF;//auto mode powoff
sf_com_message_send_to_cardv(&stMessageBuf);
} }
RegisterNetTskParam.IsRun = 0; RegisterNetTskParam.IsRun = 0;
@ -1197,15 +1238,14 @@ static SINT32 app_Register_Net_Error_return_server(SF_FN_PARAM_S *pfnParam,SINT3
static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam) static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
{ {
SINT32 s32ret = 0; SINT32 s32ret = 0;
UINT8 timeCnt = 0; //UINT8 timeCnt = 0;
//UINT8 bIsKeepConnect = 0; //UINT8 bIsKeepConnect = 0;
//SF_CHAR version[12] = {0}; //SF_CHAR version[12] = {0};
SF_MESSAGE_BUF_S stMessageBuf = {0}; //SF_MESSAGE_BUF_S stMessageBuf = {0};
//SF_PDT_PARAM_CFG_S *pCustomerParam = pfnParam->pstParam; //SF_PDT_PARAM_CFG_S *pCustomerParam = pfnParam->pstParam;
SF_PDT_PARAM_STATISTICS_S *pStaticParam = pfnParam->pstaticParam; //SF_PDT_PARAM_STATISTICS_S *pStaticParam = pfnParam->pstaticParam;
UIMenuStoreInfo *pCustomerParam = sf_app_ui_para_get();
UIMenuStoreInfo *pCustomerParam = pfnParam->pstParam;
sf_log_Level_set(SF_LOG_LEVEL_DEBUG); sf_log_Level_set(SF_LOG_LEVEL_DEBUG);
if(sf_usb_IsInsert()) if(sf_usb_IsInsert())
@ -1261,26 +1301,6 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
} }
SF_APPCOMM_CHECK_RETURN(s32ret,s32ret); SF_APPCOMM_CHECK_RETURN(s32ret,s32ret);
/*sf_4G_usb_net_apn_cfg(pfnParam);
sf_USB_net_init();
if(pStaticParam->AcmIP[0] == '\0')
{
s32ret = sf_4G_http_authenrequst(pfnParam);
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_NO_SUPPOET);
}
s32ret = sf_4G_server_open(pfnParam);
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_NO_SUPPOET);
s32ret = app_server_querystatus(SF_CMD_LOGIN_IN, pfnParam,SF_NULL);
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_NO_SUPPOET);
s32ret = sf_4G_server_close(pfnParam);
s32ret = app_server_excute_cmd(pfnParam);
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_NO_SUPPOET);
*/
break; break;
case SF_MCU_STARTUP_NORMAL: case SF_MCU_STARTUP_NORMAL:
@ -1399,25 +1419,7 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
case SF_MCU_STARTUP_SERVER: case SF_MCU_STARTUP_SERVER:
break; break;
case SF_MCU_STARTUP_DP:/* case SF_MCU_STARTUP_DP:
#ifdef SF_HARDWARE_TEST
app_system_poweroff(SF_POWEROFF_NOT);
break;
#endif
pCustomerParam->GPSEnterResetModeFlag = 1;
pCustomerParam->GPSWaitRestartFlag = 0;
s32ret = sf_4G_sim_IsInsert();
if(!s32ret)
{
timeCnt = 0;
while((sf_sd_status_get() == SF_SD_BUTT) && (timeCnt < 5))
{
usleep(1000*1000);
timeCnt++;
}
SF_APPCOMM_CHECK_RETURN(SF_FAILURE,SF_APP_ERROR_REQUEST);
}
s32ret = app_ttyusb_IsOpen(); s32ret = app_ttyusb_IsOpen();
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_REQUEST); SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_REQUEST);
@ -1429,66 +1431,35 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
s32ret = sf_4G_sim_init(pfnParam); s32ret = sf_4G_sim_init(pfnParam);
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_REQUEST); SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_REQUEST);
s32ret = sf_4G_register_net_auto(pfnParam); s32ret = sf_4G_register_net_manual(pfnParam);
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_REQUEST); SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_REQUEST);
pStaticParam->DailyReportAgain = pStaticParam->DailyReportAgain?0:1; s32ret = sf_get_utc();
MLOGD("DailyReportAgain:%d\n", pStaticParam->DailyReportAgain); if((s32ret == SF_SIM_ERROR_UTC) || (SF_ON == pCustomerParam->GpsSwitch))
{
sf_4G_usb_net_apn_cfg(pfnParam); s32ret = sf_get_ntp(s32ret);
sf_USB_net_init(); }
if(1 == pCustomerParam->NeedTimeSyncStartUp)
s32ret = app_http_IsAuthenrequst(pfnParam); {
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_REQUEST); 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);
s32ret = sf_4G_server_open(pfnParam);
if(s32ret == SF_SUCCESS) {
s32ret = app_server_querystatus(SF_CMD_LOGIN_IN, pfnParam, SF_NULL);
s32ret = sf_4G_server_close(pfnParam);
} }
// s32ret = app_server_excute_cmd(pfnParam); if(0 != sf_get_cq_signal()){
// SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_NO_SUPPOET); pCustomerParam->NeedTimeSyncStartUp = 1;
}
if(pCustomerParam->DailyReportSwitch)
{
pCustomerParam->GpsSendFlag = 1;//indicate need send dp file in b power on.
}
sf_dailyReport_set();
sf_share_mem_customer_down(1);
s32ret = sf_4G_acm_tcp_server_open(pfnParam);
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_NO_SUPPOET);
s32ret = app_server_Iskeepconnect(pfnParam,pCustomerParam->GprsMode);
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_NO_SUPPOET);
s32ret = app_gps_anti_theft(pfnParam);
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_NO_SUPPOET);
stMessageBuf.arg1 = SF_POWEROFF_NOT;
stMessageBuf.cmdId = CMD_POWEROFF;
sf_com_message_send_to_app(&stMessageBuf);*/
break; break;
case SF_MCU_STARTUP_USB: case SF_MCU_STARTUP_USB:
break; break;
case SF_MCU_STARTUP_RESET:/* case SF_MCU_STARTUP_RESET:
#ifdef SF_HARDWARE_TEST
app_system_poweroff(SF_POWEROFF_NOT);
break;
#endif
pCustomerParam->GPSEnterResetModeFlag = 1;
s32ret = sf_4G_sim_IsInsert();
if(!s32ret)
{
timeCnt = 0;
while((sf_sd_status_get() == SF_SD_BUTT) && (timeCnt < 5))
{
usleep(1000*1000);
timeCnt++;
}
SF_APPCOMM_CHECK_RETURN(SF_FAILURE,SF_APP_ERROR_REQUEST);
}
#ifdef SF_GPS_TEST
sf_commu_set_mcu(19, 1);
sf_commu_set_mcu(20 ,1);
sf_commu_set_mcu(84 ,1);
#endif
s32ret = app_ttyusb_IsOpen(); s32ret = app_ttyusb_IsOpen();
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_REQUEST); SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_REQUEST);
@ -1503,56 +1474,22 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
s32ret = sf_4G_register_net_manual(pfnParam); s32ret = sf_4G_register_net_manual(pfnParam);
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_REQUEST); SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_REQUEST);
s32ret = sf_get_utc();
#ifdef SF_GPS_TEST if((s32ret == SF_SIM_ERROR_UTC) || (SF_ON == pCustomerParam->GpsSwitch))
s32ret = app_gps_map_update(pfnParam); {
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_NO_SUPPOET); s32ret = sf_get_ntp(s32ret);
}
s32ret = app_gps_info_get(pfnParam); if(0 != sf_get_cq_signal()){
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_NO_SUPPOET); pCustomerParam->GpsSendFlag = 0;
pCustomerParam->NeedTimeSyncStartUp = 1;
break; //avoid always A mode power on
#endif pCustomerParam->NetWorkNeedSearch = 0;
//printf("[%s:%d]NeedTimeSyncStartUp=%d\n", __FUNCTION__, __LINE__, pCustomerParam->NeedTimeSyncStartUp);
sf_4G_usb_net_apn_cfg(pfnParam);
sf_USB_net_init();
if(pStaticParam->AcmIP[0] == '\0') {
s32ret = sf_4G_http_authenrequst(pfnParam);
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_REQUEST);
} }
sf_dailyReport_set();
s32ret = sf_4G_server_open(pfnParam); sf_share_mem_customer_down(1);
if(s32ret == SF_SUCCESS) {
s32ret = app_server_querystatus(SF_CMD_LOGIN_IN, pfnParam, SF_NULL);
s32ret = sf_4G_server_close(pfnParam);
}
// s32ret = app_server_excute_cmd(pfnParam);
// SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_NO_SUPPOET);
s32ret = sf_4G_acm_tcp_server_open(pfnParam);
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_NO_SUPPOET);
s32ret = app_server_Iskeepconnect(pfnParam,pCustomerParam->GprsMode);
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_NO_SUPPOET);
s32ret = app_gps_anti_theft(pfnParam);
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_NO_SUPPOET);
stMessageBuf.arg1 = SF_POWEROFF_NOT;
stMessageBuf.cmdId = CMD_POWEROFF;
sf_com_message_send_to_app(&stMessageBuf);
break; break;
case SF_MCU_STARTUP_SYN_PARAM: case SF_MCU_STARTUP_SYN_PARAM:
#ifdef SF_HARDWARE_TEST
app_system_poweroff(SF_POWEROFF_NOT);
break;
#endif
pCustomerParam->GPSEnterResetModeFlag = 0;
s32ret = sf_4G_sim_IsInsert();
if(!s32ret) {
SF_APPCOMM_CHECK_RETURN(SF_FAILURE,SF_APP_ERROR_REQUEST);
}
s32ret = app_ttyusb_IsOpen(); s32ret = app_ttyusb_IsOpen();
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_REQUEST); SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_REQUEST);
@ -1563,32 +1500,12 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
s32ret = sf_4G_register_net_auto(pfnParam); s32ret = sf_4G_register_net_auto(pfnParam);
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_REQUEST); SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_REQUEST);
sf_4G_usb_net_apn_cfg(pfnParam); s32ret = app_FileSend_thread();
sf_USB_net_init();
s32ret = app_http_IsAuthenrequst(pfnParam);
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_REQUEST); SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_REQUEST);
s32ret = app_gps_info_get(pfnParam); pCustomerParam->NetWorkNeedSearch = 0;
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_REQUEST); pCustomerParam->NeedTimeSyncStartUp = 0;
sf_share_mem_customer_down(1);
s32ret = sf_4G_server_open(pfnParam);
if(s32ret == SF_SUCCESS) {
s32ret = app_server_querystatus(SF_CMD_LOGIN_IN, pfnParam, SF_NULL);
s32ret = sf_4G_server_close(pfnParam);
}
s32ret = app_server_excute_cmd(pfnParam);
s32ret = sf_4G_acm_tcp_server_open(pfnParam);
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_NO_SUPPOET);
s32ret = app_server_Iskeepconnect(pfnParam,pCustomerParam->GprsMode);
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_NO_SUPPOET);
stMessageBuf.arg1 = SF_POWEROFF_NOT;
stMessageBuf.cmdId = CMD_POWEROFF;
sf_com_message_send_to_app(&stMessageBuf);*/
break; break;
case SF_MCU_STARTUP_BATCH_SEND: case SF_MCU_STARTUP_BATCH_SEND:

View File

@ -15,9 +15,11 @@
#include <sys/ipc.h> #include <sys/ipc.h>
#include <sys/ioctl.h> #include <sys/ioctl.h>
#include "sf_datahttp.h"
#include "sf_log.h" #include "sf_log.h"
#include "sf_module.h" #include "sf_module.h"
#include "sf_ledmng.h" #include "sf_ledmng.h"
#include "sf_service.h"
#include "sf_storeMng.h" #include "sf_storeMng.h"
#include "sf_systemMng.h" #include "sf_systemMng.h"
#include "sf_keymng.h" #include "sf_keymng.h"
@ -85,7 +87,7 @@ void app_poweroff_time_clear(void)
{ {
AutoPowerOffTime = 0; AutoPowerOffTime = 0;
} }
static void* auto_poweroff_thread(void) static void* auto_poweroff_thread(void * arg)
{ {
SF_MESSAGE_BUF_S stMessageBuf = {0}; SF_MESSAGE_BUF_S stMessageBuf = {0};
while(AutoPoweroffTskCfg.IsRun) while(AutoPoweroffTskCfg.IsRun)
@ -221,7 +223,7 @@ SINT32 app_auto_poweroff_start(void)
return SF_SUCCESS; return SF_SUCCESS;
} }
static void* battery_monitoring_thread(void) static void* battery_monitoring_thread(void *arg)
{ {
SINT32 batPercentVal = 1; SINT32 batPercentVal = 1;
SINT32 lastbatPercentVal = 1; SINT32 lastbatPercentVal = 1;
@ -346,7 +348,7 @@ SINT32 app_batmonitoring_start(void)
return SF_SUCCESS; return SF_SUCCESS;
} }
void* flash_poweroff_thread(void) void* flash_poweroff_thread(void *arg)
{ {
UINT16 i = 0; UINT16 i = 0;
SF_MESSAGE_BUF_S stMessageBuf = {0}; SF_MESSAGE_BUF_S stMessageBuf = {0};
@ -406,7 +408,7 @@ SINT8 app_flash_poweroff_task_IsRun(void)
{ {
return FunKeySwitchTskCfg.IsRun; return FunKeySwitchTskCfg.IsRun;
} }
void* upgrade_restore_thread(void) void* upgrade_restore_thread(void *arg)
{ {
UINT16 i = 0; UINT16 i = 0;
@ -467,7 +469,7 @@ SINT8 app_upgrade_restore_IsRun(void)
return UpgradeRestoreTskCfg.IsRun; return UpgradeRestoreTskCfg.IsRun;
} }
void* upgrade_ota_restore_thread(void) void* upgrade_ota_restore_thread(void *arg)
{ {
UINT16 i = 0; UINT16 i = 0;
@ -817,7 +819,7 @@ _error_deal_:
SINT32 app_preinit(void) SINT32 app_preinit(void)
{ {
SINT8 bUsbIsInsert = 0; SINT8 bUsbIsInsert = 0;
SINT8 bSimIsInsert = 0; //SINT8 bSimIsInsert = 0;
SF_STARTUP_TYPE_E startup = SF_MCU_STARTUP_ONKEY; SF_STARTUP_TYPE_E startup = SF_MCU_STARTUP_ONKEY;
startup = sf_poweron_type_get(); startup = sf_poweron_type_get();
@ -847,6 +849,27 @@ SINT32 app_preinit(void)
} }
/*************************************************
Function: sf_versionGet
Description:
Input: ver:version buffer; fea:feature code buffer
Output: version and feature code
Return: version
Others: N/A
*************************************************/
UINT8 *sf_versionGet(UINT8 ver[],UINT8 fea[])
{
strcpy((char *)ver, SF_BASE_VERSION);
strcpy((char *)fea, SF_BASE_VERSION_FEA);
printf("ver:%s\n",ver);
printf("fea:%s\n",fea);
return ver;
}
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
} }

View File

@ -207,14 +207,16 @@ SINT32 sf_share_mem_file_down(UINT32 to, SINT32 param)
stMessageBuf.cmdId = CMD_FILE; stMessageBuf.cmdId = CMD_FILE;
if(to)//to cardv if(to)//to cardv
{ {
MLOGI("file UPDATE to cardv\n");
sf_com_message_send_to_cardv(&stMessageBuf); sf_com_message_send_to_cardv(&stMessageBuf);
} }
else //to sf app else //to sf app
{ {
MLOGI("file UPDATE to app\n");
sf_com_message_send_to_app(&stMessageBuf); sf_com_message_send_to_app(&stMessageBuf);
} }
printf("[%s:%d] creat share mem succeed!!!\n", __FUNCTION__, __LINE__); //printf("[%s:%d] creat share mem succeed!!!\n", __FUNCTION__, __LINE__);
return SF_SUCCESS; return SF_SUCCESS;
} }
return SF_FAILURE; return SF_FAILURE;
@ -267,14 +269,16 @@ SINT32 sf_share_mem_customer_down(UINT32 to)
stMessageBuf.cmdId = CMD_PARA; stMessageBuf.cmdId = CMD_PARA;
if(to)//to cardv if(to)//to cardv
{ {
MLOGI("PARA UPDATE to cardv ID:%d\n",sf_sharMemId);
sf_com_message_send_to_cardv(&stMessageBuf); sf_com_message_send_to_cardv(&stMessageBuf);
} }
else //to sf app else //to sf app
{ {
MLOGI("PARA UPDATE to app ID:%d\n",sf_sharMemId);
sf_com_message_send_to_app(&stMessageBuf); sf_com_message_send_to_app(&stMessageBuf);
} }
printf("[%s:%d] creat share mem succeed ID:%d!!!\n", __FUNCTION__, __LINE__, sf_sharMemId); //printf("[%s:%d] to:%d creat share mem succeed ID:%d!!!\n", __FUNCTION__, __LINE__, to, sf_sharMemId);
return SF_SUCCESS; return SF_SUCCESS;
} }

View File

@ -18,6 +18,13 @@
#include "sf_file.h" #include "sf_file.h"
#include "HMACSHA.h" #include "HMACSHA.h"
#include "sf_commu_mcu_reg.h" #include "sf_commu_mcu_reg.h"
#include "sf_systemMng.h"
#include "sf_storeMng.h"
#include <sf_device.h>
#include <sf_module.h>
#include <sf_system.h>
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
extern "C" { extern "C" {
@ -37,9 +44,12 @@ UINT8 PicName[5][2][35] = { { { 0 } } };
UINT8 mmsUploadFlg = 0; /*0:mms upload file fail; 1:success.*/ UINT8 mmsUploadFlg = 0; /*0:mms upload file fail; 1:success.*/
extern char logStr[128]; extern char logStr[128];
extern char gsmPara[GPRS_INFO_LINE_MAX]; extern char gsmPara[GPRS_INFO_LINE_MAX];
static SINT16 Temper = 0;
static BOOL TemperFalg = 0;
static UINT8 battery = 0;
static BOOL batteryFalg = 0;
static UINT8 batteryType = 0;
UINT8 sf_check_file_video(void) UINT8 sf_check_file_video(void)
{ {
@ -280,7 +290,7 @@ SINT32 sf_quectel_upload_file_to_module(UINT8 *fileAbsolutePath, UINT8 *uploadFn
SINT32 ttyRet = SF_FAILURE; SINT32 ttyRet = SF_FAILURE;
UINT32 fd = 0; UINT32 fd = 0;
UINT32 countflag = 0; UINT32 countflag = 0;
UINT32 time = 0; //UINT32 time = 0;
struct stat statBuf; struct stat statBuf;
//UINT8 sdFname[64] = {0}; //UINT8 sdFname[64] = {0};
@ -601,19 +611,6 @@ SINT32 sf_upload_send_files_to_module(UINT8 mode)
sprintf((char *)uploadFname[piccount], "%s", pThumbFileCfg->stfileattr[0].thumbfileName); sprintf((char *)uploadFname[piccount], "%s", pThumbFileCfg->stfileattr[0].thumbfileName);
sprintf((char *)uploadAbsolutePath[piccount], "%s", pThumbFileCfg->stfileattr[0].thumbfilePath); sprintf((char *)uploadAbsolutePath[piccount], "%s", pThumbFileCfg->stfileattr[0].thumbfilePath);
/*if(2 == tempPicSize)
{
sprintf((char *)uploadAbsolutePath[piccount], "%s\\%s%s\\%s", SF_DCIM_DIR, PicName[0][0], DCF_DIR_FREE_CHAR, PicName[0][1]);
}
else if(1 == tempPicSize)
{
sprintf((char *)uploadAbsolutePath[piccount], "%s\\%s", SF_THUMB_BIG_DIR, PicName[0][1]);
}
else
{
sprintf((char *)uploadAbsolutePath[piccount], "%s\\%s", SF_THUMB_SMALL_DIR, PicName[0][1]);
}*/
piccount++; piccount++;
} }
} }
@ -622,20 +619,6 @@ SINT32 sf_upload_send_files_to_module(UINT8 mode)
{ {
if(pPara->SendMultishotIndex2) if(pPara->SendMultishotIndex2)
{ {
/*sprintf((char *)uploadFname[piccount], "%s", PicName[1][1]);
if(2 == tempPicSize)
{
sprintf((char *)uploadAbsolutePath[piccount], "%s\\%s%s\\%s", SF_DCIM_DIR, PicName[1][0], DCF_DIR_FREE_CHAR, PicName[1][1]);
}
else if(1 == tempPicSize)
{
sprintf((char *)uploadAbsolutePath[piccount], "%s\\%s", SF_THUMB_BIG_DIR, PicName[1][1]);
}
else
{
sprintf((char *)uploadAbsolutePath[piccount], "%s\\%s", SF_THUMB_SMALL_DIR, PicName[1][1]);
}*/
sprintf((char *)uploadFname[piccount], "%s", pThumbFileCfg->stfileattr[1].thumbfileName); sprintf((char *)uploadFname[piccount], "%s", pThumbFileCfg->stfileattr[1].thumbfileName);
sprintf((char *)uploadAbsolutePath[piccount], "%s", pThumbFileCfg->stfileattr[1].thumbfilePath); sprintf((char *)uploadAbsolutePath[piccount], "%s", pThumbFileCfg->stfileattr[1].thumbfilePath);
@ -644,20 +627,6 @@ SINT32 sf_upload_send_files_to_module(UINT8 mode)
if(pPara->SendMultishotIndex3) if(pPara->SendMultishotIndex3)
{ {
/*sprintf((char *)uploadFname[piccount], "%s", PicName[2][1]);
if(2 == tempPicSize)
{
sprintf((char *)uploadAbsolutePath[piccount], "%s\\%s%s\\%s", SF_DCIM_DIR, PicName[2][0], DCF_DIR_FREE_CHAR, PicName[2][1]);
}
else if(1 == tempPicSize)
{
sprintf((char *)uploadAbsolutePath[piccount], "%s\\%s", SF_THUMB_BIG_DIR, PicName[2][1]);
}
else
{
sprintf((char *)uploadAbsolutePath[piccount], "%s\\%s", SF_THUMB_SMALL_DIR, PicName[2][1]);
}*/
sprintf((char *)uploadFname[piccount], "%s", pThumbFileCfg->stfileattr[2].thumbfileName); sprintf((char *)uploadFname[piccount], "%s", pThumbFileCfg->stfileattr[2].thumbfileName);
sprintf((char *)uploadAbsolutePath[piccount], "%s", pThumbFileCfg->stfileattr[2].thumbfilePath); sprintf((char *)uploadAbsolutePath[piccount], "%s", pThumbFileCfg->stfileattr[2].thumbfilePath);
@ -666,20 +635,6 @@ SINT32 sf_upload_send_files_to_module(UINT8 mode)
if(pPara->SendMultishotIndex4) if(pPara->SendMultishotIndex4)
{ {
/*sprintf((char *)uploadFname[piccount], "%s", PicName[3][1]);
if(2 == tempPicSize)
{
sprintf((char *)uploadAbsolutePath[piccount], "%s\\%s%s\\%s", SF_DCIM_DIR, PicName[3][0], DCF_DIR_FREE_CHAR, PicName[3][1]);
}
else if(1 == tempPicSize)
{
sprintf((char *)uploadAbsolutePath[piccount], "%s\\%s", SF_THUMB_BIG_DIR, PicName[3][1]);
}
else
{
sprintf((char *)uploadAbsolutePath[piccount], "%s\\%s", SF_THUMB_SMALL_DIR, PicName[3][1]);
}*/
sprintf((char *)uploadFname[piccount], "%s", pThumbFileCfg->stfileattr[3].thumbfileName); sprintf((char *)uploadFname[piccount], "%s", pThumbFileCfg->stfileattr[3].thumbfileName);
sprintf((char *)uploadAbsolutePath[piccount], "%s", pThumbFileCfg->stfileattr[3].thumbfilePath); sprintf((char *)uploadAbsolutePath[piccount], "%s", pThumbFileCfg->stfileattr[3].thumbfilePath);
@ -688,20 +643,6 @@ SINT32 sf_upload_send_files_to_module(UINT8 mode)
if(pPara->SendMultishotIndex5) if(pPara->SendMultishotIndex5)
{ {
/*sprintf((char *)uploadFname[piccount], "%s", PicName[4][1]);
if(2 == tempPicSize)
{
sprintf((char *)uploadAbsolutePath[piccount], "%s\\%s%s\\%s", SF_DCIM_DIR, PicName[4][0], DCF_DIR_FREE_CHAR, PicName[4][1]);
}
else if(1 == tempPicSize)
{
sprintf((char *)uploadAbsolutePath[piccount], "%s\\%s", SF_THUMB_BIG_DIR, PicName[4][1]);
}
else
{
sprintf((char *)uploadAbsolutePath[piccount], "%s\\%s", SF_THUMB_SMALL_DIR, PicName[4][1]);
}*/
sprintf((char *)uploadFname[piccount], "%s", pThumbFileCfg->stfileattr[4].thumbfileName); sprintf((char *)uploadFname[piccount], "%s", pThumbFileCfg->stfileattr[4].thumbfileName);
sprintf((char *)uploadAbsolutePath[piccount], "%s", pThumbFileCfg->stfileattr[4].thumbfilePath); sprintf((char *)uploadAbsolutePath[piccount], "%s", pThumbFileCfg->stfileattr[4].thumbfilePath);
@ -772,6 +713,549 @@ void sf_set_upload_to_module_flag(UINT8 Falg)
uploadToModuleFalg = Falg; uploadToModuleFalg = Falg;
} }
#if 1
/*************************************************
Function: sf_create_thumb_dir
Description: creat thumb dir
Input: N/A
Output: N/A
Return: N/A
Others: N/A
*************************************************/
void sf_create_thumb_dir(void)
{
/*
UINT32 sysMode = 0;
UINT32 attribute = 0;
char *dir_path = "/sd";
if (access(SF_SEND_LIST_DIR, F_OK) != -1) {
return;
}
if(mkdir(SF_SEND_LIST_DIR, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) == SUCCESS)
{
printf("THUMB creat successed !!!\n");
sp5kFsFileAttrSet(SF_THUMB_DIR, SP5K_FS_ATTR_HIDDEN|SP5K_FS_ATTR_SYSTEM);
mkdir(SF_SEND_LIST_DIR, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);
}
else
{
printf("THUMB creat faild !!! Or no need creat\n");
mkdir(SF_SEND_LIST_DIR, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);
}
*/
}
/*************************************************
Function: sf_maximum_sending_limit
Description: maximun sending limit
Input: N/A
Output: N/A
Return: TRUE/FALSE
Others: N/A
*************************************************/
UINT8 sf_maximum_sending_limit(void)
{
static UINT8 doFirst = 1;
UINT8 ret = 0;
SF_PDT_PARAM_STATISTICS_S *pSifarPara = sf_statistics_param_get();
UIMenuStoreInfo *pPara = sf_app_ui_para_get();
SF_PARA_TIME_S rtcTime;
sf_sys_rtc_time_get(&rtcTime);
if(doFirst) // avoid called twice nearly 00:00
{
doFirst = 0;
if((rtcTime.Year!=pSifarPara->Year)||(rtcTime.Mon!=pSifarPara->Mon)||(rtcTime.Day!=pSifarPara->Day))
{
printf("new day, refresh counter!\n");
pSifarPara->picSendMax = 0;
/*antony add here for default smtp number limit.*/
pSifarPara->subscribeSendCnt = 0;
pSifarPara->subscribeVideoSendCnt = 0;
pSifarPara->Year=rtcTime.Year;
pSifarPara->Mon=rtcTime.Mon;
pSifarPara->Day=rtcTime.Day;
pSifarPara->Hour=rtcTime.Hour;
ret=FALSE;
}
}
printf("sf_maximum_sending_limit-picSendMax:%d----SendMaxNum:%d----\n", pSifarPara->picSendMax, pPara->SendMaxNum);
if(pPara->SendMaxNum==0)
{
pSifarPara->Mon=rtcTime.Mon;
pSifarPara->Day=rtcTime.Day;
ret = FALSE;
}
else
{
if(pSifarPara->picSendMax >= pPara->SendMaxNum)
{
ret = TRUE;
}
else
{
ret = FALSE;
}
}
return ret;
}
SINT16 sf_app_get_temper(UINT8 type) /*0:°F 1:°C */
{
int tmp = 0;
SF_MESSAGE_BUF_S stMessageBuf = {0};
TemperFalg = 0;
Temper = 0;
stMessageBuf.cmdId = CMD_DEV;
stMessageBuf.arg1 = SF_DEV_CMD_TEMPER;
stMessageBuf.arg2 = type;
sf_com_message_send_to_cardv(&stMessageBuf);
while((TemperFalg == 0) && (tmp < 20))
{
usleep(1000);
tmp++;
}
return Temper;
}
void sf_app_set_temper(SINT16 val) /*0:°F 1:°C */
{
TemperFalg = 1;
Temper = val;
}
UINT8 sf_app_get_battery(void)
{
int tmp = 0;
SF_MESSAGE_BUF_S stMessageBuf = {0};
batteryFalg = 0;
battery = 0;
stMessageBuf.cmdId = CMD_DEV;
stMessageBuf.arg1 = SF_DEV_CMD_BAT;
sf_com_message_send_to_cardv(&stMessageBuf);
while((batteryFalg == 0) && (tmp < 30))
{
usleep(1000);
tmp++;
}
return battery;
}
void sf_app_set_battery(UINT8 val, UINT8 type)
{
batteryFalg = 1;
battery = val;
batteryType = type;
}
void sf_custom_send_str_get(UINT8 *sendName, UINT8 *pStr)
{
/*
UIMenuStoreInfo *pPara = sf_app_ui_para_get();
UINT8 datestr[20] = { 0 };
SF_PARA_TIME_S drRtcTime;
sf_sys_rtc_time_get(&drRtcTime);
printf("[%s:%d]pPara->CamNameSwitch:%d,pPara->CamNameStr:%s\n", __FUNCTION__, __LINE__, pPara->CamNameSwitch, pPara->CamNameStr);
if(pPara->DateStyle == SF_DATE_TIME_YYMMDD)
{
sprintf((char *)datestr, "%d%02d%02d%02d%02d%02d", drRtcTime.Year, drRtcTime.Mon, drRtcTime.Day, drRtcTime.Hour, drRtcTime.Min, drRtcTime.Sec);
}
else if (pPara->DateStyle == SF_DATE_TIME_MMDDYY)
{
sprintf((char *)datestr, "%02d%02d%d%02d%02d%02d", drRtcTime.Mon, drRtcTime.Day, drRtcTime.Year, drRtcTime.Hour, drRtcTime.Min, drRtcTime.Sec);
}
else
{
sprintf((char *)datestr, "%02d%02d%d%02d%02d%02d", drRtcTime.Day, drRtcTime.Mon, drRtcTime.Year,drRtcTime.Hour, drRtcTime.Min, drRtcTime.Sec);
}
printf("[%s:%d]customStr:%s\n", __FUNCTION__, __LINE__, datestr);
sprintf((char *)pStr, "%s", datestr);
*/
}
/*************************************************
Function: sf_create_dailyreport_file
Description: create dailyreport file
Input: N/A
Output: N/A
Return: SUCCESS/FAIL
Others: N/A
*************************************************/
UINT32 sf_create_dailyreport_file(void)
{
UINT32 size=0, i=0;
int fd = 0, fd1 = 0, ret = FAIL;
char tmpDate[32] = {0};
UINT8 szTmp[250] = {0};
UINT8 szTmp1[250] = {0};
UINT8 szTmp2[250] = {0};
UINT8 cfgTmp[150] = {0};
UINT32 szTmpsize = 0;
UINT8 *buf = NULL;
//uiPara_t *pPara = appUiParaGet();
//sfPara_t* pSifarPara = sf_ParaGet();
SF_PDT_PARAM_STATISTICS_S *pSifarPara = sf_statistics_param_get();
UIMenuStoreInfo *pPara = sf_app_ui_para_get();
UINT32 dskfree=0;// totalSize = 0;
char dskfreeStr[20]= {0};
UINT8 cameraID[20]= {0};
char str[50]= {0};
//UINT8 gpsStr[25] = {0};
//UINT8 gpsStrTemp[45] = {0};
UINT16 temp = 0;
//UINT32 TotalFile=0;
UINT8 csqlevel=0;
UINT8 localver[20] = {0}; /*Software version*/
UINT8 localfea[5] = {0};/*Software fea*/
SF_PARA_TIME_S drRtcTime;
/*Avoid New Card*/
if (access(SF_THUMB_DIR, F_OK) == -1) {
printf("%s directory does not exist. Creating...\n", SF_THUMB_DIR);
if (mkdir(SF_THUMB_DIR, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) == -1) {
perror("mkdir() error");
} else {
printf("%s directory created.\n", SF_THUMB_DIR);
}
} else {
printf("%s directory exists.\n", SF_THUMB_DIR);
}
//sf_create_thumb_dir();
if(pPara->CamNameSwitch)
{
SF_STRCPY(cameraID, pPara->CamNameStr);
}
else
{
cameraID[i++]=' ';
cameraID[i++]=' ';
cameraID[i++]=' ';
cameraID[i++]=' ';
cameraID[i++]='\0';
}
i=0;
sprintf(str, "%d Celsius Degree", sf_app_get_temper(1));
sf_sys_rtc_time_get(&drRtcTime);
if(sf_in_card_exist())
{
SF_STORE_ATTR_S storeattrs = {0};
sf_sd_info_get(&storeattrs);
dskfree=dskfree/1024;
sprintf(dskfreeStr, "%dM/%dM", storeattrs.SDFree, storeattrs.SDTotalSize);
}
else
{
sprintf(dskfreeStr, "NO CARD");
}
sf_maximum_sending_limit();
/*if(pPara->GpsSwitch)
{
if((pPara->latitude[0] != '\0') && (pPara->longitude[0] != '\0'))
{
GSM_GpsInforStrGet(gpsStr, 1);
sprintf(gpsStrTemp, "GPS:%s (%s)\r\n", gpsStr, pPara->GpsGotTime);
}
else
{
sprintf(gpsStrTemp, "GPS:\r\n");
}
}
else
{
gpsStrTemp[0] = '\0';
}*/
//csqlevel = sf_signal_level_get(pPara->NetGeneration, sf_get_cq_signal());
sf_4G_signal_level_get(pPara->NetGeneration,sf_get_cq_signal(),&csqlevel);
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);
}
else if (pPara->DateStyle == SF_DATE_TIME_MMDDYY)
{
sprintf(tmpDate, "%02d/%02d/%d %02d:%02d:%02d", drRtcTime.Mon, drRtcTime.Day, drRtcTime.Year, drRtcTime.Hour, drRtcTime.Min, drRtcTime.Sec);
}
else
{
sprintf(tmpDate, "%02d/%02d/%d %02d:%02d:%02d", drRtcTime.Day, drRtcTime.Mon, drRtcTime.Year,drRtcTime.Hour, drRtcTime.Min, drRtcTime.Sec);
}
sprintf((char *)szTmp, "IMEI:%s\r\n"
"CSQ:%d-%dG\r\n"
"CamID:%s\r\n"
"Temp:%s\r\n"
"Date:%s\r\n"
"Battery:%d%%\r\n"
"SD:%s\r\n"
"ICCID:%s\r\n"
"Trigger:%d\r\n"
"Total Pics:%d\r\n"
"Total Pics Sent:%d\r\n", \
pPara->ModuleImei, \
csqlevel, \
pPara->NetGeneration, \
cameraID, \
str, \
tmpDate, \
sf_app_get_battery(), \
dskfreeStr, \
pPara->SimIccid, \
pSifarPara->TirgNum, \
pSifarPara->NewFlieCount, \
pSifarPara->picSendCount + pSifarPara->videoSendCount);
sf_versionGet(localver,localfea);
temp = batteryType;
//if(CameraCmd.setPara)
// pPara = pPara_sms_saved;
if(temp == 1)
{
sprintf(str, "DC");
}
else if(temp == 2)
{
sprintf(str, "Custom");
}
else
{
if(pPara->BatteryType == 0)
sprintf(str, "Alkaline");
else if(pPara->BatteryType == 1)
sprintf(str, "NI-MH");
else
sprintf(str, "Lithium");
}
sprintf((char *)szTmp1, "Total Pics Success:%d\r\n"
"Total Pics Failed:%d\r\n"
"Total Pics Timeout:%d\r\n"
"Total Transmission Time:%d\r\n"
"Thumbnail Transmission Time:%d\r\n"
"Thumbnail Pics Sent:%d\r\n"
"Thumbnail Pics Failed:%d\r\n", \
pSifarPara->picSendSucessCount + (pSifarPara->videoSendCount - pSifarPara->videoSendFailCount), \
pSifarPara->picSendFailCount + pSifarPara->videoSendFailCount, \
pSifarPara->picSendTimeoutCount, \
pSifarPara->picSendTimeCount + pSifarPara->videoSendTimeCount, \
pSifarPara->sendThumbnailTimeCount, \
pSifarPara->sendThumbnailCount, \
pSifarPara->sendThumbnailFailCount);
sprintf((char *)szTmp2, "HD Transmission Time:%d\r\n"
"HD Pics Sent:%d\r\n"
"HD Pics Failed:%d\r\n"
"Video Transmission Time:%d\r\n"
"Video Sent:%d\r\n"
"Video Faild:%d\r\n"
"Ver:%s\r\n"
"FW Ver:%s\r\n"
"Mod:%s\r\n"
"Power Type:%s\r\n", \
pSifarPara->picSendTimeCount - pSifarPara->sendThumbnailTimeCount, \
pSifarPara->picSendCount - pSifarPara->sendThumbnailCount,
pSifarPara->picSendFailCount - pSifarPara->sendThumbnailFailCount,\
pSifarPara->videoSendTimeCount, \
pSifarPara->videoSendCount, \
pSifarPara->videoSendFailCount, \
localfea, \
localver, \
pPara->ModuleSubver, \
str);
sprintf((char *)cfgTmp, "$R01*%d#", pPara->CamMode== SF_CAM_MODE_PHOTO ?1:2);
sprintf(str, "%d#", pPara->ImgSize+1);
SF_STRCAT(cfgTmp, (const char *)str);
sprintf(str, "%d#", pPara->VideoSize+1);
SF_STRCAT(cfgTmp, (const char *)str);
sprintf(str, "%02d#", pPara->VideoLenth == 0 ? 10 : 15);
SF_STRCAT(cfgTmp, (const char *)str);
sprintf(str, "%d#", pPara->Multishot+1);
SF_STRCAT(cfgTmp, (const char *)str);
sprintf(str, "%d#", pPara->MultiShotIntevel);
SF_STRCAT(cfgTmp, (const char *)str);
sprintf(str, "%d#", pPara->NightMode+1);
SF_STRCAT(cfgTmp, (const char *)str);
sprintf(str, "%d#", pPara->BatteryType+1);
SF_STRCAT(cfgTmp, (const char *)str);
sprintf(str, "%d#", pPara->FlashLed+1);
SF_STRCAT(cfgTmp, (const char *)str);
sprintf(str, "%d#", pPara->NTPZoneS+1);
SF_STRCAT(cfgTmp, (const char *)str);
if(pPara->PirDelaySwitch)
sprintf(str, "%02d:%02d:%02d#", pPara->PirDelayTime.Hour, pPara->PirDelayTime.Min, pPara->PirDelayTime.Hour);
else
sprintf(str, "OFF#");
SF_STRCAT(cfgTmp, (const char *)str);
if(pPara->TimelapseSwitch)
sprintf(str, "%02d:%02d:%02d#", pPara->TimelapseTime.Hour, pPara->TimelapseTime.Min, pPara->TimelapseTime.Sec);
else
sprintf(str, "OFF#");
SF_STRCAT(cfgTmp, (const char *)str);
if(pPara->WorkTime1Switch)
sprintf(str, "%02d:%02d-%02d:%02d#", pPara->WorkTime[0].StartTime.Hour, pPara->WorkTime[0].StartTime.Min, pPara->WorkTime[0].StopTime.Hour,pPara->WorkTime[0].StopTime.Min);
else
sprintf(str, "OFF#");
SF_STRCAT(cfgTmp, (const char *)str);
if(pPara->SdLoopSwitch)
sprintf(str, "ON#");
else
sprintf(str, "OFF#");
SF_STRCAT(cfgTmp, (const char *)str);
if(pPara->SendMaxNum)
sprintf(str, "%02d#", pPara->SendMaxNum);
else
sprintf(str, "OFF#");
SF_STRCAT(cfgTmp, (const char *)str);
if(pPara->FtpSwitch)
sprintf(str, "ON#");
else
sprintf(str, "OFF#");
SF_STRCAT(cfgTmp, (const char *)str);
sprintf(str, "%d#", pPara->GprsMode);
SF_STRCAT(cfgTmp, (const char *)str);
sprintf(str, "%d#", pPara->PirSensitivity);
SF_STRCAT(cfgTmp, (const char *)str);
sprintf(str, "%d#", pPara->SendType);
SF_STRCAT(cfgTmp, (const char *)str);
if(pPara->SendType)
{
sprintf(str, "%02d:%02d#", pPara->TimeSend1.Hour, pPara->TimeSend1.Min);
}
else
{
sprintf(str, "null#");
}
SF_STRCAT(cfgTmp, (const char *)str);
if(pPara->SendType == 2)
{
sprintf(str, "%02d:%02d#", pPara->TimeSend2.Hour, pPara->TimeSend2.Min);
}
else
{
sprintf(str, "null#");
}
SF_STRCAT(cfgTmp, (const char *)str);
sprintf(str, "%d#", pPara->GpsSwitch);
SF_STRCAT(cfgTmp, (const char *)str);
sprintf(str, "0#"); //gps number
SF_STRCAT(cfgTmp, (const char *)str);
sprintf(str, "%d#", pPara->PicUpDailyReport);
SF_STRCAT(cfgTmp, (const char *)str);
sprintf(str, "%d#", pPara->SendMulti);
SF_STRCAT(cfgTmp, (const char *)str);
sprintf(str, "null#null#null#null$\r\n");
SF_STRCAT(cfgTmp, (const char *)str);
printf("szTmp:%s\n", szTmp);
printf("szTmp1=%s\n",szTmp1);
printf("szTmp2=%s\n",szTmp2);
printf("cfgTmp:%s\n", cfgTmp);
if(sf_file_IsExsit(SF_DAILYREPORT_FILENAME) == SF_TRUE){
sf_file_remove(SF_DAILYREPORT_FILENAME);
}
fd = open(SF_DAILYREPORT_FILENAME, O_APPEND | O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR);
if(fd)
{
szTmpsize=SF_STRLEN(szTmp);
//printf("szTmpsize=%d\n",szTmpsize);
write(fd, szTmp, szTmpsize);
szTmpsize=SF_STRLEN(szTmp1);
//printf("szTmpsize=%d\n",szTmpsize);
write(fd, szTmp1, szTmpsize);
szTmpsize=SF_STRLEN(szTmp2);
//printf("szTmpsize=%d\n",szTmpsize);
write(fd, szTmp2, szTmpsize);
if(sf_file_IsExsit(SF_ERROR_CODE) == SF_TRUE){
size = sf_get_file_size((UINT8 *)SF_ERROR_CODE);
}
fd1 = open(SF_ERROR_CODE, O_APPEND | O_WRONLY, S_IRUSR | S_IWUSR);
if(fd1)
{
//size = sp5kFsFileSizeGet(fd1);
buf = malloc(size);
if (buf)
{
read(fd1, buf, size-1);
printf("error code size=%d\n",size);
write(fd, buf, size-1);
write(fd, (UINT8 *)"\r\n", SF_STRLEN("\r\n"));
free(buf);
}
close(fd1);
}
szTmpsize=SF_STRLEN(cfgTmp);
//printf("szTmpsize=%d\n",szTmpsize);
write(fd, cfgTmp, szTmpsize);
ret = SUCCESS;
close(fd);
}
return ret;
}
#endif
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
} }

View File

@ -50,11 +50,11 @@ SINT32 sf_file_remove(SF_CHAR *fileName)
if(s32ret != SF_SUCCESS) if(s32ret != SF_SUCCESS)
{ {
SF_MESSAGE_BUF_S stMessageBuf = {0}; //SF_MESSAGE_BUF_S stMessageBuf = {0};
stMessageBuf.cmdId = 0x0113; //stMessageBuf.cmdId = 0x0113;
stMessageBuf.arg1 = 0; //stMessageBuf.arg1 = 0;
sf_com_message_send_to_cardv(&stMessageBuf); //sf_com_message_send_to_cardv(&stMessageBuf);
usleep(500000); //usleep(500000);
} }
count++; count++;
}while(sf_file_IsExsit((CHAR *)fileName) == SF_TRUE && count < 10); }while(sf_file_IsExsit((CHAR *)fileName) == SF_TRUE && count < 10);
@ -79,11 +79,11 @@ SINT32 sf_file_size_get(SF_CHAR *filePath,UINT32 *pFileSize)
fd = open(filePath, O_RDWR); /*open jpg file*/ fd = open(filePath, O_RDWR); /*open jpg file*/
if(fd < 0) { if(fd < 0) {
// MLOGE("open [%s] failed !!!,errno = [%d,%s]\n",filePath,errno,strerror(errno)); // MLOGE("open [%s] failed !!!,errno = [%d,%s]\n",filePath,errno,strerror(errno));
SF_MESSAGE_BUF_S stMessageBuf = {0}; //SF_MESSAGE_BUF_S stMessageBuf = {0};
stMessageBuf.cmdId = 0x0113; //stMessageBuf.cmdId = 0x0113;
stMessageBuf.arg1 = 0; //stMessageBuf.arg1 = 0;
sf_com_message_send_to_cardv(&stMessageBuf); //sf_com_message_send_to_cardv(&stMessageBuf);
usleep(500000); //usleep(500000);
fd = open(filePath, O_RDWR); /*open jpg file*/ fd = open(filePath, O_RDWR); /*open jpg file*/
if(fd < 0) { if(fd < 0) {
MLOGE("open [%s] failed !!!,errno = [%d,%s]\n",filePath,errno,strerror(errno)); MLOGE("open [%s] failed !!!,errno = [%d,%s]\n",filePath,errno,strerror(errno));
@ -632,6 +632,11 @@ SINT16 sf_file_subscribe_check(SF_FILE_ATTR_S *pstfileAttr, SF_SEND_FILE_ATTR_S*
void sf_file_thumb_cfg_fill(char* filepath,char* fileName, UINT32 size, SF_FILE_TYPE_E enFileType) void sf_file_thumb_cfg_fill(char* filepath,char* fileName, UINT32 size, SF_FILE_TYPE_E enFileType)
{ {
if (pThumbFileCfg == NULL) {
printf("%s:%d pThumbFileCfg err\n", __FUNCTION__, __LINE__);
return;
}
if(pThumbFileCfg->filecnt >= SF_SRCFILE_MAX) if(pThumbFileCfg->filecnt >= SF_SRCFILE_MAX)
{ {
pThumbFileCfg->filecnt = 0; pThumbFileCfg->filecnt = 0;
@ -655,7 +660,7 @@ void sf_file_thumb_cfg_set(SF_SRCFILE_ATTR_S *pThumbFileCfgl)
void sf_file_thumb_cfg_set_down(SF_SRCFILE_ATTR_S *pSfCustomerPara) void sf_file_thumb_cfg_set_down(SF_SRCFILE_ATTR_S *pSfCustomerPara)
{ {
//currentInfo = *pSfCustomerPara; //currentInfo = *pSfCustomerPara;
memcpy(pSfCustomerPara,&pThumbFileCfg,sizeof(pThumbFileCfg)); memcpy(pSfCustomerPara,&pThumbFileCfg,sizeof(SF_SRCFILE_ATTR_S));
} }
SF_SRCFILE_ATTR_S* sf_file_thumb_cfg_get(void) SF_SRCFILE_ATTR_S* sf_file_thumb_cfg_get(void)
@ -669,8 +674,7 @@ void sf_file_thumb_cfg_clear(void)
BOOL sf_check_auto_thumb_file(VOID) BOOL sf_check_auto_thumb_file(VOID)
{ {
FILE *fp = NULL;
UINT32 u32ize = 0;
BOOL ret = FALSE; BOOL ret = FALSE;
UINT8 fileIndex = 0; UINT8 fileIndex = 0;
printf("%s:%d s\n", __FUNCTION__, __LINE__); printf("%s:%d s\n", __FUNCTION__, __LINE__);
@ -678,30 +682,21 @@ BOOL sf_check_auto_thumb_file(VOID)
char tmp[64] = {'\0'}; char tmp[64] = {'\0'};
SF_SRCFILE_ATTR_S* fileCfg = sf_file_thumb_cfg_get(); SF_SRCFILE_ATTR_S* fileCfg = sf_file_thumb_cfg_get();
snprintf(tmp, sizeof(tmp), "%s", SF_SD_THUMB_PATH_CFG); snprintf(tmp, sizeof(tmp), "%s", SF_THUMB_SEND_LIST);
sf_get_send_file_list(&SendFileList[0][0], &SendFileTotal);
fp = fopen(tmp,"r");
if(fp == NULL){
return FALSE;
}
u32ize = fseek(fp, 0, SEEK_SET);
if (fileCfg) { if (fileCfg) {
fread(fileCfg, 1, sizeof(SF_SRCFILE_ATTR_S), fp); ret = TRUE;
if(fileCfg->filecnt) for(fileIndex = 0; fileIndex < SendFileTotal; fileIndex++)
{ {
ret = TRUE; snprintf(fileCfg->stfileattr[fileIndex].thumbfileName, sizeof(fileCfg->stfileattr[fileIndex].thumbfileName), "%s", &SendFileList[fileIndex][1]);
for(fileIndex = 0; fileIndex < fileCfg->filecnt; fileIndex++) snprintf(fileCfg->stfileattr[fileIndex].thumbfilePath, sizeof(fileCfg->stfileattr[fileIndex].thumbfilePath), "%s%s", SF_SEND_LIST_DIR, &SendFileList[fileIndex][1]);
{ printf("%s:%d thumbfileSize:%d thumbfileName:%s thumbfilePath:%s\n", __FUNCTION__, __LINE__,fileCfg->stfileattr[fileIndex].thumbfileSize,fileCfg->stfileattr[fileIndex].thumbfileName,fileCfg->stfileattr[fileIndex].thumbfilePath);
printf("%s:%d thumbfileSize:%d thumbfileName:%s thumbfilePath:%s\n", __FUNCTION__, __LINE__,pThumbFileCfg->stfileattr[fileIndex].thumbfileSize,fileCfg->stfileattr[fileIndex].thumbfileName,fileCfg->stfileattr[fileIndex].thumbfilePath); }
}
}
} }
fclose(fp);
sf_file_remove(tmp); sf_file_remove(tmp);
printf("%s:%d e u32ize:%d sizeof:%d\n", __FUNCTION__, __LINE__,u32ize,sizeof(SF_SRCFILE_ATTR_S)); printf("%s:%d e \n", __FUNCTION__, __LINE__);
fp = NULL;
u32ize = 0;
return ret; return ret;
} }

View File

@ -1058,11 +1058,11 @@ SINT32 sf_statistics_param_load(SF_PDT_PARAM_STATISTICS_S* pStatisticsParam)
fd = open(SIFAR_STATISTICS_PARAM_PATH, O_RDWR); fd = open(SIFAR_STATISTICS_PARAM_PATH, O_RDWR);
if(fd < 0) { if(fd < 0) {
SF_MESSAGE_BUF_S stMessageBuf = {0}; //SF_MESSAGE_BUF_S stMessageBuf = {0};
stMessageBuf.cmdId = 0x0113; //stMessageBuf.cmdId = 0x0113;
stMessageBuf.arg1 = 0; //stMessageBuf.arg1 = 0;
sf_com_message_send_to_cardv(&stMessageBuf); //sf_com_message_send_to_cardv(&stMessageBuf);
usleep(500000); //usleep(500000);
fd = open(SIFAR_STATISTICS_PARAM_PATH, O_RDWR); /*open jpg file*/ fd = open(SIFAR_STATISTICS_PARAM_PATH, O_RDWR); /*open jpg file*/
if(fd < 0) { if(fd < 0) {
MLOGE("errno = [%d,%s]\n",errno,strerror(errno)); MLOGE("errno = [%d,%s]\n",errno,strerror(errno));
@ -1094,11 +1094,11 @@ SINT32 sf_statistics_param_load(SF_PDT_PARAM_STATISTICS_S* pStatisticsParam)
{ {
fd = open(SIFAR_STATISTICS_PARAM_PATH, O_CREAT|O_RDWR, 0); fd = open(SIFAR_STATISTICS_PARAM_PATH, O_CREAT|O_RDWR, 0);
if(fd < 0) { if(fd < 0) {
SF_MESSAGE_BUF_S stMessageBuf = {0}; //SF_MESSAGE_BUF_S stMessageBuf = {0};
stMessageBuf.cmdId = 0x0113; //stMessageBuf.cmdId = 0x0113;
stMessageBuf.arg1 = 0; ///stMessageBuf.arg1 = 0;
sf_com_message_send_to_cardv(&stMessageBuf); //sf_com_message_send_to_cardv(&stMessageBuf);
usleep(500000); //usleep(500000);
fd = open(SIFAR_STATISTICS_PARAM_PATH, O_CREAT|O_RDWR, 0); /*open jpg file*/ fd = open(SIFAR_STATISTICS_PARAM_PATH, O_CREAT|O_RDWR, 0); /*open jpg file*/
if(fd < 0) { if(fd < 0) {
MLOGE("errno = [%d,%s]\n",errno,strerror(errno)); MLOGE("errno = [%d,%s]\n",errno,strerror(errno));
@ -1121,8 +1121,8 @@ SINT32 sf_statistics_param_load(SF_PDT_PARAM_STATISTICS_S* pStatisticsParam)
MLOGD("SendPicDayCnt::%d\n", pStatisticsParam->SendPicDayCnt); MLOGD("SendPicDayCnt::%d\n", pStatisticsParam->SendPicDayCnt);
if(strlen(pStatisticsParam->WebIP) < 1) //if(strlen(pStatisticsParam->WebIP) < 1)
sf_statistics_param_specify(pStatisticsParam); // sf_statistics_param_specify(pStatisticsParam);
return SF_SUCCESS; return SF_SUCCESS;
} }

View File

@ -63,6 +63,7 @@ static UINT8 SIMPIN1 = 1;
static UINT8 SIMPIN11 = 1; static UINT8 SIMPIN11 = 1;
static UINT8 SIMPINPUK = 1; static UINT8 SIMPINPUK = 1;
static UINT8 cq_Signal = 0; static UINT8 cq_Signal = 0;
static UINT8 drNoResetTimeSync = SF_FALSE; //0:reset; 1:no reset;
UINT8 sf_mcu_read(UINT32 reg, UINT8 *data) UINT8 sf_mcu_read(UINT32 reg, UINT8 *data)
{ {
@ -352,8 +353,9 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
SINT32 isCard = sf_in_card_exist(); SINT32 isCard = sf_in_card_exist();
SINT32 isCardFull = sf_is_card_full(); SINT32 isCardFull = sf_is_card_full();
//CameraBootSetting_t* pCameraBootSetting = CameraBootSettingGetHandle(); //CameraBootSetting_t* pCameraBootSetting = CameraBootSettingGetHandle();
sf_set_sim_insert(1);//Remove hardware detection SIM card
MLOGI("isUsb = %d isCard = %d isCardFull = %d val = %d simCardInsert = %d\n", isUsb, isCard, isCardFull, val, simCardInsert); MLOGI("DailyReportSwitch=%d %02d:%02d\n", puiPara->DailyReportSwitch, puiPara->DailyReportTime2.Hour, puiPara->DailyReportTime2.Min);
MLOGI("isUsb = %d isCard = %d isCardFull = %d val = %d simCardInsert = %d start mode = %d\n", isUsb, isCard, isCardFull, val, simCardInsert, sf_poweron_type_get());
if(!isCard) if(!isCard)
{ {
isCard = sf_is_card(); isCard = sf_is_card();
@ -426,7 +428,7 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
//if(puiPara->dailyReport) //if(puiPara->dailyReport)
if(/*(puiPara->GpsSwitch) && */(paraSyncFlag == 1)) if(/*(puiPara->GpsSwitch) && */(1 == paraSyncFlag))
{ {
temp &= ~0x10; temp &= ~0x10;
} }
@ -499,9 +501,9 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
mcuReg[i] = TIME_SYNC_HOUR; mcuReg[i] = TIME_SYNC_HOUR;
mcuData[i++] = 0; mcuData[i++] = 0;
mcuReg[i] = TIME_SYNC_MINUTE; mcuReg[i] = TIME_SYNC_MINUTE;
mcuData[i++] = 0;
mcuReg[i] = TIME_SYNC_SEC;
mcuData[i++] = 1; mcuData[i++] = 1;
mcuReg[i] = TIME_SYNC_SEC;
mcuData[i++] = 30;
} }
if(puiPara->DailyReportSwitch) if(puiPara->DailyReportSwitch)
@ -546,6 +548,11 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
//sf_pdp_flg_set(0); //sf_pdp_flg_set(0);
} }
} }
if((PowerOnMode == PWR_ON_AUTO) || (PowerOnMode == PWR_ON_SETUP) || (PowerOnMode == PWR_ON_GPRS_INIT) || ((PowerOnMode == PWR_ON_DAILY_REPORT) && (drNoResetTimeSync != SF_TRUE)))
{
temp |= 0x10; /*bit4 rest*/
}
if(((puiPara->GprsSwitch) && (simCardInsert) && ((puiPara->SendType) == 0)) || (paraSyncFlag)) if(((puiPara->GprsSwitch) && (simCardInsert) && ((puiPara->SendType) == 0)) || (paraSyncFlag))
{ {
temp |= 0x80; temp |= 0x80;
@ -683,9 +690,7 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
mcuData[i++] = puiPara->TimeSend4.Hour; mcuData[i++] = puiPara->TimeSend4.Hour;
mcuReg[i] = DAILY_SEND4_MINUTE; mcuReg[i] = DAILY_SEND4_MINUTE;
mcuData[i++] = puiPara->TimeSend4.Min; mcuData[i++] = puiPara->TimeSend4.Min;
} }else if(attrId == SF_MCU_CTRL_MODULE_PIR){
else if(attrId == SF_MCU_CTRL_MODULE_PIR)
{
mcuReg[i] = ANALOG_PIR_SENSITIVITY; mcuReg[i] = ANALOG_PIR_SENSITIVITY;
temp = (puiPara->PirSensitivity);//sf_mcu_analog_pir_sen_convert(SysGetFlag(DigPirSensitivity)); temp = (puiPara->PirSensitivity);//sf_mcu_analog_pir_sen_convert(SysGetFlag(DigPirSensitivity));
@ -726,9 +731,7 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
mcuReg[i] = GPS_POWER_CTRL; mcuReg[i] = GPS_POWER_CTRL;
mcuData[i++] = 0; mcuData[i++] = 0;
} }
} }else if(attrId == SF_MCU_PARA){
else if(attrId == SF_MCU_PARA)
{
mcuReg[i] = ANALOG_PIR_SENSITIVITY; mcuReg[i] = ANALOG_PIR_SENSITIVITY;
temp = (puiPara->PirSensitivity);//sf_mcu_analog_pir_sen_convert(puiPara->PirSensitivity); temp = (puiPara->PirSensitivity);//sf_mcu_analog_pir_sen_convert(puiPara->PirSensitivity);
@ -770,15 +773,11 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
mcuReg[i] = GPS_POWER_CTRL; mcuReg[i] = GPS_POWER_CTRL;
mcuData[i++] = 0; mcuData[i++] = 0;
} }
} }else if(attrId == SF_MCU_RESET_MODULE){
else if(attrId == SF_MCU_RESET_MODULE)
{
mcuReg[i] = SYS_STATUS; mcuReg[i] = SYS_STATUS;
mcuData[i++] = (puiPara->CamArmDiable) << 6 | isUsb << 2 | isCardFull << 1 | isCard << 0 | 0x10; mcuData[i++] = (puiPara->CamArmDiable) << 6 | isUsb << 2 | isCardFull << 1 | isCard << 0 | 0x10;
//sf_pdp_flg_set(0); //sf_pdp_flg_set(0);
} }else if(attrId == SF_MCU_SOFT_UPDATE){
else if(attrId == SF_MCU_SOFT_UPDATE)
{
mcuReg[i] = SYS_STATUS; mcuReg[i] = SYS_STATUS;
if(val == 1) if(val == 1)
@ -789,14 +788,10 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
{ {
mcuData[i++] = (puiPara->CamArmDiable) << 6 | isUsb << 2 | isCardFull << 1 | isCard << 0; mcuData[i++] = (puiPara->CamArmDiable) << 6 | isUsb << 2 | isCardFull << 1 | isCard << 0;
} }
} }else if(attrId == SF_MCU_POWER_RESTART){
else if(attrId == SF_MCU_POWER_RESTART)
{
mcuReg[i] = SYS_STATUS; mcuReg[i] = SYS_STATUS;
mcuData[i++] = (puiPara->CamArmDiable) << 6 | isUsb << 2 | isCardFull << 1 | isCard << 0 | 0x20; mcuData[i++] = (puiPara->CamArmDiable) << 6 | isUsb << 2 | isCardFull << 1 | isCard << 0 | 0x20;
} }else if(attrId == SF_MCU_PIR_RESTART){
else if(attrId == SF_MCU_PIR_RESTART)
{
mcuReg[i] = SYS_STATUS; mcuReg[i] = SYS_STATUS;
mcuData[i++] = (puiPara->CamArmDiable) << 6 | isUsb << 2 | isCardFull << 1 | isCard << 0 | 0x80; mcuData[i++] = (puiPara->CamArmDiable) << 6 | isUsb << 2 | isCardFull << 1 | isCard << 0 | 0x80;
} }
@ -1152,6 +1147,12 @@ int sf_get_signal_ready(void)
return isSignalReady; return isSignalReady;
} }
UINT8 sf_get_cq_signal(void)
{
printf("[%s:%d]cq_Signal=%d\n", __FUNCTION__, __LINE__, cq_Signal);
return cq_Signal;
}
void sf_set_sim_pin_flag(UINT8 simPin, UINT8 simPins, UINT8 simPinPuk) void sf_set_sim_pin_flag(UINT8 simPin, UINT8 simPins, UINT8 simPinPuk)
{ {
SIMPIN1 = simPin; SIMPIN1 = simPin;
@ -1160,6 +1161,141 @@ void sf_set_sim_pin_flag(UINT8 simPin, UINT8 simPins, UINT8 simPinPuk)
printf("[%s:%d]SIMPIN1=%d,SIMPIN11=%d,SIMPINPUK=%d\n", __FUNCTION__, __LINE__, SIMPIN1, SIMPIN11, SIMPINPUK); printf("[%s:%d]SIMPIN1=%d,SIMPIN11=%d,SIMPINPUK=%d\n", __FUNCTION__, __LINE__, SIMPIN1, SIMPIN11, SIMPINPUK);
} }
/*************************************************
Function: sf_dailyReport_refresh
Description: refresh dailyreport
Input: N/A
Output: N/A
Return: N/A
Others: N/A
*************************************************/
void sf_dailyReport_refresh(void)
{
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
UINT32 preTimeValue = 0;
UINT32 dr1TimeValue = 0;
UINT32 dr2TimeValue = 0;
SF_PARA_TIME_S preRtcTime = { 0 };
sf_sys_rtc_time_get(&preRtcTime);
preTimeValue = preRtcTime.Hour * 60 + preRtcTime.Min;
dr1TimeValue = puiPara->DailyReportTime.Hour * 60 + puiPara->DailyReportTime.Min;
dr2TimeValue = dr1TimeValue + (12 * 60);
if(puiPara->ReDailyReport == 0)
{
//twice a day
if(((preTimeValue < dr1TimeValue) && (preTimeValue < dr2TimeValue)) || ((preTimeValue >= dr1TimeValue) && (preTimeValue >= dr2TimeValue)))
{
puiPara->DailyReportTime2.Hour = puiPara->DailyReportTime.Hour;
puiPara->DailyReportTime2.Min = puiPara->DailyReportTime.Min;
}
else
{
puiPara->DailyReportTime2.Hour = (puiPara->DailyReportTime.Hour + 12) % 24;
puiPara->DailyReportTime2.Min = puiPara->DailyReportTime.Min;
}
}
else
{
if((preTimeValue >= dr1TimeValue) && (preTimeValue < dr1TimeValue + 60))
{
puiPara->DailyReportTime2.Hour = (puiPara->DailyReportTime.Hour + 1) % 24;
puiPara->DailyReportTime2.Min = puiPara->DailyReportTime.Min;
}
else if((preTimeValue >= dr1TimeValue + 60) && (preTimeValue < dr2TimeValue))
{
puiPara->DailyReportTime2.Hour = (puiPara->DailyReportTime.Hour + 12) % 24;
puiPara->DailyReportTime2.Min = puiPara->DailyReportTime.Min;
}
else if((preTimeValue >= dr2TimeValue) && (preTimeValue < dr2TimeValue + 60))
{
puiPara->DailyReportTime2.Hour = (puiPara->DailyReportTime.Hour + 12 + 1) % 24;
puiPara->DailyReportTime2.Min = puiPara->DailyReportTime.Min;
}
else
{
puiPara->DailyReportTime2.Hour = puiPara->DailyReportTime.Hour;
puiPara->DailyReportTime2.Min = puiPara->DailyReportTime.Min;
}
}
if(puiPara->DailyReportTestSwitch)
{
if(puiPara->ReDailyReport)
{
puiPara->DailyReportTime2.Hour = (preRtcTime.Hour + (preRtcTime.Min + 15) / 60) % 24;
puiPara->DailyReportTime2.Min = (preRtcTime.Min + 15) % 60;
}
else
{
puiPara->DailyReportTime2.Hour = (preRtcTime.Hour + (preRtcTime.Min + 30) / 60) % 24;
puiPara->DailyReportTime2.Min = (preRtcTime.Min + 30) % 60;
}
}
}
/*************************************************
Function: sf_dailyReport_set
Description: set dailyreport
Input: N/A
Output: N/A
Return: N/A
Others: N/A
*************************************************/
void sf_dailyReport_set(void)
{
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
extern UINT8 DailyReportFtpSendSucess;
if((sf_get_mode_flag()) || (PWR_ON_GPRS_INIT == sf_convert_power_on_mode()))//if reset cam, cam software update, mode software udate
{
if (puiPara->FristSendDailyAndGps)
{
puiPara->NeedTimeSyncStartUp = 1;
}
puiPara->ReDailyReport = 0;
sf_dailyReport_refresh();
}
else if(PWR_ON_DAILY_REPORT == sf_convert_power_on_mode())
{
if (puiPara->FristSendDailyAndGps)
{
puiPara->FristSendDailyAndGps = 0;
puiPara->ReDailyReport = 0;
}
else if (DailyReportFtpSendSucess == 0)
{
if(puiPara->ReDailyReport==0)
puiPara->ReDailyReport = 1;
else
puiPara->ReDailyReport = 0;
}
else
{
puiPara->ReDailyReport = 0;
}
sf_dailyReport_refresh();
}
}
/*************************************************
Function: sf_set_dr_reset_time_sys_flag
Description: set sf_set_dr_reset_time_sys_flag
Input: N/A
Output: N/A
Return: N/A
Others: N/A
*************************************************/
void sf_set_dr_reset_time_sys_flag(UINT8 value)
{
drNoResetTimeSync = value;
}
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
} }

View File

@ -856,7 +856,7 @@ void sf_app_Get_Camera_Info(MSG_DEV_INFO_Get_Rsp_T *camInfo)
//UINT8 signalValue=0; //UINT8 signalValue=0;
//sf_get_signal_level(&signalValue); //sf_get_signal_level(&signalValue);
camInfo->signalLevel = puiPara->SimSignal; camInfo->signalLevel = sf_cardv_get_cq_signal();
printf("[sf_app_Get_Camera_Info],sf_get_signal_level\n"); printf("[sf_app_Get_Camera_Info],sf_get_signal_level\n");
//char strIccid[32]= {0}; //char strIccid[32]= {0};

View File

@ -7,7 +7,7 @@
version-info = [00 01 00 01]; version-info = [00 01 00 01];
ae_expect_lum { ae_expect_lum {
size = [b0 00 00 00]; size = [b0 00 00 00];
data = [3c 00 00 00 3c 00 00 00 26 00 00 00 26 00 00 00 26 00 00 00 26 00 00 00 26 00 00 00 26 00 00 00 27 00 00 00 2c 00 00 00 32 00 00 00 3a 00 00 00 44 00 00 00 51 00 00 00 51 00 00 00 51 00 00 00 51 00 00 00 51 00 00 00 51 00 00 00 51 00 00 00 51 00 00 00 51 00 00 00 51 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 3c 00 00 00 46 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00]; data = [3c 00 00 00 3c 00 00 00 26 00 00 00 26 00 00 00 26 00 00 00 26 00 00 00 26 00 00 00 26 00 00 00 27 00 00 00 2c 00 00 00 32 00 00 00 3a 00 00 00 44 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 3c 00 00 00 46 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00];
}; };
ae_la_clamp { ae_la_clamp {
size = [50 01 00 00]; size = [50 01 00 00];
@ -15,7 +15,7 @@
}; };
ae_over_exposure { ae_over_exposure {
size = [b0 01 00 00]; size = [b0 01 00 00];
data = [01 00 00 00 8c 00 00 00 03 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 02 00 00 00 02 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 04 00 00 00 05 00 00 00 06 00 00 00 07 00 00 00 08 00 00 00 09 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 05 00 00 00 07 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 04 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00]; data = [01 00 00 00 8c 00 00 00 03 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 05 00 00 00 04 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 02 00 00 00 02 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 04 00 00 00 05 00 00 00 06 00 00 00 07 00 00 00 08 00 00 00 09 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 05 00 00 00 07 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 04 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00];
}; };
ae_convergence { ae_convergence {
size = [2c 00 00 00]; size = [2c 00 00 00];

View File

@ -15,7 +15,7 @@
}; };
awb_ct_weight { awb_ct_weight {
size = [78 00 00 00]; size = [78 00 00 00];
data = [fc 08 00 00 f0 0a 00 00 74 0e 00 00 5c 12 00 00 64 19 00 00 f8 2a 00 00 48 03 00 00 60 03 00 00 bc 03 00 00 f7 03 00 00 23 04 00 00 c3 04 00 00 01 00 00 00 01 00 00 00 02 00 00 00 04 00 00 00 08 00 00 00 09 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 03 00 00 00 08 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00]; data = [fc 08 00 00 f0 0a 00 00 74 0e 00 00 5c 12 00 00 64 19 00 00 f8 2a 00 00 48 03 00 00 60 03 00 00 bc 03 00 00 f7 03 00 00 23 04 00 00 c3 04 00 00 01 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 05 00 00 00 06 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 03 00 00 00 08 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00];
}; };
awb_target { awb_target {
size = [24 00 00 00]; size = [24 00 00 00];

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

View File

@ -1,11 +1,17 @@
#ifndef _SF_BATTERY_ #ifndef _SF_BATTERY_H
#define _SF_BATTERY_ #define _SF_BATTERY_H
#include <kwrap/task.h> #include <kwrap/task.h>
//#include <sf_type.h> //#include <sf_type.h>
//typedef signed int SINT32; //typedef signed int SINT32;
typedef enum {
SF_POWER_TYPE_DC = (unsigned char)0x01,
SF_POWER_TYPE_LI_POLYER,
SF_POWER_TYPE_AA
} SF_POWERTYPE_E;
UINT32 sf_battery_voltage_convert(UINT32 resistanceGnd, UINT32 resistanceVin, UINT32 adcVal); UINT32 sf_battery_voltage_convert(UINT32 resistanceGnd, UINT32 resistanceVin, UINT32 adcVal);
UINT32 sf_battery_convert_to_adc(UINT32 resistanceGnd, UINT32 resistanceVin, UINT32 volt); UINT32 sf_battery_convert_to_adc(UINT32 resistanceGnd, UINT32 resistanceVin, UINT32 volt);
UINT32 sf_get_max_value(UINT32 *_ValueList); UINT32 sf_get_max_value(UINT32 *_ValueList);

View File

@ -1,5 +1,7 @@
#ifndef _SF_COMMON_ #ifndef _SF_COMMON_H
#define _SF_COMMON_ #define _SF_COMMON_H
#include <kwrap/nvt_type.h>
#define SF_DATE_TIME_YEAR_MAX 2050 #define SF_DATE_TIME_YEAR_MAX 2050
#define SF_DATE_TIME_YEAR_MIN 2021 #define SF_DATE_TIME_YEAR_MIN 2021
@ -77,9 +79,8 @@ BOOL sf_is_movie_running(void);
BOOL sf_is_movie_preview(void); BOOL sf_is_movie_preview(void);
BOOL sf_is_cap_preview(void); BOOL sf_is_cap_preview(void);
BOOL sf_is_preview(void); BOOL sf_is_preview(void);
UINT8 sf_cardv_get_cq_signal(void);
#define SF_SD_DISK "A:" INT16 sf_adc2Temperature(UINT16 adcValue, UINT8 type);/*type: 0:°F 1:°C */
#define SF_SD_ROOT "/mnt/sd/" void sf_stamp_temperature_get(INT16 *fTemper,INT16 *cTemper); /*0:F 1:C*/
#define SF_SD_THUMB_PATH "/mnt/sd/Thumb/"
#endif #endif

View File

@ -1,5 +1,5 @@
#ifndef _SF_INC_ #ifndef _SF_INC_H
#define _SF_INC_ #define _SF_INC_H
#include <sf_mcu.h> #include <sf_mcu.h>
#include <sf_sd_common.h> #include <sf_sd_common.h>

View File

@ -479,7 +479,7 @@ signed int sf_battery_adc_value_get(void)
if((sf_get_mode_flag() == 0) || (needCheckFirst == TRUE)) if((sf_get_mode_flag() == 0) || (needCheckFirst == TRUE))
{ {
printf("[%s:%d]ConfigureModeFlag=%d,needCheckFirst=%d\n",__FUNCTION__,__LINE__,sf_get_mode_flag(),needCheckFirst); //printf("[%s:%d]ConfigureModeFlag=%d,needCheckFirst=%d\n",__FUNCTION__,__LINE__,sf_get_mode_flag(),needCheckFirst);
needCheckFirst = FALSE; needCheckFirst = FALSE;
for(readBatCnt = 0; readBatCnt < 5;) //get max value of 5 times. for(readBatCnt = 0; readBatCnt < 5;) //get max value of 5 times.
@ -1110,10 +1110,12 @@ UINT8 sf_battery_value_get(UINT8 nightMode)
*************************************************/ *************************************************/
UINT8 sf_battery_type_get(void) UINT8 sf_battery_type_get(void)
{ {
if(LiPolymerVoltageVal) if(IsPowerDcIn)
return 1; return SF_POWER_TYPE_DC;
else if(LiPolymerVoltageVal)
return 0; return SF_POWER_TYPE_LI_POLYER;
else
return SF_POWER_TYPE_AA;
} }
/************************************************* /*************************************************

View File

@ -60,6 +60,7 @@
#include <sf_param_struct.h> #include <sf_param_struct.h>
#include "UIAppNetwork.h" #include "UIAppNetwork.h"
#include <sf_wifi_svr.h> #include <sf_wifi_svr.h>
#include <sf_log.h>
BOOL isGoing2PowerOff = FALSE; BOOL isGoing2PowerOff = FALSE;
UINT16 AutoOfftime = 0; UINT16 AutoOfftime = 0;
@ -69,8 +70,21 @@ UINT8 NetWorkFlag = 0;
UINT8 RespFlag = 0; UINT8 RespFlag = 0;
static BOOL IsMenu = FALSE; static BOOL IsMenu = FALSE;
static BOOL IsCap = FALSE; static BOOL IsCap = FALSE;
static UINT8 cq_Signal = 0;
static UINT32 TemperAdc = 0;
const UINT16 Adc2TempTable[]=
{
0,1648,1721,1794,1867,1940,2013,2086,2159, 2232,2305, 2378,2451,2524,2597,2670,2743, 2816, 2889, 2968,
3047,3126,3205,3284,3363,3442,3521,3600/*-15*/,3679,3758,3837,3916,3995,4074,4153,4232,4321/*-10*/, 4427,4533,4639,
4745,4851,4957,5063,5169,5275,5381,5487,5593,5699,5805,5911,6017,6123,6238/*0*/,6334,6430,6526,6622,6718,
6814,6910,7006,7102,7198,7294,7390,7486,7582,7678,7774,7870,7996,8063/*10*/,8182,8301,8420,8539,8658,8777,
8896,9015,9134,9253,9372,9491,9610,9729,9848,9967,10128/*20*/,10221,10314,10407,10500,10593,10686,10779,10872,10965,
11058,11151,11244,11337,11430,11480,11530,11580,11630/*30*/,11680,11730,11780,11830,11880,11930,11980,12032,12097,12162,12232,
12302,12372,12442,12512,12582,12652,12722/*40*/,12769,12816,12863,12910,12957,13004,13051,13098,13145,13192,13239,13286,13333,
13380,13427,13474,13521/*50*/,13591,13661,13731,13801,13871,13941,14011,14081,14151,14221,14291,14361,14431,14501,14571,14641,
14711,14781,14851/*60*/,14941,15031,15111,15181,15251,15321,15391,15461,15531,15601,15671,15741,15811
};
int sf_pir_statu_read(void) int sf_pir_statu_read(void)
{ {
@ -1121,16 +1135,16 @@ UINT32 sf_set_pir_sensitivity(UINT8 pirs)
puiPara->DigitPirSensitivity = digPirLevel[pirs]; puiPara->DigitPirSensitivity = digPirLevel[pirs];
puiPara->DigitPirCnt = digPirCount[pirs]; puiPara->DigitPirCnt = digPirCount[pirs];
puiPara->DigitPirWindowTime = 0; puiPara->DigitPirWindowTime = 0;
#if SF_IQ_TEST == DISABLE
/*if(puiPara->PirSensitivity) if(puiPara->PirSensitivity)
{ {
puiPara->TimelapseSwitch = SF_OFF; puiPara->TimelapseSwitch = SF_OFF;
puiPara->TimelapseTime.Hour = 0; puiPara->TimelapseTime.Hour = 0;
puiPara->TimelapseTime.Min = 0; puiPara->TimelapseTime.Min = 0;
puiPara->TimelapseTime.Sec = 0; puiPara->TimelapseTime.Sec = 0;
//Save_MenuInfo(); //Save_MenuInfo();
}*/ }
#endif
return SUCCESS; return SUCCESS;
} }
@ -1241,11 +1255,160 @@ void sf_rtsp_restart(void)
} }
} }
UINT8 sf_cardv_get_cq_signal(void)
{
return cq_Signal;
}
INT16 sf_celsius_change_to_fahrenheit(INT16 cTemper)
{
INT16 fTemper = 0;
fTemper = cTemper*9/5 + 32;
printf("fTemper=%d%s\n",fTemper,"`F");
return fTemper;
}
void sf_stamp_temperature_get(INT16 *fTemper,INT16 *cTemper) /*0:F 1:C*/
{
UINT8 readBatCnt = 0;
UINT32 pValue = 0;
UINT32 temperValueList[6] = {0};
UINT32 maxValue = 0;
for(readBatCnt=0; readBatCnt<5; readBatCnt++) //get max value of 5 times.
{
if(sf_adc_value_get(SF_ADC_TEMP, &TemperAdc) == SUCCESS)
{
temperValueList[readBatCnt] = pValue;
}
}
for(readBatCnt = 0; readBatCnt < 5; readBatCnt++)
{
maxValue = (maxValue > temperValueList[readBatCnt]? maxValue : temperValueList[readBatCnt]);
}
TemperAdc = maxValue;
//*fTemper = sf_adc2Temperature((UINT16)TemperAdc, 0);
*cTemper = sf_adc2Temperature((UINT16)TemperAdc, 1);
*fTemper = sf_celsius_change_to_fahrenheit(*cTemper);
}
INT16 sf_adc2Temperature(UINT16 adcValue, UINT8 type)/*type: 0:°F 1:°C */
{
UINT16 lowIndex = 0, highIndex = 175, keyIndex = 77, midIndex = 0;
UINT16 tmp = 0;
INT16 Temper = 0;
while(lowIndex < highIndex)
{
if((lowIndex == highIndex) || (lowIndex == (highIndex - 1)))
{
keyIndex = lowIndex;
break;
}
else if( (adcValue < Adc2TempTable[lowIndex]) || (adcValue > Adc2TempTable[highIndex]))
{
keyIndex = 255;
break;
}
else
{
midIndex = (lowIndex + highIndex) / 2;
if(adcValue < Adc2TempTable[midIndex])
highIndex = midIndex;
else
lowIndex = midIndex;
}
//printf("low=%bx,high=%bx\r",lowIndex,highIndex);
}
if(keyIndex == 255)
tmp = 176;
else
tmp = keyIndex;
if(tmp > 176)
tmp = 176;
if(type == 1)
{
if(tmp >= 22)
{
tmp = tmp-22;
if( tmp >= 32)
{
tmp = (tmp - 32) * 5 / 9;
Temper = (SINT16)tmp;
}
else
{
tmp = (32 - tmp) * 5 / 9;
Temper = -(SINT16)tmp;
}
}
else
{
tmp = 22 - tmp;
tmp = (32 + tmp) * 5 / 9;
Temper = -(SINT16)tmp;
}
}
else
{
if (tmp > 22)
{
Temper = tmp - 22;
}
else
{
Temper = 22 - tmp;
Temper = -Temper;
}
}
printf("Temper = %d%s\n", Temper, (type ? "`C" : "`F"));
return Temper;
}
static const SF_CHAR* sf_process_message_getstatusstring(SF_MESSAGE_TYPE_E enType)
{
switch(enType)
{
case CMD_KEY:
return "CMD_KEY";
case CMD_SD:
return "CMD_SD";
case CMD_LED:
return "CMD_LED";
case CMD_FILE:
return "CMD_FILE";
case CMD_POWEROFF:
return "CMD_POWEROFF";
case CMD_VENC:
return "CMD_VENC";
case CMD_MCU:
return "CMD_MCU";
case CMD_PARA:
return "CMD_PARA";
case CMD_GPRS:
return "CMD_GPRS";
case CMD_WIFI:
return "CMD_GPRS";
case CMD_DEV:
return "CMD_GPRS";
default:
return "Unknown";
}
}
static SINT32 sf_cardv_proccess_cmd_mcu(SF_MESSAGE_BUF_S *pMessageBuf) static SINT32 sf_cardv_proccess_cmd_mcu(SF_MESSAGE_BUF_S *pMessageBuf)
{ {
printf("[%s:%d] ID = %#x\n", __FUNCTION__, __LINE__,pMessageBuf->arg1); //printf("[%s:%d] ID = %#x\n", __FUNCTION__, __LINE__,pMessageBuf->arg1);
//SF_MESSAGE_BUF_S stMessageBuf = {0}; //SF_MESSAGE_BUF_S stMessageBuf = {0};
MLOGI("ID = %#x\n",pMessageBuf->arg1);
switch(pMessageBuf->arg1) switch(pMessageBuf->arg1)
{ {
case SF_MCU_CMD_POWERON: case SF_MCU_CMD_POWERON:
@ -1265,17 +1428,16 @@ static SINT32 sf_cardv_proccess_cmd_mcu(SF_MESSAGE_BUF_S *pMessageBuf)
static SINT32 sf_cardv_proccess_cmd_key(SF_MESSAGE_BUF_S *pMessageBuf) static SINT32 sf_cardv_proccess_cmd_key(SF_MESSAGE_BUF_S *pMessageBuf)
{ {
printf("[%s:%d] ID = %#x\n", __FUNCTION__, __LINE__,pMessageBuf->arg1); //printf("[%s:%d] ID = %#x\n", __FUNCTION__, __LINE__,pMessageBuf->arg1);
//SF_MESSAGE_BUF_S stMessageBuf = {0}; //SF_MESSAGE_BUF_S stMessageBuf = {0};
MLOGI("ID = %#x\n",pMessageBuf->arg1);
switch(pMessageBuf->arg1) switch(pMessageBuf->arg1)
{ {
case SF_EVENT_KEY_SHORT_CLICK: case SF_EVENT_KEY_SHORT_CLICK:
if(SF_KEY_PIN_DATAREADY == pMessageBuf->arg2) if(SF_KEY_PIN_DATAREADY == pMessageBuf->arg2)
{ {
sf_mcu_dataready_ck(pMessageBuf->arg3); sf_mcu_dataready_ck(pMessageBuf->arg3);
} }else if(SF_KEY_PIN_AOTU_MODE_POWOFF == pMessageBuf->arg2)
else if(SF_KEY_PIN_AOTU_MODE_POWOFF == pMessageBuf->arg2)
{ {
Ux_PostEvent(NVTEVT_SYSTEM_SHUTDOWN, 1, 0); //shutdown start Ux_PostEvent(NVTEVT_SYSTEM_SHUTDOWN, 1, 0); //shutdown start
} }
@ -1287,14 +1449,17 @@ static SINT32 sf_cardv_proccess_cmd_key(SF_MESSAGE_BUF_S *pMessageBuf)
return SF_SUCCESS; return SF_SUCCESS;
} }
static SINT32 app_proccess_cmd_para_update(SF_MESSAGE_BUF_S *pMessageBuf) static SINT32 sf_cardv_proccess_cmd_para_update(SF_MESSAGE_BUF_S *pMessageBuf)
{ {
printf("[%s:%d] ID = %#x\n", __FUNCTION__, __LINE__,pMessageBuf->arg1); //UIMenuStoreInfo *puiPara = sf_ui_para_get();
//printf("[%s:%d] ID = %#x\n", __FUNCTION__, __LINE__,pMessageBuf->arg1);
MLOGI("ID = %#x\n",pMessageBuf->arg1);
switch(pMessageBuf->arg1) switch(pMessageBuf->arg1)
{ {
case SF_PARA_CMD_UPDATE: case SF_PARA_CMD_UPDATE:
//MLOGI("NeedTimeSyncStartUp = %d\n",puiPara->NeedTimeSyncStartUp);
sf_share_mem_customer_update(); sf_share_mem_customer_update();
//MLOGI("NeedTimeSyncStartUp = %d\n",puiPara->NeedTimeSyncStartUp);
break; break;
default: default:
@ -1303,84 +1468,25 @@ static SINT32 app_proccess_cmd_para_update(SF_MESSAGE_BUF_S *pMessageBuf)
return SF_SUCCESS; return SF_SUCCESS;
} }
#if 0
void sf_cardv_proccess_cmd_gprs(SF_MESSAGE_BUF_S *pMessageBuf) static SINT32 sf_cardv_proccess_cmd_gprs(SF_MESSAGE_BUF_S *pMessageBuf)
{ {
UINT8 netSearchStep = pMessageBuf->arg1; MLOGI("ID = %#x\n",pMessageBuf->arg1);
UINT8 cq_Signal = pMessageBuf->arg2; switch(pMessageBuf->arg1)
UINT32 simCardInsert = ((pMessageBuf->arg3) >> 0) & 1;
UINT8 gGPRSNoRespone = ((pMessageBuf->arg3) >> 1) & 1;
UINT32 FtpOpenOk = ((pMessageBuf->arg3) >> 2) & 1;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
if (sf_get_fw_update())
return;
if(puiPara->GprsSwitch == SF_ON)
{ {
case SF_GPRS_CMD_SIGNAL:
cq_Signal = pMessageBuf->arg2;
break;
printf("simCardInsert=%d gprs_search_process=%d cq_Signal=%d gGPRSNoRespone=%d ", simCardInsert, netSearchStep, cq_Signal, gGPRSNoRespone); default:
break;
if(!simCardInsert)
{
sf_sys_status_led_set(SF_LED_SYS_STATE_SIM_ERROR);
}
else
{
if(netSearchStep == GPRS_SEARCH_STEP_IDLE)
{
sf_sys_status_led_set(SF_LED_SYS_STATE_GPRS_SEARCH);
}
/*else if(gprs_search_process == GPRS_SEARCH_STEP_INIT)
{
appOsdLib_TextIDDraw(0, 32, SP5K_GFX_ALIGN_TOP_LEFT, ID_STR_MODULE_INIT);
}*/
else if(netSearchStep == GPRS_SEARCH_STEP_SEARCH)
{
sf_sys_status_led_set(SF_LED_SYS_STATE_GPRS_SEARCH);
}
else if(netSearchStep == GPRS_SEARCH_STEP_SYNC_TIME)
{
//sf_signal_led_show(sf_signal_level_get(puiPara->NetFlagG, cq_Signal));
}
else if(netSearchStep == GPRS_SEARCH_STEP_GPS_LOCATE)
{
//sf_signal_led_show(sf_signal_level_get(puiPara->NetFlagG, cq_Signal));
}
/*else if(gprs_search_process == GPRS_SEARCH_STEP_INIT_FAILED)
{
appOsdLib_TextIDDraw(0, 32, SP5K_GFX_ALIGN_TOP_LEFT, ID_STR_MODULE_ERROR);
}*/
else
{
if((cq_Signal == 0) && (gGPRSNoRespone == 0))
{
if(!sf_get_fw_update())
{
sf_sys_status_led_set(SF_LED_SYS_STATE_SIM_ERROR);
sf_sys_status_led_set(SF_LED_SYS_STATE_ERROR);
}
}
else if(cq_Signal == 0)
{
sf_sys_status_led_set(SF_LED_SYS_STATE_GPRS_NO_SIGNAL);
}
else if(FtpOpenOk == FAIL)
{
sf_sys_status_led_set(SF_LED_SYS_STATE_SERVER_FAIL);
}
else //if(cq_Signal < 32)
{
sf_signal_led_show(sf_signal_level_get(puiPara->NetGeneration, cq_Signal));
}
}
}
} }
return SF_SUCCESS;
} }
#endif
static SINT32 sf_cardv_proccess_cmd_wifi(SF_MESSAGE_BUF_S *pMessageBuf) static SINT32 sf_cardv_proccess_cmd_wifi(SF_MESSAGE_BUF_S *pMessageBuf)
{ {
MLOGI("ID = %#x\n",pMessageBuf->arg1);
switch(pMessageBuf->arg1) switch(pMessageBuf->arg1)
{ {
case SF_WIFI_CMD_START: case SF_WIFI_CMD_START:
@ -1404,9 +1510,9 @@ static SINT32 sf_cardv_proccess_cmd_wifi(SF_MESSAGE_BUF_S *pMessageBuf)
static SINT32 sf_cardv_proccess_cmd_file(SF_MESSAGE_BUF_S *pMessageBuf) static SINT32 sf_cardv_proccess_cmd_file(SF_MESSAGE_BUF_S *pMessageBuf)
{ {
printf("[%s:%d] ID = %#x\n", __FUNCTION__, __LINE__,pMessageBuf->arg1); //printf("[%s:%d] ID = %#x\n", __FUNCTION__, __LINE__,pMessageBuf->arg1);
//UIMenuStoreInfo *puiPara = sf_ui_para_get(); //UIMenuStoreInfo *puiPara = sf_ui_para_get();
MLOGI("ID = %#x\n",pMessageBuf->arg1);
switch(pMessageBuf->arg1) switch(pMessageBuf->arg1)
{ {
case SF_PARA_CMD_UPDATE: case SF_PARA_CMD_UPDATE:
@ -1423,6 +1529,38 @@ static SINT32 sf_cardv_proccess_cmd_file(SF_MESSAGE_BUF_S *pMessageBuf)
return SF_SUCCESS; return SF_SUCCESS;
} }
static SINT32 sf_cardv_proccess_cmd_dev(SF_MESSAGE_BUF_S *pMessageBuf)
{
//printf("[%s:%d] ID = %#x\n", __FUNCTION__, __LINE__,pMessageBuf->arg1);
MLOGI("ID = %#x\n",pMessageBuf->arg1);
SF_MESSAGE_BUF_S stMessageBuf = {0};
switch(pMessageBuf->arg1)
{
case SF_DEV_CMD_TEMPER:
if(sf_adc_value_get(SF_ADC_TEMP, &TemperAdc) == SUCCESS)
{
sf_adc2Temperature((UINT16)TemperAdc, 1);
}
stMessageBuf.cmdId = CMD_DEV;
stMessageBuf.arg1 = SF_DEV_CMD_TEMPER;
stMessageBuf.arg2 = (SINT32)sf_adc2Temperature((UINT16)TemperAdc, pMessageBuf->arg2);
sf_com_message_send_to_app(&stMessageBuf);
break;
case SF_DEV_CMD_BAT:
stMessageBuf.cmdId = CMD_DEV;
stMessageBuf.arg1 = SF_DEV_CMD_BAT;
stMessageBuf.arg2 = (SINT32)sf_battery_value_get(0);
stMessageBuf.arg3 = (SINT32)sf_battery_type_get();
sf_com_message_send_to_app(&stMessageBuf);
break;
default:
break;
}
return SF_SUCCESS;
}
void* sf_cardv_message_thread(void *argv) void* sf_cardv_message_thread(void *argv)
{ {
SINT32 ret = 0; SINT32 ret = 0;
@ -1434,7 +1572,8 @@ void* sf_cardv_message_thread(void *argv)
{ {
continue; continue;
} }
printf("[%s:%d]cmdId:%#x,paramBuf[%d]\n", __FUNCTION__, __LINE__,stMessagebuf.cmdId,stMessagebuf.arg1); MLOGI("cmdId:[%#x,%s]\n",stMessagebuf.cmdId,sf_process_message_getstatusstring(stMessagebuf.cmdId));
//printf("[%s:%d]cmdId:%#x,paramBuf[%d]\n", __FUNCTION__, __LINE__,stMessagebuf.cmdId,stMessagebuf.arg1);
switch(stMessagebuf.cmdId) switch(stMessagebuf.cmdId)
{ {
case CMD_MCU: case CMD_MCU:
@ -1444,16 +1583,19 @@ void* sf_cardv_message_thread(void *argv)
sf_cardv_proccess_cmd_key(&stMessagebuf); sf_cardv_proccess_cmd_key(&stMessagebuf);
break; break;
case CMD_PARA: case CMD_PARA:
app_proccess_cmd_para_update(&stMessagebuf); sf_cardv_proccess_cmd_para_update(&stMessagebuf);
break; break;
case CMD_GPRS: case CMD_GPRS:
//sf_cardv_proccess_cmd_gprs(&stMessagebuf); sf_cardv_proccess_cmd_gprs(&stMessagebuf);
break; break;
case CMD_FILE: case CMD_FILE:
sf_cardv_proccess_cmd_file(&stMessagebuf); sf_cardv_proccess_cmd_file(&stMessagebuf);
break; break;
case CMD_WIFI: case CMD_WIFI:
sf_cardv_proccess_cmd_wifi(&stMessagebuf); sf_cardv_proccess_cmd_wifi(&stMessagebuf);
break;
case CMD_DEV:
sf_cardv_proccess_cmd_dev(&stMessagebuf);
break; break;
default: default:
break; break;

View File

@ -72,26 +72,26 @@ EXTRA_INCLUDE += \
-I$(NVT_HDAL_DIR)/vendor/ai/drivers/k_driver/source/kdrv_ai/nue2 \ -I$(NVT_HDAL_DIR)/vendor/ai/drivers/k_driver/source/kdrv_ai/nue2 \
# application local includes # application local includes
EXTRA_INCLUDE += \ EXTRA_INCLUDE += \
-I./SrcCode \ -I$(APP_DIR)/source/cardv/SrcCode \
-I./SrcCode/Startup \ -I$(APP_DIR)/source/cardv/SrcCode/Startup \
-I./SrcCode/System \ -I$(APP_DIR)/source/cardv/SrcCode/System \
-I./SrcCode/Dx/include \ -I$(APP_DIR)/source/cardv/SrcCode/Dx/include \
-I./SrcCode/Gx/include \ -I$(APP_DIR)/source/cardv/SrcCode/Gx/include \
-I./SrcCode/Compatible \ -I$(APP_DIR)/source/cardv/SrcCode/Compatible \
-I./SrcCode/UIApp/UsbMsdcCb \ -I$(APP_DIR)/source/cardv/SrcCode/UIApp/UsbMsdcCb \
-I./SrcCode/UIApp/PhotoFast \ -I$(APP_DIR)/source/cardv/SrcCode/UIApp/PhotoFast \
-I./SrcCode/UIApp/MovieFast \ -I$(APP_DIR)/source/cardv/SrcCode/UIApp/MovieFast \
-I./SrcCode/UIApp/UsbDiskFast \ -I$(APP_DIR)/source/cardv/SrcCode/UIApp/UsbDiskFast \
-I./SrcCode/UIApp/UsbCamFast \ -I$(APP_DIR)/source/cardv/SrcCode/UIApp/UsbCamFast \
-I./SrcCode/UIApp/Photo \ -I$(APP_DIR)/source/cardv/SrcCode/UIApp/Photo \
-I./SrcCode/FastFlow \ -I$(APP_DIR)/source/cardv/SrcCode/FastFlow \
-I./SrcCode/Dx/$(MODEL) \ -I$(APP_DIR)/source/cardv/SrcCode/Dx/$(MODEL) \
ifeq "$(UI_STYLE)" "UI_STYLE_LVGL" ifeq "$(UI_STYLE)" "UI_STYLE_LVGL"
EXTRA_INCLUDE += \ EXTRA_INCLUDE += \
-I./SrcCode/UIWnd/LVGL_SPORTCAM \ -I$(APP_DIR)/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM \
endif endif

View File

@ -300,7 +300,7 @@ EXTRA_LIB += \
-ldrv_pmu_ip6303 \ -ldrv_pmu_ip6303 \
-ldrv_gsensor_da380 \ -ldrv_gsensor_da380 \
-ldrv_touch_gt911 \ -ldrv_touch_gt911 \
-ldrv_sf_i2c_mcu \ -lsifar \
# HDAL Samples # HDAL Samples

View File

@ -167,6 +167,12 @@ UINT32 DrvGPIO_GetPhotoMovieModeFromMonitor(void)
sf_mcu_reg_set(SF_MCU_POWEROFF,0); sf_mcu_reg_set(SF_MCU_POWEROFF,0);
break; break;
case 1: case 1:
#if SF_IQ_TEST == DISABLE
case 3:
case 8:
case 10://A
case 11://B
#endif
g_uiBootMode = DX_HUNTING_MODE_OTHER; g_uiBootMode = DX_HUNTING_MODE_OTHER;
break; break;

View File

@ -1,5 +1,5 @@
#ifndef _SF_BATTERY_ #ifndef _SF_BATTERY_H
#define _SF_BATTERY_ #define _SF_BATTERY_H
#include <kwrap/task.h> #include <kwrap/task.h>

View File

@ -482,7 +482,10 @@
#define DCF_SUPPORT_FORMAT (DCF_FILE_TYPE_JPG|DCF_FILE_TYPE_AVI|DCF_FILE_TYPE_MOV|DCF_FILE_TYPE_MP4) #define DCF_SUPPORT_FORMAT (DCF_FILE_TYPE_JPG|DCF_FILE_TYPE_AVI|DCF_FILE_TYPE_MOV|DCF_FILE_TYPE_MP4)
#define DCF_DIR_NAME "MEDIA" /* 100MEDIA */ #define DCF_DIR_NAME "MEDIA" /* 100MEDIA */
#define DCF_FILE_NAME "SYFW" /* SYFW0001.JPG */ #define DCF_FILE_NAME "SYFW" /* SYFW0001.JPG */
#define PHOTO_THUMB_PATH "A:\\THUMB\\"
#define MOVIE_THUMB_PATH "A:\\THUMB\\"
#define SF_SEND_LIST_DIR "/mnt/sd/THUMB"
#define SF_THUMB_SEND_LIST PHOTO_THUMB_PATH"send.list"
//.............................................................................. //..............................................................................
// EXIF Config // EXIF Config
#define USE_EXIF DISABLE #define USE_EXIF DISABLE
@ -937,7 +940,7 @@
#define HUNTING_CAMERA_SYS_PARTITION_NAME sys #define HUNTING_CAMERA_SYS_PARTITION_NAME sys
#define HUNTING_CAMERA_BOOT_LINUX ENABLE #define HUNTING_CAMERA_BOOT_LINUX ENABLE
#define HUNTING_CAMERA_MCU ENABLE #define HUNTING_CAMERA_MCU ENABLE
#define HUNTING_CAMERA_4G DISABLE//ENABLE #define HUNTING_CAMERA_4G ENABLE
#define PHOTO_STAMP_ISP_STATUS DISABLE #define PHOTO_STAMP_ISP_STATUS DISABLE
#define PHOTO_PREVIEW_SLICE_ENC_FUNC ENABLE #define PHOTO_PREVIEW_SLICE_ENC_FUNC ENABLE
#define PHOTO_PREVIEW_SLICE_ENC_VER2_FUNC ENABLE #define PHOTO_PREVIEW_SLICE_ENC_VER2_FUNC ENABLE
@ -948,10 +951,11 @@
#define MOVIE_AI_DEMO DISABLE #define MOVIE_AI_DEMO DISABLE
#define HUNTING_MCU_I2C DISABLE #define HUNTING_MCU_I2C DISABLE
#define HUNTING_MCU_UART ENABLE #define HUNTING_MCU_UART ENABLE
#define HUNTING_IR_LED_940 ENABLE//DISABLE #define HUNTING_IR_LED_940 ENABLE
#define SF_EXIF_MN_BUF_SIZE 256 #define SF_EXIF_MN_BUF_SIZE 256
#define SF_BASE_VERSION "7MD4RCwD3T8" #define SF_BASE_VERSION "7MD4RCwD6T2"
#define SF_TRIGGER_TIME_TEST DISABLE #define SF_TRIGGER_TIME_TEST DISABLE
#define SF_IQ_TEST ENABLE
#define HUNTING_PHOTO_FAST_AE_60_FPS ENABLE #define HUNTING_PHOTO_FAST_AE_60_FPS ENABLE
#define HW_S530 1 #define HW_S530 1

View File

@ -59,7 +59,6 @@
/********************************************************************************** /**********************************************************************************
* independent thumbnail * independent thumbnail
*********************************************************************************/ *********************************************************************************/
#define MOVIE_THUMB_PATH "A:\\Thumb\\"
static char thumb_current_path_main[256] = {'\0'}; static char thumb_current_path_main[256] = {'\0'};
static char thumb_current_path_clone[256] = {'\0'}; static char thumb_current_path_clone[256] = {'\0'};
@ -194,7 +193,7 @@ static void MovieFast_ShutDown(void)
#endif #endif
#if HUNTING_CAMERA_MCU #if HUNTING_CAMERA_MCU
#if HUNTING_CAMERA_4G == ENABLE #if SF_IQ_TEST != ENABLE
fastboot_set_done(BOOT_FLOW_BOOT); fastboot_set_done(BOOT_FLOW_BOOT);
flow_wait_linux(); flow_wait_linux();
#else #else
@ -1006,7 +1005,7 @@ THREAD_RETTYPE MovieFast_InitMovieModeThread(void *arg)
#endif #endif
MovieFast_InstallID(); MovieFast_InstallID();
vos_util_delay_ms(330); vos_util_delay_ms(132);
//Set_AEMODE(1); //Set_AEMODE(1);
//vos_util_delay_ms(500); //vos_util_delay_ms(500);

View File

@ -1787,7 +1787,7 @@ static void PhotoFast_ShutDown(void)
#endif #endif
#if HUNTING_CAMERA_MCU == ENABLE #if HUNTING_CAMERA_MCU == ENABLE
#if HUNTING_CAMERA_4G == ENABLE #if SF_IQ_TEST != ENABLE
fastboot_set_done(BOOT_FLOW_BOOT); fastboot_set_done(BOOT_FLOW_BOOT);
flow_wait_linux(); flow_wait_linux();
#else #else

View File

@ -26,7 +26,6 @@
/********************************************************************************** /**********************************************************************************
* independent thumbnail * independent thumbnail
*********************************************************************************/ *********************************************************************************/
#define PHOTO_THUMB_PATH "A:\\Thumb\\"
#define PHOTOFAST_SLICE_ENC_DBG_DUMP 0 #define PHOTOFAST_SLICE_ENC_DBG_DUMP 0
@ -2131,7 +2130,7 @@ INT32 PhotoFast_SliceEncode_CB3(void* user_data)
#if HUNTING_CAMERA_MCU == ENABLE #if HUNTING_CAMERA_MCU == ENABLE
memset(tmp, '\0', sizeof(tmp)); memset(tmp, '\0', sizeof(tmp));
snprintf(tmp, sizeof(tmp), "/mnt/sd/Thumb/%s", file_path); /* DCF 8.3 naming rule */ snprintf(tmp, sizeof(tmp), "%s/%s", SF_SEND_LIST_DIR, file_path); /* DCF 8.3 naming rule */
snprintf(tmp2, sizeof(tmp2), "%s", file_path); /* DCF 8.3 naming rule */ snprintf(tmp2, sizeof(tmp2), "%s", file_path); /* DCF 8.3 naming rule */
sf_file_thumb_cfg_fill(tmp, tmp2, queue_ele_in->jpg_thumb_size, SF_FILE_TYPE_PIC_SMALL); sf_file_thumb_cfg_fill(tmp, tmp2, queue_ele_in->jpg_thumb_size, SF_FILE_TYPE_PIC_SMALL);
DBG_DUMP("PHOTO THUMB %s \n %s\n %s\n", tmp, tmp2,file_path); DBG_DUMP("PHOTO THUMB %s \n %s\n %s\n", tmp, tmp2,file_path);

View File

@ -162,7 +162,7 @@ SECTIONS
libdrv_rtc.a (.text* .data* .data1* .rodata* .rodata1* .reginfo* .init* .exit*) libdrv_rtc.a (.text* .data* .data1* .rodata* .rodata1* .reginfo* .init* .exit*)
libdrv_serial.a (.text* .data* .data1* .rodata* .rodata1* .reginfo* .init* .exit*) libdrv_serial.a (.text* .data* .data1* .rodata* .rodata1* .reginfo* .init* .exit*)
libdrv_storage.a (.text* .data* .data1* .rodata* .rodata1* .reginfo* .init* .exit*) libdrv_storage.a (.text* .data* .data1* .rodata* .rodata1* .reginfo* .init* .exit*)
libdrv_sf_i2c_mcu.a (.text* .data* .data1* .rodata* .rodata1* .reginfo* .init* .exit*) libsifar.a (.text* .data* .data1* .rodata* .rodata1* .reginfo* .init* .exit*)
/* kdrv */ /* kdrv */
libkdrv_comm.a (.text* .data* .data1* .rodata* .rodata1* .reginfo* .init* .exit*) libkdrv_comm.a (.text* .data* .data1* .rodata* .rodata1* .reginfo* .init* .exit*)
libarb_protected.a (.text* .data* .data1* .rodata* .rodata1* .reginfo* .init* .exit*) libarb_protected.a (.text* .data* .data1* .rodata* .rodata1* .reginfo* .init* .exit*)

View File

@ -0,0 +1,36 @@
#ifndef _SF_I2C_DRIVER_H
#define _SF_I2C_DRIVER_H
#ifdef __KERNEL__
#include <linux/delay.h>
#include "kwrap/type.h"
#include "kwrap/flag.h"
#include <linux/i2c.h>
#include <linux/slab.h>
#else
#include "kwrap/type.h"
#include "kwrap/flag.h"
#include "rtos_na51089/kdrv_i2c.h"
#endif
//#ifndef SF_I2C_NAME
#define SF_I2C_NAME "sf_mcu"
//#endif
//#ifndef SF_I2C_ADDR
#if defined(_MODEL_565_HUNTING_EVB_LINUX_4G_S530_)
#define MCU_I2C_SLAVE_ADDR (0x20>>1)
#elif defined(_MODEL_565_HUNTING_EVB_LINUX_4G_68CS_)
#define MCU_I2C_SLAVE_ADDR (0xA0>>1)
#else
#define MCU_I2C_SLAVE_ADDR (0x20>>1)
#endif
ER sf_i2c_init_driver(UINT32 i2c_id);
void sf_i2c_remove_driver(UINT32 id);
INT32 sf_i2c_transfer(struct i2c_msg *msgs, INT32 num);
#endif

View File

@ -25,23 +25,9 @@
#define SUCCESS 0 #define SUCCESS 0
#define FAIL 1 #define FAIL 1
//#ifndef SF_I2C_NAME
#define SF_I2C_NAME "sf_mcu"
//#endif
#define SF_SEND_LIST_ITEM_LENGTH 15 #define SF_SEND_LIST_ITEM_LENGTH 15
#define SF_THUMB_SEND_LIST "A:\\Thumb\\send.list"
#define SF_SD_THUMB_PATH "A:\\Thumb\\ThumbFileCfg"
//#ifndef SF_I2C_ADDR
#if defined(_MODEL_565_HUNTING_EVB_LINUX_4G_S530_)
#define MCU_I2C_SLAVE_ADDR (0x20>>1)
#elif defined(_MODEL_565_HUNTING_EVB_LINUX_4G_68CS_)
#define MCU_I2C_SLAVE_ADDR (0xA0>>1)
#else
#define MCU_I2C_SLAVE_ADDR (0x20>>1)
#endif
//#endif
#define SF_MCU_NIGHT_MODE_LUMINANCE 600 #define SF_MCU_NIGHT_MODE_LUMINANCE 600
#define DIGITAL_PIR 1 #define DIGITAL_PIR 1
@ -496,10 +482,6 @@ typedef struct sf_SRCFILE_ATTR_S {
SF_FILE_ATTR_S stfileattr[SF_SRCFILE_MAX]; SF_FILE_ATTR_S stfileattr[SF_SRCFILE_MAX];
}SF_SRCFILE_ATTR_S; }SF_SRCFILE_ATTR_S;
ER sf_i2c_init_driver(UINT32 i2c_id);
void sf_i2c_remove_driver(UINT32 id);
INT32 sf_i2c_transfer(struct i2c_msg *msgs, INT32 num);
extern int sf_mcu_test(void); extern int sf_mcu_test(void);
extern int sf_mod_init(void); extern int sf_mod_init(void);
extern void sf_mod_exit(void); extern void sf_mod_exit(void);

View File

@ -1,4 +1,4 @@
MODULE_NAME = drv_sf_i2c_mcu MODULE_NAME = sifar
# DIRs # DIRs
VOS_DRIVER_DIR = $(NVT_VOS_DIR)/drivers VOS_DRIVER_DIR = $(NVT_VOS_DIR)/drivers
KDRV_DIR = $(NVT_HDAL_DIR)/drivers/k_driver KDRV_DIR = $(NVT_HDAL_DIR)/drivers/k_driver
@ -43,7 +43,7 @@ $(MODULE_NAME)-objs := \
sf_i2c_driver.o \ sf_i2c_driver.o \
sf_sd_common.o \ sf_sd_common.o \
sf_commu_mcu.o \ sf_commu_mcu.o \
sf_mcu_dev.o sf_mcu.o
ifeq ($(KERNELRELEASE),) ifeq ($(KERNELRELEASE),)
PWD := $(shell pwd) PWD := $(shell pwd)
@ -87,7 +87,7 @@ SRC = \
sf_i2c_driver.c \ sf_i2c_driver.c \
sf_sd_common.c \ sf_sd_common.c \
sf_commu_mcu.c \ sf_commu_mcu.c \
sf_mcu_dev.c sf_mcu.c
copy = if [ ! -z "$(1)" -a "$(1)" != " " ]; then cp -avf $(1) $(2); fi copy = if [ ! -z "$(1)" -a "$(1)" != " " ]; then cp -avf $(1) $(2); fi

View File

@ -14,6 +14,7 @@
#include <sf_mcu.h> #include <sf_mcu.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <sf_i2c_driver.h>
#define MALLOC(x) malloc((x)) #define MALLOC(x) malloc((x))
#define FREE(x) free((x)) #define FREE(x) free((x))

View File

@ -26,7 +26,7 @@
#endif #endif
#include <sf_commu_mcu.h> #include <sf_commu_mcu.h>
#define __MODULE__ sf_i2c_mcu #define __MODULE__ sf_mcu
#define __DBGLVL__ 2 // 0=FATAL, 1=ERR, 2=WRN, 3=UNIT, 4=FUNC, 5=IND, 6=MSG, 7=VALUE, 8=USER #define __DBGLVL__ 2 // 0=FATAL, 1=ERR, 2=WRN, 3=UNIT, 4=FUNC, 5=IND, 6=MSG, 7=VALUE, 8=USER
#define __DBGFLT__ "*" // *=All, [mark]=CustomClass #define __DBGFLT__ "*" // *=All, [mark]=CustomClass
#include "kwrap/debug.h" #include "kwrap/debug.h"
@ -42,10 +42,10 @@
#include <uart.h> #include <uart.h>
#include "FileSysTsk.h" #include "FileSysTsk.h"
#include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <fcntl.h> #include <fcntl.h>
#include <unistd.h> #include <unistd.h>
#include <sf_i2c_driver.h>
static UINT8 McuSubVersion = 0; static UINT8 McuSubVersion = 0;
static UINT16 McuVersion = 0; static UINT16 McuVersion = 0;
@ -2040,6 +2040,10 @@ void sf_file_thumb_cfg_fill(char* filepath,char* fileName, UINT32 size, SF_FILE_
{ {
if (pThumbFileCfg == NULL) { if (pThumbFileCfg == NULL) {
pThumbFileCfg = malloc(sizeof(SF_SRCFILE_ATTR_S)); pThumbFileCfg = malloc(sizeof(SF_SRCFILE_ATTR_S));
if (pThumbFileCfg == NULL) {
printf("%s:%d pThumbFileCfg malloc err\n", __FUNCTION__, __LINE__);
return;
}
memset(pThumbFileCfg, 0, sizeof(SF_SRCFILE_ATTR_S)); memset(pThumbFileCfg, 0, sizeof(SF_SRCFILE_ATTR_S));
printf("%s:%d pThumbFileCfg malloc\n", __FUNCTION__, __LINE__); printf("%s:%d pThumbFileCfg malloc\n", __FUNCTION__, __LINE__);
} }
@ -2132,6 +2136,10 @@ void sf_add_file_name_to_send_list(char *sendfname)
//UINT32 fd = 0; //UINT32 fd = 0;
UIMenuStoreInfo *puiPara = sf_ui_para_get(); UIMenuStoreInfo *puiPara = sf_ui_para_get();
#if SF_IQ_TEST != ENABLE
FileSys_SetAttrib(PHOTO_THUMB_PATH, FST_ATTRIB_HIDDEN | FST_ATTRIB_SYSTEM, TRUE);
#endif
if(strlen(sendfname) != SF_SEND_LIST_ITEM_LENGTH-3) //3 ->CamMode \r\n if(strlen(sendfname) != SF_SEND_LIST_ITEM_LENGTH-3) //3 ->CamMode \r\n
{ {
printf("%s:%d AddFileNameToSenddist fail: send file name format error\n", __FUNCTION__, __LINE__); printf("%s:%d AddFileNameToSenddist fail: send file name format error\n", __FUNCTION__, __LINE__);

View File

@ -7,7 +7,7 @@
version-info = [00 01 00 01]; version-info = [00 01 00 01];
ae_expect_lum { ae_expect_lum {
size = [b0 00 00 00]; size = [b0 00 00 00];
data = [3c 00 00 00 3c 00 00 00 26 00 00 00 26 00 00 00 26 00 00 00 26 00 00 00 26 00 00 00 26 00 00 00 27 00 00 00 2c 00 00 00 32 00 00 00 3a 00 00 00 44 00 00 00 51 00 00 00 51 00 00 00 51 00 00 00 51 00 00 00 51 00 00 00 51 00 00 00 51 00 00 00 51 00 00 00 51 00 00 00 51 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 3c 00 00 00 46 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00]; data = [3c 00 00 00 3c 00 00 00 26 00 00 00 26 00 00 00 26 00 00 00 26 00 00 00 26 00 00 00 26 00 00 00 27 00 00 00 2c 00 00 00 32 00 00 00 3a 00 00 00 44 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 3c 00 00 00 46 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00];
}; };
ae_la_clamp { ae_la_clamp {
size = [50 01 00 00]; size = [50 01 00 00];
@ -15,7 +15,7 @@
}; };
ae_over_exposure { ae_over_exposure {
size = [b0 01 00 00]; size = [b0 01 00 00];
data = [01 00 00 00 8c 00 00 00 03 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 02 00 00 00 02 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 04 00 00 00 05 00 00 00 06 00 00 00 07 00 00 00 08 00 00 00 09 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 05 00 00 00 07 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 04 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00]; data = [01 00 00 00 8c 00 00 00 03 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 05 00 00 00 04 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 02 00 00 00 02 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 04 00 00 00 05 00 00 00 06 00 00 00 07 00 00 00 08 00 00 00 09 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 05 00 00 00 07 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 04 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00];
}; };
ae_convergence { ae_convergence {
size = [2c 00 00 00]; size = [2c 00 00 00];

View File

@ -15,7 +15,7 @@
}; };
awb_ct_weight { awb_ct_weight {
size = [78 00 00 00]; size = [78 00 00 00];
data = [fc 08 00 00 f0 0a 00 00 74 0e 00 00 5c 12 00 00 64 19 00 00 f8 2a 00 00 48 03 00 00 60 03 00 00 bc 03 00 00 f7 03 00 00 23 04 00 00 c3 04 00 00 01 00 00 00 01 00 00 00 02 00 00 00 04 00 00 00 08 00 00 00 09 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 03 00 00 00 08 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00]; data = [fc 08 00 00 f0 0a 00 00 74 0e 00 00 5c 12 00 00 64 19 00 00 f8 2a 00 00 48 03 00 00 60 03 00 00 bc 03 00 00 f7 03 00 00 23 04 00 00 c3 04 00 00 01 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 05 00 00 00 06 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 03 00 00 00 08 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00];
}; };
awb_target { awb_target {
size = [24 00 00 00]; size = [24 00 00 00];

File diff suppressed because one or more lines are too long