Merge branch 'Branch_S550_Fast' of gitlab.sifar.tech:linux-em-group/s530-ntk into branch_s550_fast
This commit is contained in:
		
						commit
						71c4f3351a
					
				| 
						 | 
				
			
			@ -35,6 +35,37 @@ echo "fs" > /proc/nvt_info/bootts
 | 
			
		|||
echo "/sbin/mdev" > /proc/sys/kernel/hotplug
 | 
			
		||||
#modprobe mmc_na51055
 | 
			
		||||
 | 
			
		||||
if [ 1 ] ; then
 | 
			
		||||
 | 
			
		||||
sleep ${DELAY}
 | 
			
		||||
 | 
			
		||||
echo 0x5 > /proc/adc
 | 
			
		||||
cat /sys/bus/iio/devices/iio\:device0/in_voltage0_raw
 | 
			
		||||
echo 0x3 > /proc/adc
 | 
			
		||||
sleep ${DELAY}
 | 
			
		||||
 | 
			
		||||
echo 1 > /sys/devices/gpiochip0/gpio/gpio${SF_ADC_MUXA}/value
 | 
			
		||||
echo 0 > /sys/devices/gpiochip0/gpio/gpio${SF_ADC_MUXB}/value
 | 
			
		||||
sleep ${DELAY}
 | 
			
		||||
cat /sys/bus/iio/devices/iio\:device0/in_voltage0_raw
 | 
			
		||||
echo 0x1 > /proc/adc
 | 
			
		||||
sleep ${DELAY}
 | 
			
		||||
 | 
			
		||||
echo 0 > /sys/devices/gpiochip0/gpio/gpio${SF_ADC_MUXA}/value
 | 
			
		||||
echo 0 > /sys/devices/gpiochip0/gpio/gpio${SF_ADC_MUXB}/value
 | 
			
		||||
sleep ${DELAY}
 | 
			
		||||
cat /sys/bus/iio/devices/iio\:device0/in_voltage0_raw
 | 
			
		||||
echo 0x0 > /proc/adc
 | 
			
		||||
sleep ${DELAY}
 | 
			
		||||
 | 
			
		||||
echo 0 > /sys/devices/gpiochip0/gpio/gpio${SF_ADC_MUXA}/value
 | 
			
		||||
echo 1 > /sys/devices/gpiochip0/gpio/gpio${SF_ADC_MUXB}/value
 | 
			
		||||
sleep ${DELAY}
 | 
			
		||||
echo 0x2 > /proc/adc
 | 
			
		||||
sleep ${DELAY}
 | 
			
		||||
cat /sys/bus/iio/devices/iio\:device0/in_voltage0_raw
 | 
			
		||||
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
mdev -s
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -922,7 +922,7 @@
 | 
			
		|||
#define HUNTING_MCU_UART				ENABLE
 | 
			
		||||
#define HUNTING_IR_LED_940				ENABLE
 | 
			
		||||
#define SF_EXIF_MN_BUF_SIZE		256
 | 
			
		||||
#define SF_BASE_VERSION				    "7MR5RCwDB04"
 | 
			
		||||
#define SF_BASE_VERSION				    "7MR5RCwDB05"
 | 
			
		||||
#define HW_S530 DISABLE
 | 
			
		||||
#define DCF_DIR_NAME					"MEDIA" /* 100MEDIA */
 | 
			
		||||
#define DCF_FILE_NAME					"SYGW"  /* SYFW0001.JPG */
 | 
			
		||||
| 
						 | 
				
			
			@ -975,6 +975,7 @@
 | 
			
		|||
#define ANR_FUNC						ENABLE
 | 
			
		||||
#endif
 | 
			
		||||
#define SF_NO_SD_SEND				ENABLE
 | 
			
		||||
#define SF_SD_LOG_INFO_FILENAME        "/tmp/SD.txt"
 | 
			
		||||
//////////////////////sf end///////////////////////////////
 | 
			
		||||
 | 
			
		||||
/*******************************************************************************************
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -177,7 +177,7 @@
 | 
			
		|||
 | 
			
		||||
#if SF_IQ_TEST == ENABLE
 | 
			
		||||
    #if SF_HW_TEST == ENABLE
 | 
			
		||||
        #define DEFAULT_BOOT_WORK_MODE    SF_CAM_MODE_PHOTO_VIDEO
 | 
			
		||||
        #define DEFAULT_BOOT_WORK_MODE    SF_CAM_MODE_VIDEO2
 | 
			
		||||
        #define DEFAULT_PIR_SWITCH    SF_OFF
 | 
			
		||||
        #define DEFAULT_PIR_SENSITIVITY    SF_PIR_SENSITIVITY_0
 | 
			
		||||
        #define DEFAULT_TIMELAPSE_SWITCH    SF_ON
 | 
			
		||||
| 
						 | 
				
			
			@ -186,7 +186,8 @@
 | 
			
		|||
        #if SF_BATTERY_TEST == ENABLE
 | 
			
		||||
        #define DEFAULT_BOOT_WORK_MODE    SF_CAM_MODE_PHOTO
 | 
			
		||||
        #else
 | 
			
		||||
        #define DEFAULT_BOOT_WORK_MODE    SF_CAM_MODE_PHOTO_VIDEO
 | 
			
		||||
        #define DEFAULT_BOOT_WORK_MODE    SF_CAM_MODE_VIDEO2
 | 
			
		||||
        #define DEFAULT_GPRS_SWITCH    SF_OFF
 | 
			
		||||
        #endif
 | 
			
		||||
        #define DEFAULT_PIR_SWITCH    SF_ON
 | 
			
		||||
        #define DEFAULT_PIR_SENSITIVITY    SF_PIR_SENSITIVITY_7
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -578,6 +578,7 @@ typedef struct _UIMenuUIMenuStoreInfo {
 | 
			
		|||
    CHAR BluSwitch;/*OFF/ON*/
 | 
			
		||||
	CHAR SimIccidV[21];
 | 
			
		||||
	CHAR SimIccidA[21];
 | 
			
		||||
    UINT32 SdFailCount;
 | 
			
		||||
	UINT32 x1;
 | 
			
		||||
	UINT32 x2;
 | 
			
		||||
	UINT32 x3;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -44,6 +44,7 @@ BOOL sf_check_auto_thumb_file(VOID);
 | 
			
		|||
