1.同步0516SDK

This commit is contained in:
payton 2023-05-17 15:33:39 +08:00
parent 5ea5ebe590
commit 809e5c246c
1196 changed files with 4627 additions and 22590 deletions

View File

@ -2034,6 +2034,7 @@ CONFIG_CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK=y
# #
CONFIG_NVT_OTP_SUPPORT=y CONFIG_NVT_OTP_SUPPORT=y
CONFIG_NVT_HDAL_BUILD_IN=y CONFIG_NVT_HDAL_BUILD_IN=y
# CONFIG_NVT_HDAL_BUILD_IN_ADV is not set
# CONFIG_NVT_STACK_CHECK is not set # CONFIG_NVT_STACK_CHECK is not set
# CONFIG_NVT_PERF_MEASURE is not set # CONFIG_NVT_PERF_MEASURE is not set
@ -2128,7 +2129,7 @@ CONFIG_IIO=y
# CONFIG_TI_ADS8688 is not set # CONFIG_TI_ADS8688 is not set
# CONFIG_TI_TLC4541 is not set # CONFIG_TI_TLC4541 is not set
# CONFIG_VF610_ADC is not set # CONFIG_VF610_ADC is not set
CONFIG_NVT_ADC=m CONFIG_NVT_ADC=y
# #
# Analog Front Ends # Analog Front Ends

View File

@ -1 +1 @@
/home/payton/S530/BSP/linux-kernel/arch/arm/plat-novatek/include/plat-na51089 /home/payton/na51089_linux_sdk/na51089_linux_sdk/BSP/linux-kernel/arch/arm/plat-novatek/include/plat-na51089

View File

@ -1 +1 @@
/home/payton/S530/BSP/linux-kernel/arch/arm/plat-novatek/plat-na51089 /home/payton/na51089_linux_sdk/na51089_linux_sdk/BSP/linux-kernel/arch/arm/plat-novatek/plat-na51089

0
BSP/linux-kernel/drivers/net/usb/Makefile Executable file → Normal file
View File

View File

@ -30,7 +30,7 @@
static struct semaphore drtc_sem; static struct semaphore drtc_sem;
unsigned int _REGIOBASE; static unsigned int _REGIOBASE;
#define loc_cpu() down(&drtc_sem); #define loc_cpu() down(&drtc_sem);
#define unl_cpu() up(&drtc_sem); #define unl_cpu() up(&drtc_sem);

View File

@ -12,20 +12,38 @@ config NVT_OTP_SUPPORT
This option will configure the NVT OTP(one time programmable) function which can be used call OTP api. This option will configure the NVT OTP(one time programmable) function which can be used call OTP api.
config NVT_HDAL_BUILD_IN config NVT_HDAL_BUILD_IN
bool "Novatek IVOT HDAL for Media device drivers support" bool "Novatek IVOT HDAL for Media device drivers builtin support"
depends on ARCH_NVT_IVOT_V7 depends on ARCH_NVT_IVOT_V7
default n
select NVT_VOS_KWRAP select NVT_VOS_KWRAP
select NVT_HDAL_KDRV_BUILTIN select NVT_HDAL_KDRV_BUILTIN
default n
help help
Enable this option will let a part of your hdal driver link to uImage Enable this option will let vos, kdrv_builtin builtin in kernel
You could select which module want to link in the submenu.
config NVT_STACK_CHECK config NVT_HDAL_BUILD_IN_ADV
bool "NVT STACK check" bool "More HDAL driver builtin"
depends on ARCH_NVT_IVOT_V7 && NVT_HDAL_BUILD_IN
default n default n
select NVT_HDAL_KDRV_COMM
select NVT_HDAL_KDRV_GFX2D
select NVT_HDAL_KDRV_VIDEOCAPTURE
select NVT_HDAL_KDRV_VIDEOPROCESS
select NVT_HDAL_KDRV_VIDEOCODEC
select NVT_HDAL_KDRV_AUDIO_COMMON
select NVT_HDAL_KDRV_AUDIO
select NVT_HDAL_KFLOW_COMMON
select NVT_HDAL_KFLOW_VIDEOCAPTURE
select NVT_HDAL_KFLOW_VIDEOPROCESS
select NVT_HDAL_KFLOW_VIDEOENC
select NVT_HDAL_KFLOW_GFX2D
select NVT_HDAL_KFLOW_VIDEOSPRITE
select NVT_HDAL_KFLOW_AUDIOCAPTURE
select NVT_HDAL_ISP_ISP
select NVT_HDAL_ISP_IQ
select NVT_HDAL_ISP_AE
select NVT_HDAL_ISP_AWB
help help
This option will check STACK overflow issue. Enable this option will let more kdrv, kflow builtin in kernel
config NVT_PROFILER config NVT_PROFILER
bool "Novatek Profilers" bool "Novatek Profilers"

View File

@ -16,18 +16,10 @@ config NVT_SMALL_HDAL
if NVT_HDAL_BUILD_IN if NVT_HDAL_BUILD_IN
config NVT_VOS_KWRAP config NVT_VOS_KWRAP
bool "Novatek vos basic handling API" bool
default y
depends on NVT_HDAL_BUILD_IN
help
Novatek VOS api to provide basic multi-OS interface.
config NVT_HDAL_KDRV_BUILTIN config NVT_HDAL_KDRV_BUILTIN
bool "Novatek hdal k-driver built-in part" bool
default y
depends on NVT_HDAL_BUILD_IN
help
Novatek hdal k-driver's built-in
config NVT_FAST_ISP_FLOW config NVT_FAST_ISP_FLOW
bool "NVT fast boot isp flow" bool "NVT fast boot isp flow"
@ -37,4 +29,59 @@ config NVT_FAST_ISP_FLOW
This option will configure fast boot isp table and flow. This option will configure fast boot isp table and flow.
endif endif
config NVT_HDAL_KDRV_COMM
bool
default n
config NVT_HDAL_KDRV_GFX2D
bool
default n
config NVT_HDAL_KDRV_VIDEOCAPTURE
bool
default n
config NVT_HDAL_KDRV_VIDEOPROCESS
bool
default n
config NVT_HDAL_KDRV_VIDEOCODEC
bool
default n
config NVT_HDAL_KDRV_AUDIO_COMMON
bool
default n
config NVT_HDAL_KDRV_AUDIO
bool
default n
config NVT_HDAL_KFLOW_COMMON
bool
default n
config NVT_HDAL_KFLOW_VIDEOCAPTURE
bool
default n
config NVT_HDAL_KFLOW_VIDEOPROCESS
bool
default n
config NVT_HDAL_KFLOW_VIDEOENC
bool
default n
config NVT_HDAL_KFLOW_GFX2D
bool
default n
config NVT_HDAL_KFLOW_VIDEOSPRITE
bool
default n
config NVT_HDAL_KFLOW_AUDIOCAPTURE
bool
default n
config NVT_HDAL_ISP_ISP
bool
default n
config NVT_HDAL_ISP_AE
bool
default n
config NVT_HDAL_ISP_AWB
bool
default n
config NVT_HDAL_ISP_IQ
bool
default n
endmenu endmenu

View File

@ -4,12 +4,29 @@
VOS_DRIVER_SRC_DIR = vos/drivers/source VOS_DRIVER_SRC_DIR = vos/drivers/source
KDRV_SRC_DIR = hdal/drivers/k_driver/source KDRV_SRC_DIR = hdal/drivers/k_driver/source
KFLOW_SRC_DIR = hdal/drivers/k_flow/source
VENDOR_ISP_DIR = hdal/vendor/isp/drivers/source
VENDOR_MEDIA_DIR = hdal/vendor/media/drivers/source
ifeq ($(CONFIG_NVT_VOS_KWRAP),y)
obj-$(CONFIG_NVT_VOS_KWRAP) += $(VOS_DRIVER_SRC_DIR)/kwrap/ obj-$(CONFIG_NVT_VOS_KWRAP) += $(VOS_DRIVER_SRC_DIR)/kwrap/
endif
ifeq ($(CONFIG_NVT_HDAL_KDRV_BUILTIN),y)
obj-$(CONFIG_NVT_HDAL_KDRV_BUILTIN) += $(KDRV_SRC_DIR)/kdrv_builtin/ obj-$(CONFIG_NVT_HDAL_KDRV_BUILTIN) += $(KDRV_SRC_DIR)/kdrv_builtin/
endif obj-$(CONFIG_NVT_HDAL_KDRV_COMM) += $(KDRV_SRC_DIR)/comm/
obj-$(CONFIG_NVT_HDAL_KDRV_GFX2D) += $(KDRV_SRC_DIR)/kdrv_gfx2d/
obj-$(CONFIG_NVT_HDAL_KDRV_VIDEOCAPTURE) += $(KDRV_SRC_DIR)/kdrv_videocapture/
obj-$(CONFIG_NVT_HDAL_KDRV_VIDEOPROCESS) += $(KDRV_SRC_DIR)/kdrv_videoprocess/
obj-$(CONFIG_NVT_HDAL_KDRV_VIDEOCODEC) += $(KDRV_SRC_DIR)/kdrv_videocodec/
obj-$(CONFIG_NVT_HDAL_KDRV_AUDIO_COMMON) += $(KDRV_SRC_DIR)/kdrv_audioio/audio_common/
obj-$(CONFIG_NVT_HDAL_KDRV_AUDIO) += $(KDRV_SRC_DIR)/kdrv_audioio/kdrv_audio/
obj-$(CONFIG_NVT_HDAL_KFLOW_COMMON) += $(KFLOW_SRC_DIR)/kflow_common/
obj-$(CONFIG_NVT_HDAL_KFLOW_VIDEOCAPTURE) += $(KFLOW_SRC_DIR)/kflow_videocapture/
obj-$(CONFIG_NVT_HDAL_KFLOW_VIDEOSPRITE) += $(KFLOW_SRC_DIR)/kflow_gfx/videosprite/
obj-$(CONFIG_NVT_HDAL_KFLOW_VIDEOPROCESS) += $(KFLOW_SRC_DIR)/kflow_videoprocess/
obj-$(CONFIG_NVT_HDAL_KFLOW_VIDEOENC) += $(KFLOW_SRC_DIR)/kflow_videoenc/unit/
obj-$(CONFIG_NVT_HDAL_KFLOW_GFX2D) += $(KFLOW_SRC_DIR)/kflow_gfx/
obj-$(CONFIG_NVT_HDAL_KFLOW_AUDIOCAPTURE) += $(KFLOW_SRC_DIR)/kflow_audiocapture/unit/
obj-$(CONFIG_NVT_HDAL_KDRV_VIDEOCODEC) += $(VENDOR_MEDIA_DIR)/nvt_vencrc/
obj-$(CONFIG_NVT_HDAL_ISP_ISP) += $(VENDOR_ISP_DIR)/isp/
obj-$(CONFIG_NVT_HDAL_ISP_AE) += $(VENDOR_ISP_DIR)/ae/
obj-$(CONFIG_NVT_HDAL_ISP_AWB) += $(VENDOR_ISP_DIR)/awb/
obj-$(CONFIG_NVT_HDAL_ISP_IQ) += $(VENDOR_ISP_DIR)/iq/

View File

@ -1 +1 @@
/home/payton/S530/code/hdal /home/payton/na51089_linux_sdk/na51089_linux_sdk/code/hdal

View File

@ -1 +1 @@
/home/payton/S530/code/vos /home/payton/na51089_linux_sdk/na51089_linux_sdk/code/vos

0
BSP/linux-kernel/drivers/usb/serial/option.c Executable file → Normal file
View File

0
BSP/linux-kernel/drivers/usb/serial/usb_wwan.c Executable file → Normal file
View File

View File

@ -17,7 +17,7 @@ IMGNAME_FAT_CACHE="rootfs_1.cache.vfat.bin"
PARTITION_LABEL_UBIFS = rootfs PARTITION_LABEL_UBIFS = rootfs
PARTITION_LABEL_UBIFS_RW = rootfs1 PARTITION_LABEL_UBIFS_RW = rootfs1
MODELCFG_PROFILE_PATH="${ROOTFS_DIR}/rootfs/etc/profile_prjcfg" MODELCFG_PROFILE_PATH="${ROOTFS_DIR}/rootfs/etc/profile_prjcfg"
CLEAR_FILE_LIST="rootfs/etc/profile_prjcfg rootfs/linuxrc" CLEAR_FILE_LIST="rootfs/etc/profile_prjcfg rootfs/linuxrc rootfs/etc/lib"
GEN_MODULES_DEP_BB_FILE = $(LINUX_BUILD_TOP)/build/nvt-tools/gen_modules_dep_bb GEN_MODULES_DEP_BB_FILE = $(LINUX_BUILD_TOP)/build/nvt-tools/gen_modules_dep_bb
DTBNAME = nvt-evb.dtb DTBNAME = nvt-evb.dtb
IMGNAME_SQUASHFS1_SORT="${CONFIG_DIR}/cfg_gen/squash1_sort.txt" IMGNAME_SQUASHFS1_SORT="${CONFIG_DIR}/cfg_gen/squash1_sort.txt"

File diff suppressed because one or more lines are too long

View File

@ -1,28 +0,0 @@
[MAP]
path_1 = 1 #Path 1 Enable
path_2 = 0 #Path 2 Disable
path_3 = 0 #Path 3 Disable
path_4 = 0 #Path 4 Disable
path_5 = 0 #Path 5 Disable
path_6 = 0 #Path 6 Disable
path_7 = 0 #Path 7 Disable
path_8 = 0 #Path 8 Disable
[PRESET]
id_0_expt_time = 10000 #10000us
id_0_gain_ratio = 1000 #1x gain
[DIRECTION]
id_0_mirror = 0 #no mirror
id_0_flip = 0 #no flip
[POWER]
id_0_mclk = 0 #CTL_SEN_CLK_SEL_SIEMCLK
id_0_pwdn_pin = 0xFFFFFFFF #S_GPIO_9, C_GPIO:+0x0; P_GPIO:+0x20; S_GPIO:+0x40; L_GPIO:0x60
id_0_rst_pin = 0x44 #S_GPIO_4, C_GPIO:+0x0; P_GPIO:+0x20; S_GPIO:+0x40; L_GPIO:0x60
id_0_rst_time = 2 #2ms
id_0_stable_time = 2 #2ms
[I2C]
id_0_i2c_id = 0 #SEN_I2C_ID_1
id_0_i2c_addr = 0x29 #0x52 >> 1

View File

@ -1,28 +0,0 @@
[MAP]
path_1 = 1 #Path 1 Enable
path_2 = 0 #Path 2 Disable
path_3 = 0 #Path 3 Disable
path_4 = 0 #Path 4 Disable
path_5 = 0 #Path 5 Disable
path_6 = 0 #Path 6 Disable
path_7 = 0 #Path 7 Disable
path_8 = 0 #Path 8 Disable
[PRESET]
id_0_expt_time = 10000 #10000us
id_0_gain_ratio = 1000 #1x gain
[DIRECTION]
id_0_mirror = 0 #no mirror
id_0_flip = 0 #no flip
[POWER]
id_0_mclk = 0 #CTL_SEN_CLK_SEL_SIEMCLK
id_0_pwdn_pin = 0xFFFFFFFF #no pwdn pin, C_GPIO:+0x0; P_GPIO:+0x20; S_GPIO:+0x40; L_GPIO:0x60
id_0_rst_pin = 0x44 #S_GPIO_4, C_GPIO:+0x0; P_GPIO:+0x20; S_GPIO:+0x40; L_GPIO:0x60
id_0_rst_time = 1 #1ms
id_0_stable_time = 1 #1ms
[I2C]
id_0_i2c_id = 0 #SEN_I2C_ID_1
id_0_i2c_addr = 0x31 #0x62>> 1

View File

@ -1,44 +0,0 @@
[MAP]
path_1 = 1 #Path 1 Enable
path_2 = 1 #Path 2 Enable
path_3 = 0 #Path 3 Disable
path_4 = 0 #Path 4 Disable
path_5 = 0 #Path 5 Disable
path_6 = 0 #Path 6 Disable
path_7 = 0 #Path 7 Disable
path_8 = 0 #Path 8 Disable
[PRESET]
id_0_expt_time = 10000 #10000us
id_0_gain_ratio = 1000 #1x gain
id_1_expt_time = 10000 #10000us
id_1_gain_ratio = 1000 #1x gain
[DIRECTION]
id_0_mirror = 0 #no mirror
id_0_flip = 0 #no flip
id_1_mirror = 0 #no mirror
id_1_flip = 0 #no flip
[POWER]
id_0_mclk = 0 #CTL_SEN_CLK_SEL_SIEMCLK
id_0_pwdn_pin = 0xFFFFFFFF #no pwdn pin, C_GPIO:+0x0; P_GPIO:+0x20; S_GPIO:+0x40; L_GPIO:0x60
id_0_rst_pin = 0x44 #S_GPIO_4, C_GPIO:+0x0; P_GPIO:+0x20; S_GPIO:+0x40; L_GPIO:0x60
id_0_rst_time = 1 #1ms
id_0_stable_time = 1 #1ms
id_1_mclk = 0 #CTL_SEN_CLK_SEL_SIEMCLK
id_1_pwdn_pin = 0xFFFFFFFF #no pwdn pin, C_GPIO:+0x0; P_GPIO:+0x20; S_GPIO:+0x40; L_GPIO:0x60
id_1_rst_pin = 0x44 #S_GPIO_4, C_GPIO:+0x0; P_GPIO:+0x20; S_GPIO:+0x40; L_GPIO:0x60
id_1_rst_time = 1 #1ms
id_1_stable_time = 1 #1ms
[I2C]
id_0_i2c_id = 0 #SEN_I2C_ID_1
id_0_i2c_addr = 0x1A #0x34 >> 1 = 0x1A
id_1_i2c_id = 1 #SEN_I2C_ID_2
id_1_i2c_addr = 0x1A #0x34 >> 1 = 0x1A

View File

@ -1,43 +0,0 @@
[MAP]
path_1 = 1 #Path 1 Enable
path_2 = 1 #Path 2 Enable
path_3 = 0 #Path 3 Disable
path_4 = 0 #Path 4 Enable
path_5 = 0 #Path 5 Enable
path_6 = 0 #Path 6 Disable
path_7 = 0 #Path 7 Disable
path_8 = 0 #Path 8 Disable
[PRESET]
id_0_expt_time = 10000 #10000us
id_0_gain_ratio = 1000 #1x gain
id_1_expt_time = 10000 #10000us
id_1_gain_ratio = 1000 #1x gain
[DIRECTION]
id_0_mirror = 1 #mirror
id_0_flip = 0 #no flip
id_1_mirror = 1 #mirror
id_1_flip = 0 #no flip
[POWER]
id_0_mclk = 0 #CTL_SEN_CLK_SEL_SIEMCLK
id_0_pwdn_pin = 0xFFFFFFFF #no pwdn pin, C_GPIO:+0x0; P_GPIO:+0x20; S_GPIO:+0x40; L_GPIO:0x60
id_0_rst_pin = 0x44 #S_GPIO_4, C_GPIO:+0x0; P_GPIO:+0x20; S_GPIO:+0x40; L_GPIO:0x60
id_0_rst_time = 1 #1ms
id_0_stable_time = 1 #1ms
id_1_mclk = 0 #CTL_SEN_CLK_SEL_SIEMCLK
id_1_pwdn_pin = 0xFFFFFFFF #no pwdn pin, C_GPIO:+0x0; P_GPIO:+0x20; S_GPIO:+0x40; L_GPIO:0x60
id_1_rst_pin = 0x44 #S_GPIO_4, C_GPIO:+0x0; P_GPIO:+0x20; S_GPIO:+0x40; L_GPIO:0x60
id_1_rst_time = 1 #1ms
id_1_stable_time = 1 #1ms
[I2C]
id_0_i2c_id = 0 #SEN_I2C_ID_1
id_0_i2c_addr = 0x36 #0x6C >> 1 = 0x36
id_1_i2c_id = 1 #SEN_I2C_ID_2
id_1_i2c_addr = 0x36 #0x6C >> 1 = 0x36

View File

@ -1,29 +0,0 @@
[MAP]
path_1 = 1 #Path 1 Enable
path_2 = 0 #Path 2 Disable
path_3 = 0 #Path 3 Disable
path_4 = 0 #Path 4 Disable
path_5 = 0 #Path 5 Disable
path_6 = 0 #Path 6 Disable
path_7 = 0 #Path 7 Disable
path_8 = 0 #Path 8 Disable
[PRESET]
id_0_expt_time = 10000 #10000us
id_0_gain_ratio = 1000 #1x gain
[DIRECTION]
id_0_mirror = 0 #no mirror
id_0_flip = 1 #flip
[POWER]
id_0_mclk = 0 #CTL_SEN_CLK_SEL_SIEMCLK
id_0_pwdn_pin = 0xFFFFFFFF #no pwdn pin, C_GPIO:+0x0; P_GPIO:+0x20; S_GPIO:+0x40; L_GPIO:0x60
id_0_rst_pin = 0x44 #S_GPIO_4, C_GPIO:+0x0; P_GPIO:+0x20; S_GPIO:+0x40; L_GPIO:0x60
id_0_rst_time = 1 #1ms
id_0_stable_time = 1 #1ms
[I2C]
id_0_i2c_id = 0 #SEN_I2C_ID_1
id_0_i2c_addr = 0x36 #0x6C >> 1

View File

@ -1,29 +0,0 @@
[MAP]
path_1 = 1 #Path 1 Enable
path_2 = 0 #Path 2 Disable
path_3 = 0 #Path 3 Disable
path_4 = 0 #Path 4 Disable
path_5 = 0 #Path 5 Disable
path_6 = 0 #Path 6 Disable
path_7 = 0 #Path 7 Disable
path_8 = 0 #Path 8 Disable
[PRESET]
id_0_expt_time = 10000 #10000us
id_0_gain_ratio = 1000 #1x gain
[DIRECTION]
id_0_mirror = 1 #no mirror
id_0_flip = 0 #flip
[POWER]
id_0_mclk = 0 #CTL_SEN_CLK_SEL_SIEMCLK
id_0_pwdn_pin = 0xFFFFFFFF #no pwdn pin, C_GPIO:+0x0; P_GPIO:+0x20; S_GPIO:+0x40; L_GPIO:0x60
id_0_rst_pin = 0x44 #S_GPIO_4, C_GPIO:+0x0; P_GPIO:+0x20; S_GPIO:+0x40; L_GPIO:0x60
id_0_rst_time = 1 #1ms
id_0_stable_time = 1 #1ms
[I2C]
id_0_i2c_id = 0 #SEN_I2C_ID_1
id_0_i2c_addr = 0x36 #0x6C >> 1

