Merge branch 'Branch_S550_Fast' of gitlab.sifar.tech:linux-em-group/s530-ntk into branch_s550_fast

This commit is contained in:
xiaojiazhu 2023-11-21 16:31:12 +08:00
commit 71c4f3351a
21 changed files with 349 additions and 71 deletions

View File

@ -35,6 +35,37 @@ echo "fs" > /proc/nvt_info/bootts
echo "/sbin/mdev" > /proc/sys/kernel/hotplug echo "/sbin/mdev" > /proc/sys/kernel/hotplug
#modprobe mmc_na51055 #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 mdev -s

View File

@ -922,7 +922,7 @@
#define HUNTING_MCU_UART ENABLE #define HUNTING_MCU_UART ENABLE
#define HUNTING_IR_LED_940 ENABLE #define HUNTING_IR_LED_940 ENABLE
#define SF_EXIF_MN_BUF_SIZE 256 #define SF_EXIF_MN_BUF_SIZE 256
#define SF_BASE_VERSION "7MR5RCwDB04" #define SF_BASE_VERSION "7MR5RCwDB05"
#define HW_S530 DISABLE #define HW_S530 DISABLE
#define DCF_DIR_NAME "MEDIA" /* 100MEDIA */ #define DCF_DIR_NAME "MEDIA" /* 100MEDIA */
#define DCF_FILE_NAME "SYGW" /* SYFW0001.JPG */ #define DCF_FILE_NAME "SYGW" /* SYFW0001.JPG */
@ -975,6 +975,7 @@
#define ANR_FUNC ENABLE #define ANR_FUNC ENABLE
#endif #endif
#define SF_NO_SD_SEND ENABLE #define SF_NO_SD_SEND ENABLE
#define SF_SD_LOG_INFO_FILENAME "/tmp/SD.txt"
//////////////////////sf end/////////////////////////////// //////////////////////sf end///////////////////////////////
/******************************************************************************************* /*******************************************************************************************

View File

@ -177,7 +177,7 @@
#if SF_IQ_TEST == ENABLE #if SF_IQ_TEST == ENABLE
#if SF_HW_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_SWITCH SF_OFF
#define DEFAULT_PIR_SENSITIVITY SF_PIR_SENSITIVITY_0 #define DEFAULT_PIR_SENSITIVITY SF_PIR_SENSITIVITY_0
#define DEFAULT_TIMELAPSE_SWITCH SF_ON #define DEFAULT_TIMELAPSE_SWITCH SF_ON
@ -186,7 +186,8 @@
#if SF_BATTERY_TEST == ENABLE #if SF_BATTERY_TEST == ENABLE
#define DEFAULT_BOOT_WORK_MODE SF_CAM_MODE_PHOTO #define DEFAULT_BOOT_WORK_MODE SF_CAM_MODE_PHOTO
#else #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 #endif
#define DEFAULT_PIR_SWITCH SF_ON #define DEFAULT_PIR_SWITCH SF_ON
#define DEFAULT_PIR_SENSITIVITY SF_PIR_SENSITIVITY_7 #define DEFAULT_PIR_SENSITIVITY SF_PIR_SENSITIVITY_7

View File

@ -578,6 +578,7 @@ typedef struct _UIMenuUIMenuStoreInfo {
CHAR BluSwitch;/*OFF/ON*/ CHAR BluSwitch;/*OFF/ON*/
CHAR SimIccidV[21]; CHAR SimIccidV[21];
CHAR SimIccidA[21]; CHAR SimIccidA[21];
UINT32 SdFailCount;
UINT32 x1; UINT32 x1;
UINT32 x2; UINT32 x2;
UINT32 x3; UINT32 x3;

View File

@ -44,6 +44,7 @@ BOOL sf_check_auto_thumb_file(VOID);
UINT8 sf_get_send_file_total(void); UINT8 sf_get_send_file_total(void);
SINT32 sf_mem_upload_file_to_module(UINT32 MemPhotoAddr, UINT32 MemPhotosize); SINT32 sf_mem_upload_file_to_module(UINT32 MemPhotoAddr, UINT32 MemPhotosize);
SINT32 sf_usr_mem_photo_ch(void); SINT32 sf_usr_mem_photo_ch(void);
UINT8 sf_save_sd_log(void);
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
} }

