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_HDAL_BUILD_IN=y
# CONFIG_NVT_HDAL_BUILD_IN_ADV is not set
# CONFIG_NVT_STACK_CHECK 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_TLC4541 is not set
# CONFIG_VF610_ADC is not set
CONFIG_NVT_ADC=m
CONFIG_NVT_ADC=y
#
# 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;
unsigned int _REGIOBASE;
static unsigned int _REGIOBASE;
#define loc_cpu() down(&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.
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
default n
select NVT_VOS_KWRAP
select NVT_HDAL_KDRV_BUILTIN
default n
help
Enable this option will let a part of your hdal driver link to uImage
You could select which module want to link in the submenu.
Enable this option will let vos, kdrv_builtin builtin in kernel
config NVT_STACK_CHECK
bool "NVT STACK check"
config NVT_HDAL_BUILD_IN_ADV
bool "More HDAL driver builtin"
depends on ARCH_NVT_IVOT_V7 && NVT_HDAL_BUILD_IN
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
This option will check STACK overflow issue.
Enable this option will let more kdrv, kflow builtin in kernel
config NVT_PROFILER
bool "Novatek Profilers"

View File

@ -16,18 +16,10 @@ config NVT_SMALL_HDAL
if NVT_HDAL_BUILD_IN
config NVT_VOS_KWRAP
bool "Novatek vos basic handling API"
default y
depends on NVT_HDAL_BUILD_IN
help
Novatek VOS api to provide basic multi-OS interface.
bool
config NVT_HDAL_KDRV_BUILTIN
bool "Novatek hdal k-driver built-in part"
default y
depends on NVT_HDAL_BUILD_IN
help
Novatek hdal k-driver's built-in
bool
config NVT_FAST_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.
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

View File

@ -4,12 +4,29 @@
VOS_DRIVER_SRC_DIR = vos/drivers/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/
endif
ifeq ($(CONFIG_NVT_HDAL_KDRV_BUILTIN),y)
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_RW = rootfs1
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
DTBNAME = nvt-evb.dtb
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}
sf_app &
if [ -f /usr/bin/sf_app ]; then
sf_app &
else
echo "sf_app not found"
fi
if [ "${HUNTING_BOOT_MODE_4G_ONLY}" = "${HUNTING_BOOT_MODE}" ]; then
echo "skip insert ko";
echo "skip insert ko"
else
@ -141,22 +146,16 @@ fi
#insmod ${PREFIX}/lib/modules/$KERVER/hdal/comm/usb2dev/nvt_usb2dev.ko
#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
/usr/bin/isp_demon
else
echo "isp_demon not found"
fi
cardv &
if [ -f /usr/bin/cardv ]; then
cardv &
else
echo "cardv not found"
fi
fi

0
README.md Executable file → Normal file
View File

View File

@ -68,7 +68,6 @@ C_LDFLAGS = \
LDSCRIPT = $(MODULE_NAME).lds
LDS_EXTERN = extern.lds
OUTPUT_NAME = $(OUTPUT_DIR)/cardv
#OUTPUT2_NAME = $(OUTPUT_DIR)/sifar_app
IMG_NAME = $(OUTPUT_DIR)/$(MODULE_NAME).img
MAP_NAME = $(OUTPUT_DIR)/$(MODULE_NAME).map
SYM_NAME = $(OUTPUT_DIR)/$(MODULE_NAME).sym
@ -319,19 +318,6 @@ $(OUTPUT_NAME): $(IMG_NAME)
@echo Creating executable $@ ... && \
$(STRIP) $< && \
$(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)
%/fbdev.o: %/fbdev.c
@echo Compiling $< , skip inline warning
@ -373,8 +359,6 @@ install: $(OUTPUT_NAME) $(OUTPUT_APPFS)
@cp -avf $(OUTPUT_NAME) $(INSTALL_DIR)
@cp -avf $(OUTPUT_NAME) $(ROOTFS_DIR)/rootfs/usr/bin
@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)
@echo Disassembly $< to $(DASM_NAME)... \

View File