View File

@ -1,28 +0,0 @@
[MAP]
path_1 = 1 #Path 1 Enable
path_2 = 0 #Path 2 Disable
path_3 = 0 #Path 3 Disable
path_4 = 0 #Path 4 Disable
path_5 = 0 #Path 5 Disable
path_6 = 0 #Path 6 Disable
path_7 = 0 #Path 7 Disable
path_8 = 0 #Path 8 Disable
[PRESET]
id_0_expt_time = 10000 #10000us
id_0_gain_ratio = 1000 #1x gain
[DIRECTION]
id_0_mirror = 1 #mirror
id_0_flip = 1 #flip
[POWER]
id_0_mclk = 0 #CTL_SEN_CLK_SEL_SIEMCLK
id_0_pwdn_pin = 0xFFFFFFFF #no pwdn pin, C_GPIO:+0x0; P_GPIO:+0x20; S_GPIO:+0x40; L_GPIO:0x60
id_0_rst_pin = 0x44 #S_GPIO_4, C_GPIO:+0x0; P_GPIO:+0x20; S_GPIO:+0x40; L_GPIO:0x60
id_0_rst_time = 1 #1ms
id_0_stable_time = 1 #1ms
[I2C]
id_0_i2c_id = 0 #SEN_I2C_ID_1
id_0_i2c_addr = 0x30 #0x60>> 1

View File