UINT8 sf_get_send_file_total(void);
 | 
			
		||||
SINT32 sf_mem_upload_file_to_module(UINT32 MemPhotoAddr, UINT32 MemPhotosize);
 | 
			
		||||
SINT32 sf_usr_mem_photo_ch(void);
 | 
			
		||||
UINT8 sf_save_sd_log(void);
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
#if __cplusplus
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -225,5 +225,6 @@ double sf_sys_s_time_get(time_t end_time);
 | 
			
		|||
time_t sf_time (time_t *__timer);
 | 
			
		||||
SINT32 sf_gps_send_ftp(void);
 | 
			
		||||
SINT32 sf_test_send_file_to_ftp(void);
 | 
			
		||||
SINT32 sf_card_log_send_ftp(void);
 | 
			
		||||
#endif /*_SF_FTP_H_*/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -64,6 +64,7 @@ SINT32 sf_app_mcu_para_start(void);
 | 
			
		|||
SINT32 app_auto_poweroff_start(void);
 | 
			
		||||
UINT8 sf_check_power_on_mode(void);
 | 
			
		||||
void sf_power_off_msg_to_cardv(void);
 | 
			
		||||
SINT32 sf_app_mcu_para_power_no_start(void);
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
#if __cplusplus
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3029,6 +3029,75 @@ SINT32 sf_test_send_file_to_ftp(void)
 | 
			
		|||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