@ -186,65 +186,8 @@ static UINT32 DrvLCDOpen(void) // Common Constructor
{
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);
}
////////////////////////////////////////////////////
#endif
DBG_IND("LCD dout by IDE%d\r\n", g_LCDDout + 1);
GPIOMap_TurnOnLCDPower();
GPIOMap_LCDReset();
@ -278,44 +221,6 @@ static void DrvLCD_TurnOn(void)
{
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;
}
@ -543,30 +448,41 @@ static void DrvLCD_Dump(void)
// GPIO related
static void GPIOMap_LCDReset(void)
{
FILE *fp = NULL;
UINT32 u32LogoEnable = 0;
UINT32 u32Size = 0;
char *pStrSrc = NULL;
fp = fopen("/sys/firmware/devicetree/base/logo/enable", "r");
if(fp != NULL){
fseek(fp, 0, SEEK_END);
u32Size = ftell(fp);
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
#if 1//defined(_Disp_IF8B_LCD1_ILI9341_)
// gpio_clearPin(GPIO_LCD_RESET);
// SwTimer_DelayMs(10);
// 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_)
gpio_clearPin(GPIO_LCD_RESET);
SwTimer_DelayMs(10);
gpio_setPin(GPIO_LCD_RESET);
#elif defined(_disp_ifdsi_lcd1_gc9503v_st7701s_)
gpio_setDir(GPIO_LCD_RESET,GPIO_DIR_OUTPUT);
gpio_clearPin(GPIO_LCD_RESET);
SwTimer_DelayMs(10);
gpio_setPin(GPIO_LCD_RESET);
SwTimer_DelayMs(10);
gpio_clearPin(GPIO_LCD_RESET);
#endif
}
/**

View File

@ -14,6 +14,7 @@
#include "DxUSB.h"
#include "DxCommon.h"
#include "DxApi.h"
#include "io/gpio.h"
///////////////////////////////////////////////////////////////////////////////
#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 DetUSBCommand(CHAR *pcCmdStr); //General Command Console
#define GPIO_VBUS D_GPIO_7
//dx object
DX_OBJECT gDevUSB = {
DXFLAG_SIGN,
@ -49,9 +52,21 @@ DX_OBJECT gDevUSB = {
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)
{
#if 0
return (usb2dev_state_change());
#else
return _DxUSB_get_vbus();
#endif
}
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 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 ----------------
#define GPIO_CHARGEIC_EN C_GPIO_4
#define GPIO_PIR_STATE C_GPIO_7
@ -434,5 +437,4 @@ void sf_ir_cut_ctrl_PowerOff(void);
#endif
//@}

View File

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

View File

@ -250,6 +250,9 @@ extern BOOL GPIOMap_DetAudio(void);
#define GPIO_KEY_DATAREADY P_GPIO_6
#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_MS2 ADC_CHANNEL_0
#define ADC_CH_VOLDET_KEY1 ADC_CHANNEL_2
@ -377,7 +380,6 @@ extern BOOL GPIOMap_DetPoweroff(void);
#define GPIO_PARKING P_GPIO_6
//--------------------------------------------------------------------
// Power device
//--------------------------------------------------------------------

View File

@ -310,7 +310,7 @@ void GxVideo_SetDeviceCtrl(UINT32 DevID, UINT32 data, UINT32 value)
case DISPLAY_DEVCTRL_SWAPXY:
g_DispRotate[cDevID] = value;
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;
case DISPLAY_DEVCTRL_SLEEP: {

View File

@ -179,4 +179,16 @@
#define SF_BASE_VERSION "7MD4RCwD3T2"
#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_

View File

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

View File

@ -920,7 +920,8 @@
#define HUNTING_IR_LED_940 DISABLE
#define SF_BASE_VERSION "7MD4RCwD3T3"
#define HW_S530 1
#define PHOTO_ISP_STAMP DISABLE
#define PHOTO_ISP_STAMP DISABLE
#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) */
#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_FRAME 0x00880088 /* frame color */
#define LV_USER_CFG_STAMP_COLOR_BACKGROUND 0XFF000088 /* background 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)

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
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();
}
@ -133,7 +133,10 @@ INT32 System_GetPoweronModeByFWInfo(void)
INT32 System_GetBootFirstMode(void)
{
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get();
#endif
#if (IPCAM_MODE == ENABLE)
#if 0
return System_GetPoweronModeByFWInfo();
@ -142,19 +145,38 @@ INT32 System_GetBootFirstMode(void)
#endif
#else
#if !UI_SENSOR
printf("%s:%d CamMode :%d\n", __FUNCTION__, __LINE__,puiPara->CamMode);
if(SF_CAM_MODE_PHOTO == puiPara->CamMode)
{
return PRIMARY_MODE_PHOTO;
}
else if(SF_CAM_MODE_VIDEO == puiPara->CamMode)
{
return PRIMARY_MODE_MOVIE;
}
else
{
return PRIMARY_MODE_PHOTO;//PRIMARY_MODE_MOVIE;
}
#if HUNTING_CAMERA_MCU == ENABLE
printf("%s:%d CamMode :%d\n", __FUNCTION__, __LINE__,puiPara->CamMode);
if(SF_CAM_MODE_PHOTO == puiPara->CamMode)
{
return PRIMARY_MODE_PHOTO;
}
else if(SF_CAM_MODE_VIDEO == puiPara->CamMode)
{
return PRIMARY_MODE_MOVIE;
}
else
{
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
return System_GetFirstSensorMode(PRIMARY_MODE_MOVIE);
#endif

View File

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

View File

@ -20,7 +20,10 @@
#define __DBGLVL__ ((THIS_DBGLVL>=PRJ_DBG_LVL)?THIS_DBGLVL:PRJ_DBG_LVL)
#define __DBGFLT__ "*" //*=All, [mark]=CustomClass
#include <kwrap/debug.h>
#if HUNTING_CAMERA_MCU == ENABLE
#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")
#endif
#if HUNTING_CAMERA_MCU == ENABLE
SXCMD_ITEM("camname %", sf_cmd_cam_name_switch, "camname 0/1 xxxx")
SXCMD_ITEM("cammode %", cmd_cam_mode, "cammode 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("mcupara", sf_cmd_mcu_power_on_para_get, "get mcu para")
SXCMD_ITEM("setusbmuxs", sf_cmd_usb_mux_s, "set usbmuxs")
#endif
SXCMD_END()

View File

@ -10,7 +10,7 @@
//global debug level: PRJ_DBG_LVL
#include "PrjInc.h"
//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 __DBGLVL__ ((THIS_DBGLVL>=PRJ_DBG_LVL)?THIS_DBGLVL:PRJ_DBG_LVL)
@ -37,15 +37,20 @@
#include "GxStrg.h"
#include "FileSysTsk.h"
#if HUNTING_CAMERA_MCU == ENABLE
#include <sf_message_queue.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)
{
UINT32 status;
#if HUNTING_CAMERA_MCU == ENABLE
SF_MESSAGE_BUF_S stMessageBuf = {0};
#endif
switch (event) {
// part-1
@ -155,11 +160,15 @@ void Strg_CB(UINT32 event, UINT32 param1, UINT32 param2)
DBG_ERR("Strg_CB Err event(%d)", event);
break;
}
#if HUNTING_CAMERA_MCU == ENABLE
stMessageBuf.arg1 = event;
stMessageBuf.arg2 = param1;
stMessageBuf.arg3 = param2;
stMessageBuf.cmdId = CMD_SD;
sf_com_message_send_to_app(&stMessageBuf);
#endif
}
#endif

View File

@ -17,8 +17,12 @@
#include "usb2dev.h"
#include <stdio.h>
#include <stdlib.h>
#if HUNTING_CAMERA_MCU == ENABLE
#include <sf_led.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 __MODULE__ SysUsbExe
@ -27,7 +31,7 @@
#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[] = {
"kernel/drivers/usb/common/usb-common.ko",
@ -137,7 +141,7 @@ static BOOL System_InsmodUsb(BOOL isHost)
if(driver_path){
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);
printf("[%s:%d] %s\n", __FUNCTION__, __LINE__, cmd);
system(cmd);
@ -145,12 +149,18 @@ static BOOL System_InsmodUsb(BOOL isHost)
}
if(isHost == FALSE){
#if HUNTING_CAMERA_MCU == ENABLE
sf_usb_mux_s(0);
#endif
is_usb_dev_driver_inserted = TRUE;
return System_WaitUsbDev();
}
else{
#if HUNTING_CAMERA_MCU == ENABLE
sf_usb_mux_s(1);
#endif
is_usb_host_driver_inserted = TRUE;
return TRUE;
}
@ -263,7 +273,7 @@ void System_OnUsbInit(void)
//force check USB connect type
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);
#endif
@ -299,28 +309,28 @@ void USB_UpdateSource(void)
{
#if (USB_CHARGE_FUNCTION == ENABLE)
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");
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");
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");
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");
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");
gUsbSrc = USB_SRC_UNKNOWN;
}
#else
BOOL bInsert = GxUSB_GetIsUSBPlug();
if (!bInsert) { //沒插USB
if (!bInsert) { //<EFBFBD>S<EFBFBD><EFBFBD>USB
DBG_MSG(" USB Src = (None)\r\n");
gUsbSrc = USB_SRC_NONE;
} else { //USB插著PC
} else { //USB<EFBFBD><EFBFBD><EFBFBD><EFBFBD>PC
DBG_MSG(" USB Src = PC\r\n");
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
GxVideo_SetDeviceCtrl(DOUT1, DISPLAY_DEVCTRL_BACKLIGHT, TRUE);
}
#else
GxVideo_SetDeviceCtrl(DOUT1, DISPLAY_DEVCTRL_BACKLIGHT, TRUE);
#endif
TM_BOOT_END("video", "show_logo");

View File

@ -146,7 +146,7 @@ void Movie_CommPoolInit(void)
vcap_buf_size +
VDO_CA_BUF_SIZE(CA_WIN_NUM_W, CA_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;
}

View File

@ -38,13 +38,15 @@
#include "vendor_videoout.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 __DBGLVL__ ((THIS_DBGLVL>=PRJ_DBG_LVL)?THIS_DBGLVL:PRJ_DBG_LVL)
#define __DBGFLT__ "*" //*=All, [mark]=CustomClass
#include <kwrap/debug.h>
#if HUNTING_CAMERA_MCU == ENABLE
#include <sf_inc.h>
#endif
#define VDO_YUV_BUFSIZE(w, h, pxlfmt) ALIGN_CEIL_4(((w) * (h) * HD_VIDEO_PXLFMT_BPP(pxlfmt)) / 8)
#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};
AWBT_MANUAL awb_manual = {0};
HD_RESULT hd_ret;
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get();
#endif
if ((hd_ret = vendor_isp_init()) != HD_OK) {
DBG_ERR("vendor_isp_init() fail(%d)\r\n", hd_ret);
}
@ -220,7 +226,9 @@ INT32 Set_Cur_Day_Night_Status(BOOL OnOff, UINT8 isSnapVideo)
night_mode.mode = 1;
GOIO_Turn_Onoff_IRCUT(0);
//GPIO_IRLed_Turn_Onoff(1);
#if HUNTING_CAMERA_MCU == ENABLE
sf_ir_led_set(((2 == puiPara->NightMode) ? 2 : 1),puiPara->FlashLed, puiPara->NightMode,isSnapVideo);
#endif
}
else
{
@ -228,7 +236,9 @@ INT32 Set_Cur_Day_Night_Status(BOOL OnOff, UINT8 isSnapVideo)
awb_manual.manual.en = 0;
GOIO_Turn_Onoff_IRCUT(1);
//GPIO_IRLed_Turn_Onoff(0);
#if HUNTING_CAMERA_MCU == ENABLE
sf_ir_led_set(0, 0, 0, 0);
#endif
}
vendor_isp_set_awb(AWBT_ITEM_MANUAL, &awb_manual);
@ -1301,15 +1311,18 @@ static void MovieExe_UserEventCb(UINT32 id, MOVIE_USER_CB_EVENT event_id, UINT32
}
#elif USE_DCF
//MOVIEMULTI_CLOSE_FILE_INFO *info = (MOVIEMULTI_CLOSE_FILE_INFO *)value;
//DCF_AddDBfile(info->path);
//DBG_DUMP("%s added to DCF\r\n", info->path);
// MOVIEMULTI_CLOSE_FILE_INFO *info = (MOVIEMULTI_CLOSE_FILE_INFO *)value;
// DCF_AddDBfile(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");
UIMenuStoreInfo *puiPara = sf_ui_para_get();
if(SF_CAM_MODE_PHOTO_VIDEO == puiPara->CamMode)
{
sf_share_mem_file_down(0);
}
#endif
#endif
}
Ux_PostEvent(NVTEVT_CB_MOVIE_REC_FINISH, 1, value);