View File

@ -225,5 +225,6 @@ double sf_sys_s_time_get(time_t end_time);
time_t sf_time (time_t *__timer); time_t sf_time (time_t *__timer);
SINT32 sf_gps_send_ftp(void); SINT32 sf_gps_send_ftp(void);
SINT32 sf_test_send_file_to_ftp(void); SINT32 sf_test_send_file_to_ftp(void);
SINT32 sf_card_log_send_ftp(void);
#endif /*_SF_FTP_H_*/ #endif /*_SF_FTP_H_*/

View File

@ -64,6 +64,7 @@ SINT32 sf_app_mcu_para_start(void);
SINT32 app_auto_poweroff_start(void); SINT32 app_auto_poweroff_start(void);
UINT8 sf_check_power_on_mode(void); UINT8 sf_check_power_on_mode(void);
void sf_power_off_msg_to_cardv(void); void sf_power_off_msg_to_cardv(void);
SINT32 sf_app_mcu_para_power_no_start(void);
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
} }

View File

@ -3029,6 +3029,75 @@ SINT32 sf_test_send_file_to_ftp(void)
} }
#endif #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 #ifdef __cplusplus
#if __cplusplus #if __cplusplus
} }

View File

@ -2453,8 +2453,26 @@ SINT32 sf_power_off_check_sd(void)
if(puiPara->SdLoopSwitch == 0) if(puiPara->SdLoopSwitch == 0)
{ {
sf_set_card_full(1); 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; return 0;
} }

View File

@ -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) static SINT32 sf_app_proccess_cmd_mcu(SF_MESSAGE_BUF_S *pMessageBuf)
{ {
MLOGD("ID = %#x\n",pMessageBuf->arg1); MLOGD("ID = %#x\n",pMessageBuf->arg1);
SF_MESSAGE_BUF_S stMessageBuf = {0};
SINT16 startup = 0;
switch(pMessageBuf->arg1) switch(pMessageBuf->arg1)
{ {
case SF_MCU_CMD_POWERON: case SF_MCU_CMD_POWERON:
startup = sf_poweron_type_get(); sf_app_mcu_para_power_no_start();
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();
// }
break; break;
case SF_MCU_CMD_MODULE_SLEEP: case SF_MCU_CMD_MODULE_SLEEP:
sf_set_module_sleep_flag(0); sf_set_module_sleep_flag(0);

View File

@ -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) { static SINT32 app_file_transfer(SF_FN_PARAM_S *pfnParam) {
SINT32 s32ret = 0; SINT32 s32ret = 0;
static int DailyreportSendFlag = 0;
// SF_MESSAGE_BUF_S stMessageBuf = {0}; // SF_MESSAGE_BUF_S stMessageBuf = {0};
// UIMenuStoreInfo *pCustomerParam = pfnParam->pstParam; // UIMenuStoreInfo *pCustomerParam = pfnParam->pstParam;
// SF_PDT_PARAM_STATISTICS_S *pStaticParam = pfnParam->pstaticParam; // 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()){ if(sf_get_send_gps_txt()){
s32ret = sf_gps_send_ftp(); s32ret = sf_gps_send_ftp();
} }
//if (pCustomerParam->GpsSendFlag) if (!DailyreportSendFlag)
{ {
DailyreportSendFlag = 1;
s32ret = sf_send_file_to_ftp(2); 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; //pCustomerParam->GpsSendFlag = 0;
if(pCustomerParam->PicUpDailyReport){ if(pCustomerParam->PicUpDailyReport){
sf_sms_set_pic(1); 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 sf_file_send_auto(void) {
SINT32 s32ret = 0; SINT32 s32ret = 0;
SF_FN_PARAM_S stpfncallback = {0}; SF_FN_PARAM_S stpfncallback = {0};
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
SINT8 Isfull = 0;
if(SF_FAILURE == sf_check_sd()) if(SF_FAILURE == sf_check_sd())
{ {
MLOGE("ERROR sf_check_sd\n"); MLOGE("ERROR sf_check_sd\n");
@ -1261,8 +1271,22 @@ SINT32 sf_file_send_auto(void) {
return s32ret; return s32ret;
} }
#endif #endif
if(2 == puiPara->SdFailCount)
{
s32ret = sf_card_log_send_ftp();
return s32ret;
}
return SF_FAILURE; 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.pstParam = sf_customer_param_get();
stpfncallback.pstaticParam = sf_app_ui_para_get(); stpfncallback.pstaticParam = sf_app_ui_para_get();

View File

@ -128,8 +128,17 @@ SF_THREAD_S WaiParaTskCfg =
.IsRun = 0, .IsRun = 0,
.TskId = -1, .TskId = -1,
}; };
SF_THREAD_S McuPowerOnTskCfg =
{
.IsRun = 0,
.TskId = -1,
};
SINT8 debugFlag = 0; SINT8 debugFlag = 0;
UINT8 McuInitFlag = 0;
void app_poweroff_time_clear(void) void app_poweroff_time_clear(void)
{ {
AutoPowerOffTime = 0; AutoPowerOffTime = 0;
@ -1434,7 +1443,7 @@ void* sf_app_mcu_para_thread(void *arg)
sf_get_power_on_mode(); sf_get_power_on_mode();
sf_mcu_wdg_set(5); sf_mcu_wdg_set(5);
} }
McuInitFlag = 1;
McuParaTskCfg.IsRun = 0; McuParaTskCfg.IsRun = 0;
SLOGI("thread end\n"); 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 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);
} }
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;
}

View File

@ -1769,6 +1769,51 @@ SINT32 sf_usr_mem_photo_ch(void)
} }
#endif #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 #ifdef __cplusplus
#if __cplusplus #if __cplusplus
} }