@ -19,11 +19,16 @@ HUNTING_BOOT_MODE=`dmesg | grep "Kernel command line" | sed 's/.* hunt_boot_mode
echo HUNTING_BOOT_MODE=${HUNTING_BOOT_MODE} echo HUNTING_BOOT_MODE=${HUNTING_BOOT_MODE}
if [ -f /usr/bin/sf_app ]; then
sf_app & sf_app &
else
echo "sf_app not found"
fi
if [ "${HUNTING_BOOT_MODE_4G_ONLY}" = "${HUNTING_BOOT_MODE}" ]; then if [ "${HUNTING_BOOT_MODE_4G_ONLY}" = "${HUNTING_BOOT_MODE}" ]; then
echo "skip insert ko"; echo "skip insert ko"
else else
@ -141,22 +146,16 @@ fi
#insmod ${PREFIX}/lib/modules/$KERVER/hdal/comm/usb2dev/nvt_usb2dev.ko #insmod ${PREFIX}/lib/modules/$KERVER/hdal/comm/usb2dev/nvt_usb2dev.ko
#fi #fi
#insmod ${PREFIX}/lib/modules/$KERVER/kernel/drivers/usb/ehci-hcd.ko
#insmod ${PREFIX}/lib/modules/$KERVER/kernel/drivers/net/mii.ko
#insmod ${PREFIX}/lib/modules/$KERVER/kernel/drivers/net/usb/usbnet.ko
#
#insmod ${PREFIX}/lib/modules/$KERVER/kernel/drivers/usb/serial/usbserial.ko
#insmod ${PREFIX}/lib/modules/$KERVER/kernel/drivers/usb/serial/usb_wwan.ko
#insmod ${PREFIX}/lib/modules/$KERVER/kernel/drivers/usb/serial/option.ko
#insmod ${PREFIX}/lib/modules/$KERVER/kernel/drivers/net/usb/cdc_ether.ko
#insmod ${PREFIX}/lib/modules/$KERVER/kernel/drivers/net/usb/qmi_wwan.ko
#insmod ${PREFIX}/lib/modules/$KERVER/extra/net/GobiNet/drv_gobi_net.ko
if [ -f /usr/bin/isp_demon ]; then if [ -f /usr/bin/isp_demon ]; then
/usr/bin/isp_demon /usr/bin/isp_demon
else
echo "isp_demon not found"
fi fi
if [ -f /usr/bin/cardv ]; then
cardv & cardv &
else
echo "cardv not found"
fi
fi fi

0
README.md Executable file → Normal file
View File

View File

@ -68,7 +68,6 @@ C_LDFLAGS = \
LDSCRIPT = $(MODULE_NAME).lds LDSCRIPT = $(MODULE_NAME).lds
LDS_EXTERN = extern.lds LDS_EXTERN = extern.lds
OUTPUT_NAME = $(OUTPUT_DIR)/cardv OUTPUT_NAME = $(OUTPUT_DIR)/cardv
#OUTPUT2_NAME = $(OUTPUT_DIR)/sifar_app
IMG_NAME = $(OUTPUT_DIR)/$(MODULE_NAME).img IMG_NAME = $(OUTPUT_DIR)/$(MODULE_NAME).img
MAP_NAME = $(OUTPUT_DIR)/$(MODULE_NAME).map MAP_NAME = $(OUTPUT_DIR)/$(MODULE_NAME).map
SYM_NAME = $(OUTPUT_DIR)/$(MODULE_NAME).sym SYM_NAME = $(OUTPUT_DIR)/$(MODULE_NAME).sym
@ -319,19 +318,6 @@ $(OUTPUT_NAME): $(IMG_NAME)
@echo Creating executable $@ ... && \ @echo Creating executable $@ ... && \
$(STRIP) $< && \ $(STRIP) $< && \
$(OBJCOPY) -R .comment -R .note.ABI-tag -R .gnu.version $< $@ $(OBJCOPY) -R .comment -R .note.ABI-tag -R .gnu.version $< $@
#$(OUTPUT2_NAME) : sifar_app
# @echo Creating executable $@ ... && \
# $(STRIP) $< && \
# $(OBJCOPY) -R .comment -R .note.ABI-tag -R .gnu.version $< $@
#APP2_SRC = ./SrcCode/Startup/sifar_app.c
#sifar_app: $(APP2_SRC)
# @echo Compiling "sifar_app" && \
# $(CC) $(C_CFLAGS) -c $(APP2_SRC) -o $(APP2_SRC:.c=.o) && \
# $(COLLECT2) -o $@ $(APP2_SRC:.c=.o) $(C_LDFLAGS)
# inline warning should be ignored with some LVGL static inline functions(e.g. lv_color_mix_with_alpha) # inline warning should be ignored with some LVGL static inline functions(e.g. lv_color_mix_with_alpha)
%/fbdev.o: %/fbdev.c %/fbdev.o: %/fbdev.c
@echo Compiling $< , skip inline warning @echo Compiling $< , skip inline warning
@ -373,8 +359,6 @@ install: $(OUTPUT_NAME) $(OUTPUT_APPFS)
@cp -avf $(OUTPUT_NAME) $(INSTALL_DIR) @cp -avf $(OUTPUT_NAME) $(INSTALL_DIR)
@cp -avf $(OUTPUT_NAME) $(ROOTFS_DIR)/rootfs/usr/bin @cp -avf $(OUTPUT_NAME) $(ROOTFS_DIR)/rootfs/usr/bin
@cp -avf $(OUTPUT_APPFS) $(LINUX_BUILD_TOP)/output @cp -avf $(OUTPUT_APPFS) $(LINUX_BUILD_TOP)/output
# @cp -avf $(OUTPUT2_NAME) $(INSTALL_DIR)
# @cp -avf $(OUTPUT2_NAME) $(ROOTFS_DIR)/rootfs/usr/bin
dasm: $(IMG_NAME) dasm: $(IMG_NAME)
@echo Disassembly $< to $(DASM_NAME)... \ @echo Disassembly $< to $(DASM_NAME)... \

View File

@ -186,65 +186,8 @@ static UINT32 DrvLCDOpen(void) // Common Constructor
{ {
DBG_FUNC_BEGIN("\r\n"); DBG_FUNC_BEGIN("\r\n");
#if 0
if (!_DrvLCDHookDout(g_LCDDout)) {
return DX_NOT_SUPPORT;
}
#endif
DBG_IND("LCD dout by IDE%d\r\n", g_LCDDout + 1);
#if 0
////////////////////////////////////////////////////
// LCD default use PLL2 for precisely CLK, but if enable dual, it can use PLL1.
#if (_FPGA_EMULATION_ == ENABLE)
pCtrl->SEL.SET_SRCCLK.SrcClk = DISPCTRL_SRCCLK_PLL6;
pObj->dispCtrl(DISPCTRL_SET_SRCCLK, pCtrl);
#else
if (g_LCDDual == FALSE) {
DBG_IND("^YLCD Dual=0\r\n");
// NOTE: Our LCD device driver will always try to change PLL clock setting for its "target frame rate"
// Solution: select PLL1(fixed at 480Mhz) or PLL2(used by TV/HDMI) or PLL4(support SpreadSpectrum)
if (g_LCDDout == 0) {
pCtrl->SEL.SET_SRCCLK.SrcClk = DISPCTRL_SRCCLK_PLL6;
pObj->dispCtrl(DISPCTRL_SET_SRCCLK, pCtrl);
}
} else {
DBG_IND("^YLCD Dual=1\r\n");
// NOTE: Under "Dual Display" condition, PLL2 clock must be fixed and reserved for TV/HDMI device!
// Solution: Do NOT select PLL2(used by TV/HDMI)! Just use PLL1(fixed at 480Mhz) or PLL4(support SpreadSpectrum)
if (g_LCDDout == 0) {
pCtrl->SEL.SET_SRCCLK.SrcClk = DISPCTRL_SRCCLK_PLL1;
pObj->dispCtrl(DISPCTRL_SET_SRCCLK, pCtrl);
}
}
#endif
////////////////////////////////////////////////////
//Panel have 3 types: NORMAL(8BIT or PARAL),DSI(MIPI), MI(MEMORY-INTERFACE)
if (g_LCDDout == 0) {
#if (LCD_COMM_CTRL == LCD_COMM_BY_GPIO)
pDev->SEL.SET_REG_IF.LcdCtrl = DISPDEV_LCDCTRL_GPIO;
pDev->SEL.SET_REG_IF.uiSifCh = 0;
pDev->SEL.SET_REG_IF.uiGpioSen = GPIO_LCD_SIF_SEN;
pDev->SEL.SET_REG_IF.uiGpioClk = GPIO_LCD_SIF_SCK;
pDev->SEL.SET_REG_IF.uiGpioData = GPIO_LCD_SIF_SDA;
pObj->devCtrl(DISPDEV_SET_REG_IF, pDev);
#endif
#if (LCD_COMM_CTRL == LCD_COMM_BY_SIF)
pDev->SEL.SET_REG_IF.LcdCtrl = DISPDEV_LCDCTRL_SIF;
pDev->SEL.SET_REG_IF.uiSifCh = SIF_LCD_CH;
pDev->SEL.SET_REG_IF.uiGpioSen = 0;
pDev->SEL.SET_REG_IF.uiGpioClk = 0;
pDev->SEL.SET_REG_IF.uiGpioData = 0;
pObj->devCtrl(DISPDEV_SET_REG_IF, pDev);
//Configure SIF pins to default state
pad_setPullUpDown(PAD_LCD_SIF_SEN, DIR_LCD_SIF_SEN);
pad_setPullUpDown(PAD_LCD_SIF_SCK, DIR_LCD_SIF_SCK);
pad_setPullUpDown(PAD_LCD_SIF_SDA, DIR_LCD_SIF_SDA);
#endif
//pad_setDrivingSink(PAD_DS_LCD8, PAD_DRIVINGSINK_6MA);
}
//////////////////////////////////////////////////// DBG_IND("LCD dout by IDE%d\r\n", g_LCDDout + 1);
#endif
GPIOMap_TurnOnLCDPower(); GPIOMap_TurnOnLCDPower();
GPIOMap_LCDReset(); GPIOMap_LCDReset();
@ -278,44 +221,6 @@ static void DrvLCD_TurnOn(void)
{ {
DBG_FUNC_BEGIN("\r\n"); DBG_FUNC_BEGIN("\r\n");
#if 0
// Turn on LCD power
if (g_localMode < DISPDEV_LCDMODE_NO_CHANGE) { //must be LCD
pDev->SEL.SET_LCDMODE.Mode = g_localMode;
pObj->devCtrl(DISPDEV_SET_LCDMODE, pDev);
/*
pDev->SEL.GET_PREDISPSIZE.DevID = DISPDEV_ID_PANEL;
pObj->devCtrl(DISPDEV_GET_PREDISPSIZE,pDev);
g_localSize.w = pDev->SEL.GET_PREDISPSIZE.uiBufWidth;
g_localSize.h = pDev->SEL.GET_PREDISPSIZE.uiBufHeight;
*/
} else {
DBG_ERR("mode=%d not support!\r\n", g_localMode);
return;
}
//IMPORTANT! for FAST BOOT, Photo App will ask disp size very early~
//Update size of first mode (before open)
//DxDisplay_UpdateModeInfo(g_LCDDout<<4, g_localMode, &g_localSize);
//LCD panel open
pDev->SEL.OPEN_DEVICE.DevID = DISPDEV_ID_PANEL;
pObj->devCtrl(DISPDEV_OPEN_DEVICE, pDev);
//////////////////////////////////////////////////////////////////////
// special operation for this project!
//
//pDev->SEL.SET_ROTATE.Rot = DISPDEV_LCD_ROTATE_180;
//pObj->devCtrl(DISPDEV_SET_ROTATE,pDev);
//////////////////////////////////////////////////////////////////////
pObj->devCtrl(DISPDEV_GET_DISPSIZE, pDev);
g_localSize.w = pDev->SEL.GET_DISPSIZE.uiBufWidth;
g_localSize.h = pDev->SEL.GET_DISPSIZE.uiBufHeight;
if (pCurrentSize) {
pCurrentSize[0] = g_localSize;
}
#endif
g_LCDMode = g_localMode; g_LCDMode = g_localMode;
} }
@ -543,30 +448,41 @@ static void DrvLCD_Dump(void)
// GPIO related // GPIO related
static void GPIOMap_LCDReset(void) static void GPIOMap_LCDReset(void)
{ {
// Reset LCD FILE *fp = NULL;
#if 1//defined(_Disp_IF8B_LCD1_ILI9341_) UINT32 u32LogoEnable = 0;
// gpio_clearPin(GPIO_LCD_RESET); UINT32 u32Size = 0;
// SwTimer_DelayMs(10); char *pStrSrc = NULL;
// gpio_setPin(GPIO_LCD_RESET);
gpio_setDir(GPIO_LCD_RESET, GPIO_DIR_OUTPUT);
gpio_setPin(GPIO_LCD_RESET);
SwTimer_DelayMs(10);
gpio_clearPin(GPIO_LCD_RESET);
SwTimer_DelayMs(10);
gpio_setPin(GPIO_LCD_RESET);
#elif defined(_Disp_IFDSI_LCD1_BPB5017BFW_ILI9806E_) fp = fopen("/sys/firmware/devicetree/base/logo/enable", "r");
gpio_clearPin(GPIO_LCD_RESET); if(fp != NULL){
SwTimer_DelayMs(10); fseek(fp, 0, SEEK_END);
gpio_setPin(GPIO_LCD_RESET); u32Size = ftell(fp);
#elif defined(_disp_ifdsi_lcd1_gc9503v_st7701s_) fseek(fp, 0, SEEK_SET);
pStrSrc = (char *) malloc(u32Size * sizeof(char));
if(pStrSrc){
fread(pStrSrc, 1, u32Size, fp);
u32LogoEnable = ((UINT32) pStrSrc[0] << 24) + ((UINT32) pStrSrc[1] << 16) + ((UINT32) pStrSrc[2] << 8) + ((UINT32) pStrSrc[3]);
free(pStrSrc);
DBG_IND("u32LogoEnable = 0x%X\n", u32LogoEnable);
}
fclose(fp);
pStrSrc = NULL;
u32Size = 0;
}
if(u32LogoEnable == 1){
return;
}
// Reset LCD
gpio_setDir(GPIO_LCD_RESET, GPIO_DIR_OUTPUT); gpio_setDir(GPIO_LCD_RESET, GPIO_DIR_OUTPUT);
gpio_clearPin(GPIO_LCD_RESET);
SwTimer_DelayMs(10);
gpio_setPin(GPIO_LCD_RESET); gpio_setPin(GPIO_LCD_RESET);
SwTimer_DelayMs(10); SwTimer_DelayMs(10);
gpio_clearPin(GPIO_LCD_RESET); gpio_clearPin(GPIO_LCD_RESET);
#endif SwTimer_DelayMs(10);
gpio_setPin(GPIO_LCD_RESET);
} }
/** /**

View File

@ -14,6 +14,7 @@
#include "DxUSB.h" #include "DxUSB.h"
#include "DxCommon.h" #include "DxCommon.h"
#include "DxApi.h" #include "DxApi.h"
#include "io/gpio.h"
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
#define __MODULE__ DxUSB #define __MODULE__ DxUSB
@ -31,6 +32,8 @@ UINT32 DetUSBState(UINT32 StateID, UINT32 Value); // General Properties
UINT32 DetUSBControl(UINT32 CtrlID, UINT32 Param1, UINT32 Param2); // General Methods UINT32 DetUSBControl(UINT32 CtrlID, UINT32 Param1, UINT32 Param2); // General Methods
UINT32 DetUSBCommand(CHAR *pcCmdStr); //General Command Console UINT32 DetUSBCommand(CHAR *pcCmdStr); //General Command Console
#define GPIO_VBUS D_GPIO_7
//dx object //dx object
DX_OBJECT gDevUSB = { DX_OBJECT gDevUSB = {
DXFLAG_SIGN, DXFLAG_SIGN,
@ -49,9 +52,21 @@ DX_OBJECT gDevUSB = {
0, 0,
}; };
static BOOL _DxUSB_get_vbus(void)
{
gpio_setDir(GPIO_VBUS, GPIO_DIR_INPUT);
return (BOOL)gpio_getPin(GPIO_VBUS);
}
static BOOL DxUSB_GetIsUSBPlug(void) static BOOL DxUSB_GetIsUSBPlug(void)
{ {
#if 0
return (usb2dev_state_change()); return (usb2dev_state_change());
#else
return _DxUSB_get_vbus();
#endif
} }
static UINT32 DxUSB_UpdateConnectType(void) static UINT32 DxUSB_UpdateConnectType(void)

View File

@ -333,6 +333,9 @@ extern BOOL GPIOMap_DetPoweroff(void);
#define GPIO_IRCUT_MEN2 D_GPIO_5 // M_EN2 IRCUT 2 #define GPIO_IRCUT_MEN2 D_GPIO_5 // M_EN2 IRCUT 2
#define PAD_IRCUT_MEN2 PAD_PIN_DGPIO5 #define PAD_IRCUT_MEN2 PAD_PIN_DGPIO5
#define GPIO_USB_MUX_S P_GPIO_2 //USB_MUX_S
#define PAD_USB_MUX_S PAD_PIN_PGPIO2
//----------charge ic ---------------- //----------charge ic ----------------
#define GPIO_CHARGEIC_EN C_GPIO_4 #define GPIO_CHARGEIC_EN C_GPIO_4
#define GPIO_PIR_STATE C_GPIO_7 #define GPIO_PIR_STATE C_GPIO_7
@ -434,5 +437,4 @@ void sf_ir_cut_ctrl_PowerOff(void);
#endif #endif
//@} //@}

View File

@ -174,29 +174,33 @@ UINT32 DrvKey_DetNormalKey(void)
#if (GPIO_KEY == ENABLE) #if (GPIO_KEY == ENABLE)
if (!gpio_getPin(GPIO_KEY_SHUTTER2)) { // if (!gpio_getPin(GPIO_KEY_SHUTTER2)) {
uiKeyCode |= FLGKEY_SHUTTER2; // uiKeyCode |= FLGKEY_SHUTTER2;
} // }
if (!gpio_getPin(GPIO_KEY_UP)) { // if (!gpio_getPin(GPIO_KEY_UP)) {
uiKeyCode |= FLGKEY_UP; // uiKeyCode |= FLGKEY_UP;
} // }
if (!gpio_getPin(GPIO_KEY_DOWN)) { // if (!gpio_getPin(GPIO_KEY_DOWN)) {
uiKeyCode |= FLGKEY_DOWN; // uiKeyCode |= FLGKEY_DOWN;
} // }
if (!gpio_getPin(GPIO_KEY_MENU)) { // if (!gpio_getPin(GPIO_KEY_MENU)) {
uiKeyCode |= FLGKEY_MENU; // uiKeyCode |= FLGKEY_MENU;
} // }
// if (!gpio_getPin(GPIO_KEY_PLAYBACK)) { // if (!gpio_getPin(GPIO_KEY_PLAYBACK)) {
// uiKeyCode |= FLGKEY_MENU; // uiKeyCode |= FLGKEY_MENU;
// } // }
if (!gpio_getPin(GPIO_KEY_RIGHT)) { // if (!gpio_getPin(GPIO_KEY_RIGHT)) {
uiKeyCode |= FLGKEY_RIGHT; // uiKeyCode |= FLGKEY_RIGHT;
} // }
if (!gpio_getPin(GPIO_KEY_LEFT)) { // if (!gpio_getPin(GPIO_KEY_LEFT)) {
uiKeyCode |= FLGKEY_LEFT; // uiKeyCode |= FLGKEY_LEFT;
} // }
if (gpio_getPin(GPIO_KEY_DATAREADY)) { // if (gpio_getPin(GPIO_KEY_DATAREADY)) {
uiKeyCode |= FLGKEY_DATAREADY; // uiKeyCode |= FLGKEY_DATAREADY;
// }
if (!gpio_getPin(GPIO_KEY_TEST)) {
uiKeyCode |= FLGKEY_SHUTTER2;
} }
#endif #endif
/* /*

View File

@ -250,6 +250,9 @@ extern BOOL GPIOMap_DetAudio(void);
#define GPIO_KEY_DATAREADY P_GPIO_6 #define GPIO_KEY_DATAREADY P_GPIO_6
#define PAD_KEY_DATAREADY PAD_PIN_PGPIO6 #define PAD_KEY_DATAREADY PAD_PIN_PGPIO6
#define GPIO_KEY_TEST S_GPIO_6
#define PAD_KEY_TEST PAD_PIN_SGPIO6
//#define ADC_CH_VOLDET_MS1 ADC_CHANNEL_1 //#define ADC_CH_VOLDET_MS1 ADC_CHANNEL_1
//#define ADC_CH_VOLDET_MS2 ADC_CHANNEL_0 //#define ADC_CH_VOLDET_MS2 ADC_CHANNEL_0
#define ADC_CH_VOLDET_KEY1 ADC_CHANNEL_2 #define ADC_CH_VOLDET_KEY1 ADC_CHANNEL_2
@ -377,7 +380,6 @@ extern BOOL GPIOMap_DetPoweroff(void);
#define GPIO_PARKING P_GPIO_6 #define GPIO_PARKING P_GPIO_6
//-------------------------------------------------------------------- //--------------------------------------------------------------------
// Power device // Power device
//-------------------------------------------------------------------- //--------------------------------------------------------------------

View File

@ -310,7 +310,7 @@ void GxVideo_SetDeviceCtrl(UINT32 DevID, UINT32 data, UINT32 value)
case DISPLAY_DEVCTRL_SWAPXY: case DISPLAY_DEVCTRL_SWAPXY:
g_DispRotate[cDevID] = value; g_DispRotate[cDevID] = value;
if(g_DispRotate[cDevID]) { if(g_DispRotate[cDevID]) {
DBG_DUMP("GxVideo: DOUT%d enable rotate!\r\n", cDevID+1); DBG_IND("GxVideo: DOUT%d enable rotate!\r\n", cDevID+1);
} }
break; break;
case DISPLAY_DEVCTRL_SLEEP: { case DISPLAY_DEVCTRL_SLEEP: {

View File

@ -179,4 +179,16 @@
#define SF_BASE_VERSION "7MD4RCwD3T2" #define SF_BASE_VERSION "7MD4RCwD3T2"
#endif #endif
#ifndef PHOTO_ISP_STAMP
#define PHOTO_ISP_STAMP DISABLE
#endif
#ifndef HW_S530
#define HW_S530 0
#endif
#ifndef HUNTING_CAMERA_4G
#define HUNTING_CAMERA_4G DISABLE
#endif
#endif //_PRJCFG_DEFAULT_H_ #endif //_PRJCFG_DEFAULT_H_

View File

@ -82,7 +82,7 @@
#define POWERON_FAST_WIFI DISABLE //NOTE: need to enable POWERON_FAST_CPU2_BOOT too #define POWERON_FAST_WIFI DISABLE //NOTE: need to enable POWERON_FAST_CPU2_BOOT too
#define POWERON_WAIT_FS_READY DISABLE #define POWERON_WAIT_FS_READY DISABLE
#define WAITPHOTO_FUNCTION DISABLE #define WAITPHOTO_FUNCTION DISABLE
#define POWERONLOGO_FUNCTION ENABLE #define POWERONLOGO_FUNCTION DISABLE
#define POWEROFFLOGO_FUNCTION ENABLE #define POWEROFFLOGO_FUNCTION ENABLE
#if ((POWERON_FAST_BOOT == DISABLE) || (POWERON_FAST_RECORD == DISABLE)) #if ((POWERON_FAST_BOOT == DISABLE) || (POWERON_FAST_RECORD == DISABLE))
#define POWERONSOUND_FUNCTION ENABLE #define POWERONSOUND_FUNCTION ENABLE
@ -910,7 +910,7 @@
#define MOVIE_AI_DEMO DISABLE #define MOVIE_AI_DEMO DISABLE
#define HUNTING_CAMERA_SYS_PARTITION_NAME sys #define HUNTING_CAMERA_SYS_PARTITION_NAME sys
#define HUNTING_CAMERA_MCU ENABLE #define HUNTING_CAMERA_MCU 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
#define DZOOM_FUNC ENABLE #define DZOOM_FUNC ENABLE

View File

@ -920,6 +920,7 @@
#define HUNTING_IR_LED_940 DISABLE #define HUNTING_IR_LED_940 DISABLE
#define SF_BASE_VERSION "7MD4RCwD3T3" #define SF_BASE_VERSION "7MD4RCwD3T3"
#define HW_S530 1 #define HW_S530 1
#define PHOTO_ISP_STAMP DISABLE #define PHOTO_ISP_STAMP DISABLE
#define SF_BASE_VERSION_FEA "R2.3" #define SF_BASE_VERSION_FEA "R2.3"
@ -985,8 +986,8 @@
/* please always fill ARGB8888, alpha channel will be discarded if output format is yuv (Photo UIDateImprint) */ /* please always fill ARGB8888, alpha channel will be discarded if output format is yuv (Photo UIDateImprint) */
#define LV_USER_CFG_STAMP_COLOR_TEXT 0xFFFFFFFF /* text color */ #define LV_USER_CFG_STAMP_COLOR_TEXT 0xFFFFFFFF /* text color */
#define LV_USER_CFG_STAMP_COLOR_BACKGROUND 0X00000088 /* background color */ #define LV_USER_CFG_STAMP_COLOR_BACKGROUND 0XFF000088 /* background color */
#define LV_USER_CFG_STAMP_COLOR_FRAME 0x00880088 /* frame color */ #define LV_USER_CFG_STAMP_COLOR_FRAME 0xFF880088 /* frame color */
/******************************************************************************************* /*******************************************************************************************
* Enable LVGL rotate depend on VDO_USE_ROTATE_BUFFER (LV_USE_GPU_NVT_DMA2D in the lv_conf.h should be enabled) * Enable LVGL rotate depend on VDO_USE_ROTATE_BUFFER (LV_USE_GPU_NVT_DMA2D in the lv_conf.h should be enabled)

View File

@ -1,24 +0,0 @@
/*
* app2.c
*
* Created on: 202347
* Author: NVT02970
*/
#include <io/gpio.h>
#include <UIWnd/UIFlow.h>
int main(int argc, char *argv[])
{
gpio_direction_input(C_GPIO(10));
return 0;
}

View File

@ -75,7 +75,7 @@ void System_OnTimerInit(void)
{ {
GxTimer_RegCB(Timer_CB); //Register CB function of GxTimer GxTimer_RegCB(Timer_CB); //Register CB function of GxTimer
SX_TIMER_DET_TIMER_ID = SxTimer_AddItem(&Timer_System_CntTimer); SX_TIMER_DET_TIMER_ID = SxTimer_AddItem(&Timer_System_CntTimer);
//5.µù¥USxCmdªA°È ---------> Cmd Function //5.<EFBFBD><EFBFBD><EFBFBD>USxCmd<EFBFBD>A<EFBFBD><EFBFBD> ---------> Cmd Function
//HwClock_InstallCmd(); //HwClock_InstallCmd();
} }
@ -133,7 +133,10 @@ INT32 System_GetPoweronModeByFWInfo(void)
INT32 System_GetBootFirstMode(void) INT32 System_GetBootFirstMode(void)
{ {
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get(); UIMenuStoreInfo *puiPara = sf_ui_para_get();
#endif
#if (IPCAM_MODE == ENABLE) #if (IPCAM_MODE == ENABLE)
#if 0 #if 0
return System_GetPoweronModeByFWInfo(); return System_GetPoweronModeByFWInfo();
@ -142,6 +145,8 @@ INT32 System_GetBootFirstMode(void)
#endif #endif
#else #else
#if !UI_SENSOR #if !UI_SENSOR
#if HUNTING_CAMERA_MCU == ENABLE
printf("%s:%d CamMode :%d\n", __FUNCTION__, __LINE__,puiPara->CamMode); printf("%s:%d CamMode :%d\n", __FUNCTION__, __LINE__,puiPara->CamMode);
if(SF_CAM_MODE_PHOTO == puiPara->CamMode) if(SF_CAM_MODE_PHOTO == puiPara->CamMode)
{ {
@ -155,6 +160,23 @@ INT32 System_GetBootFirstMode(void)
{ {
return PRIMARY_MODE_PHOTO;//PRIMARY_MODE_MOVIE; return PRIMARY_MODE_PHOTO;//PRIMARY_MODE_MOVIE;
} }
#else
printf("%s:%d CamMode :%d\n", __FUNCTION__, __LINE__,SysGetFlag(CamMode));
if(SF_CAM_MODE_PHOTO == SysGetFlag(CamMode))
{
return PRIMARY_MODE_PHOTO;
}
else if(SF_CAM_MODE_VIDEO == SysGetFlag(CamMode))
{
return PRIMARY_MODE_MOVIE;
}
else
{
return PRIMARY_MODE_PHOTO;//PRIMARY_MODE_MOVIE;
}
#endif
#else #else
return System_GetFirstSensorMode(PRIMARY_MODE_MOVIE); return System_GetFirstSensorMode(PRIMARY_MODE_MOVIE);
#endif #endif

View File

@ -7,14 +7,14 @@
@brief PowerOn Flow @brief PowerOn Flow
@note @note
1.power on的介面 1.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>power on<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
System_PowerOn() System_PowerOn()
(a)System_PowerOn() (a)System_PowerOn()<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mode不同的control condition <EFBFBD>Umode<EFBFBD><EFBFBD><EFBFBD>P<EFBFBD><EFBFBD>control condition
device init <EFBFBD>]<EFBFBD>t<EFBFBD>q<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Pdevice init
(b)System_PowerOn() (b)System_PowerOn()<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mode不同的control condition <EFBFBD>Umode<EFBFBD><EFBFBD><EFBFBD>P<EFBFBD><EFBFBD>control condition
device之間相互dependent的order <EFBFBD>]<EFBFBD>t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Pdevice<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۤ<EFBFBD>dependent<EFBFBD><EFBFBD>order
@date 2012/1/1 @date 2012/1/1
*/ */
@ -90,7 +90,7 @@ void SystemInit(void)
DBG_MSG("^GInit Start\r\n"); DBG_MSG("^GInit Start\r\n");
if (System_GetState(SYS_STATE_POWERON) == SYSTEM_POWERON_SAFE) { if (System_GetState(SYS_STATE_POWERON) == SYSTEM_POWERON_SAFE) {
//"safe power-on sequence" //"safe power-on sequence"
DBG_DUMP("Power On Sequence = Safe\r\n"); DBG_IND("Power On Sequence = Safe\r\n");
#if (FWS_FUNC == ENABLE) #if (FWS_FUNC == ENABLE)
System_OnStrgInit_EMBMEM(); System_OnStrgInit_EMBMEM();
System_OnStrgInit_FWS(); System_OnStrgInit_FWS();

View File

@ -20,7 +20,10 @@
#define __DBGLVL__ ((THIS_DBGLVL>=PRJ_DBG_LVL)?THIS_DBGLVL:PRJ_DBG_LVL) #define __DBGLVL__ ((THIS_DBGLVL>=PRJ_DBG_LVL)?THIS_DBGLVL:PRJ_DBG_LVL)
#define __DBGFLT__ "*" //*=All, [mark]=CustomClass #define __DBGFLT__ "*" //*=All, [mark]=CustomClass
#include <kwrap/debug.h> #include <kwrap/debug.h>
#if HUNTING_CAMERA_MCU == ENABLE
#include <sf_inc.h> #include <sf_inc.h>
#endif
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
@ -191,6 +194,8 @@ SXCMD_ITEM("pip %", Cmd_user_pip, "pip view style")
SXCMD_ITEM("event %", Cmd_user_EventTest, "lvgl user event test") SXCMD_ITEM("event %", Cmd_user_EventTest, "lvgl user event test")
#endif #endif
#if HUNTING_CAMERA_MCU == ENABLE
SXCMD_ITEM("camname %", sf_cmd_cam_name_switch, "camname 0/1 xxxx") SXCMD_ITEM("camname %", sf_cmd_cam_name_switch, "camname 0/1 xxxx")
SXCMD_ITEM("cammode %", cmd_cam_mode, "cammode 0/1/2") SXCMD_ITEM("cammode %", cmd_cam_mode, "cammode 0/1/2")
SXCMD_ITEM("imgsize %", sf_cmd_img_size, "imgsize 0/1/2") SXCMD_ITEM("imgsize %", sf_cmd_img_size, "imgsize 0/1/2")
@ -244,7 +249,7 @@ SXCMD_ITEM("state %", sf_cmd_get_cam_state, "state")
SXCMD_ITEM("reset", sf_cmd_reset, "reset") SXCMD_ITEM("reset", sf_cmd_reset, "reset")
SXCMD_ITEM("mcupara", sf_cmd_mcu_power_on_para_get, "get mcu para") SXCMD_ITEM("mcupara", sf_cmd_mcu_power_on_para_get, "get mcu para")
SXCMD_ITEM("setusbmuxs", sf_cmd_usb_mux_s, "set usbmuxs") SXCMD_ITEM("setusbmuxs", sf_cmd_usb_mux_s, "set usbmuxs")
#endif
SXCMD_END() SXCMD_END()

View File

@ -10,7 +10,7 @@
//global debug level: PRJ_DBG_LVL //global debug level: PRJ_DBG_LVL
#include "PrjInc.h" #include "PrjInc.h"
//local debug level: THIS_DBGLVL //local debug level: THIS_DBGLVL
#define THIS_DBGLVL 5 // 0=FATAL, 1=ERR, 2=WRN, 3=UNIT, 4=FUNC, 5=IND, 6=MSG, 7=VALUE, 8=USER #define THIS_DBGLVL 2 // 0=FATAL, 1=ERR, 2=WRN, 3=UNIT, 4=FUNC, 5=IND, 6=MSG, 7=VALUE, 8=USER
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
#define __MODULE__ SysStrgExe #define __MODULE__ SysStrgExe
#define __DBGLVL__ ((THIS_DBGLVL>=PRJ_DBG_LVL)?THIS_DBGLVL:PRJ_DBG_LVL) #define __DBGLVL__ ((THIS_DBGLVL>=PRJ_DBG_LVL)?THIS_DBGLVL:PRJ_DBG_LVL)
@ -37,15 +37,20 @@
#include "GxStrg.h" #include "GxStrg.h"
#include "FileSysTsk.h" #include "FileSysTsk.h"
#if HUNTING_CAMERA_MCU == ENABLE
#include <sf_message_queue.h> #include <sf_message_queue.h>
#include <sf_param_struct.h> #include <sf_param_struct.h>
#endif
void Strg_CB(UINT32 event, UINT32 param1, UINT32 param2); void Strg_CB(UINT32 event, UINT32 param1, UINT32 param2);
void Strg_CB(UINT32 event, UINT32 param1, UINT32 param2) void Strg_CB(UINT32 event, UINT32 param1, UINT32 param2)
{ {
UINT32 status; UINT32 status;
#if HUNTING_CAMERA_MCU == ENABLE
SF_MESSAGE_BUF_S stMessageBuf = {0}; SF_MESSAGE_BUF_S stMessageBuf = {0};
#endif
switch (event) { switch (event) {
// part-1 // part-1
@ -155,11 +160,15 @@ void Strg_CB(UINT32 event, UINT32 param1, UINT32 param2)
DBG_ERR("Strg_CB Err event(%d)", event); DBG_ERR("Strg_CB Err event(%d)", event);
break; break;
} }
#if HUNTING_CAMERA_MCU == ENABLE
stMessageBuf.arg1 = event; stMessageBuf.arg1 = event;
stMessageBuf.arg2 = param1; stMessageBuf.arg2 = param1;
stMessageBuf.arg3 = param2; stMessageBuf.arg3 = param2;
stMessageBuf.cmdId = CMD_SD; stMessageBuf.cmdId = CMD_SD;
sf_com_message_send_to_app(&stMessageBuf); sf_com_message_send_to_app(&stMessageBuf);
#endif
} }
#endif #endif

View File

@ -17,8 +17,12 @@
#include "usb2dev.h" #include "usb2dev.h"
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#if HUNTING_CAMERA_MCU == ENABLE
#include <sf_led.h> #include <sf_led.h>
#include <sf_common.h> #include <sf_common.h>
#endif
#define THIS_DBGLVL 2 // 0=FATAL, 1=ERR, 2=WRN, 3=UNIT, 4=FUNC, 5=IND, 6=MSG, 7=VALUE, 8=USER #define THIS_DBGLVL 2 // 0=FATAL, 1=ERR, 2=WRN, 3=UNIT, 4=FUNC, 5=IND, 6=MSG, 7=VALUE, 8=USER
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
#define __MODULE__ SysUsbExe #define __MODULE__ SysUsbExe
@ -27,7 +31,7 @@
#include <kwrap/debug.h> #include <kwrap/debug.h>
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
static char driver_path_prefix[] = "/lib/modules/4.19.91"; static char driver_path_prefix[64] = "/lib/modules/4.19.91";
static char* usb_host_drivers[] = { static char* usb_host_drivers[] = {
"kernel/drivers/usb/common/usb-common.ko", "kernel/drivers/usb/common/usb-common.ko",
@ -137,7 +141,7 @@ static BOOL System_InsmodUsb(BOOL isHost)
if(driver_path){ if(driver_path){
memset(cmd, '\0', sizeof(cmd)); memset(cmd, '\0', sizeof(cmd));
snprintf(cmd, sizeof(cmd), "insmod %s/%s", driver_path_prefix, driver_path); snprintf(cmd, sizeof(cmd), "insmod %s/%s/%s", isHost ? "" : "/etc" /* ramdisk */, driver_path_prefix, driver_path);
//DBG_DUMP("%s\n", cmd); //DBG_DUMP("%s\n", cmd);
printf("[%s:%d] %s\n", __FUNCTION__, __LINE__, cmd); printf("[%s:%d] %s\n", __FUNCTION__, __LINE__, cmd);
system(cmd); system(cmd);
@ -145,12 +149,18 @@ static BOOL System_InsmodUsb(BOOL isHost)
} }
if(isHost == FALSE){ if(isHost == FALSE){
#if HUNTING_CAMERA_MCU == ENABLE
sf_usb_mux_s(0); sf_usb_mux_s(0);
#endif
is_usb_dev_driver_inserted = TRUE; is_usb_dev_driver_inserted = TRUE;
return System_WaitUsbDev(); return System_WaitUsbDev();
} }
else{ else{
#if HUNTING_CAMERA_MCU == ENABLE
sf_usb_mux_s(1); sf_usb_mux_s(1);
#endif
is_usb_host_driver_inserted = TRUE; is_usb_host_driver_inserted = TRUE;
return TRUE; return TRUE;
} }
@ -263,7 +273,7 @@ void System_OnUsbInit(void)
//force check USB connect type //force check USB connect type
if (GxUSB_GetIsUSBPlug()) { if (GxUSB_GetIsUSBPlug()) {
#if HW_S530 == ENABLE #if (HW_S530 == ENABLE) && (HUNTING_CAMERA_MCU == ENABLE)
sf_sys_status_led_set(SF_LED_SYS_STATE_USB_IN); sf_sys_status_led_set(SF_LED_SYS_STATE_USB_IN);
#endif #endif
@ -299,28 +309,28 @@ void USB_UpdateSource(void)
{ {
#if (USB_CHARGE_FUNCTION == ENABLE) #if (USB_CHARGE_FUNCTION == ENABLE)
UINT32 ctype = GxUSB_GetConnectType(); UINT32 ctype = GxUSB_GetConnectType();
if (ctype == USB_CONNECT_NONE) { //沒插USB if (ctype == USB_CONNECT_NONE) { //<EFBFBD>S<EFBFBD><EFBFBD>USB
DBG_MSG(" USB Src = (None)\r\n"); DBG_MSG(" USB Src = (None)\r\n");
gUsbSrc = USB_SRC_NONE; gUsbSrc = USB_SRC_NONE;
} else if (ctype == USB_CONNECT_PC) { //USB插著PC } else if (ctype == USB_CONNECT_PC) { //USB<EFBFBD><EFBFBD><EFBFBD><EFBFBD>PC
DBG_MSG(" USB Src = PC\r\n"); DBG_MSG(" USB Src = PC\r\n");
gUsbSrc = USB_SRC_USB_PC; gUsbSrc = USB_SRC_USB_PC;
} else if (ctype == USB_CONNECT_CHARGER) { //USB插著充電器 } else if (ctype == USB_CONNECT_CHARGER) { //USB<EFBFBD><EFBFBD><EFBFBD>ۥR<EFBFBD>q<EFBFBD><EFBFBD>
DBG_MSG(" USB Src = Adapter\r\n"); DBG_MSG(" USB Src = Adapter\r\n");
gUsbSrc = USB_SRC_USB_ADAPTER; gUsbSrc = USB_SRC_USB_ADAPTER;
} else if (ctype == USB_CONNECT_CHARGING_PC) { //USB插著有大電流port的PC } else if (ctype == USB_CONNECT_CHARGING_PC) { //USB<EFBFBD><EFBFBD><EFBFBD>ۦ<EFBFBD><EFBFBD>j<EFBFBD>q<EFBFBD>yport<EFBFBD><EFBFBD>PC
DBG_MSG(" USB Src = Charging PC\r\n"); DBG_MSG(" USB Src = Charging PC\r\n");
gUsbSrc = USB_SRC_USB_CHARGING_PC; gUsbSrc = USB_SRC_USB_CHARGING_PC;
} else { //USB插著未知 (已經拔除無法判斷) } else { //USB<EFBFBD><EFBFBD><EFBFBD>ۥ<EFBFBD><EFBFBD><EFBFBD> (<28>w<EFBFBD>g<EFBFBD>ް<EFBFBD><DEB0>L<EFBFBD>k<EFBFBD>P<EFBFBD>_)
DBG_ERR(" USB Src = Unknown?\r\n"); DBG_ERR(" USB Src = Unknown?\r\n");
gUsbSrc = USB_SRC_UNKNOWN; gUsbSrc = USB_SRC_UNKNOWN;
} }
#else #else
BOOL bInsert = GxUSB_GetIsUSBPlug(); BOOL bInsert = GxUSB_GetIsUSBPlug();
if (!bInsert) { //沒插USB if (!bInsert) { //<EFBFBD>S<EFBFBD><EFBFBD>USB
DBG_MSG(" USB Src = (None)\r\n"); DBG_MSG(" USB Src = (None)\r\n");
gUsbSrc = USB_SRC_NONE; gUsbSrc = USB_SRC_NONE;
} else { //USB插著PC } else { //USB<EFBFBD><EFBFBD><EFBFBD><EFBFBD>PC
DBG_MSG(" USB Src = PC\r\n"); DBG_MSG(" USB Src = PC\r\n");
gUsbSrc = USB_SRC_USB_PC; gUsbSrc = USB_SRC_USB_PC;
} }

View File

@ -354,6 +354,8 @@ void System_OnVideoInit2(void)
Delay_DelayMs(30); // delay some time to avoid LCD flicker as power on Delay_DelayMs(30); // delay some time to avoid LCD flicker as power on
GxVideo_SetDeviceCtrl(DOUT1, DISPLAY_DEVCTRL_BACKLIGHT, TRUE); GxVideo_SetDeviceCtrl(DOUT1, DISPLAY_DEVCTRL_BACKLIGHT, TRUE);
} }
#else
GxVideo_SetDeviceCtrl(DOUT1, DISPLAY_DEVCTRL_BACKLIGHT, TRUE);
#endif #endif
TM_BOOT_END("video", "show_logo"); TM_BOOT_END("video", "show_logo");

View File

@ -146,7 +146,7 @@ void Movie_CommPoolInit(void)
vcap_buf_size + vcap_buf_size +
VDO_CA_BUF_SIZE(CA_WIN_NUM_W, CA_WIN_NUM_H) + VDO_CA_BUF_SIZE(CA_WIN_NUM_W, CA_WIN_NUM_H) +
VDO_LA_BUF_SIZE(LA_WIN_NUM_W, LA_WIN_NUM_H); VDO_LA_BUF_SIZE(LA_WIN_NUM_W, LA_WIN_NUM_H);
mem_cfg.pool_info[id].blk_cnt = 7; mem_cfg.pool_info[id].blk_cnt = 2;
mem_cfg.pool_info[id].ddr_id = DDR_ID0; mem_cfg.pool_info[id].ddr_id = DDR_ID0;
} }

View File

@ -38,13 +38,15 @@
#include "vendor_videoout.h" #include "vendor_videoout.h"
#include "IOCfg.h" #include "IOCfg.h"
#define THIS_DBGLVL 5 // 0=FATAL, 1=ERR, 2=WRN, 3=UNIT, 4=FUNC, 5=IND, 6=MSG, 7=VALUE, 8=USER #define THIS_DBGLVL 2 // 0=FATAL, 1=ERR, 2=WRN, 3=UNIT, 4=FUNC, 5=IND, 6=MSG, 7=VALUE, 8=USER
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
#define __MODULE__ UiAppMovie #define __MODULE__ UiAppMovie
#define __DBGLVL__ ((THIS_DBGLVL>=PRJ_DBG_LVL)?THIS_DBGLVL:PRJ_DBG_LVL) #define __DBGLVL__ ((THIS_DBGLVL>=PRJ_DBG_LVL)?THIS_DBGLVL:PRJ_DBG_LVL)
#define __DBGFLT__ "*" //*=All, [mark]=CustomClass #define __DBGFLT__ "*" //*=All, [mark]=CustomClass
#include <kwrap/debug.h> #include <kwrap/debug.h>
#if HUNTING_CAMERA_MCU == ENABLE
#include <sf_inc.h> #include <sf_inc.h>
#endif
#define VDO_YUV_BUFSIZE(w, h, pxlfmt) ALIGN_CEIL_4(((w) * (h) * HD_VIDEO_PXLFMT_BPP(pxlfmt)) / 8) #define VDO_YUV_BUFSIZE(w, h, pxlfmt) ALIGN_CEIL_4(((w) * (h) * HD_VIDEO_PXLFMT_BPP(pxlfmt)) / 8)
#define FILE_SN_MAX 999999 #define FILE_SN_MAX 999999
@ -199,7 +201,11 @@ INT32 Set_Cur_Day_Night_Status(BOOL OnOff, UINT8 isSnapVideo)
IQT_NIGHT_MODE night_mode = {0}; IQT_NIGHT_MODE night_mode = {0};
AWBT_MANUAL awb_manual = {0}; AWBT_MANUAL awb_manual = {0};
HD_RESULT hd_ret; HD_RESULT hd_ret;
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get(); UIMenuStoreInfo *puiPara = sf_ui_para_get();
#endif
if ((hd_ret = vendor_isp_init()) != HD_OK) { if ((hd_ret = vendor_isp_init()) != HD_OK) {
DBG_ERR("vendor_isp_init() fail(%d)\r\n", hd_ret); DBG_ERR("vendor_isp_init() fail(%d)\r\n", hd_ret);
} }
@ -220,7 +226,9 @@ INT32 Set_Cur_Day_Night_Status(BOOL OnOff, UINT8 isSnapVideo)
night_mode.mode = 1; night_mode.mode = 1;
GOIO_Turn_Onoff_IRCUT(0); GOIO_Turn_Onoff_IRCUT(0);
//GPIO_IRLed_Turn_Onoff(1); //GPIO_IRLed_Turn_Onoff(1);
#if HUNTING_CAMERA_MCU == ENABLE
sf_ir_led_set(((2 == puiPara->NightMode) ? 2 : 1),puiPara->FlashLed, puiPara->NightMode,isSnapVideo); sf_ir_led_set(((2 == puiPara->NightMode) ? 2 : 1),puiPara->FlashLed, puiPara->NightMode,isSnapVideo);
#endif
} }
else else
{ {
@ -228,7 +236,9 @@ INT32 Set_Cur_Day_Night_Status(BOOL OnOff, UINT8 isSnapVideo)
awb_manual.manual.en = 0; awb_manual.manual.en = 0;
GOIO_Turn_Onoff_IRCUT(1); GOIO_Turn_Onoff_IRCUT(1);
//GPIO_IRLed_Turn_Onoff(0); //GPIO_IRLed_Turn_Onoff(0);
#if HUNTING_CAMERA_MCU == ENABLE
sf_ir_led_set(0, 0, 0, 0); sf_ir_led_set(0, 0, 0, 0);
#endif
} }
vendor_isp_set_awb(AWBT_ITEM_MANUAL, &awb_manual); vendor_isp_set_awb(AWBT_ITEM_MANUAL, &awb_manual);
@ -1304,12 +1314,15 @@ static void MovieExe_UserEventCb(UINT32 id, MOVIE_USER_CB_EVENT event_id, UINT32
// MOVIEMULTI_CLOSE_FILE_INFO *info = (MOVIEMULTI_CLOSE_FILE_INFO *)value; // MOVIEMULTI_CLOSE_FILE_INFO *info = (MOVIEMULTI_CLOSE_FILE_INFO *)value;
// DCF_AddDBfile(info->path); // DCF_AddDBfile(info->path);
// DBG_DUMP("%s added to DCF\r\n", info->path); // DBG_DUMP("%s added to DCF\r\n", info->path);
#if HUNTING_CAMERA_MCU == ENABLE
DBG_IND(" ===== MOVIE_USER_CB_EVENT_CLOSE_FILE_COMPLETED ===== \r\n"); DBG_IND(" ===== MOVIE_USER_CB_EVENT_CLOSE_FILE_COMPLETED ===== \r\n");
UIMenuStoreInfo *puiPara = sf_ui_para_get(); UIMenuStoreInfo *puiPara = sf_ui_para_get();
if(SF_CAM_MODE_PHOTO_VIDEO == puiPara->CamMode) if(SF_CAM_MODE_PHOTO_VIDEO == puiPara->CamMode)
{ {
sf_share_mem_file_down(0); sf_share_mem_file_down(0);
} }
#endif
#endif #endif
} }
Ux_PostEvent(NVTEVT_CB_MOVIE_REC_FINISH, 1, value); Ux_PostEvent(NVTEVT_CB_MOVIE_REC_FINISH, 1, value);

View File

@ -21,8 +21,10 @@
#if MOVIE_ISP_LOG #if MOVIE_ISP_LOG
#include "vendor_isp.h" #include "vendor_isp.h"
#if HUNTING_CAMERA_MCU == ENABLE
#include "sf_mcu.h" #include "sf_mcu.h"
#endif #endif
#endif
//#NT#2016/10/17#Bin Xiao -end //#NT#2016/10/17#Bin Xiao -end
#define __MODULE__ MovieStamp #define __MODULE__ MovieStamp
#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
@ -279,7 +281,12 @@ static void MovieStamp_get_isp_status(UINT32 id, char* Buf, UINT32 BufLen)
IQT_WDR_PARAM wdr = {0}; IQT_WDR_PARAM wdr = {0};
//sf_mcu_power_on_para_get(SF_MCU_POWERON); //sf_mcu_power_on_para_get(SF_MCU_POWERON);
UINT16 AD_Value; UINT16 AD_Value;
#if HUNTING_CAMERA_MCU == ENABLE
AD_Value = sf_get_irshtter(); AD_Value = sf_get_irshtter();
#else
AD_Value = 0;
#endif
id = 0; id = 0;
ae_status.id = id; ae_status.id = id;

View File

View File

@ -29,8 +29,8 @@
#if (_SCREENNAIL_SIZE_ == _SCREENNAIL_SIZE_VGA_) #if (_SCREENNAIL_SIZE_ == _SCREENNAIL_SIZE_VGA_)
#define CFG_SCREENNAIL_SIZE PHOTO_SIZE_VGA #define CFG_SCREENNAIL_SIZE PHOTO_SIZE_VGA
#define CFG_SCREENNAIL_W 640//1024//640 #define CFG_SCREENNAIL_W 640
#define CFG_SCREENNAIL_H 480//768//480 #define CFG_SCREENNAIL_H 480
#else #else
#define CFG_SCREENNAIL_SIZE PHOTO_SIZE_3M #define CFG_SCREENNAIL_SIZE PHOTO_SIZE_3M
#define CFG_SCREENNAIL_W 2048 #define CFG_SCREENNAIL_W 2048
@ -418,5 +418,4 @@ extern BOOL PhotoExe_GetCapYUV420En(void);
extern HD_RESULT PhotoExe_DetSensor(BOOL *plug); extern HD_RESULT PhotoExe_DetSensor(BOOL *plug);
BOOL UiDateImprint_UpdateDate(char *StrBuf, UINT32 buff_len);
#endif //_UIAPP_PHOTO_H_ #endif //_UIAPP_PHOTO_H_

View File

@ -29,15 +29,17 @@
#include "UIApp/AppDisp_PipView.h" #include "UIApp/AppDisp_PipView.h"
#include <vf_gfx.h> #include <vf_gfx.h>
#include "vendor_videocapture.h" #include "vendor_videocapture.h"
//#include "sf_mcu.h"
#include "IOCfg.h"
#include <sf_inc.h>
#include "PrjInc.h" #include "PrjInc.h"
#define THIS_DBGLVL 5 // 0=FATAL, 1=ERR, 2=WRN, 3=UNIT, 4=FUNC, 5=IND, 6=MSG, 7=VALUE, 8=USER #include "IOCfg.h"
#if HUNTING_CAMERA_MCU == ENABLE
#include <sf_inc.h>
#endif
#define THIS_DBGLVL 2 // 0=FATAL, 1=ERR, 2=WRN, 3=UNIT, 4=FUNC, 5=IND, 6=MSG, 7=VALUE, 8=USER
#if 1//_TODO #if 1//_TODO
#define __MODULE__ UiAppPhoto #define __MODULE__ UiAppPhoto
#define __DBGLVL__ 5 // 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>
#endif #endif
@ -430,13 +432,19 @@ static UINT32 PhotoExe_GetScreenNailSize(void)
UINT32 uiImageSize, ScreenNailSize; UINT32 uiImageSize, ScreenNailSize;
UINT32 BitStreamSize; UINT32 BitStreamSize;
#if HUNTING_CAMERA_MCU
UIMenuStoreInfo *puiPara = sf_ui_para_get(); UIMenuStoreInfo *puiPara = sf_ui_para_get();
#endif
ScreenNailSize = CFG_SCREENNAIL_SIZE; ScreenNailSize = CFG_SCREENNAIL_SIZE;
uiImageSize = UI_GetData(FL_PHOTO_SIZE); uiImageSize = UI_GetData(FL_PHOTO_SIZE);
if (uiImageSize < ScreenNailSize) { if (uiImageSize < ScreenNailSize) {
//BitStreamSize = CFG_SCREENNAIL_W * CFG_SCREENNAIL_H / 2; #if HUNTING_CAMERA_MCU
BitStreamSize = (sf_get_screen_nail_width(puiPara->SendPicSize)) * (sf_get_screen_nail_height(puiPara->SendPicSize)) / 2; BitStreamSize = (sf_get_screen_nail_width(puiPara->SendPicSize)) * (sf_get_screen_nail_height(puiPara->SendPicSize)) / 2;
#else
BitStreamSize = CFG_SCREENNAIL_W * CFG_SCREENNAIL_H / 2;
#endif
} else { } else {
BitStreamSize = 0; BitStreamSize = 0;
} }
@ -468,10 +476,13 @@ void PhotoExe_SetScreenNailSize(UINT32 sensor_id)
if (uiImageSize < ScreenNailSize) { if (uiImageSize < ScreenNailSize) {
//BufferSize.w = GetPhotoSizeWidth(ScreenNailSize); //BufferSize.w = GetPhotoSizeWidth(ScreenNailSize);
//BufferSize.h = GetPhotoSizeHeight(ScreenNailSize); //BufferSize.h = GetPhotoSizeHeight(ScreenNailSize);
#if HUNTING_CAMERA_MCU
UIMenuStoreInfo *puiPara = sf_ui_para_get(); UIMenuStoreInfo *puiPara = sf_ui_para_get();
BufferSize.w = sf_get_screen_nail_width(puiPara->SendPicSize); BufferSize.w = sf_get_screen_nail_width(puiPara->SendPicSize);
//BufferSize.w = CFG_SCREENNAIL_W;//SendPicSize #else
BufferSize.w = CFG_SCREENNAIL_W;
#endif
BufferSize.h = BufferSize.w * 3 / 4; BufferSize.h = BufferSize.w * 3 / 4;
ImageRatioIdx = GetPhotoSizeRatio(UI_GetData(FL_PHOTO_SIZE)); ImageRatioIdx = GetPhotoSizeRatio(UI_GetData(FL_PHOTO_SIZE));
@ -530,12 +541,15 @@ void PhotoExe_SetQuickViewSize(UINT32 sensor_id)
DevSize = GxVideo_GetDeviceSize(DOUT1); DevSize = GxVideo_GetDeviceSize(DOUT1);
#if (_QUICKVIEW_SIZE_ == _QUICKVIEW_SIZE_VGA_) #if (_QUICKVIEW_SIZE_ == _QUICKVIEW_SIZE_VGA_)
{ {
UIMenuStoreInfo *puiPara = sf_ui_para_get();
// fix bug: w/h size will be wrong if no VGA/3M resolution! // fix bug: w/h size will be wrong if no VGA/3M resolution!
//BufferSize.w = CFG_SCREENNAIL_W; #if HUNTING_CAMERA_MCU
//BufferSize.h = CFG_SCREENNAIL_H; UIMenuStoreInfo *puiPara = sf_ui_para_get();
BufferSize.w = sf_get_screen_nail_width(puiPara->SendPicSize); BufferSize.w = sf_get_screen_nail_width(puiPara->SendPicSize);
BufferSize.h = sf_get_screen_nail_height(puiPara->SendPicSize); BufferSize.h = sf_get_screen_nail_height(puiPara->SendPicSize);
#else
BufferSize.w = CFG_SCREENNAIL_W;
BufferSize.h = CFG_SCREENNAIL_H;
#endif
if (BufferSize.w > (UINT32)DevSize.w) { if (BufferSize.w > (UINT32)DevSize.w) {
BufferSize.w = DevSize.w; BufferSize.w = DevSize.w;
@ -1420,24 +1434,33 @@ void PhotoExe_DZoomOutBK(void)
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
static HD_COMMON_MEM_INIT_CONFIG g_photo_mem_cfg = {0}; static HD_COMMON_MEM_INIT_CONFIG g_photo_mem_cfg = {0};
void UiDateImprint_get_isp_status(UINT32 id, char* Buf, UINT32 BufLen) void UiDateImprint_get_isp_status(UINT32 id, char* Buf, UINT32 BufLen)
{ {
AET_STATUS_INFO ae_status = {0}; AET_STATUS_INFO ae_status = {0};
AWBT_STATUS awb_status = {0}; AWBT_STATUS awb_status = {0};
//IQT_WDR_PARAM wdr = {0}; //IQT_WDR_PARAM wdr = {0};
HD_RESULT hd_ret;
UINT16 AD_Value;
ae_status.id = AE_ID_1; if ((hd_ret = vendor_isp_init()) != HD_OK) {
DBG_ERR("vendor_isp_init() failed(%d)\r\n", hd_ret);
}
#if HUNTING_CAMERA_MCU == ENABLE
AD_Value = sf_mcu_get_irshtter();
#else
AD_Value = 0;
#endif
ae_status.id = 0;
vendor_isp_get_ae(AET_ITEM_STATUS, &ae_status); vendor_isp_get_ae(AET_ITEM_STATUS, &ae_status);
awb_status.id = AWB_ID_1; awb_status.id = 0;
vendor_isp_get_awb(AWBT_ITEM_STATUS, &awb_status); vendor_isp_get_awb(AWBT_ITEM_STATUS, &awb_status);
/*wdr.id = id;
/*
wdr.id = id;
vendor_isp_get_iq(IQT_ITEM_WDR_PARAM, &wdr); vendor_isp_get_iq(IQT_ITEM_WDR_PARAM, &wdr);
*/ */
snprintf(Buf, BufLen, "%d %3d %3d %3d %6d %6d %4d %4d %3d %3d %4d %d\0",
snprintf(Buf, BufLen, "%3d %4d %4d %6d %6d %4d %4d %4d %4d %4d\0", ae_status.status_info.state_adj,
ae_status.status_info.lv/100000, ae_status.status_info.lv/100000,
ae_status.status_info.lum, ae_status.status_info.lum,
ae_status.status_info.expect_lum, ae_status.status_info.expect_lum,
@ -1448,9 +1471,13 @@ void UiDateImprint_get_isp_status(UINT32 id, char* Buf, UINT32 BufLen)
//wdr.wdr.enable, //wdr.wdr.enable,
awb_status.status.cur_r_gain, awb_status.status.cur_r_gain,
awb_status.status.cur_b_gain, awb_status.status.cur_b_gain,
awb_status.status.cur_ct awb_status.status.cur_ct,
AD_Value
); );
//DBG_DUMP("isp Buf=%s\r\n",Buf); DBG_ERR("isp Buf=%s\r\n",Buf);
if ((hd_ret = vendor_isp_uninit()) != HD_OK) {
DBG_ERR("vendor_isp_uninit() failed(%d)\r\n", hd_ret);
}
return; return;
} }
@ -1495,10 +1522,9 @@ BOOL UiDateImprint_UpdateDate(char *StrBuf, UINT32 buff_len)
return FALSE; return FALSE;
} }
//extern void GOIO_Turn_Onoff_IRCUT(BOOL onoff); //extern void GOIO_Turn_Onoff_IRCUT(BOOL onoff);
void PhotoExe_CommPoolInit(void) void PhotoExe_CommPoolInit(void)
{ {
UINT32 id; UINT32 id;
@ -1512,7 +1538,9 @@ void PhotoExe_CommPoolInit(void)
HD_PATH_ID video_out_ctrl = (HD_PATH_ID)GxVideo_GetDeviceCtrl(DOUT1, DISPLAY_DEVCTRL_CTRLPATH); HD_PATH_ID video_out_ctrl = (HD_PATH_ID)GxVideo_GetDeviceCtrl(DOUT1, DISPLAY_DEVCTRL_CTRLPATH);
HD_RESULT hd_ret = HD_OK; HD_RESULT hd_ret = HD_OK;
USIZE DispDevSize = {0}; USIZE DispDevSize = {0};
#if HUNTING_CAMERA_MCU
UIMenuStoreInfo *puiPara = sf_ui_para_get(); UIMenuStoreInfo *puiPara = sf_ui_para_get();
#endif
hd_ret = hd_videoout_get(video_out_ctrl, HD_VIDEOOUT_PARAM_SYSCAPS, p_video_out_syscaps); hd_ret = hd_videoout_get(video_out_ctrl, HD_VIDEOOUT_PARAM_SYSCAPS, p_video_out_syscaps);
if (hd_ret != HD_OK) { if (hd_ret != HD_OK) {
@ -1610,8 +1638,12 @@ void PhotoExe_CommPoolInit(void)
id ++; id ++;
g_photo_mem_cfg.pool_info[id].type = HD_COMMON_MEM_COMMON_POOL; g_photo_mem_cfg.pool_info[id].type = HD_COMMON_MEM_COMMON_POOL;
#if HUNTING_CAMERA_MCU
g_photo_mem_cfg.pool_info[id].blk_size = DBGINFO_BUFSIZE() + VDO_YUV_BUFSIZE(sf_get_screen_nail_width(puiPara->SendPicSize), sf_get_screen_nail_height(puiPara->SendPicSize), pxl_fmt); g_photo_mem_cfg.pool_info[id].blk_size = DBGINFO_BUFSIZE() + VDO_YUV_BUFSIZE(sf_get_screen_nail_width(puiPara->SendPicSize), sf_get_screen_nail_height(puiPara->SendPicSize), pxl_fmt);
// g_photo_mem_cfg.pool_info[id].blk_size = DBGINFO_BUFSIZE() + VDO_YUV_BUFSIZE(CFG_SCREENNAIL_W, CFG_SCREENNAIL_H, pxl_fmt); #else
g_photo_mem_cfg.pool_info[id].blk_size = DBGINFO_BUFSIZE() + VDO_YUV_BUFSIZE(CFG_SCREENNAIL_W, CFG_SCREENNAIL_H, pxl_fmt);
#endif
g_photo_mem_cfg.pool_info[id].blk_cnt = 1; g_photo_mem_cfg.pool_info[id].blk_cnt = 1;
g_photo_mem_cfg.pool_info[id].ddr_id = DDR_ID0; g_photo_mem_cfg.pool_info[id].ddr_id = DDR_ID0;
@ -1927,15 +1959,11 @@ static void PhotoExe_InitNetworkStream(UINT32 dualCam, USIZE *pImageRatioSize)
if (dualCam == DUALCAM_FRONT) { if (dualCam == DUALCAM_FRONT) {
p_strm = UIAppPhoto_get_StreamConfig(UIAPP_PHOTO_STRM_ID_1); p_strm = UIAppPhoto_get_StreamConfig(UIAPP_PHOTO_STRM_ID_1);
ImageApp_Photo_Config(PHOTO_CFG_STRM_INFO, (UINT32)p_strm); ImageApp_Photo_Config(PHOTO_CFG_STRM_INFO, (UINT32)p_strm);
p_strm->enable = PHOTO_PORT_STATE_EN;
p_strm->width_ratio = pImageRatioSize->w; p_strm->width_ratio = pImageRatioSize->w;
p_strm->height_ratio = pImageRatioSize->h; p_strm->height_ratio = pImageRatioSize->h;
p_strm->width = ALIGN_CEIL_16(p_strm->height* pImageRatioSize->w/pImageRatioSize->h); p_strm->width = ALIGN_CEIL_16(p_strm->height* pImageRatioSize->w/pImageRatioSize->h);
//p_strm->height = PHOTO_STRM_HEIGHT; //p_strm->height = PHOTO_STRM_HEIGHT;
ImageApp_Photo_Config(PHOTO_CFG_STRM_INFO, (UINT32)p_strm); ImageApp_Photo_Config(PHOTO_CFG_STRM_INFO, (UINT32)p_strm);
if (p_strm->strm_type== PHOTO_STRM_TYPE_HTTP) { if (p_strm->strm_type== PHOTO_STRM_TYPE_HTTP) {
PhotoExe_InitNetHttp(); PhotoExe_InitNetHttp();
} }
@ -1962,7 +1990,8 @@ static void PhotoExe_InitNetworkStream(UINT32 dualCam, USIZE *pImageRatioSize)
p_strm = UIAppPhoto_get_StreamConfig(UIAPP_PHOTO_STRM_ID_1+i); p_strm = UIAppPhoto_get_StreamConfig(UIAPP_PHOTO_STRM_ID_1+i);
if (p_strm == NULL) if (p_strm == NULL)
return; return;
p_strm->enable = PHOTO_PORT_STATE_EN_RUN; // p_strm->enable = PHOTO_PORT_STATE_EN_RUN;
p_strm->enable = PHOTO_PORT_STATE_EN;
#if ((SENSOR_CAPS_COUNT == 2) && (SENSOR_INSERT_MASK != 0)) #if ((SENSOR_CAPS_COUNT == 2) && (SENSOR_INSERT_MASK != 0))
if (System_GetEnableSensor() == SENSOR_1 && i==UIAPP_PHOTO_STRM_ID_2){ if (System_GetEnableSensor() == SENSOR_1 && i==UIAPP_PHOTO_STRM_ID_2){
p_strm->enable = PHOTO_PORT_STATE_EN; p_strm->enable = PHOTO_PORT_STATE_EN;
@ -2319,7 +2348,7 @@ static void PhotoExe_InitDisplayStream(UINT32 dualCam, USIZE *pImageRatioSize)
p_disp->rotate_dir = SysVideo_GetDirbyID(DOUT2); p_disp->rotate_dir = SysVideo_GetDirbyID(DOUT2);
ImageApp_Photo_Config(PHOTO_CFG_DISP_INFO, (UINT32)p_disp); ImageApp_Photo_Config(PHOTO_CFG_DISP_INFO, (UINT32)p_disp);
DBG_IND("p_disp->rotate_dir = %lx\n", p_disp->rotate_dir); DBG_DUMP("p_disp->rotate_dir = %lx\n", p_disp->rotate_dir);
} }
// sensor 2 display // sensor 2 display
else if (dualCam == DUALCAM_BEHIND) { else if (dualCam == DUALCAM_BEHIND) {
@ -2427,11 +2456,6 @@ INT32 PhotoExe_OnOpen(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
USIZE ImageRatioSize = {0}; USIZE ImageRatioSize = {0};
UINT32 ImageRatioIdx; UINT32 ImageRatioIdx;
#if 0
UI_SetData(FL_PHOTO_SIZE, PHOTO_SIZE_5M);
#endif
g_bPhotoOpened = FALSE; g_bPhotoOpened = FALSE;
localInfo->isStartCapture = FALSE; localInfo->isStartCapture = FALSE;
@ -2439,6 +2463,7 @@ INT32 PhotoExe_OnOpen(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
g_photo_ImageRatioSize = IMAGERATIO_SIZE[ImageRatioIdx]; g_photo_ImageRatioSize = IMAGERATIO_SIZE[ImageRatioIdx];
// g_photo_ImageRatioSize = IMAGERATIO_SIZE[4]; // g_photo_ImageRatioSize = IMAGERATIO_SIZE[4];
FileSys_MakeDir(PHOTO_THUMB_PATH);
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);
@ -2448,6 +2473,7 @@ INT32 PhotoExe_OnOpen(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
system("sync"); system("sync");
usleep(100*1000); usleep(100*1000);
} }
PhotoExe_CommPoolInit(); PhotoExe_CommPoolInit();
dualCam =PhotoExe_InitSensorCount(); dualCam =PhotoExe_InitSensorCount();
PhotoExe_InitFileNaming(); PhotoExe_InitFileNaming();
@ -2461,9 +2487,11 @@ INT32 PhotoExe_OnOpen(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
ImageApp_Photo_DispConfig(PHOTO_CFG_DISP_REG_CB ,(UINT32)&PhotoExe_DispCB); ImageApp_Photo_DispConfig(PHOTO_CFG_DISP_REG_CB ,(UINT32)&PhotoExe_DispCB);
PhotoExe_InitDisplayStream(dualCam,&g_photo_ImageRatioSize); PhotoExe_InitDisplayStream(dualCam,&g_photo_ImageRatioSize);
PhotoExe_InitNetworkStream(dualCam,&g_photo_ImageRatioSize); PhotoExe_InitNetworkStream(dualCam,&g_photo_ImageRatioSize);
ImageApp_Photo_WiFiConfig(PHOTO_CFG_WIFI_REG_CB ,(UINT32)&PhotoExe_WifiCB); ImageApp_Photo_WiFiConfig(PHOTO_CFG_WIFI_REG_CB ,(UINT32)&PhotoExe_WifiCB);
PHOTO_SENSOR_INFO sen_cfg = {0}; PHOTO_SENSOR_INFO sen_cfg = {0};
UIAPP_PHOTO_SENSOR_INFO *pSensorInfo; UIAPP_PHOTO_SENSOR_INFO *pSensorInfo;
@ -2574,14 +2602,6 @@ INT32 PhotoExe_OnOpen(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
Flip.mirror_type=(UI_GetData(FL_MOVIE_SENSOR_ROTATE) == SEN_ROTATE_ON) ? HD_VIDEO_DIR_MIRRORXY : HD_VIDEO_DIR_NONE;//HD_VIDEO_DIR_MIRRORX; Flip.mirror_type=(UI_GetData(FL_MOVIE_SENSOR_ROTATE) == SEN_ROTATE_ON) ? HD_VIDEO_DIR_MIRRORXY : HD_VIDEO_DIR_NONE;//HD_VIDEO_DIR_MIRRORX;
ImageApp_Photo_Config(PHOTO_CFG_IPL_MIRROR,(UINT32)&Flip); ImageApp_Photo_Config(PHOTO_CFG_IPL_MIRROR,(UINT32)&Flip);
} }
#if (FS_FUNC == ENABLE)
// wait fs mount ready
System_WaitFS();
#endif
FileSys_MakeDir(PHOTO_THUMB_PATH);
#if (USE_FILEDB== ENABLE) #if (USE_FILEDB== ENABLE)
ImageApp_Photo_Config(PHOTO_CFG_FILEDB_MAX_NUM,5000); ImageApp_Photo_Config(PHOTO_CFG_FILEDB_MAX_NUM,5000);
@ -2621,6 +2641,7 @@ INT32 PhotoExe_OnOpen(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
} }
} }
#if PHOTO_PREVIEW_SLICE_ENC_FUNC #if PHOTO_PREVIEW_SLICE_ENC_FUNC
/* open encode path */ /* open encode path */
@ -3203,6 +3224,7 @@ INT32 PhotoExe_OnCaptureStop(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArra
Photo_setS2Status(FALSE); Photo_setS2Status(FALSE);
ImageApp_Photo_CapStop(); ImageApp_Photo_CapStop();
} }
return NVTEVT_CONSUME; return NVTEVT_CONSUME;
} }
@ -4150,16 +4172,23 @@ static INT32 PhotoExe_Preview_SliceEncode_Open(void)
case PHOTO_ENC_JPG_SCREENNAIL: case PHOTO_ENC_JPG_SCREENNAIL:
{ {
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get(); UIMenuStoreInfo *puiPara = sf_ui_para_get();
info->enc_path_id = venc_path_id; info->enc_path_id = venc_path_id;
//info->yuv_buf_mem_info.blk_size = VDO_YUV_BUFSIZE(CFG_SCREENNAIL_W, CFG_SCREENNAIL_H, vproc_out_pxlfmt);
//dim = (HD_DIM){CFG_SCREENNAIL_W, CFG_SCREENNAIL_H};
info->yuv_buf_mem_info.blk_size = VDO_YUV_BUFSIZE(sf_get_screen_nail_width(puiPara->SendPicSize), sf_get_screen_nail_height(puiPara->SendPicSize), vproc_out_pxlfmt); info->yuv_buf_mem_info.blk_size = VDO_YUV_BUFSIZE(sf_get_screen_nail_width(puiPara->SendPicSize), sf_get_screen_nail_height(puiPara->SendPicSize), vproc_out_pxlfmt);
dim = (HD_DIM){sf_get_screen_nail_width(puiPara->SendPicSize), sf_get_screen_nail_height(puiPara->SendPicSize)}; dim = (HD_DIM){sf_get_screen_nail_width(puiPara->SendPicSize), sf_get_screen_nail_height(puiPara->SendPicSize)};
//bitrate = SCREENNAIL_TARGETBYTERATE * 8;
bitrate = ((sf_get_screen_nail_width(puiPara->SendPicSize)) * (sf_get_screen_nail_height(puiPara->SendPicSize))*3/(2*JPG_COMERESSED_RATIO_8)) * 8; bitrate = ((sf_get_screen_nail_width(puiPara->SendPicSize)) * (sf_get_screen_nail_height(puiPara->SendPicSize))*3/(2*JPG_COMERESSED_RATIO_8)) * 8;
#else
info->enc_path_id = venc_path_id;
info->yuv_buf_mem_info.blk_size = VDO_YUV_BUFSIZE(CFG_SCREENNAIL_W, CFG_SCREENNAIL_H, vproc_out_pxlfmt);
dim = (HD_DIM){CFG_SCREENNAIL_W, CFG_SCREENNAIL_H};
bitrate = SCREENNAIL_TARGETBYTERATE * 8;
#endif
break; break;
} }
@ -4923,16 +4952,18 @@ static INT32 PhotoExe_Preview_SliceEncode_Scale_Screennail(
VF_GFX_SCALE vf_gfx_scale = {0}; VF_GFX_SCALE vf_gfx_scale = {0};
URECT dest_win = {0}; URECT dest_win = {0};
USIZE src_size = {0}, dest_size = {0}; USIZE src_size = {0}, dest_size = {0};
UIMenuStoreInfo *puiPara = sf_ui_para_get();
src_size.w = video_frame_in->dim.w; src_size.w = video_frame_in->dim.w;
src_size.h = video_frame_in->dim.h; src_size.h = video_frame_in->dim.h;
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get();
dest_size.w = sf_get_screen_nail_width(puiPara->SendPicSize); dest_size.w = sf_get_screen_nail_width(puiPara->SendPicSize);
dest_size.h = sf_get_screen_nail_height(puiPara->SendPicSize); dest_size.h = sf_get_screen_nail_height(puiPara->SendPicSize);
//dest_size.w = CFG_SCREENNAIL_W; #else
//dest_size.h = CFG_SCREENNAIL_H; dest_size.w = CFG_SCREENNAIL_W;
dest_size.h = CFG_SCREENNAIL_H;
#endif
PhotoExe_Cal_Jpg_Size(&src_size, &dest_size , &dest_win); PhotoExe_Cal_Jpg_Size(&src_size, &dest_size , &dest_win);
ret = PhotoExe_Preview_SliceEncode_Scale_YUV(&vf_gfx_scale, video_frame_in, screennail_buffer_info, &dest_size, &dest_win, HD_VIDEO_PXLFMT_YUV420); ret = PhotoExe_Preview_SliceEncode_Scale_YUV(&vf_gfx_scale, video_frame_in, screennail_buffer_info, &dest_size, &dest_win, HD_VIDEO_PXLFMT_YUV420);
@ -4952,13 +4983,15 @@ static INT32 PhotoExe_Preview_SliceEncode_Encode_Screennail_RC(HD_VIDEO_FRAME* v
INT8 direction = 0; INT8 direction = 0;
INT32 ret = E_OK; INT32 ret = E_OK;
PhotoExe_SliceEncode_Info* slice_encode_screennail_info = PhotoExe_Preview_SliceEncode_Get_Info(PHOTO_ENC_JPG_SCREENNAIL); PhotoExe_SliceEncode_Info* slice_encode_screennail_info = PhotoExe_Preview_SliceEncode_Get_Info(PHOTO_ENC_JPG_SCREENNAIL);
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get();
const UINT32 ubount = (((sf_get_screen_nail_width(puiPara->SendPicSize)) * (sf_get_screen_nail_height(puiPara->SendPicSize))*3/(2*JPG_COMERESSED_RATIO_8)) + (((sf_get_screen_nail_width(puiPara->SendPicSize)) * (sf_get_screen_nail_height(puiPara->SendPicSize))*3/(2*JPG_COMERESSED_RATIO_8)) * 20 / 100));
const UINT32 lbount = (((sf_get_screen_nail_width(puiPara->SendPicSize)) * (sf_get_screen_nail_height(puiPara->SendPicSize))*3/(2*JPG_COMERESSED_RATIO_8)) - (((sf_get_screen_nail_width(puiPara->SendPicSize)) * (sf_get_screen_nail_height(puiPara->SendPicSize))*3/(2*JPG_COMERESSED_RATIO_8)) * 20 / 100));
//UIMenuStoreInfo *puiPara = sf_ui_para_get(); #else
//((sf_get_screen_nail_width(puiPara->SendPicSize)) * (sf_get_screen_nail_height(puiPara->SendPicSize))*3/(2*JPG_COMERESSED_RATIO_8)) * 8;
const UINT32 ubount = CFG_JPG_PREVIEW_SLICE_ENC_RC_SCREENNAIL_UBOUND; const UINT32 ubount = CFG_JPG_PREVIEW_SLICE_ENC_RC_SCREENNAIL_UBOUND;
const UINT32 lbount = CFG_JPG_PREVIEW_SLICE_ENC_RC_SCREENNAIL_UBOUND; const UINT32 lbount = CFG_JPG_PREVIEW_SLICE_ENC_RC_SCREENNAIL_UBOUND;
//const UINT32 ubount = (((sf_get_screen_nail_width(puiPara->SendPicSize)) * (sf_get_screen_nail_height(puiPara->SendPicSize))*3/(2*JPG_COMERESSED_RATIO_8)) + (((sf_get_screen_nail_width(puiPara->SendPicSize)) * (sf_get_screen_nail_height(puiPara->SendPicSize))*3/(2*JPG_COMERESSED_RATIO_8)) * 20 / 100)); #endif
//const UINT32 lbount = (((sf_get_screen_nail_width(puiPara->SendPicSize)) * (sf_get_screen_nail_height(puiPara->SendPicSize))*3/(2*JPG_COMERESSED_RATIO_8)) - (((sf_get_screen_nail_width(puiPara->SendPicSize)) * (sf_get_screen_nail_height(puiPara->SendPicSize))*3/(2*JPG_COMERESSED_RATIO_8)) * 20 / 100));
bool stop_flag = false; bool stop_flag = false;
do { do {
@ -5441,7 +5474,9 @@ INT32 PhotoExe_Preview_SliceEncode(VControl *pCtrl, UINT32 paramNum, UINT32 *par
HD_VIDEO_PXLFMT vproc_out_pxlfmt = 0; HD_VIDEO_PXLFMT vproc_out_pxlfmt = 0;
PhotoExe_MEM_Info exif_mem_info = {0}; PhotoExe_MEM_Info exif_mem_info = {0};
UINT32 enc_accum_size = 0; UINT32 enc_accum_size = 0;
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get(); UIMenuStoreInfo *puiPara = sf_ui_para_get();
#endif
SLICE_ENC_VOS_TICK_TRIG(SLICE_ENC_VOS_TICK_S); SLICE_ENC_VOS_TICK_TRIG(SLICE_ENC_VOS_TICK_S);
@ -5512,7 +5547,11 @@ INT32 PhotoExe_Preview_SliceEncode(VControl *pCtrl, UINT32 paramNum, UINT32 *par
#if CFG_JPG_PREVIEW_SLICE_ENC_RC_SCREENNAIL #if CFG_JPG_PREVIEW_SLICE_ENC_RC_SCREENNAIL
slice_encode_screennail_info->bs_buf_mem_info.blk_size = CFG_JPG_PREVIEW_SLICE_ENC_RC_SCREENNAIL_UBOUND;//(((sf_get_screen_nail_width(puiPara->SendPicSize)) * (sf_get_screen_nail_height(puiPara->SendPicSize))*3/(2*JPG_COMERESSED_RATIO_8)) + (((sf_get_screen_nail_width(puiPara->SendPicSize)) * (sf_get_screen_nail_height(puiPara->SendPicSize))*3/(2*JPG_COMERESSED_RATIO_8)) * 20 / 100)); #if HUNTING_CAMERA_MCU == ENABLE
slice_encode_screennail_info->bs_buf_mem_info.blk_size = (((sf_get_screen_nail_width(puiPara->SendPicSize)) * (sf_get_screen_nail_height(puiPara->SendPicSize))*3/(2*JPG_COMERESSED_RATIO_8)) + (((sf_get_screen_nail_width(puiPara->SendPicSize)) * (sf_get_screen_nail_height(puiPara->SendPicSize))*3/(2*JPG_COMERESSED_RATIO_8)) * 20 / 100));
#else
slice_encode_screennail_info->bs_buf_mem_info.blk_size = CFG_JPG_PREVIEW_SLICE_ENC_RC_SCREENNAIL_UBOUND;
#endif
#else #else
slice_encode_screennail_info->bs_buf_mem_info.blk_size = PhotoExe_GetScreenNailSize(); slice_encode_screennail_info->bs_buf_mem_info.blk_size = PhotoExe_GetScreenNailSize();
#endif #endif
@ -5592,8 +5631,11 @@ INT32 PhotoExe_Preview_SliceEncode(VControl *pCtrl, UINT32 paramNum, UINT32 *par
/* screennail encode */ /* screennail encode */
SLICE_ENC_VOS_TICK_TRIG(SLICE_ENC_VOS_TICK_SCR_ENC_S); SLICE_ENC_VOS_TICK_TRIG(SLICE_ENC_VOS_TICK_SCR_ENC_S);
//PhotoExe_Preview_SliceEncode_Encode_Set_In(slice_encode_screennail_info->enc_path_id, vproc_out_pxlfmt, (HD_DIM) {CFG_SCREENNAIL_W, CFG_SCREENNAIL_H}); #if HUNTING_CAMERA_MCU == ENABLE
PhotoExe_Preview_SliceEncode_Encode_Set_In(slice_encode_screennail_info->enc_path_id, vproc_out_pxlfmt, (HD_DIM) {sf_get_screen_nail_width(puiPara->SendPicSize), sf_get_screen_nail_height(puiPara->SendPicSize)}); PhotoExe_Preview_SliceEncode_Encode_Set_In(slice_encode_screennail_info->enc_path_id, vproc_out_pxlfmt, (HD_DIM) {sf_get_screen_nail_width(puiPara->SendPicSize), sf_get_screen_nail_height(puiPara->SendPicSize)});
#else
PhotoExe_Preview_SliceEncode_Encode_Set_In(slice_encode_screennail_info->enc_path_id, vproc_out_pxlfmt, (HD_DIM) {CFG_SCREENNAIL_W, CFG_SCREENNAIL_H});
#endif
#if CFG_JPG_PREVIEW_SLICE_ENC_RC_SCREENNAIL #if CFG_JPG_PREVIEW_SLICE_ENC_RC_SCREENNAIL
if(PhotoExe_Preview_SliceEncode_Encode_Screennail_RC(&video_frame_out_screennail) != E_OK){ if(PhotoExe_Preview_SliceEncode_Encode_Screennail_RC(&video_frame_out_screennail) != E_OK){
@ -6098,10 +6140,16 @@ INT32 PhotoExe_Preview_SliceEncode_CB2(void* user_data)
/******************************************************************* /*******************************************************************
* Screennail & Thumbnail Encode * Screennail & Thumbnail Encode
******************************************************************/ ******************************************************************/
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get(); UIMenuStoreInfo *puiPara = sf_ui_para_get();
/* screennail encode */ /* screennail encode */
PhotoExe_Preview_SliceEncode_Encode_Set_In(slice_encode_screennail_info->enc_path_id, vproc_out_pxlfmt, (HD_DIM) {sf_get_screen_nail_width(puiPara->SendPicSize), sf_get_screen_nail_height(puiPara->SendPicSize)}); PhotoExe_Preview_SliceEncode_Encode_Set_In(slice_encode_screennail_info->enc_path_id, vproc_out_pxlfmt, (HD_DIM) {sf_get_screen_nail_width(puiPara->SendPicSize), sf_get_screen_nail_height(puiPara->SendPicSize)});
#else
/* screennail encode */
PhotoExe_Preview_SliceEncode_Encode_Set_In(slice_encode_screennail_info->enc_path_id, vproc_out_pxlfmt, (HD_DIM) {CFG_SCREENNAIL_W, CFG_SCREENNAIL_H});
#endif
#if CFG_JPG_PREVIEW_SLICE_ENC_RC_SCREENNAIL #if CFG_JPG_PREVIEW_SLICE_ENC_RC_SCREENNAIL
if(PhotoExe_Preview_SliceEncode_Encode_Screennail_RC(&video_frame_out_screennail) != E_OK){ if(PhotoExe_Preview_SliceEncode_Encode_Screennail_RC(&video_frame_out_screennail) != E_OK){
@ -6140,7 +6188,9 @@ INT32 PhotoExe_Preview_SliceEncode_CB2(void* user_data)
ExifVendor_Write0thIFD(EXIF_HDL_ID_1); ExifVendor_Write0thIFD(EXIF_HDL_ID_1);
ExifVendor_WriteExifIFD(EXIF_HDL_ID_1); ExifVendor_WriteExifIFD(EXIF_HDL_ID_1);
ExifVendor_Write0thIntIFD(EXIF_HDL_ID_1); ExifVendor_Write0thIntIFD(EXIF_HDL_ID_1);
ExifVendor_WriteGPSIFD(EXIF_HDL_ID_1); #if HUNTING_CAMERA_MCU == ENABLE
//ExifVendor_WriteGPSIFD(EXIF_HDL_ID_1);
#endif
if (EXIF_CreateExif(EXIF_HDL_ID_1, &exif_data, &thumb_jpg) != EXIF_ER_OK) { if (EXIF_CreateExif(EXIF_HDL_ID_1, &exif_data, &thumb_jpg) != EXIF_ER_OK) {
DBG_ERR("Create Exif fail\r\n"); DBG_ERR("Create Exif fail\r\n");
exif_data.size = 0; exif_data.size = 0;
@ -6263,7 +6313,6 @@ INT32 PhotoExe_Preview_SliceEncode_CB3(void* user_data)
{ {
char* file_path = ImageApp_Photo_GetLastWriteFilePath(); char* file_path = ImageApp_Photo_GetLastWriteFilePath();
char tmp[256] = {'\0'}; char tmp[256] = {'\0'};
char tmp2[64] = {'\0'};
UINT32 length = strlen(file_path); UINT32 length = strlen(file_path);
snprintf(tmp, sizeof(tmp), "%s%s", PHOTO_THUMB_PATH, file_path + length - 12); /* DCF 8.3 naming rule */ snprintf(tmp, sizeof(tmp), "%s%s", PHOTO_THUMB_PATH, file_path + length - 12); /* DCF 8.3 naming rule */
@ -6275,7 +6324,8 @@ INT32 PhotoExe_Preview_SliceEncode_CB3(void* user_data)
FileSys_WriteFile(fp, (UINT8*)queue_ele_in->jpg_thumb_addr, &queue_ele_in->jpg_thumb_size, 0, NULL); FileSys_WriteFile(fp, (UINT8*)queue_ele_in->jpg_thumb_addr, &queue_ele_in->jpg_thumb_size, 0, NULL);
FileSys_CloseFile(fp); FileSys_CloseFile(fp);
#if HUNTING_CAMERA_MCU == ENABLE
char tmp2[64] = {'\0'};
memset(tmp, '\0', sizeof(tmp)); memset(tmp, '\0', sizeof(tmp));
snprintf(tmp, sizeof(tmp), "%s%s", SF_SD_THUMB_PATH, file_path + length - 12); /* DCF 8.3 naming rule */ snprintf(tmp, sizeof(tmp), "%s%s", SF_SD_THUMB_PATH, file_path + length - 12); /* DCF 8.3 naming rule */
snprintf(tmp + strlen(tmp) - 3, sizeof(tmp), "%s", "JPG"); snprintf(tmp + strlen(tmp) - 3, sizeof(tmp), "%s", "JPG");
@ -6289,6 +6339,7 @@ INT32 PhotoExe_Preview_SliceEncode_CB3(void* user_data)
{ {
sf_share_mem_file_down(0); sf_share_mem_file_down(0);
} }
#endif
} }
if(PhotoCapMsgCb){ if(PhotoCapMsgCb){

View File

@ -319,8 +319,12 @@ void UiDateImprint_InitBuff(void)
} }
else if ( i == DATE_IMPRINT_EVENT_SCR && g_DateImprintPool[i].pool_va == 0) { else if ( i == DATE_IMPRINT_EVENT_SCR && g_DateImprintPool[i].pool_va == 0) {
pInfo->MemSize = 0x80000; pInfo->MemSize = 0x80000;
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get(); UIMenuStoreInfo *puiPara = sf_ui_para_get();
UiDateImprint_GetStampFont(sf_get_screen_nail_width(puiPara->SendPicSize),(char**)&pFont); UiDateImprint_GetStampFont(sf_get_screen_nail_width(puiPara->SendPicSize),(char**)&pFont);
#else
UiDateImprint_GetStampFont(CFG_SCREENNAIL_W,(char**)&pFont);
#endif
#if defined(_UI_STYLE_LVGL_) #if defined(_UI_STYLE_LVGL_)
pInfo->MemSize = UIDateImprint_GetStampMemSize_LVGL((const lv_font_t *)pFont, UiDateImprint_InitStrBuf()); pInfo->MemSize = UIDateImprint_GetStampMemSize_LVGL((const lv_font_t *)pFont, UiDateImprint_InitStrBuf());
@ -424,44 +428,23 @@ void UiDateImprint_DestroyBuff(void)
} }
} }
} }
/*extern void PhotoStamp_get_isp_status(UINT32 id, char* Buf, UINT32 BufLen);
BOOL UiDateImprint_UpdateDate(char *StrBuf, UINT32 buff_len)
{
char *str;
DBG_IND("\r\n");
DateTime_Load(); extern BOOL UiDateImprint_UpdateDate(char *StrBuf, UINT32 buff_len);
switch (UI_GetData(FL_DATE_STAMP)) {
case DATEIMPRINT_DATE:
str = DateTime_MakeYMD();
PhotoStamp_get_isp_status(0,str,64);
DBG_IND("DATEIMPRINT_DATE, str=%s\r\n", str);
if (strncmp(str,StrBuf,strlen(str))) {
strncpy(StrBuf, str, buff_len - 1);
return TRUE;
}
break;
case DATEIMPRINT_DATE_TIME:
str = DateTime_MakeYMDHMS();
PhotoStamp_get_isp_status(0,str,64);
DBG_IND("DATEIMPRINT_DATE_TIME, str=%s\r\n", str);
if (strncmp(str,StrBuf,strlen(str))) {
strncpy(StrBuf, str, buff_len - 1);
return TRUE;
}
break;
default:
StrBuf[0] = 0; //Empty String
}
return FALSE;
}*/
char * UiDateImprint_InitStrBuf(void) char * UiDateImprint_InitStrBuf(void)
{ {
char *str = NULL; char *str = NULL;
DateTime_Load(); DateTime_Load();
switch (UI_GetData(FL_DATE_STAMP)) {
#if PHOTO_ISP_STAMP == ENABLE
str = DateTime_MakeYMD();
UiDateImprint_get_isp_status(0, str, DateTime_StrBuf_Size());
#else
switch (UI_GetData(FL_DATE_STAMP))
{
case DATEIMPRINT_DATE: case DATEIMPRINT_DATE:
str = DateTime_MakeYMD(); str = DateTime_MakeYMD();
break; break;
@ -472,6 +455,8 @@ char * UiDateImprint_InitStrBuf(void)
default: default:
break; break;
} }
#endif
return str; return str;
} }

View File

@ -1212,7 +1212,11 @@ INT32 SetupExe_OnPbRetractLens(VControl *pCtrl, UINT32 paramNum, UINT32 *paramAr
INT32 SetupExe_OnSysBootWorkMode(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)///Eric INT32 SetupExe_OnSysBootWorkMode(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)///Eric
{ {
UINT32 uhSelect = 0; UINT32 uhSelect = 0;
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get(); UIMenuStoreInfo *puiPara = sf_ui_para_get();
#endif
DBG_FUNC_BEGIN("\r\n"); DBG_FUNC_BEGIN("\r\n");
if (paramNum > 0) { if (paramNum > 0) {
uhSelect = paramArray[0]; uhSelect = paramArray[0];
@ -1220,7 +1224,12 @@ INT32 SetupExe_OnSysBootWorkMode(VControl *pCtrl, UINT32 paramNum, UINT32 *param
DBG_IND("uhSelect %d \r\n", uhSelect); DBG_IND("uhSelect %d \r\n", uhSelect);
#if HUNTING_CAMERA_MCU == ENABLE
puiPara->CamMode = uhSelect; puiPara->CamMode = uhSelect;
#else
UI_SetData(CamMode, uhSelect);
#endif
DBG_FUNC_END("\r\n"); DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME; return NVTEVT_CONSUME;
} }

View File

@ -147,9 +147,9 @@ static MOVIE_SIZE_ITEM g_MovieSizeTable[] = {
}, },
[MOVIE_SIZE_1920x1080P30] = { [MOVIE_SIZE_1920x1080P30] = {
{1920, 1080, 30, 200 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9}, {1920, 1080, 30, 1200 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9},
{1, 3, 36, 8, -8, 0}, {1, 3, 36, 8, -8, 0},
{1, 4, 30, 200 * 1024, 15, 26, 15, 45, 26, 15, 45, 0, 1, 8, 4}, {1, 4, 30, 1200 * 1024, 15, 26, 15, 45, 26, 15, 45, 0, 1, 8, 4},
}, },
[MOVIE_SIZE_1280x720P240] = { [MOVIE_SIZE_1280x720P240] = {
@ -171,15 +171,15 @@ static MOVIE_SIZE_ITEM g_MovieSizeTable[] = {
}, },
[MOVIE_SIZE_1280x720P30] = { [MOVIE_SIZE_1280x720P30] = {
{1280, 720, 30, 100 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9}, {1280, 720, 30, 450 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9},
{1, 3, 36, 8, -8, 0}, {1, 3, 36, 8, -8, 0},
{1, 4, 30, 100 * 1024, 15, 26, 15, 45, 26, 15, 45, 0, 1, 8, 4}, {1, 4, 30, 450 * 1024, 15, 26, 15, 45, 26, 15, 45, 0, 1, 8, 4},
}, },
[MOVIE_SIZE_848x480P30] = { [MOVIE_SIZE_848x480P30] = {
{848, 480, 30, 84 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9}, {848, 480, 30, 200 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9},
{1, 3, 36, 8, -8, 0}, {1, 3, 36, 8, -8, 0},
{1, 4, 30, 84 * 1024, 15, 26, 15, 45, 26, 15, 45, 0, 1, 8, 4}, {1, 4, 30, 200 * 1024, 15, 26, 15, 45, 26, 15, 45, 0, 1, 8, 4},
}, },
[MOVIE_SIZE_848x480P30_WIFI] = { [MOVIE_SIZE_848x480P30_WIFI] = {

View File

@ -9,10 +9,19 @@
#if(MOVIE_MODE==ENABLE) #if(MOVIE_MODE==ENABLE)
int MenuCustom_Movie(UINT32 uiMessage, UINT32 uiParam) int MenuCustom_Movie(UINT32 uiMessage, UINT32 uiParam)
{ {
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get(); UIMenuStoreInfo *puiPara = sf_ui_para_get();
#endif
printf("%s:%d uiParam :%d\n", __FUNCTION__, __LINE__,uiParam); printf("%s:%d uiParam :%d\n", __FUNCTION__, __LINE__,uiParam);
if (System_GetState(SYS_STATE_CURRMODE) != PRIMARY_MODE_MOVIE) { if (System_GetState(SYS_STATE_CURRMODE) != PRIMARY_MODE_MOVIE) {
#if HUNTING_CAMERA_MCU == ENABLE
puiPara->CamMode = SF_CAM_MODE_VIDEO; puiPara->CamMode = SF_CAM_MODE_VIDEO;
#else
SysSetFlag(CamMode, SF_CAM_MODE_VIDEO);
#endif
Ux_SendEvent(0, NVTEVT_SYSTEM_MODE, 1, PRIMARY_MODE_MOVIE); Ux_SendEvent(0, NVTEVT_SYSTEM_MODE, 1, PRIMARY_MODE_MOVIE);
} else { } else {
lv_plugin_scr_close(UIFlowMenuCommonItem, NULL); lv_plugin_scr_close(UIFlowMenuCommonItem, NULL);
@ -21,24 +30,38 @@ int MenuCustom_Movie(UINT32 uiMessage, UINT32 uiParam)
} }
int MenuCustom_Movie_Photo(UINT32 uiMessage, UINT32 uiParam) int MenuCustom_Movie_Photo(UINT32 uiMessage, UINT32 uiParam)
{ {
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get(); UIMenuStoreInfo *puiPara = sf_ui_para_get();
#endif
printf("%s:%d uiParam :%d\n", __FUNCTION__, __LINE__,uiParam); printf("%s:%d uiParam :%d\n", __FUNCTION__, __LINE__,uiParam);
if (System_GetState(SYS_STATE_CURRMODE) != PRIMARY_MODE_PHOTO) { if (System_GetState(SYS_STATE_CURRMODE) != PRIMARY_MODE_PHOTO) {
Ux_SendEvent(0, NVTEVT_SYSTEM_MODE, 1, PRIMARY_MODE_PHOTO); Ux_SendEvent(0, NVTEVT_SYSTEM_MODE, 1, PRIMARY_MODE_PHOTO);
} else { } else {
lv_plugin_scr_close(UIFlowMenuCommonItem, NULL); lv_plugin_scr_close(UIFlowMenuCommonItem, NULL);
} }
#if HUNTING_CAMERA_MCU == ENABLE
puiPara->CamMode = SF_CAM_MODE_PHOTO_VIDEO; puiPara->CamMode = SF_CAM_MODE_PHOTO_VIDEO;
#endif
return TMF_PROCESSED; return TMF_PROCESSED;
} }
#endif #endif
#if(PHOTO_MODE==ENABLE) #if(PHOTO_MODE==ENABLE)
int MenuCustom_Photo(UINT32 uiMessage, UINT32 uiParam) int MenuCustom_Photo(UINT32 uiMessage, UINT32 uiParam)
{ {
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get(); UIMenuStoreInfo *puiPara = sf_ui_para_get();
#endif
printf("%s:%d uiParam :%d\n", __FUNCTION__, __LINE__,uiParam); printf("%s:%d uiParam :%d\n", __FUNCTION__, __LINE__,uiParam);
if (System_GetState(SYS_STATE_CURRMODE) != PRIMARY_MODE_PHOTO) { if (System_GetState(SYS_STATE_CURRMODE) != PRIMARY_MODE_PHOTO) {
#if HUNTING_CAMERA_MCU == ENABLE
puiPara->CamMode = SF_CAM_MODE_PHOTO; puiPara->CamMode = SF_CAM_MODE_PHOTO;
#else
SysSetFlag(CamMode, SF_CAM_MODE_PHOTO);
#endif
Ux_SendEvent(0, NVTEVT_SYSTEM_MODE, 1, PRIMARY_MODE_PHOTO); Ux_SendEvent(0, NVTEVT_SYSTEM_MODE, 1, PRIMARY_MODE_PHOTO);
} else { } else {
lv_plugin_scr_close(UIFlowMenuCommonItem, NULL); lv_plugin_scr_close(UIFlowMenuCommonItem, NULL);

View File

@ -4,6 +4,7 @@
#include "UIFlowLVGL/UIFlowLVGL.h" #include "UIFlowLVGL/UIFlowLVGL.h"
#include "UIFlowLVGL/UIFlowWrnMsg/UIFlowWrnMsgAPI.h" #include "UIFlowLVGL/UIFlowWrnMsg/UIFlowWrnMsgAPI.h"
#include <kwrap/debug.h> #include <kwrap/debug.h>
#include "SysMain.h"
#if (USE_DCF == ENABLE) #if (USE_DCF == ENABLE)
#include "DCF.h" #include "DCF.h"
#endif #endif
@ -267,8 +268,14 @@ static void update_battery(void)
LV_PLUGIN_IMG_ID_ICON_BATTERY_CHARGE LV_PLUGIN_IMG_ID_ICON_BATTERY_CHARGE
}; };
/* user should call a function to get battery level here */ /* user should call a function to get battery level here */
#if HUNTING_CAMERA_MCU == ENABLE
lv_plugin_img_set_src(image_battery_scr_uiflowmovie, res[sf_battery_level_get()]); lv_plugin_img_set_src(image_battery_scr_uiflowmovie, res[sf_battery_level_get()]);
#else
lv_plugin_img_set_src(image_battery_scr_uiflowmovie, res[0]);
#endif
} }
@ -449,7 +456,10 @@ static void set_indev_keypad_group(lv_obj_t* obj)
static void UIFlowMovie_ScrOpen(lv_obj_t* obj) static void UIFlowMovie_ScrOpen(lv_obj_t* obj)
{ {
DBG_DUMP("%s\r\n", __func__); DBG_DUMP("%s\r\n", __func__);
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get(); UIMenuStoreInfo *puiPara = sf_ui_para_get();
#endif
set_indev_keypad_group(obj); set_indev_keypad_group(obj);
@ -503,7 +513,11 @@ static void UIFlowMovie_ScrOpen(lv_obj_t* obj)
} }
} }
//#NT#2018/08/10#KCHong -end //#NT#2018/08/10#KCHong -end
#if HUNTING_CAMERA_MCU == ENABLE
if(puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO) if(puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO)
#else
if(SysGetFlag(CamMode) == SF_CAM_MODE_PHOTO_VIDEO)
#endif
{ {
UIFlowMovie_OnExeRecord(obj); UIFlowMovie_OnExeRecord(obj);
} }
@ -1120,7 +1134,9 @@ static void UIFlowMovie_KeyRelease(lv_obj_t* obj, uint32_t key)
static void UIFlowMovie_NVTMSG(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg) static void UIFlowMovie_NVTMSG(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg)
{ {
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get(); UIMenuStoreInfo *puiPara = sf_ui_para_get();
#endif
switch(msg->event) switch(msg->event)
{ {
@ -1139,7 +1155,13 @@ static void UIFlowMovie_NVTMSG(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* m
{ {
set_rec_status(false); set_rec_status(false);
UIFlowMovie_REC_FINISH(obj,msg); UIFlowMovie_REC_FINISH(obj,msg);
#if HUNTING_CAMERA_MCU == ENABLE
if(puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO){ if(puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO){
#else
if(SysGetFlag(CamMode) == SF_CAM_MODE_PHOTO_VIDEO){
#endif
int iCurrMode = System_GetState(SYS_STATE_CURRMODE); int iCurrMode = System_GetState(SYS_STATE_CURRMODE);
int iNextMode = PRIMARY_MODE_PHOTO; int iNextMode = PRIMARY_MODE_PHOTO;
UI_SetData(FL_PreMode, iCurrMode); UI_SetData(FL_PreMode, iCurrMode);

View File

@ -547,7 +547,7 @@ lv_obj_t* UIFlowPhoto_create(){
lv_plugin_label_allocate_ext_attr(label_free_pic); lv_plugin_label_allocate_ext_attr(label_free_pic);
lv_plugin_label_set_font_type(label_free_pic, LV_PLUGIN_LANGUAGE_FONT_TYPE_0); lv_plugin_label_set_font_type(label_free_pic, LV_PLUGIN_LANGUAGE_FONT_TYPE_0);
lv_label_set_align(label_free_pic, LV_LABEL_ALIGN_RIGHT); lv_label_set_align(label_free_pic, LV_LABEL_ALIGN_RIGHT);
lv_label_set_long_mode(label_free_pic, LV_LABEL_LONG_SROLL_CIRC); lv_label_set_long_mode(label_free_pic, LV_LABEL_LONG_CROP);
lv_obj_set_pos(label_free_pic, 174, 40); lv_obj_set_pos(label_free_pic, 174, 40);
lv_obj_set_size(label_free_pic, 135, 19); lv_obj_set_size(label_free_pic, 135, 19);
lv_obj_add_style(label_free_pic, 0, &label_free_pic_s0); lv_obj_add_style(label_free_pic, 0, &label_free_pic_s0);

View File

@ -12,6 +12,7 @@
#include "UIApp/Photo/UIAppPhoto.h" #include "UIApp/Photo/UIAppPhoto.h"
#include "exif/Exif.h" #include "exif/Exif.h"
#include <kwrap/util.h> #include <kwrap/util.h>
#include "SysMain.h"
#if (USE_DCF == ENABLE) #if (USE_DCF == ENABLE)
#include "DCF.h" #include "DCF.h"
@ -260,20 +261,16 @@ static void update_battery(void)
LV_PLUGIN_IMG_ID_ICON_BATTERY_EMPTY, LV_PLUGIN_IMG_ID_ICON_BATTERY_EMPTY,
LV_PLUGIN_IMG_ID_ICON_BATTERY_ZERO, LV_PLUGIN_IMG_ID_ICON_BATTERY_ZERO,
LV_PLUGIN_IMG_ID_ICON_BATTERY_CHARGE LV_PLUGIN_IMG_ID_ICON_BATTERY_CHARGE
};/* };
static lv_plugin_res_id res[] = {
LV_PLUGIN_IMG_ID_ICON_BATTERY_CHARGE,
LV_PLUGIN_IMG_ID_ICON_BATTERY_ZERO,
LV_PLUGIN_IMG_ID_ICON_BATTERY_EMPTY,
LV_PLUGIN_IMG_ID_ICON_BATTERY_LOW,
LV_PLUGIN_IMG_ID_ICON_BATTERY_MED,
LV_PLUGIN_IMG_ID_ICON_BATTERY_FULL
};*/
/* user should call a function to get battery level here */ /* user should call a function to get battery level here */
//lv_plugin_img_set_src(image_battery_scr_uiflowphoto, res[GetBatteryLevel()]); #if HUNTING_CAMERA_MCU == ENABLE
lv_plugin_img_set_src(image_battery_scr_uiflowphoto, res[sf_battery_level_get()]); lv_plugin_img_set_src(image_battery_scr_uiflowphoto, res[sf_battery_level_get()]);
#else
lv_plugin_img_set_src(image_battery_scr_uiflowphoto, res[GetBatteryLevel()]);
#endif
} }
static void update_fd(void) static void update_fd(void)
@ -439,7 +436,7 @@ static void UIFlowPhoto_OnExeCaptureStop(lv_obj_t* obj)
static void UIFlowPhoto_OnExeCaptureStart(lv_obj_t* obj) static void UIFlowPhoto_OnExeCaptureStart(lv_obj_t* obj)
{ {
CHKPNT;
switch (gPhotoData.State) { switch (gPhotoData.State) {
case PHOTO_ST_VIEW: case PHOTO_ST_VIEW:
//#NT#2018/12/13#hilex Lin -begin //#NT#2018/12/13#hilex Lin -begin
@ -455,7 +452,6 @@ static void UIFlowPhoto_OnExeCaptureStart(lv_obj_t* obj)
// unlock AE/AWB // unlock AE/AWB
FlowPhoto_InitStartupFuncs(); FlowPhoto_InitStartupFuncs();
CHKPNT;
/* Set to preview mode */ /* Set to preview mode */
FlowPhoto_UI_Show(UI_SHOW_PREVIEW, TRUE); FlowPhoto_UI_Show(UI_SHOW_PREVIEW, TRUE);
@ -580,7 +576,6 @@ static void UIFlowPhoto_OnExeCaptureStart(lv_obj_t* obj)
// UxCtrl_SetAllChildShow(pCtrl, FALSE); // UxCtrl_SetAllChildShow(pCtrl, FALSE);
gPhotoData.State = PHOTO_ST_CAPTURE; // enter capture state gPhotoData.State = PHOTO_ST_CAPTURE; // enter capture state
CHKPNT;
FlowPhoto_DoCapture(); // do capture directly FlowPhoto_DoCapture(); // do capture directly
break; break;
} }
@ -927,6 +922,7 @@ static void UIFlowPhoto_OnQVStart(void)
if (task_qview == NULL) { if (task_qview == NULL) {
/* Resume only S2 key while quick view timer started */ /* Resume only S2 key while quick view timer started */
// Input_SetKeyMask(KEY_PRESS, FLGKEY_SHUTTER2);
// g_uiQviewTimerID = GxTimer_StartTimer(100, NVTEVT_01SEC_TIMER, CONTINUE); // g_uiQviewTimerID = GxTimer_StartTimer(100, NVTEVT_01SEC_TIMER, CONTINUE);
task_qview = lv_task_create(task_qview_cb, 100, LV_TASK_PRIO_MID, NULL); task_qview = lv_task_create(task_qview_cb, 100, LV_TASK_PRIO_MID, NULL);
} }
@ -1034,7 +1030,10 @@ static void task_selftimer_cb(lv_task_t* task)
void UIFlowPhoto_UpdateInfo(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg) void UIFlowPhoto_UpdateInfo(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg)
{ {
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get(); UIMenuStoreInfo *puiPara = sf_ui_para_get();
#endif
if(msg == NULL){ if(msg == NULL){
DBG_ERR("msg is NULL!\r\n"); DBG_ERR("msg is NULL!\r\n");
return; return;
@ -1074,7 +1073,11 @@ void UIFlowPhoto_UpdateInfo(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg)
lv_obj_set_hidden(obj, false); lv_obj_set_hidden(obj, false);
UIFlowPhoto_BackPreviewHandle(); UIFlowPhoto_BackPreviewHandle();
#if HUNTING_CAMERA_MCU == ENABLE
if(puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO){ if(puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO){
#else
if(SysGetFlag(CamMode) == SF_CAM_MODE_PHOTO_VIDEO){
#endif
int iCurrMode = System_GetState(SYS_STATE_CURRMODE); int iCurrMode = System_GetState(SYS_STATE_CURRMODE);
int iNextMode = PRIMARY_MODE_MOVIE; int iNextMode = PRIMARY_MODE_MOVIE;
UI_SetData(FL_PreMode, iCurrMode); UI_SetData(FL_PreMode, iCurrMode);
@ -1147,7 +1150,8 @@ static void UIFlowPhoto_NVTMSG(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* m
case NVTEVT_BACKGROUND_DONE: case NVTEVT_BACKGROUND_DONE:
{ {
NVTEVT message=msg->paramArray[ONDONE_PARAM_INDEX_CMD]; NVTEVT message=msg->paramArray[ONDONE_PARAM_INDEX_CMD];
switch (message) { switch (message)
{
case NVTEVT_BKW_INIT_FILESYS: case NVTEVT_BKW_INIT_FILESYS:
{ {
g_PhotoBgInitFileSys = TRUE; g_PhotoBgInitFileSys = TRUE;
@ -1155,6 +1159,7 @@ static void UIFlowPhoto_NVTMSG(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* m
} }
break; break;
default: default:
break; break;
} }
@ -1176,7 +1181,6 @@ static void UIFlowPhoto_Key(lv_obj_t* obj, uint32_t key)
{ {
case LV_USER_KEY_SHUTTER2: case LV_USER_KEY_SHUTTER2:
{ {
CHKPNT;
UIFlowPhoto_OnExeCaptureStart(obj); UIFlowPhoto_OnExeCaptureStart(obj);
break; break;
} }
@ -1194,20 +1198,17 @@ static void UIFlowPhoto_Key(lv_obj_t* obj, uint32_t key)
case LV_USER_KEY_PREV: case LV_USER_KEY_PREV:
case LV_USER_KEY_ZOOMOUT: case LV_USER_KEY_ZOOMOUT:
{ {
CHKPNT;
UIFlowPhoto_OnExeZoomOutStart(obj); UIFlowPhoto_OnExeZoomOutStart(obj);
break; break;
} }
case LV_USER_KEY_MENU: case LV_USER_KEY_MENU:
{ {
CHKPNT;
UIFlowPhoto_OnKeyMenu(obj); UIFlowPhoto_OnKeyMenu(obj);
break; break;
} }
case LV_USER_KEY_CALIBRATION: case LV_USER_KEY_CALIBRATION:
CHKPNT;
UIFlowPhoto_OnKeyCalibration(obj); UIFlowPhoto_OnKeyCalibration(obj);
break; break;
#if HUNTING_CAMERA_MCU == ENABLE #if HUNTING_CAMERA_MCU == ENABLE

View File

@ -9,7 +9,7 @@
#include "exif/ExifDef.h" #include "exif/ExifDef.h"
#include "UIApp/ExifVendor.h" #include "UIApp/ExifVendor.h"
#include "BinaryFormat.h" #include "BinaryFormat.h"
#include "SysMain.h"
#include "ImageApp/ImageApp_MoviePlay.h" #include "ImageApp/ImageApp_MoviePlay.h"
#include "UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.h" #include "UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.h"
#include "UIFlowLVGL/UIFlowWrnMsg/UIFlowWrnMsgAPI.h" #include "UIFlowLVGL/UIFlowWrnMsg/UIFlowWrnMsgAPI.h"

View File

@ -37,7 +37,7 @@ extern char *DateTime_MakeYMDHM_Edit(void);
extern char *DateTime_MakeYMDHMS(void); extern char *DateTime_MakeYMDHMS(void);
extern char *User_MakeYMDHM(UINT32 Year, UINT32 Month, UINT32 Day, UINT32 Hour, UINT32 Minute); extern char *User_MakeYMDHM(UINT32 Year, UINT32 Month, UINT32 Day, UINT32 Hour, UINT32 Minute);
extern char *User_MakeYMDHM_short(UINT32 Year, UINT32 Month, UINT32 Day, UINT32 Hour, UINT32 Minute); extern char *User_MakeYMDHM_short(UINT32 Year, UINT32 Month, UINT32 Day, UINT32 Hour, UINT32 Minute);
extern UINT32 DateTime_StrBuf_Size(void);
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// World Time Zone // World Time Zone
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@ -453,21 +453,21 @@ void Load_MenuInfo(void)
//#NT#porting KS's suggestion that PStore reset mechanism //#NT#porting KS's suggestion that PStore reset mechanism
UINT32 uiPsFreeSpace = PStore_GetInfo(PS_INFO_FREE_SPACE); UINT32 uiPsFreeSpace = PStore_GetInfo(PS_INFO_FREE_SPACE);
result = PStore_ReadSection((UINT8 *)&currentInfo, 0, sizeof(UIMenuStoreInfo), pSection); result = PStore_ReadSection((UINT8 *)&currentInfo, 0, sizeof(UIMenuStoreInfo), pSection);
if ((result != E_PS_OK || currentInfo.uhInfoSize != sizeof(UIMenuStoreInfo)|| uiFWUpdate) && if ((result != E_PS_OK || currentInfo.uhInfoSize != sizeof(currentInfo)|| uiFWUpdate) &&
uiPsFreeSpace) { uiPsFreeSpace) {
DBG_DUMP("PStore reset info.\r\n"); DBG_DUMP("PStore reset info.\r\n");
memset(&currentInfo, 0, sizeof(UIMenuStoreInfo)); memset(&currentInfo, 0, sizeof(currentInfo));
currentInfo.uhInfoSize = sizeof(UIMenuStoreInfo); currentInfo.uhInfoSize = sizeof(UIMenuStoreInfo);
SysResetFlag(); SysResetFlag();
PStore_WriteSection((UINT8 *)&currentInfo, 0, sizeof(UIMenuStoreInfo), pSection); PStore_WriteSection((UINT8 *)&currentInfo, 0, sizeof(UIMenuStoreInfo), pSection);
PStore_CloseSection(pSection); PStore_CloseSection(pSection);
} else if ((result != E_PS_OK|| uiFWUpdate) && (currentInfo.uhInfoSize == sizeof(UIMenuStoreInfo)) && } else if ((result != E_PS_OK|| uiFWUpdate) && (currentInfo.uhInfoSize == sizeof(currentInfo)) &&
(uiPsFreeSpace == 0)) { (uiPsFreeSpace == 0)) {
//if current size is the same with previous, use PS_UPDATE instead //if current size is the same with previous, use PS_UPDATE instead
//of PS_RDWR to prevent that PStore is no free space //of PS_RDWR to prevent that PStore is no free space
DBG_DUMP("PStore reset info for uiPsFreeSpace=0.\r\n"); DBG_DUMP("PStore reset info for uiPsFreeSpace=0.\r\n");
PStore_CloseSection(pSection); PStore_CloseSection(pSection);
memset(&currentInfo, 0, sizeof(UIMenuStoreInfo)); memset(&currentInfo, 0, sizeof(currentInfo));
currentInfo.uhInfoSize = sizeof(UIMenuStoreInfo); currentInfo.uhInfoSize = sizeof(UIMenuStoreInfo);
SysResetFlag(); SysResetFlag();
if ((pSection = PStore_OpenSection(PS_SYS_PARAM, PS_UPDATE)) != E_PS_SECHDLER) { if ((pSection = PStore_OpenSection(PS_SYS_PARAM, PS_UPDATE)) != E_PS_SECHDLER) {
@ -498,12 +498,15 @@ void Load_MenuInfo(void)
if(Check_OTA() == TRUE){ if(Check_OTA() == TRUE){
DBG_DUMP("OTA success, reset system param\n"); DBG_DUMP("OTA success, reset system param\n");
printf("OTA success, reset system param\n");
SysResetFlag(); SysResetFlag();
#if HUNTING_CAMERA_MCU == ENABLE
if(sf_is_usb_flag()) if(sf_is_usb_flag())
{ {
Save_MenuInfo(); Save_MenuInfo();
} }
#endif
return; return;
} }
@ -516,13 +519,13 @@ void Load_MenuInfo(void)
void *pTempbuf = NULL; void *pTempbuf = NULL;
ret = UIInfo_GetStrgPartitionInfo(&partition_ofs, &partition_size, PARTITION_PATH_USR1); ret = UIInfo_GetStrgPartitionInfo(&partition_ofs, &partition_size, PARTITION_PATH_USR1);
if ((ret == 0) && (sizeof(UIMenuStoreInfo) < partition_size)) { if ((ret == 0) && (sizeof(currentInfo) < partition_size)) {
if ((sizeof(UIMenuStoreInfo)/_EMBMEM_BLK_SIZE_) == 0) { if ((sizeof(currentInfo)/_EMBMEM_BLK_SIZE_) == 0) {
sectorCnt = 1; sectorCnt = 1;
} else if (((sizeof(UIMenuStoreInfo)/_EMBMEM_BLK_SIZE_) > 0) && ((sizeof(UIMenuStoreInfo)%_EMBMEM_BLK_SIZE_) != 0)) { } else if (((sizeof(currentInfo)/_EMBMEM_BLK_SIZE_) > 0) && ((sizeof(currentInfo)%_EMBMEM_BLK_SIZE_) != 0)) {
sectorCnt = sizeof(UIMenuStoreInfo)/_EMBMEM_BLK_SIZE_ + 1; sectorCnt = sizeof(currentInfo)/_EMBMEM_BLK_SIZE_ + 1;
} else if (((sizeof(UIMenuStoreInfo)/_EMBMEM_BLK_SIZE_) > 0) && ((sizeof(UIMenuStoreInfo)%_EMBMEM_BLK_SIZE_) == 0)) { } else if (((sizeof(currentInfo)/_EMBMEM_BLK_SIZE_) > 0) && ((sizeof(currentInfo)%_EMBMEM_BLK_SIZE_) == 0)) {
sectorCnt = sizeof(UIMenuStoreInfo)/_EMBMEM_BLK_SIZE_; sectorCnt = sizeof(currentInfo)/_EMBMEM_BLK_SIZE_;
} }
if ((fd_mmc = fopen("/dev/mmcblk2p14", "rb")) == NULL) { ///dev/mmcblk2p14 ==> partition_usr1 ; cat /proc/nvt_info/emmc if ((fd_mmc = fopen("/dev/mmcblk2p14", "rb")) == NULL) { ///dev/mmcblk2p14 ==> partition_usr1 ; cat /proc/nvt_info/emmc
@ -536,12 +539,12 @@ void Load_MenuInfo(void)
DBG_ERR("allocate pTempbuf fail !!\r\n"); DBG_ERR("allocate pTempbuf fail !!\r\n");
SysResetFlag(); SysResetFlag();
} else { } else {
rw_len = (INT32)fread(pTempbuf, 1, sizeof(UIMenuStoreInfo), fd_mmc); rw_len = (INT32)fread(pTempbuf, 1, sizeof(currentInfo), fd_mmc);
if (rw_len != sizeof(UIMenuStoreInfo)) { if (rw_len != sizeof(currentInfo)) {
DBG_ERR("read size %d < %ld\r\n", rw_len, sizeof(UIMenuStoreInfo)); DBG_ERR("read size %d < %ld\r\n", rw_len, sizeof(currentInfo));
SysResetFlag(); SysResetFlag();
} else { } else {
memcpy(&currentInfo, pTempbuf, sizeof(UIMenuStoreInfo)); memcpy(&currentInfo, pTempbuf, sizeof(currentInfo));
} }
free(pTempbuf); free(pTempbuf);
pTempbuf = NULL; pTempbuf = NULL;
@ -564,10 +567,10 @@ void Load_MenuInfo(void)
char cmd[128] = {0}; char cmd[128] = {0};
char filename[128] = {0}; char filename[128] = {0};
sectorCnt = (sizeof(UIMenuStoreInfo) / _EMBMEM_BLK_SIZE_) + (sizeof(UIMenuStoreInfo) % _EMBMEM_BLK_SIZE_)? 1 : 0; sectorCnt = (sizeof(currentInfo) / _EMBMEM_BLK_SIZE_) + (sizeof(currentInfo) % _EMBMEM_BLK_SIZE_)? 1 : 0;
ret = UIInfo_GetStrgPartitionInfo(&partition_ofs, &partition_size, PARTITION_PATH_SYS); ret = UIInfo_GetStrgPartitionInfo(&partition_ofs, &partition_size, PARTITION_PATH_SYS);
if ((ret == 0) && (sizeof(UIMenuStoreInfo) < partition_size)) { if ((ret == 0) && (sizeof(currentInfo) < partition_size)) {
char sys_mtd_dev_path[128] = {'\0'}; char sys_mtd_dev_path[128] = {'\0'};
ret = find_sys_mtd_device(sys_mtd_dev_path, sizeof(sys_mtd_dev_path)); ret = find_sys_mtd_device(sys_mtd_dev_path, sizeof(sys_mtd_dev_path));
@ -612,13 +615,13 @@ void Load_MenuInfo(void)
goto EXIT; goto EXIT;
} }
if(((UIMenuStoreInfo*)tmpInfo)->uhInfoSize == sizeof(UIMenuStoreInfo)){ if(((UIMenuStoreInfo*)tmpInfo)->uhInfoSize == sizeof(currentInfo)){
memcpy(&currentInfo, tmpInfo, sizeof(UIMenuStoreInfo)); memcpy(&currentInfo, tmpInfo, sizeof(currentInfo));
} }
else{ else{
DBG_WRN("menu info size loaded from flash seems incorrect, reset menu info\n"); DBG_WRN("menu info size loaded from flash seems incorrect, reset menu info\n");
SysResetFlag(); SysResetFlag();
currentInfo.uhInfoSize = sizeof(UIMenuStoreInfo); currentInfo.uhInfoSize = sizeof(currentInfo);
} }
} }
@ -626,7 +629,7 @@ EXIT:
if(ret){ if(ret){
SysResetFlag(); SysResetFlag();
currentInfo.uhInfoSize = sizeof(UIMenuStoreInfo); currentInfo.uhInfoSize = sizeof(currentInfo);
} }
SysCheckFlag(); SysCheckFlag();
origInfo = currentInfo; origInfo = currentInfo;
@ -642,8 +645,6 @@ EXIT:
} }
#elif defined(_EMBMEM_SPI_NOR_) #elif defined(_EMBMEM_SPI_NOR_)
printf("%s:%d cardv app load ui info s\n", __FUNCTION__, __LINE__);
unsigned long long partition_ofs= 0, partition_size = 0; unsigned long long partition_ofs= 0, partition_size = 0;
int ret = -1; int ret = -1;
FILE *sys_mtd_fp = NULL; FILE *sys_mtd_fp = NULL;
@ -652,10 +653,10 @@ EXIT:
void *tmpInfo = NULL; void *tmpInfo = NULL;
size_t read_size; size_t read_size;
sectorCnt = (sizeof(UIMenuStoreInfo) / _EMBMEM_BLK_SIZE_) + (sizeof(UIMenuStoreInfo) % _EMBMEM_BLK_SIZE_)? 1 : 0; sectorCnt = (sizeof(currentInfo) / _EMBMEM_BLK_SIZE_) + (sizeof(currentInfo) % _EMBMEM_BLK_SIZE_)? 1 : 0;
ret = UIInfo_GetStrgPartitionInfo(&partition_ofs, &partition_size, PARTITION_PATH_SYS); ret = UIInfo_GetStrgPartitionInfo(&partition_ofs, &partition_size, PARTITION_PATH_SYS);
if ((ret == 0) && (sizeof(UIMenuStoreInfo) < partition_size)) { if ((ret == 0) && (sizeof(currentInfo) < partition_size)) {
char sys_mtd_dev_path[128] = {'\0'}; char sys_mtd_dev_path[128] = {'\0'};
ret = find_sys_mtd_device(sys_mtd_dev_path, sizeof(sys_mtd_dev_path)); ret = find_sys_mtd_device(sys_mtd_dev_path, sizeof(sys_mtd_dev_path));
@ -686,22 +687,24 @@ EXIT:
goto EXIT; goto EXIT;
} }
if(((UIMenuStoreInfo*)tmpInfo)->uhInfoSize == sizeof(UIMenuStoreInfo)){ if(((UIMenuStoreInfo*)tmpInfo)->uhInfoSize == sizeof(currentInfo)){
memcpy(&currentInfo, tmpInfo, sizeof(UIMenuStoreInfo)); memcpy(&currentInfo, tmpInfo, sizeof(currentInfo));
} }
else{ else{
DBG_WRN("menu info size loaded from flash seems incorrect(old:%lu new:%lu), reset menu info\n", DBG_WRN("menu info size loaded from flash seems incorrect(old:%lu new:%lu), reset menu info\n",
((UIMenuStoreInfo*)tmpInfo)->uhInfoSize, ((UIMenuStoreInfo*)tmpInfo)->uhInfoSize,
sizeof(UIMenuStoreInfo) sizeof(currentInfo)
); );
SysResetFlag(); SysResetFlag();
currentInfo.uhInfoSize = sizeof(UIMenuStoreInfo); currentInfo.uhInfoSize = sizeof(currentInfo);
#if HUNTING_CAMERA_MCU == ENABLE
sf_share_mem_customer_down(0); sf_share_mem_customer_down(0);
#endif
} }
UINT32 sum = MemCheck_CalcCheckSum16Bit((UINT32)tmpInfo, sizeof(UIMenuStoreInfo)); UINT32 sum = MemCheck_CalcCheckSum16Bit((UINT32)tmpInfo, sizeof(currentInfo));
DBG_DUMP("**************size = %lx / sum = %lx **************\n", DBG_DUMP("**************size = %lx / sum = %lx **************\n",
sizeof(UIMenuStoreInfo), sizeof(currentInfo),
//((UIMenuStoreInfo*)tmpInfo)->UIParameter[FL_MOVIE_SIZE], //((UIMenuStoreInfo*)tmpInfo)->UIParameter[FL_MOVIE_SIZE],
//((UIMenuStoreInfo*)tmpInfo)->UIParameter[CamMode], //((UIMenuStoreInfo*)tmpInfo)->UIParameter[CamMode],
sum); sum);
@ -711,8 +714,11 @@ EXIT:
if(ret){ if(ret){
SysResetFlag(); SysResetFlag();
currentInfo.uhInfoSize = sizeof(UIMenuStoreInfo); currentInfo.uhInfoSize = sizeof(currentInfo);
#if HUNTING_CAMERA_MCU == ENABLE
sf_share_mem_customer_down(0); sf_share_mem_customer_down(0);
#endif
} }
SysCheckFlag(); SysCheckFlag();
origInfo = currentInfo; origInfo = currentInfo;
@ -894,12 +900,12 @@ void Save_MenuInfo(void)
INT32 rw_len = 0; INT32 rw_len = 0;
ret = UIInfo_GetStrgPartitionInfo(&partition_ofs, &partition_size, PARTITION_PATH_USR1); ret = UIInfo_GetStrgPartitionInfo(&partition_ofs, &partition_size, PARTITION_PATH_USR1);
if ((ret == 0) && (sizeof(UIMenuStoreInfo) < partition_size)) { if ((ret == 0) && (sizeof(currentInfo) < partition_size)) {
if ((fd_mmc = fopen("/dev/mmcblk2p14", "wb")) == NULL) { ///dev/mmcblk2p14 ==> partition_usr1 ; cat /proc/nvt_info/emmc if ((fd_mmc = fopen("/dev/mmcblk2p14", "wb")) == NULL) { ///dev/mmcblk2p14 ==> partition_usr1 ; cat /proc/nvt_info/emmc
DBG_ERR("/dev/mmcblk2p14 fail !!\r\n"); DBG_ERR("/dev/mmcblk2p14 fail !!\r\n");
} else { } else {
rw_len = fwrite(&currentInfo, 1, sizeof(UIMenuStoreInfo), fd_mmc); rw_len = fwrite(&currentInfo, 1, sizeof(currentInfo), fd_mmc);
if(rw_len != sizeof(UIMenuStoreInfo)) { if(rw_len != sizeof(currentInfo)) {
DBG_ERR("Error to write file for /dev/mmcblk2p14"); DBG_ERR("Error to write file for /dev/mmcblk2p14");
} }
fclose(fd_mmc);; fclose(fd_mmc);;
@ -908,8 +914,8 @@ void Save_MenuInfo(void)
if ((fd_mmc = fopen("/dev/mmcblk2p15", "wb")) == NULL) { ///dev/mmcblk2p14 ==> partition_usr2 ; cat /proc/nvt_info/emmc if ((fd_mmc = fopen("/dev/mmcblk2p15", "wb")) == NULL) { ///dev/mmcblk2p14 ==> partition_usr2 ; cat /proc/nvt_info/emmc
DBG_ERR("/dev/mmcblk2p14 fail !!\r\n"); DBG_ERR("/dev/mmcblk2p14 fail !!\r\n");
} else { } else {
rw_len = fwrite(&currentInfo, 1, sizeof(UIMenuStoreInfo), fd_mmc); rw_len = fwrite(&currentInfo, 1, sizeof(currentInfo), fd_mmc);
if(rw_len != sizeof(UIMenuStoreInfo)) { if(rw_len != sizeof(currentInfo)) {
DBG_ERR("Error to write file for /dev/mmcblk2p14"); DBG_ERR("Error to write file for /dev/mmcblk2p14");
} }
fclose(fd_mmc); fclose(fd_mmc);
@ -931,15 +937,15 @@ void Save_MenuInfo(void)
SysCheckFlag(); SysCheckFlag();
/* check if sys param changed */ /* check if sys param changed */
if(memcmp(&currentInfo, &origInfo, sizeof(UIMenuStoreInfo)) == 0){ if(memcmp(&currentInfo, &origInfo, sizeof(currentInfo)) == 0){
DBG_DUMP("menu info is not changed\n"); DBG_DUMP("menu info is not changed\n");
goto EXIT; goto EXIT;
} }
sectorCnt = (sizeof(UIMenuStoreInfo) / _EMBMEM_BLK_SIZE_) + ((sizeof(UIMenuStoreInfo) % _EMBMEM_BLK_SIZE_)? 1 : 0); sectorCnt = (sizeof(currentInfo) / _EMBMEM_BLK_SIZE_) + ((sizeof(currentInfo) % _EMBMEM_BLK_SIZE_)? 1 : 0);
ret = UIInfo_GetStrgPartitionInfo(&partition_ofs, &partition_size, PARTITION_PATH_SYS); ret = UIInfo_GetStrgPartitionInfo(&partition_ofs, &partition_size, PARTITION_PATH_SYS);
if ((ret == 0) && (sizeof(UIMenuStoreInfo) < partition_size)) { if ((ret == 0) && (sizeof(currentInfo) < partition_size)) {
char sys_mtd_dev_path[128] = {'\0'}; char sys_mtd_dev_path[128] = {'\0'};
ret = find_sys_mtd_device(sys_mtd_dev_path, sizeof(sys_mtd_dev_path)); ret = find_sys_mtd_device(sys_mtd_dev_path, sizeof(sys_mtd_dev_path));
if(ret){ if(ret){
@ -962,8 +968,8 @@ void Save_MenuInfo(void)
} }
memset(tmpInfo, 0xFF, write_size); /* keep remain data 0xFF to avoid write flash */ memset(tmpInfo, 0xFF, write_size); /* keep remain data 0xFF to avoid write flash */
currentInfo.uhInfoSize = sizeof(UIMenuStoreInfo); currentInfo.uhInfoSize = sizeof(currentInfo);
memcpy(tmpInfo, &currentInfo, sizeof(UIMenuStoreInfo)); memcpy(tmpInfo, &currentInfo, sizeof(currentInfo));
sprintf(filename, "nandwrite.in"); sprintf(filename, "nandwrite.in");
nandwrite_fp = fopen(filename, "wb"); nandwrite_fp = fopen(filename, "wb");
if(!nandwrite_fp){ if(!nandwrite_fp){
@ -1022,15 +1028,15 @@ EXIT:
SysCheckFlag(); SysCheckFlag();
/* check if sys param changed */ /* check if sys param changed */
if(memcmp(&currentInfo, &origInfo, sizeof(UIMenuStoreInfo)) == 0){ if(memcmp(&currentInfo, &origInfo, sizeof(currentInfo)) == 0){
DBG_DUMP("menu info is not changed\n"); DBG_DUMP("menu info is not changed\n");
goto EXIT; goto EXIT;
} }
sectorCnt = (sizeof(UIMenuStoreInfo) / _EMBMEM_BLK_SIZE_) + ((sizeof(UIMenuStoreInfo) % _EMBMEM_BLK_SIZE_)? 1 : 0); sectorCnt = (sizeof(currentInfo) / _EMBMEM_BLK_SIZE_) + ((sizeof(currentInfo) % _EMBMEM_BLK_SIZE_)? 1 : 0);
ret = UIInfo_GetStrgPartitionInfo(&partition_ofs, &partition_size, PARTITION_PATH_SYS); ret = UIInfo_GetStrgPartitionInfo(&partition_ofs, &partition_size, PARTITION_PATH_SYS);
if ((ret == 0) && (sizeof(UIMenuStoreInfo) < partition_size)) { if ((ret == 0) && (sizeof(currentInfo) < partition_size)) {
char sys_mtd_dev_path[128] = {'\0'}; char sys_mtd_dev_path[128] = {'\0'};
ret = find_sys_mtd_device(sys_mtd_dev_path, sizeof(sys_mtd_dev_path)); ret = find_sys_mtd_device(sys_mtd_dev_path, sizeof(sys_mtd_dev_path));
if(ret){ if(ret){
@ -1061,8 +1067,8 @@ EXIT:
} }
memset(tmpInfo, 0xFF, write_size); memset(tmpInfo, 0xFF, write_size);
currentInfo.uhInfoSize = sizeof(UIMenuStoreInfo); currentInfo.uhInfoSize = sizeof(currentInfo);
memcpy(tmpInfo, &currentInfo, sizeof(UIMenuStoreInfo)); memcpy(tmpInfo, &currentInfo, sizeof(currentInfo));
rw_len = fwrite(tmpInfo, 1, write_size, sys_mtd_fp); rw_len = fwrite(tmpInfo, 1, write_size, sys_mtd_fp);
if(rw_len != (INT32)(write_size)) { if(rw_len != (INT32)(write_size)) {
DBG_ERR("fwrite size not matched(%ld / %ld)!\n", rw_len, write_size); DBG_ERR("fwrite size not matched(%ld / %ld)!\n", rw_len, write_size);
@ -1071,12 +1077,15 @@ EXIT:
} }
fflush(sys_mtd_fp); fflush(sys_mtd_fp);
UINT32 sum = MemCheck_CalcCheckSum16Bit((UINT32)tmpInfo, sizeof(UIMenuStoreInfo)); UINT32 sum = MemCheck_CalcCheckSum16Bit((UINT32)tmpInfo, sizeof(currentInfo));
DBG_DUMP("**************size = %lx / sum = %lx **************\n", DBG_DUMP("**************size = %lx / mov size = %u / sum = %lx **************\n",
sizeof(UIMenuStoreInfo), sizeof(currentInfo),
//((UIMenuStoreInfo*)tmpInfo)->UIParameter[CamMode], ((UIMenuStoreInfo*)tmpInfo)->UIParameter[FL_MOVIE_SIZE],
sum); sum);
#if HUNTING_CAMERA_MCU == ENABLE
sf_share_mem_customer_down(0); sf_share_mem_customer_down(0);
#endif
} }
else{ else{
DBG_ERR("can't get partition info or menu info size exceed partition size!\n"); DBG_ERR("can't get partition info or menu info size exceed partition size!\n");
@ -1347,7 +1356,7 @@ void SysCheckFlag(void)
//#2023/02/10#Payton - begin //#2023/02/10#Payton - begin
#if 0 #if HUNTING_CAMERA_MCU == DISABLE
//=====================Sifar============= //=====================Sifar=============
SysLimitFlag(CamNameSwitch, 0, SF_CAMID_MAX, DEFAULT_SF_CAMID); SysLimitFlag(CamNameSwitch, 0, SF_CAMID_MAX, DEFAULT_SF_CAMID);
SysLimitFlag(CamMode, 0, SF_CAM_MODE_MAX, DEFAULT_BOOT_WORK_MODE); SysLimitFlag(CamMode, 0, SF_CAM_MODE_MAX, DEFAULT_BOOT_WORK_MODE);
@ -1489,7 +1498,6 @@ void SysSetFixedFlagSysInit(void)
void SysResetFlag(void) void SysResetFlag(void)
{ {
UIMenuStoreInfo *puiPara = sf_ui_para_get();
// Set system flag default value here // Set system flag default value here
// Photo // Photo
SysSetFlag(FL_PHOTO_SIZE, DEFAULT_PHOTO_SIZE); SysSetFlag(FL_PHOTO_SIZE, DEFAULT_PHOTO_SIZE);
@ -1523,11 +1531,9 @@ void SysResetFlag(void)
SysSetFlag(FL_DEFOG, DEFAULT_DEFOG); SysSetFlag(FL_DEFOG, DEFAULT_DEFOG);
// Movie // Movie
if (System_GetEnableSensor() == (SENSOR_1 | SENSOR_2)) {
SysSetFlag(FL_MOVIE_SIZE_MENU, DEFAULT_MOVIE_SIZE_DUAL);
} else {
SysSetFlag(FL_MOVIE_SIZE_MENU, DEFAULT_MOVIE_SIZE); SysSetFlag(FL_MOVIE_SIZE_MENU, DEFAULT_MOVIE_SIZE);
} SysSetFlag(FL_MOVIE_SIZE, DEFAULT_MOVIE_SIZE);
SysSetFlag(FL_MOVIE_QUALITY, DEFAULT_MOVIE_QUALITY); SysSetFlag(FL_MOVIE_QUALITY, DEFAULT_MOVIE_QUALITY);
SysSetFlag(FL_MOVIE_COLOR, DEFAULT_MOVIE_COLOR); SysSetFlag(FL_MOVIE_COLOR, DEFAULT_MOVIE_COLOR);
SysSetFlag(FL_MOVIE_CYCLIC_REC, DEFAULT_MOVIE_CYCLICREC); SysSetFlag(FL_MOVIE_CYCLIC_REC, DEFAULT_MOVIE_CYCLICREC);
@ -1608,13 +1614,15 @@ void SysResetFlag(void)
SysSetFlag(FL_WIFI_AUTO_RECORDING, DEFAULT_MOVIE_WIFI_AUTO_RECORDING_OPTION); SysSetFlag(FL_WIFI_AUTO_RECORDING, DEFAULT_MOVIE_WIFI_AUTO_RECORDING_OPTION);
SysSetFlag(FL_NetWorkMode, DEFAULT_WIFI_MODE); // Reset To Wi-Fi mode to AP mode. SysSetFlag(FL_NetWorkMode, DEFAULT_WIFI_MODE); // Reset To Wi-Fi mode to AP mode.
#endif #endif
//#NT#2023/01/11#Eric - begin //#NT#Support //#NT#2023/01/11#Eric - begin //#NT#Support
//=====================Sifar=============///Eric //=====================Sifar=============///Eric
//Ux_SendEvent(&UISetupObjCtrl, NVTEVT_EXE_BOOTWORKMODE, 1, SysGetFlag(CamMode)); //Ux_SendEvent(&UISetupObjCtrl, NVTEVT_EXE_BOOTWORKMODE, 1, SysGetFlag(CamMode));
//#NT#2023/01/11#Eric - end //#NT#2023/01/11#Eric - end
//#2023/02/10#Payton - begin //#2023/02/10#Payton - begin
//=====================Sifar============= //=====================Sifar=============
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get();
puiPara->CamNameSwitch = DEFAULT_SF_CAMID; puiPara->CamNameSwitch = DEFAULT_SF_CAMID;
puiPara->CamMode = DEFAULT_BOOT_WORK_MODE; puiPara->CamMode = DEFAULT_BOOT_WORK_MODE;
@ -1721,7 +1729,73 @@ void SysResetFlag(void)
sf_set_pir_sensitivity(7); sf_set_pir_sensitivity(7);
#endif #endif
#else
SysSetFlag(CamMode, DEFAULT_BOOT_WORK_MODE);
SysSetFlag(FlashLed, DEFAULT_FLASH_LED);
//ImgSize
SysSetFlag(NightMode, DEFAULT_NIGHT_MODE);
//Multishot
//VideoSize
//VideoTimeMenu
SysSetFlag(VideoLenth, DEFAULT_VIDEO_LENTH);
SysSetFlag(PirSwitch, DEFAULT_PIR_SWITCH);
SysSetFlag(PirSensitivity, DEFAULT_PIR_SENSITIVITY);
SysSetFlag(PirDelaySwitch, DEFAULT_PIR_DELAY_SWITCH);
SysSetFlag(TimelapseSwitch, DEFAULT_TIMELAPSE_SWITCH);
SysSetFlag(WorkTime1Switch, DEFAULT_WORKTIME_SWITCH);
SysSetFlag(WorkTime2Switch, DEFAULT_WORKTIME_SWITCH);
SysSetFlag(SimAutoSwitch, DEFAULT_SIM_AUTO_SWITCH);
SysSetFlag(SendMaxNum, DEFAULT_SEND_MAX_NUM);
SysSetFlag(GprsMode, DEFAULT_GPRS_MODE);
SysSetFlag(DailyReportSwitch, DEFAULT_DAILY_REPORT_SWITCH);
SysSetFlag(ReDailyReport, DEFAULT_REDAILY_REPORT_SWITCH);
SysSetFlag(SimPinFlag, DEFAULT_SIN_PIN_FLAG);
SysSetFlag(GpsSwitch, DEFAULT_GPS_SWITCH);
SysSetFlag(Language, DEFAULT_LANGUAGE);
///////////////
SysSetFlag(DateStyle, DEFAULT_DATE_TIME);
SysSetFlag(FL_DateFormatIndex, DEFAULT_DATE_TIME);
/////////////
SysSetFlag(StampSwitch, DEFAULT_STAMP_SWITCH);
SysSetFlag(BatteryType, DEFAULT_BATTERY_TYPE);
SysSetFlag(SdLoopSwitch, DEFAULT_SD_LOOP_SWITCH);
SysSetFlag(PwdSwitch, DEFAULT_PWD_SWITCH);
SysSetFlag(SendPhotoSwitch, DEFAULT_SEND_PHOTO_SWITCH);
SysSetFlag(SendVideoSwitch, DEFAULT_SEND_VIDEO_SWITCH);
SysSetFlag(SendPicSize, DEFAULT_SEND_PIC_SIZE);
SysSetFlag(SendMultishotIndex1, DEFAULT_SEND_MULTISHOT_INDEX1);
SysSetFlag(SendMultishotIndex2, DEFAULT_SEND_MULTISHOT_INDEX2);
SysSetFlag(SendMultishotIndex3, DEFAULT_SEND_MULTISHOT_INDEX3);
SysSetFlag(SendMultishotIndex4, DEFAULT_SEND_MULTISHOT_INDEX4);
SysSetFlag(DateAuto, DEFAULT_DATE_AUTO);
//NTPZoneS,
//NTPZoneH,
//NTPZoneM,
SysSetFlag(CamArmDiable, DEFAULT_CAM_ARM_DIABLE);
SysSetFlag(DebugMode, DEFAULT_DEBUG_MODE);
SysSetFlag(AutoOffSwitch, DEFAULT_AUTO_OFF_SWITCH);
SysSetFlag(AutoLogSwitch, DEFAULT_AUTO_LOG_SWITCH);
SysSetFlag(RawSwitch, DEFAULT_RAW_SWITCH);
SysSetFlag(GprsSwitch, DEFAULT_GPRS_SWITCH);
SysSetFlag(GpsSendFlag, DEFAULT_GPS_SEND_FLAG);
SysSetFlag(FristSendDailyAndGps, DEFAULT_FRIST_SEND_DAILY_AND_GPS);
SysSetFlag(NetGeneration, DEFAULT_NET_GENERATION);
SysSetFlag(NeedTimeSyncStartUp, DEFAULT_NEED_TIME_SYNC);
SysSetFlag(NetWorkNeedSearch, DEFAULT_NET_WORK_NEED_SEARCH);
SysSetFlag(QLogSwitch, DEFAULT_QLOG_SWITCH);
SysSetFlag(GpsAntiTheftSwitch, DEFAULT_GPS_ANTI_THEFT_SWITCH);
SysSetFlag(BatteryLogSwitch, DEFAULT_BATTRERY_LOG_SWITCH);
#if defined(_MODEL_565_HUNTING_EVB_LINUX_4G_S530_)
SysSetFlag(GpsNumber, DEFAULT_GPS_NUMBER);
SysSetFlag(TimeSend1Switch, DEFAULT_TIMESEND1_SWITCH);
SysSetFlag(TimeSend2Switch, DEFAULT_TIMESEND2_SWITCH);
SysSetFlag(TimeSend3Switch, DEFAULT_TIMESEND3_SWITCH);
SysSetFlag(TimeSend4Switch, DEFAULT_TIMESEND4_SWITCH);
#endif
#endif
printf("%s:%d sifar para e\n", __FUNCTION__, __LINE__); printf("%s:%d sifar para e\n", __FUNCTION__, __LINE__);
@ -1732,7 +1806,6 @@ void SysResetFlag(void)
void SysExeMenuSettingFuncs(void) void SysExeMenuSettingFuncs(void)
{ {
UIMenuStoreInfo *puiPara = sf_ui_para_get();
#if (PHOTO_MODE==ENABLE) #if (PHOTO_MODE==ENABLE)
/*--- Photo ---*/ /*--- Photo ---*/
Ux_SendEvent(&CustomPhotoObjCtrl, NVTEVT_EXE_QUALITY, 1, SysGetFlag(FL_QUALITY)); Ux_SendEvent(&CustomPhotoObjCtrl, NVTEVT_EXE_QUALITY, 1, SysGetFlag(FL_QUALITY));
@ -1803,7 +1876,7 @@ void SysExeMenuSettingFuncs(void)
#endif #endif
//#NT#2023/01/11#Eric - begin //#NT#Support //#NT#2023/01/11#Eric - begin //#NT#Support
//=====================Sifar=============///Eric //=====================Sifar=============///Eric
Ux_SendEvent(&UISetupObjCtrl, NVTEVT_EXE_BOOTWORKMODE, 1, puiPara->CamMode); // Ux_SendEvent(&UISetupObjCtrl, NVTEVT_EXE_BOOTWORKMODE, 1, SysGetFlag(CamMode));
//#NT#2023/01/11#Eric - end //#NT#2023/01/11#Eric - end
} }

View File

@ -268,7 +268,7 @@ typedef enum {
FL_ETHCAM_TX_IP_ADDR, FL_ETHCAM_TX_IP_ADDR,
FL_MOVIE_CODEC_MENU, FL_MOVIE_CODEC_MENU,
FL_MOVIE_SENSOR_ROTATE_MENU, FL_MOVIE_SENSOR_ROTATE_MENU,
#if 0 #if HUNTING_CAMERA_MCU == DISABLE
//#2023/02/10#Payton - begin //#2023/02/10#Payton - begin
CamNameSwitch,/*ON/OFF ,cam name off*/ CamNameSwitch,/*ON/OFF ,cam name off*/
CamMode,/* 0 Photo / 1 Video / 2 PIC+Video*/ CamMode,/* 0 Photo / 1 Video / 2 PIC+Video*/

View File

@ -119,7 +119,7 @@ static MOVIE_SIZE_ITEM g_MovieSizeTable[] = {
[MOVIE_SIZE_2560x1440P30] = { [MOVIE_SIZE_2560x1440P30] = {
{2560, 1440, 30, 1750 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9}, {2560, 1440, 30, 1750 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9},
{1, 3, 36, 8, -8, 0}, {1, 3, 36, 8, -8, 0},
{1, 4, 30, 1750 * 1024, 15, 26, 15, 45, 26, 15, 45, 0, 1, 8, 4}, {1, 4, 30, 1750 * 1024, 30, 26, 15, 45, 26, 15, 45, 0, 1, 8, 4},
}, },
[MOVIE_SIZE_2304x1296P30] = { [MOVIE_SIZE_2304x1296P30] = {
@ -197,7 +197,7 @@ static MOVIE_SIZE_ITEM g_MovieSizeTable[] = {
[MOVIE_SIZE_640x480P30] = { [MOVIE_SIZE_640x480P30] = {
{ 640, 480, 30, 150 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_4_3}, { 640, 480, 30, 150 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_4_3},
{1, 3, 36, 8, -8, 0}, {1, 3, 36, 8, -8, 0},
{1, 4, 30, 150 * 1024, 15, 26, 15, 45, 26, 15, 45, 0, 1, 8, 4}, {1, 4, 30, 150 * 1024, 30, 26, 15, 45, 26, 15, 45, 0, 1, 8, 4},
}, },
[MOVIE_SIZE_320x240P30] = { [MOVIE_SIZE_320x240P30] = {
@ -214,7 +214,7 @@ static MOVIE_SIZE_ITEM g_MovieSizeTable[] = {
#else #else
{ 640, 360, 30, 78643, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9}, { 640, 360, 30, 78643, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9},
{1, 3, 36, 8, -8, 0}, {1, 3, 36, 8, -8, 0},
{1, 4, 30, 78643, 15, 26, 15, 50, 26, 15, 50, 0, 1, 8, 4}, {1, 4, 30, 78643, 30, 26, 15, 50, 26, 15, 50, 0, 1, 8, 4},
#endif #endif
}, },

View File

@ -250,6 +250,11 @@ char Time12HRNameTable[3][4] = {
"PM" "PM"
}; };
UINT32 DateTime_StrBuf_Size(void)
{
return sizeof(gUIDateTime_StrBuf);
}
//using by date-stamp //using by date-stamp
char *DateTime_MakeYMD(void) char *DateTime_MakeYMD(void)
{ {

0
code/application/source/sf_app/MakeConfig.mk Executable file → Normal file
View File

0
code/application/source/sf_app/Makefile Executable file → Normal file
View File

0
code/application/source/sf_app/build/cardv_inc.mk Executable file → Normal file
View File

0
code/application/source/sf_app/build/config.mk Executable file → Normal file
View File

0
code/application/source/sf_app/build/inc.mk Executable file → Normal file
View File

0
code/application/source/sf_app/build/modbuild.mk Executable file → Normal file
View File

0
code/application/source/sf_app/code/include/HMACSHA.h Executable file → Normal file
View File

0
code/application/source/sf_app/code/include/aos_util.h Executable file → Normal file
View File

0
code/application/source/sf_app/code/include/apr.h Executable file → Normal file
View File

View File

View File

0
code/application/source/sf_app/code/include/apr_lib.h Executable file → Normal file
View File

View File

0
code/application/source/sf_app/code/include/apr_sha1.h Executable file → Normal file
View File

View File

0
code/application/source/sf_app/code/include/apr_want.h Executable file → Normal file
View File

View File

0
code/application/source/sf_app/code/include/apu.h Executable file → Normal file
View File

View File

View File

0
code/application/source/sf_app/code/include/cJSON.h Executable file → Normal file
View File

0
code/application/source/sf_app/code/include/mask.h Executable file → Normal file
View File

0
code/application/source/sf_app/code/include/mbedtls.h Executable file → Normal file
View File

0
code/application/source/sf_app/code/include/mmask.h Executable file → Normal file
View File

0
code/application/source/sf_app/code/include/mqrspec.h Executable file → Normal file
View File

0
code/application/source/sf_app/code/include/qrenc.h Executable file → Normal file
View File

0
code/application/source/sf_app/code/include/qrencode.h Executable file → Normal file
View File

View File

Some files were not shown because too many files have changed in this diff Show More