SINT32 sf_card_log_send_ftp(void)
 | 
			
		||||
{
 | 
			
		||||
    SINT32 ret = SF_SUCCESS;
 | 
			
		||||
    SINT32 ret2 = SF_SUCCESS;       //0:success; else:fail;
 | 
			
		||||
    UINT8 uploadFname[64] = { 0 };
 | 
			
		||||
    UINT8 customStr[64] = { 0 };
 | 
			
		||||
    UINT8 filePath[64] = { 0 };
 | 
			
		||||
    int timeout =  120000;
 | 
			
		||||
    UIMenuStoreInfo *pPara = sf_app_ui_para_get();
 | 
			
		||||
    UINT8 ssl = 0;
 | 
			
		||||
    UINT8 gprsMode = 0;
 | 
			
		||||
    ssl = ((2 == pPara->FtpSwitch) ? 1 : 0);
 | 
			
		||||
    gprsMode = 0;//puiPara->GprsMode;
 | 
			
		||||
 | 
			
		||||
    MLOGD("start\n");
 | 
			
		||||
    if(0 != sf_save_sd_log())
 | 
			
		||||
    {
 | 
			
		||||
        printf("%s:%d err file\n", __FUNCTION__, __LINE__);
 | 
			
		||||
        return SF_FAILURE;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    ret = sf_ftp_config(ssl, gprsMode, timeout);
 | 
			
		||||
 | 
			
		||||
    if(SF_SUCCESS == ret)
 | 
			
		||||
    {
 | 
			
		||||
        //sprintf((char *)filePath, "UFS:/%s", SF_LOG_TXT);
 | 
			
		||||
        sprintf((char *)filePath, "%s", SF_SD_LOG_INFO_FILENAME);
 | 
			
		||||
 | 
			
		||||
        printf("%s:%d filePath:%s\n", __FUNCTION__, __LINE__, filePath);
 | 
			
		||||
 | 
			
		||||
        sf_custom_str_get(customStr);
 | 
			
		||||
        sprintf((char *)uploadFname, "%s-%s-SD.txt",pPara->ModuleImei, customStr);
 | 
			
		||||
 | 
			
		||||
        ret = SF_SUCCESS;//sf_quectel_upload_file_to_module((UINT8 *)SF_SD_LOG_INFO_FILENAME, (UINT8 *)SF_LOG_TXT);
 | 
			
		||||
 | 
			
		||||
        if(SF_SUCCESS != ret)
 | 
			
		||||
        {
 | 
			
		||||
            printf("%s:%d upload err ret: [0x%08X] filePath:%s\n", __FUNCTION__, __LINE__, ret, filePath);
 | 
			
		||||
        }
 | 
			
		||||
        else
 | 
			
		||||
        {
 | 
			
		||||
            ret = sf_ftp_send(uploadFname, filePath, timeout);
 | 
			
		||||
 | 
			
		||||
            if(SF_SUCCESS != ret)
 | 
			
		||||
            {
 | 
			
		||||
                printf("%s:%d err ret: [0x%08X] filePath:%s\n", __FUNCTION__, __LINE__, ret, filePath);
 | 
			
		||||
            }
 | 
			
		||||
            else {
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    if(ret != SF_FTP_ERROR_TERM)
 | 
			
		||||
    {
 | 
			
		||||
        ret2 = sf_ftp_stop(ssl, gprsMode);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    MLOGD(" end ret:[0x%08X],ret2:[0x%08X]\n", ret, ret2);
 | 
			
		||||
 | 
			
		||||
    if(ret != SF_SUCCESS)
 | 
			
		||||
    {
 | 
			
		||||
        return ret;
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
        return ret2;
 | 
			
		||||
    }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
#if __cplusplus
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2420,13 +2420,13 @@ SINT32 sf_power_off_check_sd(void)
 | 
			
		|||
	SF_STORE_ATTR_S storeattrs = {0};
 | 
			
		||||
 | 
			
		||||
	/********************  SD cycle  *************************/
 | 
			
		||||
	if((sf_in_card_exist() && (sf_is_card())) || (sf_get_mode_flag() == 1))
 | 
			
		||||
	{
 | 
			
		||||
		//sf_ErrorLogCopyToCard();
 | 
			
		||||
		//sf_FlowLogCopyToCard();
 | 
			
		||||
    if((sf_in_card_exist() && (sf_is_card())) || (sf_get_mode_flag() == 1))
 | 
			
		||||
    {
 | 
			
		||||
        //sf_ErrorLogCopyToCard();
 | 
			
		||||
        //sf_FlowLogCopyToCard();
 | 
			
		||||
        
 | 
			
		||||
		if((puiPara->SdLoopSwitch) && (!sf_get_mode_flag()))
 | 
			
		||||
		{
 | 
			
		||||
        if((puiPara->SdLoopSwitch) && (!sf_get_mode_flag()))
 | 
			
		||||
        {
 | 
			
		||||
            sf_sd_info_get(&storeattrs);
 | 
			
		||||
            if((storeattrs.SDStatus == 0) &  (storeattrs.SDFree < SDLOOP_REMAIN_SPACE))
 | 
			
		||||
            {
 | 
			
		||||
| 
						 | 
				
			
			@ -2434,28 +2434,46 @@ SINT32 sf_power_off_check_sd(void)
 | 
			
		|||
                sf_app_sd_loop();
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
		if(sf_in_card_exist())
 | 
			
		||||
		{
 | 
			
		||||
			if(sf_get_mode_flag() || ((0 == puiPara->SendType)))
 | 
			
		||||
				sf_delete_send_flie_list();
 | 
			
		||||
		}
 | 
			
		||||
        if(sf_in_card_exist())
 | 
			
		||||
        {
 | 
			
		||||
            if(sf_get_mode_flag() || ((0 == puiPara->SendType)))
 | 
			
		||||
                sf_delete_send_flie_list();
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
		/*check disk free size*/
 | 
			
		||||
        /*check disk free size*/
 | 
			
		||||
        SF_STORE_ATTR_S storeattrs = {0};
 | 
			
		||||
        sf_sd_info_get(&storeattrs);
 | 
			
		||||
 | 
			
		||||
		printf("SD free=%dM/%dM\n", storeattrs.SDFree, storeattrs.SDTotalSize);
 | 
			
		||||
        printf("SD free=%dM/%dM\n", storeattrs.SDFree, storeattrs.SDTotalSize);
 | 
			
		||||
                
 | 
			
		||||
		if(storeattrs.SDFree < 30) /* 30MB */
 | 
			
		||||
		{
 | 
			
		||||
			if(puiPara->SdLoopSwitch == 0)
 | 
			
		||||
			{
 | 
			
		||||
				sf_set_card_full(1);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
        if(storeattrs.SDFree < 30) /* 30MB */
 | 
			
		||||
        {
 | 
			
		||||
            if(puiPara->SdLoopSwitch == 0)
 | 
			
		||||
            {
 | 
			
		||||
                sf_set_card_full(1);
 | 
			
		||||
                puiPara->SdFailCount++;
 | 
			
		||||
                sf_sleep_ms(100);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        else
 | 
			
		||||
        {
 | 
			
		||||
            if(puiPara->SdFailCount)
 | 
			
		||||
            {
 | 
			
		||||
                puiPara->SdFailCount = 0;
 | 
			
		||||
                sf_sleep_ms(100);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        SYS_SLOGI("SdFailCount:%d\n",puiPara->SdFailCount);
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
    else if(!sf_in_card_exist())
 | 
			
		||||
    {
 | 
			
		||||
        puiPara->SdFailCount++;
 | 
			
		||||
        SYS_SLOGI("SdFailCount:%d\n",puiPara->SdFailCount);
 | 
			
		||||
        sf_sleep_ms(100);
 | 
			
		||||
    }
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -769,31 +769,11 @@ static SINT32 sf_app_proccess_cmd_poweroff(SF_MESSAGE_BUF_S *pMessageBuf)
 | 
			
		|||
static SINT32 sf_app_proccess_cmd_mcu(SF_MESSAGE_BUF_S *pMessageBuf)
 | 
			
		||||
{
 | 
			
		||||
	MLOGD("ID = %#x\n",pMessageBuf->arg1);
 | 
			
		||||
    SF_MESSAGE_BUF_S stMessageBuf = {0};
 | 
			
		||||
    SINT16 startup = 0;
 | 
			
		||||
 | 
			
		||||
	switch(pMessageBuf->arg1)
 | 
			
		||||
	{
 | 
			
		||||
		case SF_MCU_CMD_POWERON:
 | 
			
		||||
            startup = sf_poweron_type_get();
 | 
			
		||||
            if(SF_MCU_STARTUP_NORMAL != startup){
 | 
			
		||||
                sf_get_power_on_mode();
 | 
			
		||||
                stMessageBuf.arg3 = (SINT32)sf_get_light_value();
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            stMessageBuf.arg1 = SF_MCU_CMD_POWERON;
 | 
			
		||||
            stMessageBuf.arg2 = (SINT32)sf_poweron_type_get();
 | 
			
		||||
	        stMessageBuf.cmdId = CMD_MCU;
 | 
			
		||||
	        sf_com_message_send_to_cardv(&stMessageBuf);
 | 
			
		||||
 | 
			
		||||
            stMessageBuf.arg1 = SF_MCU_CMD_MCU_VER;
 | 
			
		||||
            stMessageBuf.arg2 = (SINT32)sf_get_mcu_sub_ver();
 | 
			
		||||
            stMessageBuf.arg3 = (SINT32)sf_get_mcu_ver();
 | 
			
		||||
	        stMessageBuf.cmdId = CMD_MCU;
 | 
			
		||||
	        sf_com_message_send_to_cardv(&stMessageBuf);
 | 
			
		||||
            // if(SF_MCU_STARTUP_ONKEY == startup){
 | 
			
		||||
            //     sf_blue_app_start();
 | 
			
		||||
            // }
 | 
			
		||||
            sf_app_mcu_para_power_no_start();
 | 
			
		||||
			break;
 | 
			
		||||
		case SF_MCU_CMD_MODULE_SLEEP:
 | 
			
		||||
            sf_set_module_sleep_flag(0);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1071,6 +1071,7 @@ SINT16 app_file_transfer_Error_return_server(SF_FN_PARAM_S *pfnParam) {
 | 
			
		|||
 | 
			
		||||
static SINT32 app_file_transfer(SF_FN_PARAM_S *pfnParam) {
 | 
			
		||||
  SINT32 s32ret = 0;
 | 
			
		||||
  static int DailyreportSendFlag = 0;
 | 
			
		||||
  // SF_MESSAGE_BUF_S stMessageBuf = {0};
 | 
			
		||||
  // UIMenuStoreInfo *pCustomerParam = pfnParam->pstParam;
 | 
			
		||||
  // SF_PDT_PARAM_STATISTICS_S *pStaticParam = pfnParam->pstaticParam;
 | 
			
		||||
| 
						 | 
				
			
			@ -1156,10 +1157,16 @@ static SINT32 app_file_transfer(SF_FN_PARAM_S *pfnParam) {
 | 
			
		|||
    if(sf_get_send_gps_txt()){
 | 
			
		||||
        s32ret = sf_gps_send_ftp();
 | 
			
		||||
    }
 | 
			
		||||
    //if (pCustomerParam->GpsSendFlag) 
 | 
			
		||||
    if (!DailyreportSendFlag) 
 | 
			
		||||
    {
 | 
			
		||||
        
 | 
			
		||||
        DailyreportSendFlag = 1;
 | 
			
		||||
        s32ret = sf_send_file_to_ftp(2);
 | 
			
		||||
        if(pCustomerParam->SdFailCount)
 | 
			
		||||
        {
 | 
			
		||||
            SLOGD("SdFailCount:%d\n", pCustomerParam->SdFailCount);
 | 
			
		||||
            pCustomerParam->SdFailCount = 0;
 | 
			
		||||
            sf_sleep_ms(200);
 | 
			
		||||
        }
 | 
			
		||||
        //pCustomerParam->GpsSendFlag = 0;
 | 
			
		||||
        if(pCustomerParam->PicUpDailyReport){
 | 
			
		||||
            sf_sms_set_pic(1);
 | 
			
		||||
| 
						 | 
				
			
			@ -1251,6 +1258,9 @@ SINT32 sf_cardv_file_to_app_send_thread(void) {
 | 
			
		|||
SINT32 sf_file_send_auto(void) {
 | 
			
		||||
    SINT32 s32ret = 0;
 | 
			
		||||
    SF_FN_PARAM_S stpfncallback = {0};
 | 
			
		||||
    UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
 | 
			
		||||
    SINT8 Isfull = 0;
 | 
			
		||||
 | 
			
		||||
    if(SF_FAILURE == sf_check_sd())
 | 
			
		||||
    {
 | 
			
		||||
        MLOGE("ERROR sf_check_sd\n");
 | 
			
		||||
| 
						 | 
				
			
			@ -1261,8 +1271,22 @@ SINT32 sf_file_send_auto(void) {
 | 
			
		|||
            return s32ret;
 | 
			
		||||
        }
 | 
			
		||||
        #endif
 | 
			
		||||
        if(2 == puiPara->SdFailCount)
 | 
			
		||||
        {
 | 
			
		||||
            s32ret = sf_card_log_send_ftp();
 | 
			
		||||
            return s32ret;
 | 
			
		||||
        }
 | 
			
		||||
        return SF_FAILURE;
 | 
			
		||||
    }
 | 
			
		||||
    else if(2 == puiPara->SdFailCount)
 | 
			
		||||
    {
 | 
			
		||||
        sleep(1);
 | 
			
		||||
        s32ret = sf_sd_isfull(&Isfull);
 | 
			
		||||
        if(Isfull)
 | 
			
		||||
        {
 | 
			
		||||
            s32ret = sf_card_log_send_ftp();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    stpfncallback.pstParam = sf_customer_param_get();
 | 
			
		||||
    stpfncallback.pstaticParam = sf_app_ui_para_get();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -128,8 +128,17 @@ SF_THREAD_S WaiParaTskCfg =
 | 
			
		|||
	.IsRun = 0,
 | 
			
		||||
	.TskId = -1,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
SF_THREAD_S McuPowerOnTskCfg =
 | 
			
		||||
{
 | 
			
		||||
	.IsRun = 0,
 | 
			
		||||
	.TskId = -1,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
SINT8 debugFlag = 0;
 | 
			
		||||
 | 
			
		||||
UINT8 McuInitFlag = 0;
 | 
			
		||||
 | 
			
		||||
void app_poweroff_time_clear(void)
 | 
			
		||||
{
 | 
			
		||||
	AutoPowerOffTime = 0;
 | 
			
		||||
| 
						 | 
				
			
			@ -1434,7 +1443,7 @@ void* sf_app_mcu_para_thread(void *arg)
 | 
			
		|||
        sf_get_power_on_mode();
 | 
			
		||||
        sf_mcu_wdg_set(5);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    McuInitFlag = 1;
 | 
			
		||||
	McuParaTskCfg.IsRun = 0;
 | 
			
		||||
	SLOGI("thread end\n");
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1493,3 +1502,65 @@ void sf_power_off_msg_to_cardv(void)
 | 
			
		|||
    stMessageBuf.arg2 = SF_KEY_PIN_AOTU_MODE_POWOFF;//auto mode powoff
 | 
			
		||||
    sf_com_message_send_to_cardv(&stMessageBuf);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
UINT8 sf_app_get_mcu_init_flag(void)
 | 
			
		||||
{
 | 
			
		||||
    return McuInitFlag;
 | 
			
		||||
}
 | 
			
		||||
void* sf_app_power_no_thread(void *arg)
 | 
			
		||||
{
 | 
			
		||||
    SF_MESSAGE_BUF_S stMessageBuf = {0};
 | 
			
		||||
    SINT16 startup = 0;
 | 
			
		||||
	SLOGI("thread run\n");
 | 
			
		||||
	McuPowerOnTskCfg.IsRun = 1;
 | 
			
		||||
    startup = sf_poweron_type_get();
 | 
			
		||||
    if(SF_MCU_STARTUP_NORMAL != startup){
 | 
			
		||||
        for (UINT8 i = 0; i < 40; i++) {
 | 
			
		||||
            if (1 == sf_app_get_mcu_init_flag())
 | 
			
		||||
            {
 | 
			
		||||
                break;
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                sf_sleep_ms(100);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        sf_get_power_on_mode();
 | 
			
		||||
        stMessageBuf.arg3 = (SINT32)sf_get_light_value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    stMessageBuf.arg1 = SF_MCU_CMD_POWERON;
 | 
			
		||||
    stMessageBuf.arg2 = (SINT32)sf_poweron_type_get();
 | 
			
		||||
    stMessageBuf.cmdId = CMD_MCU;
 | 
			
		||||
    sf_com_message_send_to_cardv(&stMessageBuf);
 | 
			
		||||
 | 
			
		||||
    stMessageBuf.arg1 = SF_MCU_CMD_MCU_VER;
 | 
			
		||||
    stMessageBuf.arg2 = (SINT32)sf_get_mcu_sub_ver();
 | 
			
		||||
    stMessageBuf.arg3 = (SINT32)sf_get_mcu_ver();
 | 
			
		||||
    stMessageBuf.cmdId = CMD_MCU;
 | 
			
		||||
    sf_com_message_send_to_cardv(&stMessageBuf);
 | 
			
		||||
    // if(SF_MCU_STARTUP_ONKEY == startup){
 | 
			
		||||
    //     sf_blue_app_start();
 | 
			
		||||
    // }
 | 
			
		||||
	McuPowerOnTskCfg.IsRun = 0;
 | 
			
		||||
	SLOGI("thread end\n");
 | 
			
		||||
 | 
			
		||||
	return NULL;
 | 
			
		||||
}
 | 
			
		||||
SINT32 sf_app_mcu_para_power_no_start(void)
 | 
			
		||||
{
 | 
			
		||||
    SINT32 ret = SF_FAILURE;
 | 
			
		||||
	if(McuPowerOnTskCfg.IsRun)
 | 
			
		||||
	{	
 | 
			
		||||
		SLOGE("thread has already run !!!\n");
 | 
			
		||||
		return SF_FAILURE;
 | 
			
		||||
	}
 | 
			
		||||
	ret = pthread_create(&McuPowerOnTskCfg.TskId, NULL, sf_app_power_no_thread, NULL);
 | 
			
		||||
	if(ret != SF_SUCCESS)
 | 
			
		||||
	{	
 | 
			
		||||
        MLOGD("thread  creat fail!\n");
 | 
			
		||||
		return ret;
 | 
			
		||||
	}
 | 
			
		||||
	return SF_SUCCESS;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1769,6 +1769,51 @@ SINT32 sf_usr_mem_photo_ch(void)
 | 
			
		|||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/*************************************************
 | 
			
		||||
  Function:    sf_save_sd_log
 | 
			
		||||
  Description: save sd log to sd
 | 
			
		||||
  Input:  N/A
 | 
			
		||||
  Output: N/A
 | 
			
		||||
  Return: N/A
 | 
			
		||||
  Others: N/A
 | 
			
		||||
*************************************************/
 | 
			
		||||
UINT8 sf_save_sd_log(void)
 | 
			
		||||
{
 | 
			
		||||
    UINT8 ret = 1;
 | 
			
		||||
    char *temp = NULL;
 | 
			
		||||
    int fd = 0;
 | 
			
		||||
    printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
 | 
			
		||||
 | 
			
		||||
    temp = malloc(50);
 | 
			
		||||
    if (temp == NULL) {
 | 
			
		||||
        MLOGE("temp malloc err\n");
 | 
			
		||||
        return 1;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if(sf_in_card_exist())
 | 
			
		||||
    {
 | 
			
		||||
        snprintf(temp, 500, "not saving to external storage\r\n");
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
        snprintf(temp, 500, "SD card removed\r\n");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fd = open(SF_SD_LOG_INFO_FILENAME, O_WRONLY | O_CREAT);
 | 
			
		||||
    if(fd)
 | 
			
		||||
    {
 | 
			
		||||
        lseek(fd, 0, SEEK_END);
 | 
			
		||||
        write(fd, temp, strlen(temp));
 | 
			
		||||
        close(fd);
 | 
			
		||||
        system("sync");
 | 
			
		||||
        ret = 0;
 | 
			
		||||
    }
 | 
			
		||||
    free(temp);
 | 
			
		||||
    
 | 
			
		||||
    printf("[%s:%d] e\n", __FUNCTION__, __LINE__);
 | 
			
		||||
    return ret;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
#if __cplusplus
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -136,7 +136,12 @@ static ID sf_mcu_flag_id = 0;
 | 
			
		|||
 | 
			
		||||
void sf_mcu_flag_init(void)
 | 
			
		||||
{
 | 
			
		||||
	vos_flag_create(&sf_mcu_flag_id, NULL, "sf_mcu_flag_id");
 | 
			
		||||
    ER ret = E_OK;
 | 
			
		||||
    T_CFLG cflg;
 | 
			
		||||
    if ((ret |= vos_flag_create(&sf_mcu_flag_id, &cflg, "sf_mcu_flag_id")) != E_OK)
 | 
			
		||||
    {
 | 
			
		||||
		SYS_SLOGE("sf_mcu_flag_id fail\r\n");
 | 
			
		||||
	}
 | 
			
		||||
	vos_flag_clr(sf_mcu_flag_id, (FLGPTN)-1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -261,6 +261,13 @@ unsigned char sf_mcu_wdg_set(unsigned char value)
 | 
			
		|||
	unsigned char regsize =0;
 | 
			
		||||
	unsigned char mcuReg[2] = {0};
 | 
			
		||||
	unsigned char mcuPara[2] = {0};
 | 
			
		||||
	UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
 | 
			
		||||
    
 | 
			
		||||
    if(puiPara->DebugMode)
 | 
			
		||||
    {
 | 
			
		||||
        mcuReg[i] = FUNCTION_SWTICH2;
 | 
			
		||||
        mcuPara[i++] = 2;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
	mcuReg[i] = WDT_TIME;
 | 
			
		||||
	mcuPara[i++] = value;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2659,7 +2659,7 @@ UINT32 sf_cardv_wifi_start(void)
 | 
			
		|||
        WifiTskCfg.IsRun = 1;
 | 
			
		||||
        return SF_SUCCESS;
 | 
			
		||||
    }
 | 
			
		||||
    SLOGE("WifiSwitch OFF\n");
 | 
			
		||||
    SLOGI("WifiSwitch OFF\n");
 | 
			
		||||
    return 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -945,7 +945,7 @@
 | 
			
		|||
#define HUNTING_MCU_UART				ENABLE
 | 
			
		||||
#define HUNTING_IR_LED_940				ENABLE
 | 
			
		||||
#define SF_EXIF_MN_BUF_SIZE		256
 | 
			
		||||
#define SF_BASE_VERSION				"7MR5RCwDB04"
 | 
			
		||||
#define SF_BASE_VERSION				"7MR5RCwDB05"
 | 
			
		||||
#define DCF_DIR_NAME					"MEDIA"   /* 100MEDIA */
 | 
			
		||||
#define DCF_FILE_NAME					"SYGW"    /* SYFW0001.JPG */
 | 
			
		||||
#define PHOTO_THUMB_PATH 				"A:\\THUMB\\"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -62,6 +62,7 @@
 | 
			
		|||
#include <sf_mcu.h>
 | 
			
		||||
#include "sf_led.h"
 | 
			
		||||
#endif
 | 
			
		||||
#include "IOCfg.h"
 | 
			
		||||
#include <kwrap/cmdsys.h>
 | 
			
		||||
/**
 | 
			
		||||
	Flags for control
 | 
			
		||||
| 
						 | 
				
			
			@ -940,11 +941,13 @@ static void MovieFast_WriteFile_Task(void* arg)
 | 
			
		|||
	MOVIEFAST_WRITE_QUEUE_PARAM* param;
 | 
			
		||||
 | 
			
		||||
	fastboot_wait_done(BOOT_INIT_FILESYSOK);
 | 
			
		||||
    #if HUNTING_CAMERA_MCU == ENABLE
 | 
			
		||||
    if(TRUE == sf_is_card_full())
 | 
			
		||||
    {
 | 
			
		||||
        DBG_ERR("ERR card full\r\n");
 | 
			
		||||
        return ;
 | 
			
		||||
        //return ;
 | 
			
		||||
    }
 | 
			
		||||
    #endif
 | 
			
		||||
	while(1)
 | 
			
		||||
	{
 | 
			
		||||
		param = (MOVIEFAST_WRITE_QUEUE_PARAM*) lfqueue_deq(queue);
 | 
			
		||||
| 
						 | 
				
			
			@ -955,20 +958,27 @@ static void MovieFast_WriteFile_Task(void* arg)
 | 
			
		|||
 | 
			
		||||
		if(param->va){
 | 
			
		||||
			DBG_DUMP("Write %s\n", param->path);
 | 
			
		||||
 | 
			
		||||
			FST_FILE fp = FileSys_OpenFile(param->path, FST_OPEN_ALWAYS | FST_OPEN_WRITE);
 | 
			
		||||
			FileSys_WriteFile(fp, (UINT8*)param->va, ¶m->size, 0, NULL);
 | 
			
		||||
			FileSys_CloseFile(fp);
 | 
			
		||||
            #if HUNTING_CAMERA_MCU == ENABLE
 | 
			
		||||
            if(TRUE != sf_is_card_full())
 | 
			
		||||
            #endif
 | 
			
		||||
            {
 | 
			
		||||
                FST_FILE fp = FileSys_OpenFile(param->path, FST_OPEN_ALWAYS | FST_OPEN_WRITE);
 | 
			
		||||
                FileSys_WriteFile(fp, (UINT8*)param->va, ¶m->size, 0, NULL);
 | 
			
		||||
                FileSys_CloseFile(fp);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
			free(param->va);
 | 
			
		||||
		}
 | 
			
		||||
		else if(param->frame.phy_addr[0]){
 | 
			
		||||
			DBG_DUMP("Write %s\n", param->path);
 | 
			
		||||
 | 
			
		||||
			FST_FILE fp = FileSys_OpenFile(param->path, FST_OPEN_ALWAYS | FST_OPEN_WRITE);
 | 
			
		||||
			FileSys_WriteFile(fp, (UINT8*)param->frame.phy_addr[0], ¶m->size, 0, NULL);
 | 
			
		||||
			FileSys_CloseFile(fp);
 | 
			
		||||
 | 
			
		||||
            #if HUNTING_CAMERA_MCU == ENABLE
 | 
			
		||||
            if(TRUE != sf_is_card_full())
 | 
			
		||||
            #endif
 | 
			
		||||
            {
 | 
			
		||||
                FST_FILE fp = FileSys_OpenFile(param->path, FST_OPEN_ALWAYS | FST_OPEN_WRITE);
 | 
			
		||||
                FileSys_WriteFile(fp, (UINT8*)param->frame.phy_addr[0], ¶m->size, 0, NULL);
 | 
			
		||||
                FileSys_CloseFile(fp);
 | 
			
		||||
            }
 | 
			
		||||
			hd_videoproc_release_out_buf(param->vprc_path_id, ¶m->frame);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1135,8 +1145,12 @@ THREAD_RETTYPE MovieFast_InitFileNamingThread(void *arg)
 | 
			
		|||
		DCF_SetDirFreeChars(DCF_DIR_NAME);
 | 
			
		||||
		DCF_SetFileFreeChars(DCF_FILE_TYPE_ANYFORMAT, DCF_FILE_NAME);
 | 
			
		||||
		DCF_ScanObj();
 | 
			
		||||
 | 
			
		||||
		fastboot_set_done(BOOT_INIT_FILENAMINGOK);
 | 
			
		||||
        #if HUNTING_CAMERA_MCU == ENABLE
 | 
			
		||||
        if(TRUE != sf_is_card_full())
 | 
			
		||||
        #endif
 | 
			
		||||
        {
 | 
			
		||||
            fastboot_set_done(BOOT_INIT_FILENAMINGOK);
 | 
			
		||||
        }
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
EXIT:
 | 
			
		||||
| 
						 | 
				
			
			@ -1282,6 +1296,11 @@ static INT32 MovieFast_Mode2_Get_Cont_Shot(UINT32* max_cnt, UINT32* duration)
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
#if HUNTING_CAMERA_MCU == ENABLE
 | 
			
		||||
    if(FALSE == (gpio_getPin(GPIO_CARD_DETECT) == 0 ? TRUE : FALSE))
 | 
			
		||||
    {
 | 
			
		||||
        *max_cnt = 1;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
	if(SF_MULTISHOT_INTEVEL_1S == puiPara->MultiShotIntevel)
 | 
			
		||||
	{
 | 
			
		||||
		*duration = 1000;//The interval between consecutive shots of each photo is 1 second
 | 
			
		||||
| 
						 | 
				
			
			@ -1798,7 +1817,7 @@ static void MovieFast_Close(void)
 | 
			
		|||
				{
 | 
			
		||||
					if(PhotoFast_Sliceencode2_Enq_Frame(&frame) == E_OK){
 | 
			
		||||
						break;
 | 
			
		||||
					}
 | 
			
		||||
                    }
 | 
			
		||||
					else{
 | 
			
		||||
						vos_util_delay_ms(1);
 | 
			
		||||
					}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -177,7 +177,7 @@
 | 
			
		|||
 | 
			
		||||
#if SF_IQ_TEST == ENABLE
 | 
			
		||||
    #if SF_HW_TEST == ENABLE
 | 
			
		||||
        #define DEFAULT_BOOT_WORK_MODE    SF_CAM_MODE_PHOTO_VIDEO
 | 
			
		||||
        #define DEFAULT_BOOT_WORK_MODE    SF_CAM_MODE_VIDEO2
 | 
			
		||||
        #define DEFAULT_PIR_SWITCH    SF_OFF
 | 
			
		||||
        #define DEFAULT_PIR_SENSITIVITY    SF_PIR_SENSITIVITY_0
 | 
			
		||||
        #define DEFAULT_TIMELAPSE_SWITCH    SF_ON
 | 
			
		||||
| 
						 | 
				
			
			@ -186,7 +186,8 @@
 | 
			
		|||
        #if SF_BATTERY_TEST == ENABLE
 | 
			
		||||
        #define DEFAULT_BOOT_WORK_MODE    SF_CAM_MODE_PHOTO
 | 
			
		||||
        #else
 | 
			
		||||
        #define DEFAULT_BOOT_WORK_MODE    SF_CAM_MODE_PHOTO_VIDEO
 | 
			
		||||
        #define DEFAULT_BOOT_WORK_MODE    SF_CAM_MODE_VIDEO2
 | 
			
		||||
        #define DEFAULT_GPRS_SWITCH    SF_OFF
 | 
			
		||||
        #endif
 | 
			
		||||
        #define DEFAULT_PIR_SWITCH    SF_ON
 | 
			
		||||
        #define DEFAULT_PIR_SENSITIVITY    SF_PIR_SENSITIVITY_7
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -578,6 +578,8 @@ typedef struct _UIMenuUIMenuStoreInfo {
 | 
			
		|||
    CHAR BluSwitch;/*OFF/ON*/
 | 
			
		||||
    CHAR SimIccidV[21];
 | 
			
		||||
	CHAR SimIccidA[21];
 | 
			
		||||
    UINT32 SdFailCount;
 | 
			
		||||
 | 
			
		||||
	UINT32 x1;
 | 
			
		||||
	UINT32 x2;
 | 
			
		||||
	UINT32 x3;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1400,7 +1400,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
 | 
			
		|||
	sf_set_sim_insert(1);//Remove hardware detection SIM card
 | 
			
		||||
	printf("Firmware compile time:%s %s  VER:%s\n", __DATE__, __TIME__,SF_BASE_VERSION);
 | 
			
		||||
	printf("%s:%d DailyReportSwitch=%d %02d:%02d\n",__FUNCTION__,__LINE__, puiPara->DailyReportSwitch, puiPara->DailyReportTime2.Hour, puiPara->DailyReportTime2.Min);
 | 
			
		||||
    printf("%s:%d isUsb = %d isCard = %d isCardFull = %d val = %d simCardInsert = %ld start mode = %d\n",__FUNCTION__,__LINE__, isUsb, isCard, isCardFull, val, simCardInsert, PowerOnMode);
 | 
			
		||||
    printf("%s:%d isUsb = %d isCard = %d isCardFull = %d val = %d simCardInsert = %ld\n",__FUNCTION__,__LINE__, isUsb, isCard, isCardFull, val, simCardInsert);
 | 
			
		||||
 | 
			
		||||
    if (attrId > SF_MCU_PARAM_MAX)
 | 
			
		||||
    {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user