View File

@ -136,7 +136,12 @@ static ID sf_mcu_flag_id = 0;
void sf_mcu_flag_init(void) 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); vos_flag_clr(sf_mcu_flag_id, (FLGPTN)-1);
} }

View File

@ -261,6 +261,13 @@ unsigned char sf_mcu_wdg_set(unsigned char value)
unsigned char regsize =0; unsigned char regsize =0;
unsigned char mcuReg[2] = {0}; unsigned char mcuReg[2] = {0};
unsigned char mcuPara[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; mcuReg[i] = WDT_TIME;
mcuPara[i++] = value; mcuPara[i++] = value;

View File

@ -2659,7 +2659,7 @@ UINT32 sf_cardv_wifi_start(void)
WifiTskCfg.IsRun = 1; WifiTskCfg.IsRun = 1;
return SF_SUCCESS; return SF_SUCCESS;
} }
SLOGE("WifiSwitch OFF\n"); SLOGI("WifiSwitch OFF\n");
return 1; return 1;
} }

View File

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

View File

@ -62,6 +62,7 @@
#include <sf_mcu.h> #include <sf_mcu.h>
#include "sf_led.h" #include "sf_led.h"
#endif #endif
#include "IOCfg.h"
#include <kwrap/cmdsys.h> #include <kwrap/cmdsys.h>
/** /**
Flags for control Flags for control
@ -940,11 +941,13 @@ static void MovieFast_WriteFile_Task(void* arg)
MOVIEFAST_WRITE_QUEUE_PARAM* param; MOVIEFAST_WRITE_QUEUE_PARAM* param;
fastboot_wait_done(BOOT_INIT_FILESYSOK); fastboot_wait_done(BOOT_INIT_FILESYSOK);
#if HUNTING_CAMERA_MCU == ENABLE
if(TRUE == sf_is_card_full()) if(TRUE == sf_is_card_full())
{ {
DBG_ERR("ERR card full\r\n"); DBG_ERR("ERR card full\r\n");
return ; //return ;
} }
#endif
while(1) while(1)
{ {
param = (MOVIEFAST_WRITE_QUEUE_PARAM*) lfqueue_deq(queue); param = (MOVIEFAST_WRITE_QUEUE_PARAM*) lfqueue_deq(queue);
@ -955,20 +958,27 @@ static void MovieFast_WriteFile_Task(void* arg)
if(param->va){ if(param->va){
DBG_DUMP("Write %s\n", param->path); DBG_DUMP("Write %s\n", param->path);
#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); FST_FILE fp = FileSys_OpenFile(param->path, FST_OPEN_ALWAYS | FST_OPEN_WRITE);
FileSys_WriteFile(fp, (UINT8*)param->va, &param->size, 0, NULL); FileSys_WriteFile(fp, (UINT8*)param->va, &param->size, 0, NULL);
FileSys_CloseFile(fp); FileSys_CloseFile(fp);
}
free(param->va); free(param->va);
} }
else if(param->frame.phy_addr[0]){ else if(param->frame.phy_addr[0]){
DBG_DUMP("Write %s\n", param->path); DBG_DUMP("Write %s\n", param->path);
#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); FST_FILE fp = FileSys_OpenFile(param->path, FST_OPEN_ALWAYS | FST_OPEN_WRITE);
FileSys_WriteFile(fp, (UINT8*)param->frame.phy_addr[0], &param->size, 0, NULL); FileSys_WriteFile(fp, (UINT8*)param->frame.phy_addr[0], &param->size, 0, NULL);
FileSys_CloseFile(fp); FileSys_CloseFile(fp);
}
hd_videoproc_release_out_buf(param->vprc_path_id, &param->frame); hd_videoproc_release_out_buf(param->vprc_path_id, &param->frame);
} }
@ -1135,9 +1145,13 @@ THREAD_RETTYPE MovieFast_InitFileNamingThread(void *arg)
DCF_SetDirFreeChars(DCF_DIR_NAME); DCF_SetDirFreeChars(DCF_DIR_NAME);
DCF_SetFileFreeChars(DCF_FILE_TYPE_ANYFORMAT, DCF_FILE_NAME); DCF_SetFileFreeChars(DCF_FILE_TYPE_ANYFORMAT, DCF_FILE_NAME);
DCF_ScanObj(); DCF_ScanObj();
#if HUNTING_CAMERA_MCU == ENABLE
if(TRUE != sf_is_card_full())
#endif
{
fastboot_set_done(BOOT_INIT_FILENAMINGOK); fastboot_set_done(BOOT_INIT_FILENAMINGOK);
} }
}
EXIT: EXIT:
THREAD_RETURN(0); THREAD_RETURN(0);
@ -1282,6 +1296,11 @@ static INT32 MovieFast_Mode2_Get_Cont_Shot(UINT32* max_cnt, UINT32* duration)
} }
#if HUNTING_CAMERA_MCU == ENABLE #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) if(SF_MULTISHOT_INTEVEL_1S == puiPara->MultiShotIntevel)
{ {
*duration = 1000;//The interval between consecutive shots of each photo is 1 second *duration = 1000;//The interval between consecutive shots of each photo is 1 second

View File

@ -177,7 +177,7 @@
#if SF_IQ_TEST == ENABLE #if SF_IQ_TEST == ENABLE
#if SF_HW_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_SWITCH SF_OFF
#define DEFAULT_PIR_SENSITIVITY SF_PIR_SENSITIVITY_0 #define DEFAULT_PIR_SENSITIVITY SF_PIR_SENSITIVITY_0
#define DEFAULT_TIMELAPSE_SWITCH SF_ON #define DEFAULT_TIMELAPSE_SWITCH SF_ON
@ -186,7 +186,8 @@
#if SF_BATTERY_TEST == ENABLE #if SF_BATTERY_TEST == ENABLE
#define DEFAULT_BOOT_WORK_MODE SF_CAM_MODE_PHOTO #define DEFAULT_BOOT_WORK_MODE SF_CAM_MODE_PHOTO
#else #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 #endif
#define DEFAULT_PIR_SWITCH SF_ON #define DEFAULT_PIR_SWITCH SF_ON
#define DEFAULT_PIR_SENSITIVITY SF_PIR_SENSITIVITY_7 #define DEFAULT_PIR_SENSITIVITY SF_PIR_SENSITIVITY_7

View File

@ -578,6 +578,8 @@ typedef struct _UIMenuUIMenuStoreInfo {
CHAR BluSwitch;/*OFF/ON*/ CHAR BluSwitch;/*OFF/ON*/
CHAR SimIccidV[21]; CHAR SimIccidV[21];
CHAR SimIccidA[21]; CHAR SimIccidA[21];
UINT32 SdFailCount;
UINT32 x1; UINT32 x1;
UINT32 x2; UINT32 x2;
UINT32 x3; UINT32 x3;

View File

@ -1400,7 +1400,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val)
sf_set_sim_insert(1);//Remove hardware detection SIM card 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("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 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) if (attrId > SF_MCU_PARAM_MAX)
{ {