View File

@ -21,8 +21,10 @@
#if MOVIE_ISP_LOG
#include "vendor_isp.h"
#if HUNTING_CAMERA_MCU == ENABLE
#include "sf_mcu.h"
#endif
#endif
//#NT#2016/10/17#Bin Xiao -end
#define __MODULE__ MovieStamp
#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};
//sf_mcu_power_on_para_get(SF_MCU_POWERON);
UINT16 AD_Value;
#if HUNTING_CAMERA_MCU == ENABLE
AD_Value = sf_get_irshtter();
#else
AD_Value = 0;
#endif
id = 0;
ae_status.id = id;

View File

View File

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

View File

@ -29,15 +29,17 @@
#include "UIApp/AppDisp_PipView.h"
#include <vf_gfx.h>
#include "vendor_videocapture.h"
//#include "sf_mcu.h"
#include "IOCfg.h"
#include <sf_inc.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
#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
#include <kwrap/debug.h>
#endif
@ -430,13 +432,19 @@ static UINT32 PhotoExe_GetScreenNailSize(void)
UINT32 uiImageSize, ScreenNailSize;
UINT32 BitStreamSize;
#if HUNTING_CAMERA_MCU
UIMenuStoreInfo *puiPara = sf_ui_para_get();
#endif
ScreenNailSize = CFG_SCREENNAIL_SIZE;
uiImageSize = UI_GetData(FL_PHOTO_SIZE);
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;
#else
BitStreamSize = CFG_SCREENNAIL_W * CFG_SCREENNAIL_H / 2;
#endif
} else {
BitStreamSize = 0;
}
@ -468,10 +476,13 @@ void PhotoExe_SetScreenNailSize(UINT32 sensor_id)
if (uiImageSize < ScreenNailSize) {
//BufferSize.w = GetPhotoSizeWidth(ScreenNailSize);
//BufferSize.h = GetPhotoSizeHeight(ScreenNailSize);
UIMenuStoreInfo *puiPara = sf_ui_para_get();
#if HUNTING_CAMERA_MCU
UIMenuStoreInfo *puiPara = sf_ui_para_get();
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;
ImageRatioIdx = GetPhotoSizeRatio(UI_GetData(FL_PHOTO_SIZE));
@ -530,12 +541,15 @@ void PhotoExe_SetQuickViewSize(UINT32 sensor_id)
DevSize = GxVideo_GetDeviceSize(DOUT1);
#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!
//BufferSize.w = CFG_SCREENNAIL_W;
//BufferSize.h = CFG_SCREENNAIL_H;
#if HUNTING_CAMERA_MCU
UIMenuStoreInfo *puiPara = sf_ui_para_get();
BufferSize.w = sf_get_screen_nail_width(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) {
BufferSize.w = DevSize.w;
@ -1420,24 +1434,33 @@ void PhotoExe_DZoomOutBK(void)
///////////////////////////////////////////////////////////////////////////////
static HD_COMMON_MEM_INIT_CONFIG g_photo_mem_cfg = {0};
void UiDateImprint_get_isp_status(UINT32 id, char* Buf, UINT32 BufLen)
{
AET_STATUS_INFO ae_status = {0};
AWBT_STATUS awb_status = {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);
awb_status.id = AWB_ID_1;
awb_status.id = 0;
vendor_isp_get_awb(AWBT_ITEM_STATUS, &awb_status);
/*
wdr.id = id;
/*wdr.id = id;
vendor_isp_get_iq(IQT_ITEM_WDR_PARAM, &wdr);
*/
snprintf(Buf, BufLen, "%3d %4d %4d %6d %6d %4d %4d %4d %4d %4d\0",
*/
snprintf(Buf, BufLen, "%d %3d %3d %3d %6d %6d %4d %4d %3d %3d %4d %d\0",
ae_status.status_info.state_adj,
ae_status.status_info.lv/100000,
ae_status.status_info.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,
awb_status.status.cur_r_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;
}
@ -1495,10 +1522,9 @@ BOOL UiDateImprint_UpdateDate(char *StrBuf, UINT32 buff_len)
return FALSE;
}
//extern void GOIO_Turn_Onoff_IRCUT(BOOL onoff);
void PhotoExe_CommPoolInit(void)
{
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_RESULT hd_ret = HD_OK;
USIZE DispDevSize = {0};
UIMenuStoreInfo *puiPara = sf_ui_para_get();
#if HUNTING_CAMERA_MCU
UIMenuStoreInfo *puiPara = sf_ui_para_get();
#endif
hd_ret = hd_videoout_get(video_out_ctrl, HD_VIDEOOUT_PARAM_SYSCAPS, p_video_out_syscaps);
if (hd_ret != HD_OK) {
@ -1610,8 +1638,12 @@ void PhotoExe_CommPoolInit(void)
id ++;
g_photo_mem_cfg.pool_info[id].type = HD_COMMON_MEM_COMMON_POOL;
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);
#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);
#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].ddr_id = DDR_ID0;
@ -1927,15 +1959,11 @@ static void PhotoExe_InitNetworkStream(UINT32 dualCam, USIZE *pImageRatioSize)
if (dualCam == DUALCAM_FRONT) {
p_strm = UIAppPhoto_get_StreamConfig(UIAPP_PHOTO_STRM_ID_1);
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->height_ratio = pImageRatioSize->h;
p_strm->width = ALIGN_CEIL_16(p_strm->height* pImageRatioSize->w/pImageRatioSize->h);
//p_strm->height = PHOTO_STRM_HEIGHT;
ImageApp_Photo_Config(PHOTO_CFG_STRM_INFO, (UINT32)p_strm);
if (p_strm->strm_type== PHOTO_STRM_TYPE_HTTP) {
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);
if (p_strm == NULL)
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 (System_GetEnableSensor() == SENSOR_1 && i==UIAPP_PHOTO_STRM_ID_2){
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);
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
else if (dualCam == DUALCAM_BEHIND) {
@ -2427,11 +2456,6 @@ INT32 PhotoExe_OnOpen(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
USIZE ImageRatioSize = {0};
UINT32 ImageRatioIdx;
#if 0
UI_SetData(FL_PHOTO_SIZE, PHOTO_SIZE_5M);
#endif
g_bPhotoOpened = 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[4];
FileSys_MakeDir(PHOTO_THUMB_PATH);
GOIO_Turn_Onoff_IRCUT(1);
//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");
usleep(100*1000);
}
PhotoExe_CommPoolInit();
dualCam =PhotoExe_InitSensorCount();
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);
PhotoExe_InitDisplayStream(dualCam,&g_photo_ImageRatioSize);
PhotoExe_InitNetworkStream(dualCam,&g_photo_ImageRatioSize);
ImageApp_Photo_WiFiConfig(PHOTO_CFG_WIFI_REG_CB ,(UINT32)&PhotoExe_WifiCB);
PHOTO_SENSOR_INFO sen_cfg = {0};
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;
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)
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
/* open encode path */
@ -3203,6 +3224,7 @@ INT32 PhotoExe_OnCaptureStop(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArra
Photo_setS2Status(FALSE);
ImageApp_Photo_CapStop();
}
return NVTEVT_CONSUME;
}
@ -4150,16 +4172,23 @@ static INT32 PhotoExe_Preview_SliceEncode_Open(void)
case PHOTO_ENC_JPG_SCREENNAIL:
{
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get();
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);
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;
#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;
}
@ -4923,16 +4952,18 @@ static INT32 PhotoExe_Preview_SliceEncode_Scale_Screennail(
VF_GFX_SCALE vf_gfx_scale = {0};
URECT dest_win = {0};
USIZE src_size = {0}, dest_size = {0};
UIMenuStoreInfo *puiPara = sf_ui_para_get();
src_size.w = video_frame_in->dim.w;
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.h = sf_get_screen_nail_height(puiPara->SendPicSize);
//dest_size.w = CFG_SCREENNAIL_W;
//dest_size.h = CFG_SCREENNAIL_H;
#else
dest_size.w = CFG_SCREENNAIL_W;
dest_size.h = CFG_SCREENNAIL_H;
#endif
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);
@ -4952,13 +4983,15 @@ static INT32 PhotoExe_Preview_SliceEncode_Encode_Screennail_RC(HD_VIDEO_FRAME* v
INT8 direction = 0;
INT32 ret = E_OK;
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();
//((sf_get_screen_nail_width(puiPara->SendPicSize)) * (sf_get_screen_nail_height(puiPara->SendPicSize))*3/(2*JPG_COMERESSED_RATIO_8)) * 8;
#else
const UINT32 ubount = 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));
//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));
#endif
bool stop_flag = false;
do {
@ -5441,7 +5474,9 @@ INT32 PhotoExe_Preview_SliceEncode(VControl *pCtrl, UINT32 paramNum, UINT32 *par
HD_VIDEO_PXLFMT vproc_out_pxlfmt = 0;
PhotoExe_MEM_Info exif_mem_info = {0};
UINT32 enc_accum_size = 0;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get();
#endif
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
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
slice_encode_screennail_info->bs_buf_mem_info.blk_size = PhotoExe_GetScreenNailSize();
#endif
@ -5592,8 +5631,11 @@ INT32 PhotoExe_Preview_SliceEncode(VControl *pCtrl, UINT32 paramNum, UINT32 *par
/* screennail encode */
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)});
#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(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
******************************************************************/
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get();
/* 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)});
#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(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_WriteExifIFD(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) {
DBG_ERR("Create Exif fail\r\n");
exif_data.size = 0;
@ -6263,7 +6313,6 @@ INT32 PhotoExe_Preview_SliceEncode_CB3(void* user_data)
{
char* file_path = ImageApp_Photo_GetLastWriteFilePath();
char tmp[256] = {'\0'};
char tmp2[64] = {'\0'};
UINT32 length = strlen(file_path);
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_CloseFile(fp);
#if HUNTING_CAMERA_MCU == ENABLE
char tmp2[64] = {'\0'};
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 + 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);
}
#endif
}
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) {
pInfo->MemSize = 0x80000;
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get();
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_)
pInfo->MemSize = UIDateImprint_GetStampMemSize_LVGL((const lv_font_t *)pFont, UiDateImprint_InitStrBuf());
@ -424,54 +428,35 @@ 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");
extern BOOL UiDateImprint_UpdateDate(char *StrBuf, UINT32 buff_len);
char * UiDateImprint_InitStrBuf(void)
{
char *str = NULL;
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:
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 *str=NULL;
DateTime_Load();
switch (UI_GetData(FL_DATE_STAMP)) {
case DATEIMPRINT_DATE:
str=DateTime_MakeYMD();
break;
case DATEIMPRINT_DATE_TIME:
str=DateTime_MakeYMDHMS();
break;
default:
break;
}
#endif
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
{
UINT32 uhSelect = 0;
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get();
#endif
DBG_FUNC_BEGIN("\r\n");
if (paramNum > 0) {
uhSelect = paramArray[0];
@ -1220,7 +1224,12 @@ INT32 SetupExe_OnSysBootWorkMode(VControl *pCtrl, UINT32 paramNum, UINT32 *param
DBG_IND("uhSelect %d \r\n", uhSelect);
#if HUNTING_CAMERA_MCU == ENABLE
puiPara->CamMode = uhSelect;
#else
UI_SetData(CamMode, uhSelect);
#endif
DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME;
}

View File

@ -147,9 +147,9 @@ static MOVIE_SIZE_ITEM g_MovieSizeTable[] = {
},
[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, 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] = {
@ -171,15 +171,15 @@ static MOVIE_SIZE_ITEM g_MovieSizeTable[] = {
},
[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, 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] = {
{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, 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] = {

View File

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

View File

@ -4,6 +4,7 @@
#include "UIFlowLVGL/UIFlowLVGL.h"
#include "UIFlowLVGL/UIFlowWrnMsg/UIFlowWrnMsgAPI.h"
#include <kwrap/debug.h>
#include "SysMain.h"
#if (USE_DCF == ENABLE)
#include "DCF.h"
#endif
@ -267,8 +268,14 @@ static void update_battery(void)
LV_PLUGIN_IMG_ID_ICON_BATTERY_CHARGE
};
/* user should call a function to get battery level here */
lv_plugin_img_set_src(image_battery_scr_uiflowmovie, res[sf_battery_level_get()]);
#if HUNTING_CAMERA_MCU == ENABLE
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)
{
DBG_DUMP("%s\r\n", __func__);
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get();
#endif
set_indev_keypad_group(obj);
@ -503,7 +513,11 @@ static void UIFlowMovie_ScrOpen(lv_obj_t* obj)
}
}
//#NT#2018/08/10#KCHong -end
if(puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO)
#if HUNTING_CAMERA_MCU == ENABLE
if(puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO)
#else
if(SysGetFlag(CamMode) == SF_CAM_MODE_PHOTO_VIDEO)
#endif
{
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)
{
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get();
#endif
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);
UIFlowMovie_REC_FINISH(obj,msg);
#if HUNTING_CAMERA_MCU == ENABLE
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 iNextMode = PRIMARY_MODE_PHOTO;
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_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_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_size(label_free_pic, 135, 19);
lv_obj_add_style(label_free_pic, 0, &label_free_pic_s0);

View File

@ -12,6 +12,7 @@
#include "UIApp/Photo/UIAppPhoto.h"
#include "exif/Exif.h"
#include <kwrap/util.h>
#include "SysMain.h"
#if (USE_DCF == ENABLE)
#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_ZERO,
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 */
//lv_plugin_img_set_src(image_battery_scr_uiflowphoto, res[GetBatteryLevel()]);
lv_plugin_img_set_src(image_battery_scr_uiflowphoto, res[sf_battery_level_get()]);
#if HUNTING_CAMERA_MCU == ENABLE
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)
@ -439,7 +436,7 @@ static void UIFlowPhoto_OnExeCaptureStop(lv_obj_t* obj)
static void UIFlowPhoto_OnExeCaptureStart(lv_obj_t* obj)
{
CHKPNT;
switch (gPhotoData.State) {
case PHOTO_ST_VIEW:
//#NT#2018/12/13#hilex Lin -begin
@ -455,7 +452,6 @@ static void UIFlowPhoto_OnExeCaptureStart(lv_obj_t* obj)
// unlock AE/AWB
FlowPhoto_InitStartupFuncs();
CHKPNT;
/* Set to preview mode */
FlowPhoto_UI_Show(UI_SHOW_PREVIEW, TRUE);
@ -580,7 +576,6 @@ static void UIFlowPhoto_OnExeCaptureStart(lv_obj_t* obj)
// UxCtrl_SetAllChildShow(pCtrl, FALSE);
gPhotoData.State = PHOTO_ST_CAPTURE; // enter capture state
CHKPNT;
FlowPhoto_DoCapture(); // do capture directly
break;
}
@ -927,6 +922,7 @@ static void UIFlowPhoto_OnQVStart(void)
if (task_qview == NULL) {
/* Resume only S2 key while quick view timer started */
// Input_SetKeyMask(KEY_PRESS, FLGKEY_SHUTTER2);
// g_uiQviewTimerID = GxTimer_StartTimer(100, NVTEVT_01SEC_TIMER, CONTINUE);
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)
{
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get();
#endif
if(msg == NULL){
DBG_ERR("msg is NULL!\r\n");
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);
UIFlowPhoto_BackPreviewHandle();
#if HUNTING_CAMERA_MCU == ENABLE
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 iNextMode = PRIMARY_MODE_MOVIE;
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:
{
NVTEVT message=msg->paramArray[ONDONE_PARAM_INDEX_CMD];
switch (message) {
switch (message)
{
case NVTEVT_BKW_INIT_FILESYS:
{
g_PhotoBgInitFileSys = TRUE;
@ -1155,6 +1159,7 @@ static void UIFlowPhoto_NVTMSG(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* m
}
break;
default:
break;
}
@ -1176,7 +1181,6 @@ static void UIFlowPhoto_Key(lv_obj_t* obj, uint32_t key)
{
case LV_USER_KEY_SHUTTER2:
{
CHKPNT;
UIFlowPhoto_OnExeCaptureStart(obj);
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_ZOOMOUT:
{
CHKPNT;
UIFlowPhoto_OnExeZoomOutStart(obj);
break;
}
case LV_USER_KEY_MENU:
{
CHKPNT;
UIFlowPhoto_OnKeyMenu(obj);
break;
}
case LV_USER_KEY_CALIBRATION:
CHKPNT;
UIFlowPhoto_OnKeyCalibration(obj);
break;
#if HUNTING_CAMERA_MCU == ENABLE

View File

@ -9,7 +9,7 @@
#include "exif/ExifDef.h"
#include "UIApp/ExifVendor.h"
#include "BinaryFormat.h"
#include "SysMain.h"
#include "ImageApp/ImageApp_MoviePlay.h"
#include "UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.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 *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 UINT32 DateTime_StrBuf_Size(void);
//-----------------------------------------------------------------------------
// World Time Zone
//-----------------------------------------------------------------------------

View File

@ -453,21 +453,21 @@ void Load_MenuInfo(void)
//#NT#porting KS's suggestion that PStore reset mechanism
UINT32 uiPsFreeSpace = PStore_GetInfo(PS_INFO_FREE_SPACE);
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) {
DBG_DUMP("PStore reset info.\r\n");
memset(&currentInfo, 0, sizeof(UIMenuStoreInfo));
memset(&currentInfo, 0, sizeof(currentInfo));
currentInfo.uhInfoSize = sizeof(UIMenuStoreInfo);
SysResetFlag();
PStore_WriteSection((UINT8 *)&currentInfo, 0, sizeof(UIMenuStoreInfo), 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)) {
//if current size is the same with previous, use PS_UPDATE instead
//of PS_RDWR to prevent that PStore is no free space
DBG_DUMP("PStore reset info for uiPsFreeSpace=0.\r\n");
PStore_CloseSection(pSection);
memset(&currentInfo, 0, sizeof(UIMenuStoreInfo));
memset(&currentInfo, 0, sizeof(currentInfo));
currentInfo.uhInfoSize = sizeof(UIMenuStoreInfo);
SysResetFlag();
if ((pSection = PStore_OpenSection(PS_SYS_PARAM, PS_UPDATE)) != E_PS_SECHDLER) {
@ -498,12 +498,15 @@ void Load_MenuInfo(void)
if(Check_OTA() == TRUE){
DBG_DUMP("OTA success, reset system param\n");
printf("OTA success, reset system param\n");
SysResetFlag();
#if HUNTING_CAMERA_MCU == ENABLE
if(sf_is_usb_flag())
{
Save_MenuInfo();
}
#endif
return;
}
@ -516,13 +519,13 @@ void Load_MenuInfo(void)
void *pTempbuf = NULL;
ret = UIInfo_GetStrgPartitionInfo(&partition_ofs, &partition_size, PARTITION_PATH_USR1);
if ((ret == 0) && (sizeof(UIMenuStoreInfo) < partition_size)) {
if ((sizeof(UIMenuStoreInfo)/_EMBMEM_BLK_SIZE_) == 0) {
if ((ret == 0) && (sizeof(currentInfo) < partition_size)) {
if ((sizeof(currentInfo)/_EMBMEM_BLK_SIZE_) == 0) {
sectorCnt = 1;
} else if (((sizeof(UIMenuStoreInfo)/_EMBMEM_BLK_SIZE_) > 0) && ((sizeof(UIMenuStoreInfo)%_EMBMEM_BLK_SIZE_) != 0)) {
sectorCnt = sizeof(UIMenuStoreInfo)/_EMBMEM_BLK_SIZE_ + 1;
} else if (((sizeof(UIMenuStoreInfo)/_EMBMEM_BLK_SIZE_) > 0) && ((sizeof(UIMenuStoreInfo)%_EMBMEM_BLK_SIZE_) == 0)) {
sectorCnt = sizeof(UIMenuStoreInfo)/_EMBMEM_BLK_SIZE_;
} else if (((sizeof(currentInfo)/_EMBMEM_BLK_SIZE_) > 0) && ((sizeof(currentInfo)%_EMBMEM_BLK_SIZE_) != 0)) {
sectorCnt = sizeof(currentInfo)/_EMBMEM_BLK_SIZE_ + 1;
} else if (((sizeof(currentInfo)/_EMBMEM_BLK_SIZE_) > 0) && ((sizeof(currentInfo)%_EMBMEM_BLK_SIZE_) == 0)) {
sectorCnt = sizeof(currentInfo)/_EMBMEM_BLK_SIZE_;
}
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");
SysResetFlag();
} else {
rw_len = (INT32)fread(pTempbuf, 1, sizeof(UIMenuStoreInfo), fd_mmc);
if (rw_len != sizeof(UIMenuStoreInfo)) {
DBG_ERR("read size %d < %ld\r\n", rw_len, sizeof(UIMenuStoreInfo));
rw_len = (INT32)fread(pTempbuf, 1, sizeof(currentInfo), fd_mmc);
if (rw_len != sizeof(currentInfo)) {
DBG_ERR("read size %d < %ld\r\n", rw_len, sizeof(currentInfo));
SysResetFlag();
} else {
memcpy(&currentInfo, pTempbuf, sizeof(UIMenuStoreInfo));
memcpy(&currentInfo, pTempbuf, sizeof(currentInfo));
}
free(pTempbuf);
pTempbuf = NULL;
@ -564,10 +567,10 @@ void Load_MenuInfo(void)
char cmd[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);
if ((ret == 0) && (sizeof(UIMenuStoreInfo) < partition_size)) {
if ((ret == 0) && (sizeof(currentInfo) < partition_size)) {
char sys_mtd_dev_path[128] = {'\0'};
ret = find_sys_mtd_device(sys_mtd_dev_path, sizeof(sys_mtd_dev_path));
@ -612,13 +615,13 @@ void Load_MenuInfo(void)
goto EXIT;
}
if(((UIMenuStoreInfo*)tmpInfo)->uhInfoSize == sizeof(UIMenuStoreInfo)){
memcpy(&currentInfo, tmpInfo, sizeof(UIMenuStoreInfo));
if(((UIMenuStoreInfo*)tmpInfo)->uhInfoSize == sizeof(currentInfo)){
memcpy(&currentInfo, tmpInfo, sizeof(currentInfo));
}
else{
DBG_WRN("menu info size loaded from flash seems incorrect, reset menu info\n");
SysResetFlag();
currentInfo.uhInfoSize = sizeof(UIMenuStoreInfo);
currentInfo.uhInfoSize = sizeof(currentInfo);
}
}
@ -626,7 +629,7 @@ EXIT:
if(ret){
SysResetFlag();
currentInfo.uhInfoSize = sizeof(UIMenuStoreInfo);
currentInfo.uhInfoSize = sizeof(currentInfo);
}
SysCheckFlag();
origInfo = currentInfo;
@ -642,8 +645,6 @@ EXIT:
}
#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;
int ret = -1;
FILE *sys_mtd_fp = NULL;
@ -652,10 +653,10 @@ EXIT:
void *tmpInfo = NULL;
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);
if ((ret == 0) && (sizeof(UIMenuStoreInfo) < partition_size)) {
if ((ret == 0) && (sizeof(currentInfo) < partition_size)) {
char sys_mtd_dev_path[128] = {'\0'};
ret = find_sys_mtd_device(sys_mtd_dev_path, sizeof(sys_mtd_dev_path));
@ -686,22 +687,24 @@ EXIT:
goto EXIT;
}
if(((UIMenuStoreInfo*)tmpInfo)->uhInfoSize == sizeof(UIMenuStoreInfo)){
memcpy(&currentInfo, tmpInfo, sizeof(UIMenuStoreInfo));
if(((UIMenuStoreInfo*)tmpInfo)->uhInfoSize == sizeof(currentInfo)){
memcpy(&currentInfo, tmpInfo, sizeof(currentInfo));
}
else{
DBG_WRN("menu info size loaded from flash seems incorrect(old:%lu new:%lu), reset menu info\n",
((UIMenuStoreInfo*)tmpInfo)->uhInfoSize,
sizeof(UIMenuStoreInfo)
sizeof(currentInfo)
);
SysResetFlag();
currentInfo.uhInfoSize = sizeof(UIMenuStoreInfo);
sf_share_mem_customer_down(0);
currentInfo.uhInfoSize = sizeof(currentInfo);
#if HUNTING_CAMERA_MCU == ENABLE
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",
sizeof(UIMenuStoreInfo),
sizeof(currentInfo),
//((UIMenuStoreInfo*)tmpInfo)->UIParameter[FL_MOVIE_SIZE],
//((UIMenuStoreInfo*)tmpInfo)->UIParameter[CamMode],
sum);
@ -711,8 +714,11 @@ EXIT:
if(ret){
SysResetFlag();
currentInfo.uhInfoSize = sizeof(UIMenuStoreInfo);
sf_share_mem_customer_down(0);
currentInfo.uhInfoSize = sizeof(currentInfo);
#if HUNTING_CAMERA_MCU == ENABLE
sf_share_mem_customer_down(0);
#endif
}
SysCheckFlag();
origInfo = currentInfo;
@ -894,12 +900,12 @@ void Save_MenuInfo(void)
INT32 rw_len = 0;
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
DBG_ERR("/dev/mmcblk2p14 fail !!\r\n");
} else {
rw_len = fwrite(&currentInfo, 1, sizeof(UIMenuStoreInfo), fd_mmc);
if(rw_len != sizeof(UIMenuStoreInfo)) {
rw_len = fwrite(&currentInfo, 1, sizeof(currentInfo), fd_mmc);
if(rw_len != sizeof(currentInfo)) {
DBG_ERR("Error to write file for /dev/mmcblk2p14");
}
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
DBG_ERR("/dev/mmcblk2p14 fail !!\r\n");
} else {
rw_len = fwrite(&currentInfo, 1, sizeof(UIMenuStoreInfo), fd_mmc);
if(rw_len != sizeof(UIMenuStoreInfo)) {
rw_len = fwrite(&currentInfo, 1, sizeof(currentInfo), fd_mmc);
if(rw_len != sizeof(currentInfo)) {
DBG_ERR("Error to write file for /dev/mmcblk2p14");
}
fclose(fd_mmc);
@ -931,15 +937,15 @@ void Save_MenuInfo(void)
SysCheckFlag();
/* 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");
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);
if ((ret == 0) && (sizeof(UIMenuStoreInfo) < partition_size)) {
if ((ret == 0) && (sizeof(currentInfo) < partition_size)) {
char sys_mtd_dev_path[128] = {'\0'};
ret = find_sys_mtd_device(sys_mtd_dev_path, sizeof(sys_mtd_dev_path));
if(ret){
@ -962,8 +968,8 @@ void Save_MenuInfo(void)
}
memset(tmpInfo, 0xFF, write_size); /* keep remain data 0xFF to avoid write flash */
currentInfo.uhInfoSize = sizeof(UIMenuStoreInfo);
memcpy(tmpInfo, &currentInfo, sizeof(UIMenuStoreInfo));
currentInfo.uhInfoSize = sizeof(currentInfo);
memcpy(tmpInfo, &currentInfo, sizeof(currentInfo));
sprintf(filename, "nandwrite.in");
nandwrite_fp = fopen(filename, "wb");
if(!nandwrite_fp){
@ -1022,15 +1028,15 @@ EXIT:
SysCheckFlag();
/* 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");
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);
if ((ret == 0) && (sizeof(UIMenuStoreInfo) < partition_size)) {
if ((ret == 0) && (sizeof(currentInfo) < partition_size)) {
char sys_mtd_dev_path[128] = {'\0'};
ret = find_sys_mtd_device(sys_mtd_dev_path, sizeof(sys_mtd_dev_path));
if(ret){
@ -1061,8 +1067,8 @@ EXIT:
}
memset(tmpInfo, 0xFF, write_size);
currentInfo.uhInfoSize = sizeof(UIMenuStoreInfo);
memcpy(tmpInfo, &currentInfo, sizeof(UIMenuStoreInfo));
currentInfo.uhInfoSize = sizeof(currentInfo);
memcpy(tmpInfo, &currentInfo, sizeof(currentInfo));
rw_len = fwrite(tmpInfo, 1, write_size, sys_mtd_fp);
if(rw_len != (INT32)(write_size)) {
DBG_ERR("fwrite size not matched(%ld / %ld)!\n", rw_len, write_size);
@ -1071,12 +1077,15 @@ EXIT:
}
fflush(sys_mtd_fp);
UINT32 sum = MemCheck_CalcCheckSum16Bit((UINT32)tmpInfo, sizeof(UIMenuStoreInfo));
DBG_DUMP("**************size = %lx / sum = %lx **************\n",
sizeof(UIMenuStoreInfo),
//((UIMenuStoreInfo*)tmpInfo)->UIParameter[CamMode],
UINT32 sum = MemCheck_CalcCheckSum16Bit((UINT32)tmpInfo, sizeof(currentInfo));
DBG_DUMP("**************size = %lx / mov size = %u / sum = %lx **************\n",
sizeof(currentInfo),
((UIMenuStoreInfo*)tmpInfo)->UIParameter[FL_MOVIE_SIZE],
sum);
sf_share_mem_customer_down(0);
#if HUNTING_CAMERA_MCU == ENABLE
sf_share_mem_customer_down(0);
#endif
}
else{
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
#if 0
#if HUNTING_CAMERA_MCU == DISABLE
//=====================Sifar=============
SysLimitFlag(CamNameSwitch, 0, SF_CAMID_MAX, DEFAULT_SF_CAMID);
SysLimitFlag(CamMode, 0, SF_CAM_MODE_MAX, DEFAULT_BOOT_WORK_MODE);
@ -1489,7 +1498,6 @@ void SysSetFixedFlagSysInit(void)
void SysResetFlag(void)
{
UIMenuStoreInfo *puiPara = sf_ui_para_get();
// Set system flag default value here
// Photo
SysSetFlag(FL_PHOTO_SIZE, DEFAULT_PHOTO_SIZE);
@ -1523,11 +1531,9 @@ void SysResetFlag(void)
SysSetFlag(FL_DEFOG, DEFAULT_DEFOG);
// 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_COLOR, DEFAULT_MOVIE_COLOR);
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_NetWorkMode, DEFAULT_WIFI_MODE); // Reset To Wi-Fi mode to AP mode.
#endif
//#NT#2023/01/11#Eric - begin //#NT#Support
//=====================Sifar=============///Eric
//Ux_SendEvent(&UISetupObjCtrl, NVTEVT_EXE_BOOTWORKMODE, 1, SysGetFlag(CamMode));
//#NT#2023/01/11#Eric - end
//#2023/02/10#Payton - begin
//=====================Sifar=============
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get();
puiPara->CamNameSwitch = DEFAULT_SF_CAMID;
puiPara->CamMode = DEFAULT_BOOT_WORK_MODE;
@ -1719,9 +1727,75 @@ void SysResetFlag(void)
puiPara->TimeSend3Switch = DEFAULT_TIMESEND3_SWITCH;
puiPara->TimeSend4Switch = DEFAULT_TIMESEND4_SWITCH;
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__);
@ -1732,7 +1806,6 @@ void SysResetFlag(void)
void SysExeMenuSettingFuncs(void)
{
UIMenuStoreInfo *puiPara = sf_ui_para_get();
#if (PHOTO_MODE==ENABLE)
/*--- Photo ---*/
Ux_SendEvent(&CustomPhotoObjCtrl, NVTEVT_EXE_QUALITY, 1, SysGetFlag(FL_QUALITY));
@ -1803,7 +1876,7 @@ void SysExeMenuSettingFuncs(void)
#endif
//#NT#2023/01/11#Eric - begin //#NT#Support
//=====================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
}

View File

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

View File

@ -119,7 +119,7 @@ static MOVIE_SIZE_ITEM g_MovieSizeTable[] = {
[MOVIE_SIZE_2560x1440P30] = {
{2560, 1440, 30, 1750 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9},
{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] = {
@ -197,7 +197,7 @@ static MOVIE_SIZE_ITEM g_MovieSizeTable[] = {
[MOVIE_SIZE_640x480P30] = {
{ 640, 480, 30, 150 * 1024, MEDIAREC_DAR_DEFAULT, IMAGERATIO_4_3},
{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] = {
@ -214,7 +214,7 @@ static MOVIE_SIZE_ITEM g_MovieSizeTable[] = {
#else
{ 640, 360, 30, 78643, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9},
{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
},

View File

@ -250,6 +250,11 @@ char Time12HRNameTable[3][4] = {
"PM"
};
UINT32 DateTime_StrBuf_Size(void)
{
return sizeof(gUIDateTime_StrBuf);
}
//using by date-stamp
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