1.wifi修改;2.卡死问题修改;3.iq更新
This commit is contained in:
parent
809e5c246c
commit
40758008c6
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -11,3 +11,5 @@ modules.order
|
||||||
Module.symvers
|
Module.symvers
|
||||||
/.vs
|
/.vs
|
||||||
/.vscode
|
/.vscode
|
||||||
|
*.cache
|
||||||
|
*compile_commands.json
|
5093
BSP/busybox/include/usage_compressed.h.8412
Normal file
5093
BSP/busybox/include/usage_compressed.h.8412
Normal file
File diff suppressed because it is too large
Load Diff
|
@ -1 +1 @@
|
||||||
/home/payton/na51089_linux_sdk/na51089_linux_sdk/BSP/linux-kernel/arch/arm/plat-novatek/include/plat-na51089
|
/home/payton/S530/BSP/linux-kernel/arch/arm/plat-novatek/include/plat-na51089
|
|
@ -1 +1 @@
|
||||||
/home/payton/na51089_linux_sdk/na51089_linux_sdk/BSP/linux-kernel/arch/arm/plat-novatek/plat-na51089
|
/home/payton/S530/BSP/linux-kernel/arch/arm/plat-novatek/plat-na51089
|
|
@ -1 +1 @@
|
||||||
/home/payton/na51089_linux_sdk/na51089_linux_sdk/code/hdal
|
/home/payton/S530/code/hdal
|
|
@ -1 +1 @@
|
||||||
/home/payton/na51089_linux_sdk/na51089_linux_sdk/code/vos
|
/home/payton/S530/code/vos
|
304
BSP/root-fs/rootfs/etc_Model/etc_565_HUNTING_EVB_LINUX_4G_S530/app/hostap.sh
Executable file
304
BSP/root-fs/rootfs/etc_Model/etc_565_HUNTING_EVB_LINUX_4G_S530/app/hostap.sh
Executable file
|
@ -0,0 +1,304 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# History:
|
||||||
|
# 2013/06/24 - [Tao Wu] Create file
|
||||||
|
# 2016/06/22 - [Tao Wu] Update file
|
||||||
|
#
|
||||||
|
# Copyright (c) 2015 Ambarella International LP
|
||||||
|
#
|
||||||
|
# This file and its contents ("Software") are protected by intellectual
|
||||||
|
# property rights including, without limitation, U.S. and/or foreign
|
||||||
|
# copyrights. This Software is also the confidential and proprietary
|
||||||
|
# information of Ambarella International LP and its licensors. You may not use, reproduce,
|
||||||
|
# disclose, distribute, modify, or otherwise prepare derivative works of this
|
||||||
|
# Software or any portion thereof except pursuant to a signed license agreement
|
||||||
|
# or nondisclosure agreement with Ambarella International LP or its authorized affiliates.
|
||||||
|
# In the absence of such an agreement, you agree to promptly notify and return
|
||||||
|
# this Software to Ambarella International LP.
|
||||||
|
#
|
||||||
|
# This file includes sample code and is only for internal testing and evaluation. If you
|
||||||
|
# distribute this sample code (whether in source, object, or binary code form), it will be
|
||||||
|
# without any warranty or indemnity protection from Ambarella International LP or its affiliates.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||||
|
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT,
|
||||||
|
# MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||||
|
# IN NO EVENT SHALL AMBARELLA INTERNATIONAL LP OR ITS AFFILIATES BE LIABLE FOR ANY DIRECT,
|
||||||
|
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
# LOSS OF USE, DATA, OR PROFITS; COMPUTER FAILURE OR MALFUNCTION; OR BUSINESS
|
||||||
|
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
#
|
||||||
|
|
||||||
|
HOSTAP_VERSION="1.1.2"
|
||||||
|
|
||||||
|
encryption=$1
|
||||||
|
ssid=$2
|
||||||
|
passwd=$3
|
||||||
|
channel=$4
|
||||||
|
|
||||||
|
DEVICE=$5
|
||||||
|
DIR_CONFIG=/tmp/config
|
||||||
|
|
||||||
|
############# HOSTAP CONFIG ###############
|
||||||
|
WOWLAN=1
|
||||||
|
HOSTAP_CTRL_INTERFACE=/var/run/hostapd
|
||||||
|
HOST_CONFIG=$DIR_CONFIG/hostapd.conf
|
||||||
|
DEFAULT_CHANNEL=1
|
||||||
|
HOST_MAX_STA=1
|
||||||
|
AP_PIN=12345670
|
||||||
|
DRIVER=nl80211
|
||||||
|
|
||||||
|
wpa_group_rekey=120
|
||||||
|
############# DHCP Server ###############
|
||||||
|
LOCAL_IP=192.168.1.1
|
||||||
|
LOCAL_NETMASK=255.255.255.0
|
||||||
|
DHCP_IP_START=192.168.1.20
|
||||||
|
DHCP_IP_END=192.168.1.100
|
||||||
|
|
||||||
|
############# Exit Error Number ###############
|
||||||
|
ERRNO_OK=0
|
||||||
|
ERRNO_PARAM=1
|
||||||
|
ERRNO_ENV=2
|
||||||
|
#ERRNO_SSID_NOT_FOUND=3
|
||||||
|
#ERRNO_PASSWORD_WRONG=4
|
||||||
|
|
||||||
|
#####################################
|
||||||
|
usages()
|
||||||
|
{
|
||||||
|
echo "Version: ${HOSTAP_VERSION}"
|
||||||
|
echo "This script used to Setup/Stop WiFi AP mode with hostapd"
|
||||||
|
echo "usage: $0 [open|wpa3|wpa2|wpa|wpawpa2|wps] <SSID> <Password> <Channel>"
|
||||||
|
echo ""
|
||||||
|
echo "Example:"
|
||||||
|
echo "Setup AP[Open]: $0 open <SSID> 0 <Channel>"
|
||||||
|
echo "Setup AP[Encrypt]: $0 [wpa3|wpa2|wpa|wpawpa2] <SSID> <Password> <Channel>"
|
||||||
|
echo "Setup AP[WPA2+WPS]:$0 wps <SSID> <Password> <Channel>"
|
||||||
|
echo " [Control AP] # hostapd_cli -i<interface> [wps_pbc | wps_pin any <PIN>] (PIN:${AP_PIN})"
|
||||||
|
echo "Stop AP mode: $0 stop"
|
||||||
|
echo ""
|
||||||
|
echo "NOTICE: Using interface AP[${DEVICE}] by default, change it if necessary."
|
||||||
|
|
||||||
|
exit $ERRNO_OK
|
||||||
|
}
|
||||||
|
|
||||||
|
# kill process
|
||||||
|
kill_apps()
|
||||||
|
{
|
||||||
|
#the max times to kill app
|
||||||
|
local KILL_NUM_MAX=10
|
||||||
|
|
||||||
|
for app in "$@"
|
||||||
|
do
|
||||||
|
local kill_num=0
|
||||||
|
while [ "$(pgrep "${app}")" != "" ]
|
||||||
|
do
|
||||||
|
if [ $kill_num -ge $KILL_NUM_MAX ]; then
|
||||||
|
echo "Please try execute \"killall ${app}\" by yourself"
|
||||||
|
exit $ERRNO_ENV
|
||||||
|
else
|
||||||
|
killall -9 "${app}"
|
||||||
|
sleep 1
|
||||||
|
fi
|
||||||
|
kill_num=$((kill_num + 1));
|
||||||
|
done
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
stop_wifi_app()
|
||||||
|
{
|
||||||
|
kill_apps udhcpc dnsmasq NetworkManager hostapd_cli hostapd
|
||||||
|
ifconfig ${DEVICE} down
|
||||||
|
}
|
||||||
|
|
||||||
|
################ AP Mode #####################
|
||||||
|
check_encrypt()
|
||||||
|
{
|
||||||
|
if [ "${encryption}" != "open" ]; then
|
||||||
|
len=${#passwd}
|
||||||
|
if [ "$len" -lt 8 ]; then
|
||||||
|
echo "Password length at least 8"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
check_channel()
|
||||||
|
{
|
||||||
|
if [ ${#channel} -gt 0 ]; then
|
||||||
|
if [ "${channel}" -gt 196 ] || [ "${channel}" -lt 1 ]; then
|
||||||
|
echo "Your Channel is wrong(1 ~ 196), using Channel ${DEFAULT_CHANNEL} by default."
|
||||||
|
channel=$DEFAULT_CHANNEL
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "No specified channel, using default channel ${DEFAULT_CHANNEL}."
|
||||||
|
channel=$DEFAULT_CHANNEL
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
generate_hostapd_conf()
|
||||||
|
{
|
||||||
|
if [ -f ${HOST_CONFIG} ]; then
|
||||||
|
## Use the saved config, Do not need generate new config except failed to connect.
|
||||||
|
return ;
|
||||||
|
fi
|
||||||
|
mkdir -p $DIR_CONFIG
|
||||||
|
|
||||||
|
check_encrypt
|
||||||
|
check_channel
|
||||||
|
echo "AP: SSID[${ssid}], Password[${passwd}], Encryption[${encryption}], Channel[${channel}]."
|
||||||
|
|
||||||
|
echo "interface=${DEVICE}" > ${HOST_CONFIG}
|
||||||
|
echo "ctrl_interface=${HOSTAP_CTRL_INTERFACE}" >> ${HOST_CONFIG}
|
||||||
|
echo "driver=${DRIVER}" >> ${HOST_CONFIG}
|
||||||
|
echo "ctrl_interface_group=0" >> ${HOST_CONFIG}
|
||||||
|
echo "ignore_broadcast_ssid=0" >> ${HOST_CONFIG}
|
||||||
|
echo "auth_algs=1" >> ${HOST_CONFIG}
|
||||||
|
# echo "country_code=CN" >> ${HOST_CONFIG}
|
||||||
|
|
||||||
|
## This for WiFi suspend/resume
|
||||||
|
#if [ $WOWLAN -eq 1 ]; then
|
||||||
|
#echo "wowlan_triggers=any" >> ${HOST_CONFIG}
|
||||||
|
#fi
|
||||||
|
|
||||||
|
{
|
||||||
|
echo "beacon_int=100"
|
||||||
|
echo "dtim_period=1"
|
||||||
|
echo "preamble=0"
|
||||||
|
echo "ssid=${ssid}"
|
||||||
|
echo "max_num_sta=${HOST_MAX_STA}"
|
||||||
|
} >> ${HOST_CONFIG}
|
||||||
|
|
||||||
|
if [ ${channel} -gt 14 ]; then
|
||||||
|
echo "hw_mode=a" >> ${HOST_CONFIG}
|
||||||
|
fi
|
||||||
|
echo "channel=${channel}" >> ${HOST_CONFIG}
|
||||||
|
|
||||||
|
if [ "${encryption}" != "open" ]; then
|
||||||
|
local len_passwd=${#passwd}
|
||||||
|
local local_passwd_value=""
|
||||||
|
|
||||||
|
if [ "$len_passwd" -eq 64 ]; then
|
||||||
|
echo "passphrase length is 64, using hex type"
|
||||||
|
local_passwd_value="${passwd}"
|
||||||
|
elif [ "$len_passwd" -ge 8 ] && [ "$len_passwd" -le 63 ]; then
|
||||||
|
local_passwd_value="${passwd}"
|
||||||
|
else
|
||||||
|
echo "Invalid passphrase length ${len_passwd} (expected: 8..63 or 64 hex)"
|
||||||
|
rm -rf ${HOST_CONFIG}
|
||||||
|
exit $ERRNO_PARAM
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
case ${encryption} in
|
||||||
|
open)
|
||||||
|
;;
|
||||||
|
wpa3)
|
||||||
|
echo "wpa=2" >> ${HOST_CONFIG}
|
||||||
|
echo "wpa_key_mgmt=SAE" >> ${HOST_CONFIG}
|
||||||
|
echo "rsn_pairwise=CCMP" >> ${HOST_CONFIG}
|
||||||
|
echo "wpa_passphrase=${local_passwd_value}" >> ${HOST_CONFIG}
|
||||||
|
echo "ieee80211w=2" >> ${HOST_CONFIG}
|
||||||
|
# echo "sae_password=${local_passwd_value}" >> ${HOST_CONFIG}
|
||||||
|
;;
|
||||||
|
wpa2)
|
||||||
|
echo "wpa=2" >> ${HOST_CONFIG}
|
||||||
|
echo "wpa_key_mgmt=WPA-PSK" >> ${HOST_CONFIG}
|
||||||
|
echo "wpa_pairwise=CCMP" >> ${HOST_CONFIG}
|
||||||
|
echo "wpa_passphrase=${local_passwd_value}" >> ${HOST_CONFIG}
|
||||||
|
;;
|
||||||
|
wpa)
|
||||||
|
echo "wpa=1" >> ${HOST_CONFIG}
|
||||||
|
echo "wpa_key_mgmt=WPA-PSK" >> ${HOST_CONFIG}
|
||||||
|
echo "wpa_pairwise=TKIP" >> ${HOST_CONFIG}
|
||||||
|
echo "wpa_passphrase=${local_passwd_value}" >> ${HOST_CONFIG}
|
||||||
|
;;
|
||||||
|
wpawpa2)
|
||||||
|
echo "wpa=2" >> ${HOST_CONFIG}
|
||||||
|
echo "wpa_key_mgmt=WPA-PSK" >> ${HOST_CONFIG}
|
||||||
|
echo "wpa_pairwise=CCMP" >> ${HOST_CONFIG}
|
||||||
|
echo "wpa_passphrase=${local_passwd_value}" >> ${HOST_CONFIG}
|
||||||
|
;;
|
||||||
|
wps)
|
||||||
|
echo "wpa=2" >> ${HOST_CONFIG}
|
||||||
|
echo "wpa_key_mgmt=WPA-PSK" >> ${HOST_CONFIG}
|
||||||
|
echo "wpa_pairwise=CCMP" >> ${HOST_CONFIG}
|
||||||
|
echo "wpa_passphrase=${local_passwd_value}" >> ${HOST_CONFIG}
|
||||||
|
|
||||||
|
echo "wps_state=2" >> ${HOST_CONFIG}
|
||||||
|
echo "eap_server=1" >> ${HOST_CONFIG}
|
||||||
|
echo "ap_pin=${AP_PIN}" >> ${HOST_CONFIG}
|
||||||
|
echo "config_methods=label display push_button keypad ethernet" >> ${HOST_CONFIG}
|
||||||
|
echo "wps_pin_requests=/var/run/hostapd.pin-req" >> ${HOST_CONFIG}
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Not support encryption [$encryption]"
|
||||||
|
exit $ERRNO_PARAM
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
#echo "wpa_group_rekey=$wpa_group_rekey" >> ${HOST_CONFIG}
|
||||||
|
#echo "ignore_broadcast_ssid=0" >> ${HOST_CONFIG}
|
||||||
|
#echo "ap_setup_locked=0" >> ${HOST_CONFIG}
|
||||||
|
echo "hw_mode=g" >> ${HOST_CONFIG}
|
||||||
|
echo "ieee80211n=1">>${HOST_CONFIG}
|
||||||
|
}
|
||||||
|
|
||||||
|
start_dhcp_server()
|
||||||
|
{
|
||||||
|
## Start DHCP Server ##
|
||||||
|
#mkdir -p /var/lib/misc
|
||||||
|
#mkdir -p /etc/dnsmasq.d
|
||||||
|
#dnsmasq -i${DEVICE} --no-daemon --no-resolv --no-poll --dhcp-range=${DHCP_IP_START},${DHCP_IP_END},1h &
|
||||||
|
udhcpd /appfs/etc/udhcpd.conf &
|
||||||
|
}
|
||||||
|
|
||||||
|
hostapd_start_ap()
|
||||||
|
{
|
||||||
|
## Setup interface and set IP,gateway##
|
||||||
|
echo "Using Interface AP:[${DEVICE}]"
|
||||||
|
ifconfig ${DEVICE} ${LOCAL_IP} up
|
||||||
|
route add default netmask ${LOCAL_NETMASK} gw ${LOCAL_IP}
|
||||||
|
## Start Hostapd ##
|
||||||
|
CMD="hostapd ${HOST_CONFIG} -e /appfs/etc/bpi/entropy.bin -B"
|
||||||
|
echo "CMD=${CMD}"
|
||||||
|
$CMD
|
||||||
|
|
||||||
|
#start_dhcp_server
|
||||||
|
echo "HostAP Setup Finished."
|
||||||
|
}
|
||||||
|
|
||||||
|
clear_config()
|
||||||
|
{
|
||||||
|
rm -rf ${HOST_CONFIG}
|
||||||
|
}
|
||||||
|
|
||||||
|
################ Main ###################
|
||||||
|
|
||||||
|
## Show usage when no parameter
|
||||||
|
if [ $# -eq 0 ]; then
|
||||||
|
usages
|
||||||
|
fi
|
||||||
|
|
||||||
|
## Start WiFi
|
||||||
|
if [ $# -gt 1 ]; then
|
||||||
|
clear_config
|
||||||
|
fi
|
||||||
|
|
||||||
|
case ${encryption} in
|
||||||
|
"stop")
|
||||||
|
stop_wifi_app
|
||||||
|
;;
|
||||||
|
open|wpa3|wpa2|wpa|wpawpa2|wps)
|
||||||
|
generate_hostapd_conf
|
||||||
|
hostapd_start_ap
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Please Select Encryption [open|wpa3|wpa2|wpa|wpawpa2|wps] or stop"
|
||||||
|
exit $ERRNO_PARAM
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
########################################
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
modprobe 8189fs
|
modprobe 8189fs
|
||||||
|
|
||||||
echo "Configuring loopback interface"
|
echo "Configuring loopback interface 8189fs"
|
||||||
ifconfig lo 127.0.0.1
|
ifconfig lo 127.0.0.1
|
||||||
|
|
||||||
#FOR WiFi Sample
|
#FOR WiFi Sample
|
||||||
ifconfig wlan0 up
|
ifconfig wlan0 up
|
||||||
ifconfig wlan0 192.168.1.3
|
ifconfig wlan0 192.168.1.1
|
||||||
hostapd -B -dd /etc/wifiap_wpa2.conf
|
#hostapd -B -dd /etc/wifiap_wpa2.conf
|
||||||
|
|
||||||
#DHCP Deamon
|
#DHCP Deamon
|
||||||
udhcpd -fS /etc/udhcpdw.conf &
|
#udhcpd -fS /etc/udhcpdw.conf &
|
||||||
|
|
|
@ -5,7 +5,8 @@ NETWORK_SETUP_SCRIPT="/etc/init.d/net_init.sh"
|
||||||
do_wifi_init()
|
do_wifi_init()
|
||||||
{
|
{
|
||||||
if [ "$NVT_SDIO_WIFI" == "NVT_SDIO_WIFI_RTK" ]; then
|
if [ "$NVT_SDIO_WIFI" == "NVT_SDIO_WIFI_RTK" ]; then
|
||||||
/etc/init.d/BS_Net_wifiap8189ftv
|
#/etc/init.d/BS_Net_wifiap8189ftv
|
||||||
|
echo "Configuring BS_Net_wifiap8189ftv sf stop"
|
||||||
elif [ "$NVT_SDIO_WIFI" == "NVT_SDIO_WIFI_BRCM" ]; then
|
elif [ "$NVT_SDIO_WIFI" == "NVT_SDIO_WIFI_BRCM" ]; then
|
||||||
modprobe bcmdhd
|
modprobe bcmdhd
|
||||||
# TBD
|
# TBD
|
||||||
|
|
130
BSP/root-fs/rootfs/etc_Model/etc_565_HUNTING_EVB_LINUX_4G_S530/udhcpdw.conf
Executable file → Normal file
130
BSP/root-fs/rootfs/etc_Model/etc_565_HUNTING_EVB_LINUX_4G_S530/udhcpdw.conf
Executable file → Normal file
|
@ -2,117 +2,89 @@
|
||||||
# Values shown are defaults
|
# Values shown are defaults
|
||||||
|
|
||||||
# The start and end of the IP lease block
|
# The start and end of the IP lease block
|
||||||
start 192.168.1.20
|
start 192.168.1.20
|
||||||
end 192.168.1.254
|
end 192.168.1.254
|
||||||
|
|
||||||
# The interface that udhcpd will use
|
# The interface that udhcpd will use
|
||||||
interface wlan0
|
interface wlan0
|
||||||
|
#interface ap0
|
||||||
# The maximum number of leases (includes addresses reserved
|
# The maximim number of leases (includes addresses reserved
|
||||||
# by OFFER's, DECLINE's, and ARP conflicts). Will be corrected
|
# by OFFER's, DECLINE's, and ARP conficts). Will be corrected
|
||||||
# if it's bigger than IP lease block, but it ok to make it
|
# if it's bigger than IP lease block, but it ok to make it
|
||||||
# smaller than lease block.
|
# smaller than lease block.
|
||||||
#max_leases 254
|
#max_leases 254
|
||||||
|
|
||||||
|
# The time period at which udhcpd will write out a dhcpd.leases
|
||||||
|
# file. If this is 0, udhcpd will never automatically write a
|
||||||
|
# lease file. Specified in seconds.
|
||||||
|
#auto_time 7200
|
||||||
|
|
||||||
# The amount of time that an IP will be reserved (leased to nobody)
|
# The amount of time that an IP will be reserved (leased to nobody)
|
||||||
# if a DHCP decline message is received (seconds)
|
# if a DHCP decline message is received (seconds).
|
||||||
#decline_time 3600
|
#decline_time 3600
|
||||||
|
|
||||||
# The amount of time that an IP will be reserved
|
# The amount of time that an IP will be reserved
|
||||||
# if an ARP conflict occurs (seconds)
|
# if an ARP conflct occurs (seconds).
|
||||||
#conflict_time 3600
|
#conflict_time 3600
|
||||||
|
|
||||||
# How long an offered address is reserved (seconds)
|
# How long an offered address is reserved (seconds).
|
||||||
#offer_time 60
|
#offer_time 60
|
||||||
|
|
||||||
# If client asks for lease below this value, it will be rounded up
|
# If client asks for lease below this value, it will be rounded up
|
||||||
# to this value (seconds)
|
# to this value (seconds).
|
||||||
#min_lease 60
|
#min_lease 60
|
||||||
|
|
||||||
# The location of the pid file
|
|
||||||
#pidfile /var/run/udhcpd.pid
|
|
||||||
|
|
||||||
# The location of the leases file
|
# The location of the leases file
|
||||||
#lease_file /var/lib/misc/udhcpd.leases
|
#lease_file /var/lib/misc/udhcpd.leases
|
||||||
|
|
||||||
# The time period at which udhcpd will write out leases file.
|
# The location of the pid file
|
||||||
# If this is 0, udhcpd will never automatically write leases file.
|
#pidfile /var/run/udhcpd.pid
|
||||||
# Specified in seconds.
|
|
||||||
#auto_time 7200
|
|
||||||
|
|
||||||
# Every time udhcpd writes a leases file, the below script will be called
|
# Everytime udhcpd writes a leases file, the below script will be called.
|
||||||
#notify_file # default: no script
|
#notify_file # default: no script
|
||||||
#notify_file dumpleases # useful for debugging
|
#notify_file dumpleases # useful for debugging
|
||||||
|
|
||||||
# The following are bootp specific options
|
# The following are bootp specific options, settable by udhcpd.
|
||||||
# next server to use in bootstrap
|
#siaddr 192.168.0.22 #default: 0.0.0.0
|
||||||
#siaddr 192.168.1.22 # default: 0.0.0.0 (none)
|
#sname zorak #default: none
|
||||||
# tftp server name
|
#boot_file /var/nfs_root #default: none
|
||||||
#sname zorak # default: none
|
|
||||||
# tftp file to download (e.g. kernel image)
|
|
||||||
#boot_file /var/nfs_root # default: none
|
|
||||||
|
|
||||||
# Static leases map
|
# The remainer of options are DHCP options and can be specifed with the
|
||||||
#static_lease 00:60:08:11:CE:4E 192.168.1.54
|
|
||||||
#static_lease 00:60:08:11:CE:3E 192.168.1.44
|
|
||||||
|
|
||||||
# The remainder of options are DHCP options and can be specified with the
|
|
||||||
# keyword 'opt' or 'option'. If an option can take multiple items, such
|
# keyword 'opt' or 'option'. If an option can take multiple items, such
|
||||||
# as the dns option, they can be listed on the same line, or multiple
|
# as the dns option, they can be listed on the same line, or multiple
|
||||||
# lines.
|
# lines. The only option with a default is 'lease'.
|
||||||
# Examples:
|
# Examples:
|
||||||
#opt dns 192.168.10.2 192.168.10.10
|
opt dns 192.168.1.1
|
||||||
#opt dns 8.8.8.8 4.2.2.2
|
|
||||||
option subnet 255.255.255.0
|
option subnet 255.255.255.0
|
||||||
#opt router 192.168.10.2
|
opt router 192.168.1.1
|
||||||
#opt router 192.168.1.2
|
|
||||||
#opt wins 192.168.10.10
|
#opt wins 192.168.10.10
|
||||||
#opt wins 0.0.0.0
|
#option dns 129.219.13.81 # appened to above DNS servers for a total of 3
|
||||||
#option dns 129.219.13.81 # appended to above DNS servers for a total of 3
|
|
||||||
option domain local
|
option domain local
|
||||||
option lease 864000 # default: 10 days
|
option lease 864000 # 10 days of seconds
|
||||||
# option msstaticroutes 10.0.0.0/8 10.127.0.1 # single static route
|
|
||||||
# option staticroutes 10.0.0.0/8 10.127.0.1, 10.11.12.0/24 10.11.12.1
|
|
||||||
# Arbitrary option in hex form:
|
|
||||||
# option 0x08 01020304 # option 8: "cookie server IP addr: 1.2.3.4"
|
|
||||||
|
|
||||||
# Currently supported options (for more info, see options.c):
|
# Currently supported options (for more info, see options.c):
|
||||||
#opt lease NUM
|
#opt subnet
|
||||||
#opt subnet IP
|
#opt timezone
|
||||||
#opt broadcast IP
|
#opt router
|
||||||
#opt router IP_LIST
|
#opt timesrv
|
||||||
#opt ipttl NUM
|
#opt namesrv
|
||||||
#opt mtu NUM
|
#opt dns
|
||||||
#opt hostname STRING # client's hostname
|
#opt logsrv
|
||||||
#opt domain STRING # client's domain suffix
|
#opt cookiesrv
|
||||||
#opt search STRING_LIST # search domains
|
#opt lprsrv
|
||||||
#opt nisdomain STRING
|
#opt bootsize
|
||||||
#opt timezone NUM # (localtime - UTC_time) in seconds. signed
|
#opt domain
|
||||||
#opt tftp STRING # tftp server name
|
#opt swapsrv
|
||||||
#opt bootfile STRING # tftp file to download (e.g. kernel image)
|
#opt rootpath
|
||||||
#opt bootsize NUM # size of that file
|
#opt ipttl
|
||||||
#opt rootpath STRING # (NFS) path to mount as root fs
|
#opt mtu
|
||||||
#opt wpad STRING
|
#opt broadcast
|
||||||
#opt serverid IP # default: server's IP
|
#opt wins
|
||||||
#opt message STRING # error message (udhcpd sends it on success too)
|
#opt lease
|
||||||
#opt vlanid NUM # 802.1P VLAN ID
|
#opt ntpsrv
|
||||||
#opt vlanpriority NUM # 802.1Q VLAN priority
|
#opt tftp
|
||||||
# Options specifying server(s)
|
#opt bootfile
|
||||||
#opt dns IP_LIST
|
|
||||||
#opt wins IP_LIST
|
# Static leases map
|
||||||
#opt nissrv IP_LIST
|
#static_lease 00:60:08:11:CE:4E 192.168.0.54
|
||||||
#opt ntpsrv IP_LIST
|
#static_lease 00:60:08:11:CE:3E 192.168.0.44
|
||||||
#opt lprsrv IP_LIST
|
|
||||||
#opt swapsrv IP
|
|
||||||
# Options specifying routes
|
|
||||||
#opt routes IP_PAIR_LIST
|
|
||||||
#opt staticroutes STATIC_ROUTES # RFC 3442 classless static route option
|
|
||||||
#opt msstaticroutes STATIC_ROUTES # same, using MS option number
|
|
||||||
# Obsolete options, no longer supported
|
|
||||||
#opt logsrv IP_LIST # 704/UDP log server (not syslog!)
|
|
||||||
#opt namesrv IP_LIST # IEN 116 name server, obsolete (August 1979!!!)
|
|
||||||
#opt cookiesrv IP_LIST # RFC 865 "quote of the day" server, rarely (never?) used
|
|
||||||
#opt timesrv IP_LIST # RFC 868 time server, rarely (never?) used
|
|
||||||
# TODO: in development
|
|
||||||
#opt userclass STRING # RFC 3004. set of LASCII strings. "I am a printer" etc
|
|
||||||
#opt sipserv STRING LIST # RFC 3361. flag byte, then: 0: domain names, 1: IP addrs
|
|
||||||
|
|
|
@ -1,58 +1,17 @@
|
||||||
interface=wlan0
|
interface=wlan0
|
||||||
driver=rtl871xdrv
|
|
||||||
ssid=680apwpa2
|
ssid=680apwpa2
|
||||||
channel=3
|
channel=6
|
||||||
ieee80211n=1
|
wpa=0
|
||||||
|
wpa_passphrase=1234567890
|
||||||
|
|
||||||
|
driver=nl80211
|
||||||
|
beacon_int=100
|
||||||
hw_mode=g
|
hw_mode=g
|
||||||
wpa=2
|
ieee80211n=1
|
||||||
wpa_passphrase=12345678
|
wme_enabled=1
|
||||||
wpa_key_mgmt=WPA-PSK
|
wpa_key_mgmt=WPA-PSK
|
||||||
wpa_pairwise=TKIP
|
wpa_pairwise=CCMP
|
||||||
rsn_pairwise=CCMP
|
rsn_pairwise=CCMP
|
||||||
#bridge=br0
|
max_num_sta=1
|
||||||
|
wpa_group_rekey=86400
|
||||||
|
|
||||||
##### WPA/IEEE 802.11i configuration ##########################################
|
|
||||||
|
|
||||||
# Enable WPA. Setting this variable configures the AP to require WPA (either
|
|
||||||
# WPA-PSK or WPA-RADIUS/EAP based on other configuration). For WPA-PSK, either
|
|
||||||
# wpa_psk or wpa_passphrase must be set and wpa_key_mgmt must include WPA-PSK.
|
|
||||||
# For WPA-RADIUS/EAP, ieee8021x must be set (but without dynamic WEP keys),
|
|
||||||
# RADIUS authentication server must be configured, and WPA-EAP must be included
|
|
||||||
# in wpa_key_mgmt.
|
|
||||||
# This field is a bit field that can be used to enable WPA (IEEE 802.11i/D3.0)
|
|
||||||
# and/or WPA2 (full IEEE 802.11i/RSN):
|
|
||||||
# bit0 = WPA
|
|
||||||
# bit1 = IEEE 802.11i/RSN (WPA2) (dot11RSNAEnabled)
|
|
||||||
#wpa=1
|
|
||||||
|
|
||||||
|
|
||||||
# WPA pre-shared keys for WPA-PSK. This can be either entered as a 256-bit
|
|
||||||
# secret in hex format (64 hex digits), wpa_psk, or as an ASCII passphrase
|
|
||||||
# (8..63 characters) that will be converted to PSK. This conversion uses SSID
|
|
||||||
# so the PSK changes when ASCII passphrase is used and the SSID is changed.
|
|
||||||
# wpa_psk (dot11RSNAConfigPSKValue)
|
|
||||||
# wpa_passphrase (dot11RSNAConfigPSKPassPhrase)
|
|
||||||
#wpa_psk=0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
|
|
||||||
#wpa_passphrase=secret passphrase
|
|
||||||
|
|
||||||
|
|
||||||
# Set of accepted key management algorithms (WPA-PSK, WPA-EAP, or both). The
|
|
||||||
# entries are separated with a space. WPA-PSK-SHA256 and WPA-EAP-SHA256 can be
|
|
||||||
# added to enable SHA256-based stronger algorithms.
|
|
||||||
# (dot11RSNAConfigAuthenticationSuitesTable)
|
|
||||||
#wpa_key_mgmt=WPA-PSK WPA-EAP
|
|
||||||
|
|
||||||
|
|
||||||
# Set of accepted cipher suites (encryption algorithms) for pairwise keys
|
|
||||||
# (unicast packets). This is a space separated list of algorithms:
|
|
||||||
# CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0]
|
|
||||||
# TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
|
|
||||||
# Group cipher suite (encryption algorithm for broadcast and multicast frames)
|
|
||||||
# is automatically selected based on this configuration. If only CCMP is
|
|
||||||
# allowed as the pairwise cipher, group cipher will also be CCMP. Otherwise,
|
|
||||||
# TKIP will be used as the group cipher.
|
|
||||||
# (dot11RSNAConfigPairwiseCiphersTable)
|
|
||||||
# Pairwise cipher for WPA (v1) (default: TKIP)
|
|
||||||
#wpa_pairwise=TKIP CCMP
|
|
||||||
# Pairwise cipher for RSN/WPA2 (default: use wpa_pairwise value)
|
|
||||||
#rsn_pairwise=CCMP
|
|
||||||
|
|
|
@ -56,6 +56,13 @@ if [ "$1" == "ap" ]; then
|
||||||
echo ieee80211n=1 >> /var/run/hostapd.conf
|
echo ieee80211n=1 >> /var/run/hostapd.conf
|
||||||
echo driver=nl80211 >> /var/run/hostapd.conf
|
echo driver=nl80211 >> /var/run/hostapd.conf
|
||||||
echo ctrl_interface=/var/run/hostapd >> /var/run/hostapd.conf
|
echo ctrl_interface=/var/run/hostapd >> /var/run/hostapd.conf
|
||||||
|
echo ctrl_interface_group=0 >> /var/run/hostapd.conf
|
||||||
|
echo ignore_broadcast_ssid=0 >> /var/run/hostapd.conf
|
||||||
|
echo auth_algs=1 >> /var/run/hostapd.conf
|
||||||
|
echo beacon_int=100 >> /var/run/hostapd.conf
|
||||||
|
echo dtim_period=1 >> /var/run/hostapd.conf
|
||||||
|
echo preamble=0 >> /var/run/hostapd.conf
|
||||||
|
echo wpa_key_mgmt=WPA-PSK >> /var/run/hostapd.conf
|
||||||
#echo channel=6 >> /var/run/hostapd.conf
|
#echo channel=6 >> /var/run/hostapd.conf
|
||||||
|
|
||||||
if [ "$2" == "0" ]; then
|
if [ "$2" == "0" ]; then
|
||||||
|
|
Binary file not shown.
3
code/.vscode/settings.json
vendored
3
code/.vscode/settings.json
vendored
|
@ -7,6 +7,7 @@
|
||||||
"sf_common.h": "c",
|
"sf_common.h": "c",
|
||||||
"sf_filemng.h": "c",
|
"sf_filemng.h": "c",
|
||||||
"sf_systemmng.h": "c",
|
"sf_systemmng.h": "c",
|
||||||
"sf_commu_mcu_reg.h": "c"
|
"sf_commu_mcu_reg.h": "c",
|
||||||
|
"sf_battery.h": "c"
|
||||||
}
|
}
|
||||||
}
|
}
|
22
code/application/source/cardv/SrcCode/Gx/GxStrg/GxStrgDevice.c
Executable file → Normal file
22
code/application/source/cardv/SrcCode/Gx/GxStrg/GxStrgDevice.c
Executable file → Normal file
|
@ -23,6 +23,7 @@ void GxStrg_Det(UINT32 DevID, DX_HANDLE StrgDXH)
|
||||||
{
|
{
|
||||||
UINT32 uiDxState = 0;
|
UINT32 uiDxState = 0;
|
||||||
static UINT32 uiStrgCardPrevSts = DET_CARD_UNKNOWN;
|
static UINT32 uiStrgCardPrevSts = DET_CARD_UNKNOWN;
|
||||||
|
static BOOL isFormat = FALSE;
|
||||||
|
|
||||||
if (FALSE == GxStrg_IsValidDevID(DevID)) {
|
if (FALSE == GxStrg_IsValidDevID(DevID)) {
|
||||||
DBG_WRN("Invalid DevID(%d)\r\n", DevID);
|
DBG_WRN("Invalid DevID(%d)\r\n", DevID);
|
||||||
|
@ -42,11 +43,16 @@ void GxStrg_Det(UINT32 DevID, DX_HANDLE StrgDXH)
|
||||||
// Debounce
|
// Debounce
|
||||||
if ((uiStrgCardCurSts == uiStrgCardPrevSts) &&
|
if ((uiStrgCardCurSts == uiStrgCardPrevSts) &&
|
||||||
(uiStrgCardCurSts != uiStrgCardStatus)) {
|
(uiStrgCardCurSts != uiStrgCardStatus)) {
|
||||||
|
|
||||||
|
isFormat = g_LnxStrgStatus[DevID].IsFormatted;
|
||||||
|
DBG_DUMP("isFormat = %lu\n", isFormat);
|
||||||
|
|
||||||
switch (uiStrgCardCurSts) {
|
switch (uiStrgCardCurSts) {
|
||||||
case DET_CARD_INSERTED:
|
case DET_CARD_INSERTED:
|
||||||
if (g_fpStrgCB) {
|
if (g_fpStrgCB) {
|
||||||
(*g_fpStrgCB)(STRG_CB_INSERTED, DevID, 0);
|
(*g_fpStrgCB)(STRG_CB_INSERTED, DevID, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case DET_CARD_REMOVED:
|
case DET_CARD_REMOVED:
|
||||||
if (g_fpStrgCB) {
|
if (g_fpStrgCB) {
|
||||||
|
@ -63,6 +69,22 @@ void GxStrg_Det(UINT32 DevID, DX_HANDLE StrgDXH)
|
||||||
uiStrgCardStatus = uiStrgCardCurSts;
|
uiStrgCardStatus = uiStrgCardCurSts;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((uiStrgCardCurSts == uiStrgCardPrevSts) &&
|
||||||
|
(uiStrgCardCurSts == uiStrgCardStatus) &&
|
||||||
|
(uiStrgCardCurSts == DET_CARD_INSERTED) &&
|
||||||
|
(isFormat == FALSE) &&
|
||||||
|
(g_LnxStrgStatus[DevID].IsFormatted == TRUE)
|
||||||
|
) {
|
||||||
|
DBG_DUMP("STRG_CB_MOUNT_FINISH from GxStrg\n");
|
||||||
|
|
||||||
|
isFormat = g_LnxStrgStatus[DevID].IsFormatted;
|
||||||
|
|
||||||
|
if (g_fpStrgCB) {
|
||||||
|
(*g_fpStrgCB)(STRG_CB_MOUNT_FINISH, DevID, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uiStrgCardPrevSts = uiStrgCardCurSts;
|
uiStrgCardPrevSts = uiStrgCardCurSts;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
9
code/application/source/cardv/SrcCode/Gx/GxStrg/GxStrgLnx.c
Executable file → Normal file
9
code/application/source/cardv/SrcCode/Gx/GxStrg/GxStrgLnx.c
Executable file → Normal file
|
@ -228,7 +228,7 @@ static INT32 GxStrgLnx_ChkStatus(UINT32 DevId)
|
||||||
//0. if the storage object is set, detect card insert
|
//0. if the storage object is set, detect card insert
|
||||||
if (g_pCurStrgDXH[DevId]) {
|
if (g_pCurStrgDXH[DevId]) {
|
||||||
if (GxStrgLnx_DetStrgCard(g_pCurStrgDXH[DevId])) {
|
if (GxStrgLnx_DetStrgCard(g_pCurStrgDXH[DevId])) {
|
||||||
DBG_IND("Found %s is inserted\r\n", DevPath, pMountPath);
|
DBG_IND("Found %s is inserted on %s\r\n", DevPath, pMountPath);
|
||||||
StrgCbVal = STRG_CB_INSERTED;
|
StrgCbVal = STRG_CB_INSERTED;
|
||||||
bIsFormatted = FALSE;
|
bIsFormatted = FALSE;
|
||||||
goto label_exit;
|
goto label_exit;
|
||||||
|
@ -250,13 +250,18 @@ label_exit:
|
||||||
g_LnxStrgStatus[DevId].IsInserted = (StrgCbVal == STRG_CB_INSERTED);
|
g_LnxStrgStatus[DevId].IsInserted = (StrgCbVal == STRG_CB_INSERTED);
|
||||||
g_LnxStrgStatus[DevId].IsReadOnly = bIsReadOnly;
|
g_LnxStrgStatus[DevId].IsReadOnly = bIsReadOnly;
|
||||||
g_LnxStrgStatus[DevId].IsFormatted = bIsFormatted;
|
g_LnxStrgStatus[DevId].IsFormatted = bIsFormatted;
|
||||||
DBG_DUMP("MntPath %s, IsInserted %d, IsReadOnly %d, bIsFormatted %d\r\n",
|
DBG_IND("MntPath %s, IsInserted %d, IsReadOnly %d, bIsFormatted %d\r\n",
|
||||||
g_FSInitParam[DevId].FSParam.szMountPath,
|
g_FSInitParam[DevId].FSParam.szMountPath,
|
||||||
g_LnxStrgStatus[DevId].IsInserted,
|
g_LnxStrgStatus[DevId].IsInserted,
|
||||||
g_LnxStrgStatus[DevId].IsReadOnly,
|
g_LnxStrgStatus[DevId].IsReadOnly,
|
||||||
g_LnxStrgStatus[DevId].IsFormatted);
|
g_LnxStrgStatus[DevId].IsFormatted);
|
||||||
StrgCbValPrev = StrgCbVal;
|
StrgCbValPrev = StrgCbVal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(g_LnxStrgStatus[DevId].IsInserted && bIsFormatted && !g_LnxStrgStatus[DevId].IsFormatted){
|
||||||
|
g_LnxStrgStatus[DevId].IsFormatted = bIsFormatted;
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -710,7 +710,7 @@
|
||||||
#define _NETWORK_ON_ETH_
|
#define _NETWORK_ON_ETH_
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define MAC_APPEN_SSID ENABLE
|
#define MAC_APPEN_SSID DISABLE//ENABLE
|
||||||
#define ACL_TIME 15000 //minmum 15 sec
|
#define ACL_TIME 15000 //minmum 15 sec
|
||||||
#define WIFI_APP_MANUFACTURER "NVT"
|
#define WIFI_APP_MANUFACTURER "NVT"
|
||||||
#define WIFI_APP_MODLE "CarDV_WiFi"
|
#define WIFI_APP_MODLE "CarDV_WiFi"
|
||||||
|
@ -918,7 +918,7 @@
|
||||||
#define HUNTING_MCU_I2C DISABLE
|
#define HUNTING_MCU_I2C DISABLE
|
||||||
#define HUNTING_MCU_UART ENABLE
|
#define HUNTING_MCU_UART ENABLE
|
||||||
#define HUNTING_IR_LED_940 DISABLE
|
#define HUNTING_IR_LED_940 DISABLE
|
||||||
#define SF_BASE_VERSION "7MD4RCwD3T3"
|
#define SF_BASE_VERSION "7MD4RCwD3T6"
|
||||||
#define HW_S530 1
|
#define HW_S530 1
|
||||||
|
|
||||||
#define PHOTO_ISP_STAMP DISABLE
|
#define PHOTO_ISP_STAMP DISABLE
|
||||||
|
|
14
code/application/source/cardv/SrcCode/System/SysStrg_Exe.c
Executable file → Normal file
14
code/application/source/cardv/SrcCode/System/SysStrg_Exe.c
Executable file → Normal file
|
@ -50,6 +50,7 @@
|
||||||
#include "UICommon.h"
|
#include "UICommon.h"
|
||||||
//#include "dma.h"
|
//#include "dma.h"
|
||||||
#include "PStore.h"
|
#include "PStore.h"
|
||||||
|
#include "sf_sd_common.h"
|
||||||
#if (USE_DCF == ENABLE)
|
#if (USE_DCF == ENABLE)
|
||||||
#include "DCF.h"
|
#include "DCF.h"
|
||||||
#endif
|
#endif
|
||||||
|
@ -472,8 +473,8 @@ void System_OnStrgInit_FS(void)
|
||||||
DCF_SetParm(DCF_PRMID_REMOVE_DUPLICATE_FILE, TRUE);
|
DCF_SetParm(DCF_PRMID_REMOVE_DUPLICATE_FILE, TRUE);
|
||||||
DCF_SetParm(DCF_PRMID_SET_VALID_FILE_FMT, DCF_FILE_TYPE_JPG|DCF_FILE_TYPE_MP4|DCF_FILE_TYPE_MOV);
|
DCF_SetParm(DCF_PRMID_SET_VALID_FILE_FMT, DCF_FILE_TYPE_JPG|DCF_FILE_TYPE_MP4|DCF_FILE_TYPE_MOV);
|
||||||
DCF_SetParm(DCF_PRMID_SET_DEP_FILE_FMT, DCF_FILE_TYPE_JPG|DCF_FILE_TYPE_WAV|DCF_FILE_TYPE_MPO);
|
DCF_SetParm(DCF_PRMID_SET_DEP_FILE_FMT, DCF_FILE_TYPE_JPG|DCF_FILE_TYPE_WAV|DCF_FILE_TYPE_MPO);
|
||||||
DCF_SetDirFreeChars("HUNTI");
|
DCF_SetDirFreeChars("MEDIA");
|
||||||
DCF_SetFileFreeChars(DCF_FILE_TYPE_ANYFORMAT, "IMAG");
|
DCF_SetFileFreeChars(DCF_FILE_TYPE_ANYFORMAT, "SYFW");
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -708,7 +709,7 @@ INT32 System_OnStrgInsert(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
|
||||||
|
|
||||||
dcfParm.WorkbuffSize = POOL_SIZE_DCF_BUFFER;
|
dcfParm.WorkbuffSize = POOL_SIZE_DCF_BUFFER;
|
||||||
DCF_Open(&dcfParm);
|
DCF_Open(&dcfParm);
|
||||||
DCF_ScanObj();
|
// DCF_ScanObj();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -718,6 +719,9 @@ INT32 System_OnStrgInsert(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
|
||||||
} else {
|
} else {
|
||||||
System_SetState(SYS_STATE_CARD, CARD_INSERTED);
|
System_SetState(SYS_STATE_CARD, CARD_INSERTED);
|
||||||
DBG_IND("Card inserted\r\n");
|
DBG_IND("Card inserted\r\n");
|
||||||
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
|
sf_check_card_full();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
return NVTEVT_CONSUME;
|
return NVTEVT_CONSUME;
|
||||||
}
|
}
|
||||||
|
@ -843,9 +847,9 @@ INT32 System_OnStrgAttach(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
|
||||||
switch (result) {
|
switch (result) {
|
||||||
case FST_STA_OK:
|
case FST_STA_OK:
|
||||||
#if (USE_DCF == ENABLE)
|
#if (USE_DCF == ENABLE)
|
||||||
if (!UI_GetData(FL_IsCopyToCarding)) {
|
// if (!UI_GetData(FL_IsCopyToCarding)) {
|
||||||
DCF_ScanObj();
|
DCF_ScanObj();
|
||||||
}
|
// }
|
||||||
#endif
|
#endif
|
||||||
System_SetState(SYS_STATE_FS, FS_INIT_OK);
|
System_SetState(SYS_STATE_FS, FS_INIT_OK);
|
||||||
|
|
||||||
|
|
|
@ -141,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/%s", isHost ? "" : "/etc" /* ramdisk */, driver_path_prefix, driver_path);
|
snprintf(cmd, sizeof(cmd), "insmod %s/%s/%s", isHost ? "" : "" /* 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);
|
||||||
|
@ -364,7 +364,7 @@ INT32 System_OnUsbInsert(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
|
||||||
// temporarily do nothing for Movie + UVC
|
// temporarily do nothing for Movie + UVC
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#if 0 //temporally support MSDC only
|
#if 1 //temporally support MSDC only
|
||||||
Ux_SendEvent(0, NVTEVT_SYSTEM_MODE, 1, PRIMARY_MODE_USBMSDC);
|
Ux_SendEvent(0, NVTEVT_SYSTEM_MODE, 1, PRIMARY_MODE_USBMSDC);
|
||||||
#else
|
#else
|
||||||
Ux_SendEvent(0, NVTEVT_SYSTEM_MODE, 1, PRIMARY_MODE_USBMENU);
|
Ux_SendEvent(0, NVTEVT_SYSTEM_MODE, 1, PRIMARY_MODE_USBMENU);
|
||||||
|
|
|
@ -379,6 +379,19 @@ int NvtMain(void)
|
||||||
stMessageBuf.arg1 = SF_MCU_CMD_POWERON;
|
stMessageBuf.arg1 = SF_MCU_CMD_POWERON;
|
||||||
stMessageBuf.cmdId = CMD_MCU;
|
stMessageBuf.cmdId = CMD_MCU;
|
||||||
sf_com_message_send_to_app(&stMessageBuf);
|
sf_com_message_send_to_app(&stMessageBuf);
|
||||||
|
|
||||||
|
sf_sys_status_led_set(SF_LED_SYS_STATE_PIR_NOT_DETECT);
|
||||||
|
|
||||||
|
sf_battery_check_init();
|
||||||
|
sf_battery_thread_init();
|
||||||
|
|
||||||
|
/*wifi init*/
|
||||||
|
if(sf_get_mode_flag())
|
||||||
|
{
|
||||||
|
stMessageBuf.arg1 = SF_WIFI_CMD_START;
|
||||||
|
stMessageBuf.cmdId = CMD_WIFI;
|
||||||
|
sf_com_message_send_to_cardv(&stMessageBuf);
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
sf_mcu_init();
|
sf_mcu_init();
|
||||||
sf_get_power_on_mode();
|
sf_get_power_on_mode();
|
||||||
|
@ -388,8 +401,7 @@ int NvtMain(void)
|
||||||
sf_led_init();
|
sf_led_init();
|
||||||
#endif
|
#endif
|
||||||
sf_sd_exist_reg_cb(DrvCARD_DetStrgCard);
|
sf_sd_exist_reg_cb(DrvCARD_DetStrgCard);
|
||||||
sf_sys_status_led_set(SF_LED_SYS_STATE_PIR_NOT_DETECT);
|
|
||||||
sf_battery_thread_init();
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -27,6 +27,9 @@
|
||||||
#endif
|
#endif
|
||||||
#include "Utility/SwTimer.h"
|
#include "Utility/SwTimer.h"
|
||||||
|
|
||||||
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
|
#include <sf_inc.h>
|
||||||
|
#endif
|
||||||
//#NT#2016/05/30#Lincy Lin -end
|
//#NT#2016/05/30#Lincy Lin -end
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
#define __MODULE__ UIBKGObj
|
#define __MODULE__ UIBKGObj
|
||||||
|
@ -847,6 +850,9 @@ UINT32 BackgroundFormatCard(void)
|
||||||
DBG_FUNC("Call FileSys_FormatDisk() ret=%d\r\n", ret);
|
DBG_FUNC("Call FileSys_FormatDisk() ret=%d\r\n", ret);
|
||||||
|
|
||||||
if (ret == FST_STA_OK) {
|
if (ret == FST_STA_OK) {
|
||||||
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
|
sf_set_card_statu(CMD_FORMAT_SD_OK);
|
||||||
|
#endif
|
||||||
// reset file ID (for FileDB)
|
// reset file ID (for FileDB)
|
||||||
#if USE_FILEDB
|
#if USE_FILEDB
|
||||||
if (UI_GetData(FL_IsUseFileDB)) {
|
if (UI_GetData(FL_IsUseFileDB)) {
|
||||||
|
@ -874,6 +880,12 @@ UINT32 BackgroundFormatCard(void)
|
||||||
vos_util_delay_ms(1000);
|
vos_util_delay_ms(1000);
|
||||||
SysMain_system("sync");
|
SysMain_system("sync");
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
|
sf_set_card_statu(CMD_FORMAT_SD_ERR);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
MovieExe_ResetFileSN();
|
MovieExe_ResetFileSN();
|
||||||
DBG_FUNC_END("\r\n");
|
DBG_FUNC_END("\r\n");
|
||||||
return (UINT32)ret;
|
return (UINT32)ret;
|
||||||
|
|
|
@ -1132,13 +1132,26 @@ static void MovieExe_FileNamingCB(MOVIE_CFG_REC_ID id, char *pFileName)
|
||||||
DCF_MakeObjPath(nextFolderID, nextFileID, DCF_FILE_TYPE_MP4, pFileName);
|
DCF_MakeObjPath(nextFolderID, nextFileID, DCF_FILE_TYPE_MP4, pFileName);
|
||||||
DCF_AddDBfile(pFileName);
|
DCF_AddDBfile(pFileName);
|
||||||
DBG_DUMP("%s added to DCF\r\n", pFileName);
|
DBG_DUMP("%s added to DCF\r\n", pFileName);
|
||||||
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
|
char tmp[NMC_TOTALFILEPATH_MAX_LEN] = {'\0'};
|
||||||
|
sprintf(tmp, "S%03d%04d.JPG", nextFolderID, nextFileID);
|
||||||
|
if(id == _CFG_REC_ID_1){
|
||||||
|
snprintf(thumb_current_path_main, sizeof(thumb_current_path_main), "%s", tmp);
|
||||||
|
}
|
||||||
|
else if(id == _CFG_CLONE_ID_1){
|
||||||
|
snprintf(thumb_current_path_clone, sizeof(thumb_current_path_clone), "%s", tmp);
|
||||||
|
}
|
||||||
|
DBG_DUMP("last send file:%s\r\n", tmp);
|
||||||
|
#else
|
||||||
if(id == _CFG_REC_ID_1){
|
if(id == _CFG_REC_ID_1){
|
||||||
snprintf(thumb_current_path_main, sizeof(thumb_current_path_main), "%s", pFileName);
|
snprintf(thumb_current_path_main, sizeof(thumb_current_path_main), "%s", pFileName);
|
||||||
}
|
}
|
||||||
else if(id == _CFG_CLONE_ID_1){
|
else if(id == _CFG_CLONE_ID_1){
|
||||||
snprintf(thumb_current_path_clone, sizeof(thumb_current_path_clone), "%s", pFileName);
|
snprintf(thumb_current_path_clone, sizeof(thumb_current_path_clone), "%s", pFileName);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1419,10 +1432,15 @@ static void MovieExe_UserEventCb(UINT32 id, MOVIE_USER_CB_EVENT event_id, UINT32
|
||||||
|
|
||||||
char tmp[256] = {'\0'};
|
char tmp[256] = {'\0'};
|
||||||
|
|
||||||
|
|
||||||
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
|
snprintf(tmp, sizeof(tmp), "%s%s", MOVIE_THUMB_PATH, thumb_current_path); /* DCF 8.3 naming rule */
|
||||||
|
#else
|
||||||
snprintf(tmp, sizeof(tmp), "%s%s", MOVIE_THUMB_PATH, (thumb_current_path + (length - 12))); /* DCF 8.3 naming rule */
|
snprintf(tmp, sizeof(tmp), "%s%s", MOVIE_THUMB_PATH, (thumb_current_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");
|
||||||
|
#endif
|
||||||
|
|
||||||
DBG_DUMP("MOVIE_USER_CB_EVENT_JENC_DONE %s\n", tmp);
|
DBG_DUMP("%s:%d MOVIE_USER_CB_EVENT_JENC_DONE %s\n", __FUNCTION__, __LINE__, tmp);
|
||||||
|
|
||||||
FST_FILE fp = FileSys_OpenFile(tmp, FST_OPEN_ALWAYS | FST_OPEN_WRITE);
|
FST_FILE fp = FileSys_OpenFile(tmp, FST_OPEN_ALWAYS | FST_OPEN_WRITE);
|
||||||
|
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
#include <cyg/infra/maincmd.h>
|
#include <cyg/infra/maincmd.h>
|
||||||
//#NT#2018/03/21#Niven Cho -end
|
//#NT#2018/03/21#Niven Cho -end
|
||||||
#endif
|
#endif
|
||||||
|
#include <sf_wifi_svr.h>
|
||||||
|
|
||||||
#define _NETWORK_ON_CPU1_ ENABLE
|
#define _NETWORK_ON_CPU1_ ENABLE
|
||||||
|
|
||||||
|
@ -360,7 +361,7 @@ char gSSID_AP_default[NVT_WSC_MAX_SSID_LEN] = "NVT_CARDV";
|
||||||
char gPASSPHRASE[NVT_MAX_WEP_KEY_LEN] = "12345678";
|
char gPASSPHRASE[NVT_MAX_WEP_KEY_LEN] = "12345678";
|
||||||
char gPASSPHRASE_AP_default[NVT_MAX_WEP_KEY_LEN] = "12345678";
|
char gPASSPHRASE_AP_default[NVT_MAX_WEP_KEY_LEN] = "12345678";
|
||||||
char gCurrIP[NVT_WIFIIPC_IP_MAX_LEN] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
char gCurrIP[NVT_WIFIIPC_IP_MAX_LEN] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
||||||
UINT32 gChannel = 0;//default 0:auto
|
UINT32 gChannel = 6;//default 0:auto
|
||||||
char gLastMacAddr[NVT_WIFIIPC_IP_MAX_LEN] = {0};
|
char gLastMacAddr[NVT_WIFIIPC_IP_MAX_LEN] = {0};
|
||||||
char gRemoveMacAddr[NVT_WIFIIPC_IP_MAX_LEN] = {0};
|
char gRemoveMacAddr[NVT_WIFIIPC_IP_MAX_LEN] = {0};
|
||||||
char currentMacAddr[NVT_WIFIIPC_IP_MAX_LEN] = {0};
|
char currentMacAddr[NVT_WIFIIPC_IP_MAX_LEN] = {0};
|
||||||
|
@ -392,7 +393,7 @@ UINT32 gSendPeerIP = 0;
|
||||||
#define EXAM_NET_LEASE_DNS_WLAN0 "0.0.0.0"
|
#define EXAM_NET_LEASE_DNS_WLAN0 "0.0.0.0"
|
||||||
#define EXAM_NET_LEASE_WINS_WLAN0 "0.0.0.0"
|
#define EXAM_NET_LEASE_WINS_WLAN0 "0.0.0.0"
|
||||||
|
|
||||||
#define EXAM_NET_AP_IP "192.168.1.254"
|
#define EXAM_NET_AP_IP "192.168.1.1"
|
||||||
#define EXAM_NET_STA_IP "192.168.1.89"
|
#define EXAM_NET_STA_IP "192.168.1.89"
|
||||||
#define EXAM_NET_P2P_IP "192.168.49.207"
|
#define EXAM_NET_P2P_IP "192.168.49.207"
|
||||||
|
|
||||||
|
@ -1261,7 +1262,19 @@ void UINet_WifiSettings(nvt_wifi_settings *pwifi, UINT32 mode, UINT32 security)
|
||||||
pwifi->p2pmode = NVT_P2P_TMP_GO;
|
pwifi->p2pmode = NVT_P2P_TMP_GO;
|
||||||
pwifi->is_configured = 1;
|
pwifi->is_configured = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
memset(gSSID,'\0', sizeof(gSSID));
|
||||||
|
memset(gPASSPHRASE,'\0', sizeof(gPASSPHRASE));
|
||||||
|
if (WiFiIpc_get_wlan0_efuse_mac(gMacAddr) < 0)
|
||||||
|
{
|
||||||
|
DBG_IND("wifi_get_wlan0_efuse_mac() fail. Use hardcoded mac.\r\n");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sprintf(gSSID,"REVEAL_%02X%02X%02X",gMacAddr[3],gMacAddr[4],gMacAddr[5]);
|
||||||
|
}
|
||||||
|
sprintf(gPASSPHRASE,"%s",ptMenuStoreInfo->WifiApPWD);
|
||||||
|
printf("[%s:%d] gSSID:%s gPASSPHRASE:%s\n", __FUNCTION__, __LINE__,gSSID, gPASSPHRASE);
|
||||||
if (ptMenuStoreInfo->strSSID[0] == 0) {
|
if (ptMenuStoreInfo->strSSID[0] == 0) {
|
||||||
#if 0//(MAC_APPEN_SSID==ENABLE)
|
#if 0//(MAC_APPEN_SSID==ENABLE)
|
||||||
snprintf(pwifi->ssid, NVT_WSC_MAX_SSID_LEN, "%s%02x%02x%02x%02x%02x%02x", gSSID, gMacAddr[0], gMacAddr[1], gMacAddr[2],
|
snprintf(pwifi->ssid, NVT_WSC_MAX_SSID_LEN, "%s%02x%02x%02x%02x%02x%02x", gSSID, gMacAddr[0], gMacAddr[1], gMacAddr[2],
|
||||||
|
@ -1323,6 +1336,7 @@ void UINet_WifiSettings(nvt_wifi_settings *pwifi, UINT32 mode, UINT32 security)
|
||||||
strcpy(pwifi->wep_key3, "12345678901234567890123456");
|
strcpy(pwifi->wep_key3, "12345678901234567890123456");
|
||||||
strcpy(pwifi->wep_key4, "12345678901234567890123456");
|
strcpy(pwifi->wep_key4, "12345678901234567890123456");
|
||||||
}
|
}
|
||||||
|
printf("[%s:%d] ssid:%s passphrase:%s\n", __FUNCTION__, __LINE__,pwifi->ssid, pwifi->passphrase);
|
||||||
}
|
}
|
||||||
|
|
||||||
void UINet_WifiP2PReInit(void)
|
void UINet_WifiP2PReInit(void)
|
||||||
|
@ -1513,7 +1527,9 @@ INT32 UINet_WifiInit(UINT32 mode, UINT32 security)
|
||||||
#if _TODO
|
#if _TODO
|
||||||
WiFiIpc_interface_config("wlan0", gCurrIP, "255.255.255.0");
|
WiFiIpc_interface_config("wlan0", gCurrIP, "255.255.255.0");
|
||||||
#else
|
#else
|
||||||
WiFiIpc_interface_up("wlan0");
|
//WiFiIpc_interface_up("wlan0");
|
||||||
|
sf_wifi_hw_init();
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
if (_g_bFirstWifi) {
|
if (_g_bFirstWifi) {
|
||||||
TM_BOOT_END("network", "up");
|
TM_BOOT_END("network", "up");
|
||||||
|
@ -1594,10 +1610,61 @@ INT32 UINet_WifiInit(UINT32 mode, UINT32 security)
|
||||||
//#NT#2016/08/05#Niven Cho -end
|
//#NT#2016/08/05#Niven Cho -end
|
||||||
|
|
||||||
//Ux_PostEvent(NVTEVT_WIFI_STATE, 2, NET_STATE_WIFI_START, result);
|
//Ux_PostEvent(NVTEVT_WIFI_STATE, 2, NET_STATE_WIFI_START, result);
|
||||||
|
sf_wifi_app_start();
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
INT32 sf_net_wifi_init(UINT32 mode, UINT32 security)
|
||||||
|
{
|
||||||
|
|
||||||
|
UINT32 result = 0;
|
||||||
|
nvt_wifi_settings *pwifi = &wifiConfig;
|
||||||
|
|
||||||
|
DBG_IND("set wifi %d %d \r\n", mode, security);
|
||||||
|
system("modprobe 8189fs");
|
||||||
|
sleep(2);
|
||||||
|
system("ifconfig lo 127.0.0.1");
|
||||||
|
|
||||||
|
memset(pwifi, 0, sizeof(nvt_wifi_settings));
|
||||||
|
|
||||||
|
memset(gMacAddr, 0, sizeof(gMacAddr));
|
||||||
|
UINet_WifiSettings(pwifi, mode, security);
|
||||||
|
|
||||||
|
WiFiIpc_Config(pwifi);
|
||||||
|
|
||||||
|
memset(gCurrIP, 0, NVT_WIFIIPC_IP_MAX_LEN);
|
||||||
|
snprintf(gCurrIP, NVT_WIFIIPC_IP_MAX_LEN, "%s", EXAM_NET_AP_IP);
|
||||||
|
|
||||||
|
|
||||||
|
sf_wifi_hw_init();
|
||||||
|
|
||||||
|
DBG_IND("Default IP=%s\r\n", gCurrIP);
|
||||||
|
|
||||||
|
|
||||||
|
WifiCmd_InstallID();
|
||||||
|
UINet_HFSInit();
|
||||||
|
|
||||||
|
UINet_RtspInit();
|
||||||
|
sf_wifi_app_start();
|
||||||
|
ImageApp_Common_RtspStart(0);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
INT32 sf_net_wifi_uninit(UINT32 mode)
|
||||||
|
{
|
||||||
|
UINT32 ret = 0;
|
||||||
|
|
||||||
|
//UINet_HFSUnInit();
|
||||||
|
//WifiCmd_UninstallID();
|
||||||
|
|
||||||
|
//UINet_RtspUnInit();
|
||||||
|
ImageApp_Common_RtspStop(0);
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
INT32 UINet_WifiUnInit(UINT32 mode)
|
INT32 UINet_WifiUnInit(UINT32 mode)
|
||||||
{
|
{
|
||||||
UINT32 ret = 0;
|
UINT32 ret = 0;
|
||||||
|
|
|
@ -35,6 +35,8 @@ extern BOOL UINet_CPU2_Init(void);
|
||||||
extern BOOL UINet_AppIpc_Init(void);
|
extern BOOL UINet_AppIpc_Init(void);
|
||||||
extern BOOL UINet_AppIpc_UnInit(void);
|
extern BOOL UINet_AppIpc_UnInit(void);
|
||||||
extern INT32 UINet_WifiInit(UINT32 mode, UINT32 security);
|
extern INT32 UINet_WifiInit(UINT32 mode, UINT32 security);
|
||||||
|
extern INT32 sf_net_wifi_init(UINT32 mode, UINT32 security);
|
||||||
|
extern INT32 sf_net_wifi_uninit(UINT32 mode);
|
||||||
extern INT32 UINet_LanInit(UINT32 mode);
|
extern INT32 UINet_LanInit(UINT32 mode);
|
||||||
extern INT32 UINet_HFSInit(void);
|
extern INT32 UINet_HFSInit(void);
|
||||||
extern INT32 UINet_OnvifInit(void);
|
extern INT32 UINet_OnvifInit(void);
|
||||||
|
|
|
@ -5052,6 +5052,9 @@ static INT32 PhotoExe_Preview_SliceEncode_Encode_Screennail_RC(HD_VIDEO_FRAME* v
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
} while(1);
|
} while(1);
|
||||||
|
|
||||||
|
@ -6314,10 +6317,22 @@ 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'};
|
||||||
UINT32 length = strlen(file_path);
|
UINT32 length = strlen(file_path);
|
||||||
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
|
char folder[4], number[5];
|
||||||
|
|
||||||
|
strncpy(folder, file_path + length - 21, 3); // 复制到目标数组
|
||||||
|
folder[3] = '\0'; // 添加结尾符
|
||||||
|
|
||||||
|
strncpy(number, file_path + length - 8, 4); // 复制到目标数组
|
||||||
|
number[4] = '\0'; // 添加结尾符
|
||||||
|
|
||||||
|
snprintf(tmp, sizeof(tmp), "%sW%s%s.JPG", PHOTO_THUMB_PATH, folder, number); /* DCF 8.3 naming rule */
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
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 */
|
||||||
snprintf(tmp + strlen(tmp) - 3, sizeof(tmp), "%s", "JPG");
|
snprintf(tmp + strlen(tmp) - 3, sizeof(tmp), "%s", "JPG");
|
||||||
|
#endif
|
||||||
DBG_IND("PHOTO THUMB %s\n", tmp);
|
DBG_IND("PHOTO THUMB %s\n", tmp);
|
||||||
|
|
||||||
FST_FILE fp = FileSys_OpenFile(tmp, FST_OPEN_ALWAYS | FST_OPEN_WRITE);
|
FST_FILE fp = FileSys_OpenFile(tmp, FST_OPEN_ALWAYS | FST_OPEN_WRITE);
|
||||||
|
@ -6327,12 +6342,9 @@ INT32 PhotoExe_Preview_SliceEncode_CB3(void* user_data)
|
||||||
#if HUNTING_CAMERA_MCU == ENABLE
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
char tmp2[64] = {'\0'};
|
char tmp2[64] = {'\0'};
|
||||||
memset(tmp, '\0', sizeof(tmp));
|
memset(tmp, '\0', sizeof(tmp));
|
||||||
snprintf(tmp, sizeof(tmp), "%s%s", SF_SD_THUMB_PATH, file_path + length - 12); /* DCF 8.3 naming rule */
|
snprintf(tmp, sizeof(tmp), "%sW%s%s.JPG", SF_SD_THUMB_PATH, folder, number); /* DCF 8.3 naming rule */
|
||||||
snprintf(tmp + strlen(tmp) - 3, sizeof(tmp), "%s", "JPG");
|
snprintf(tmp2, sizeof(tmp2), "W%s%s.JPG", folder, number); /* DCF 8.3 naming rule */
|
||||||
snprintf(tmp2, sizeof(tmp2), "%s", file_path + length - 12); /* DCF 8.3 naming rule */
|
|
||||||
snprintf(tmp2 + strlen(tmp2) - 3, sizeof(tmp2), "%s", "JPG");
|
|
||||||
DBG_DUMP("PHOTO THUMB %s \n %s\n", tmp, tmp2);
|
DBG_DUMP("PHOTO THUMB %s \n %s\n", tmp, tmp2);
|
||||||
|
|
||||||
sf_file_thumb_cfg_fill(tmp, tmp2, queue_ele_in->jpg_thumb_size, SF_FILE_TYPE_PIC_SMALL);
|
sf_file_thumb_cfg_fill(tmp, tmp2, queue_ele_in->jpg_thumb_size, SF_FILE_TYPE_PIC_SMALL);
|
||||||
UIMenuStoreInfo *puiPara = sf_ui_para_get();
|
UIMenuStoreInfo *puiPara = sf_ui_para_get();
|
||||||
if(SF_CAM_MODE_PHOTO == puiPara->CamMode)
|
if(SF_CAM_MODE_PHOTO == puiPara->CamMode)
|
||||||
|
@ -6472,7 +6484,9 @@ INT32 PhotoExe_Preview_SliceEncode2(VControl *pCtrl, UINT32 paramNum, UINT32 *pa
|
||||||
DBG_ERR("init lfqueue23 failed\n");
|
DBG_ERR("init lfqueue23 failed\n");
|
||||||
goto EXIT;
|
goto EXIT;
|
||||||
}
|
}
|
||||||
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
|
max_cnt = 1;
|
||||||
|
#else
|
||||||
switch (UI_GetData(FL_CONTINUE_SHOT))
|
switch (UI_GetData(FL_CONTINUE_SHOT))
|
||||||
{
|
{
|
||||||
case CONTINUE_SHOT_BURST:
|
case CONTINUE_SHOT_BURST:
|
||||||
|
@ -6489,6 +6503,8 @@ INT32 PhotoExe_Preview_SliceEncode2(VControl *pCtrl, UINT32 paramNum, UINT32 *pa
|
||||||
max_cnt = 1;
|
max_cnt = 1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
/***************************************************************************************
|
/***************************************************************************************
|
||||||
* task1
|
* task1
|
||||||
|
|
|
@ -786,6 +786,9 @@ void UiDateImprint_ChkUpdateData(DATE_IMPRINT_INFO *pInfo)
|
||||||
|
|
||||||
//if (pInfo->pCapInfo->event == CAP_DS_EVENT_QV || pInfo->pCapInfo->event == CAP_DS_EVENT_SCR) {
|
//if (pInfo->pCapInfo->event == CAP_DS_EVENT_QV || pInfo->pCapInfo->event == CAP_DS_EVENT_SCR) {
|
||||||
if (pInfo->pCapInfo->event == CAP_DS_EVENT_QV || bGenEn) {
|
if (pInfo->pCapInfo->event == CAP_DS_EVENT_QV || bGenEn) {
|
||||||
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
|
pInfo->isStrDirty = UiDateImprint_UpdateDate(pInfo->StrBuf,sizeof(pInfo->StrBuf));
|
||||||
|
#else
|
||||||
if ((UI_GetData(FL_CONTINUE_SHOT) == CONTINUE_SHOT_BURST_3)) {
|
if ((UI_GetData(FL_CONTINUE_SHOT) == CONTINUE_SHOT_BURST_3)) {
|
||||||
if (pInfo->pic_cnt == 0)
|
if (pInfo->pic_cnt == 0)
|
||||||
pInfo->isStrDirty = UiDateImprint_UpdateDate(pInfo->StrBuf,sizeof(pInfo->StrBuf));
|
pInfo->isStrDirty = UiDateImprint_UpdateDate(pInfo->StrBuf,sizeof(pInfo->StrBuf));
|
||||||
|
@ -795,6 +798,7 @@ void UiDateImprint_ChkUpdateData(DATE_IMPRINT_INFO *pInfo)
|
||||||
else {
|
else {
|
||||||
pInfo->isStrDirty = UiDateImprint_UpdateDate(pInfo->StrBuf,sizeof(pInfo->StrBuf));
|
pInfo->isStrDirty = UiDateImprint_UpdateDate(pInfo->StrBuf,sizeof(pInfo->StrBuf));
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
#if 0
|
#if 0
|
||||||
// need to update primary info to screenail
|
// need to update primary info to screenail
|
||||||
|
|
|
@ -401,6 +401,10 @@ static void UIFlowMenuCommonItem_ScrOpen(lv_obj_t* obj)
|
||||||
|
|
||||||
MenuItem_OnOpen(obj);
|
MenuItem_OnOpen(obj);
|
||||||
|
|
||||||
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
|
sf_set_menu_open(TRUE);
|
||||||
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void UIFlowMenuCommonItem_Key(lv_obj_t* obj, uint32_t key)
|
static void UIFlowMenuCommonItem_Key(lv_obj_t* obj, uint32_t key)
|
||||||
|
@ -452,6 +456,10 @@ static void UIFlowMenuCommonItem_ScrClose(lv_obj_t* obj)
|
||||||
DBG_DUMP("%s\r\n", __func__);
|
DBG_DUMP("%s\r\n", __func__);
|
||||||
|
|
||||||
MenuItem_OnClose(obj);
|
MenuItem_OnClose(obj);
|
||||||
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
|
sf_set_menu_open(FALSE);
|
||||||
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1007,7 +1007,10 @@ static void UIFlowMovie_Key(lv_obj_t* obj, uint32_t key)
|
||||||
switch(key)
|
switch(key)
|
||||||
{
|
{
|
||||||
case LV_USER_KEY_SHUTTER2:
|
case LV_USER_KEY_SHUTTER2:
|
||||||
{
|
{
|
||||||
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
|
sf_rtsp_stop();
|
||||||
|
#endif
|
||||||
UIFlowMovie_OnExeRecord(obj);
|
UIFlowMovie_OnExeRecord(obj);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1248,6 +1251,13 @@ void UIFlowMovieEventCallback(lv_obj_t* obj, lv_event_t event)
|
||||||
{
|
{
|
||||||
case LV_PLUGIN_EVENT_SCR_OPEN:
|
case LV_PLUGIN_EVENT_SCR_OPEN:
|
||||||
UIFlowMovie_ScrOpen(obj);
|
UIFlowMovie_ScrOpen(obj);
|
||||||
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
|
UIMenuStoreInfo *puiPara = sf_ui_para_get();
|
||||||
|
if((puiPara->CamMode == SF_CAM_MODE_VIDEO))
|
||||||
|
{
|
||||||
|
sf_rtsp_restart();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LV_PLUGIN_EVENT_SCR_CLOSE:
|
case LV_PLUGIN_EVENT_SCR_CLOSE:
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
|
|
||||||
#define FD_FRAME_RATE 3//10 //(10frame/30fps) = 333ms = update time
|
#define FD_FRAME_RATE 3//10 //(10frame/30fps) = 333ms = update time
|
||||||
|
|
||||||
#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 5 // 0=FATAL, 1=ERR, 2=WRN, 3=UNIT, 4=FUNC, 5=IND, 6=MSG, 7=VALUE, 8=USER
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
#define __MODULE__ UIFlowPhoto
|
#define __MODULE__ UIFlowPhoto
|
||||||
#define __DBGLVL__ ((THIS_DBGLVL>=PRJ_DBG_LVL)?THIS_DBGLVL:PRJ_DBG_LVL)
|
#define __DBGLVL__ ((THIS_DBGLVL>=PRJ_DBG_LVL)?THIS_DBGLVL:PRJ_DBG_LVL)
|
||||||
|
@ -436,6 +436,10 @@ static void UIFlowPhoto_OnExeCaptureStop(lv_obj_t* obj)
|
||||||
|
|
||||||
static void UIFlowPhoto_OnExeCaptureStart(lv_obj_t* obj)
|
static void UIFlowPhoto_OnExeCaptureStart(lv_obj_t* obj)
|
||||||
{
|
{
|
||||||
|
if (FlowPhoto_IsStorageErr() == TRUE) {
|
||||||
|
DBG_ERR("UIFlowPhoto_OnKeyShutter2: storage err!\r\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
switch (gPhotoData.State) {
|
switch (gPhotoData.State) {
|
||||||
case PHOTO_ST_VIEW:
|
case PHOTO_ST_VIEW:
|
||||||
|
@ -485,7 +489,7 @@ static void UIFlowPhoto_OnExeCaptureStart(lv_obj_t* obj)
|
||||||
return NVTEVT_CONSUME;
|
return NVTEVT_CONSUME;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#if HUNTING_CAMERA_MCU != ENABLE
|
||||||
// check free pic number
|
// check free pic number
|
||||||
if (SysGetFlag(FL_CONTINUE_SHOT) != CONTINUE_SHOT_OFF) {
|
if (SysGetFlag(FL_CONTINUE_SHOT) != CONTINUE_SHOT_OFF) {
|
||||||
if (FlowPhoto_GetFreePicNum() < 2) {
|
if (FlowPhoto_GetFreePicNum() < 2) {
|
||||||
|
@ -501,7 +505,8 @@ static void UIFlowPhoto_OnExeCaptureStart(lv_obj_t* obj)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
switch (SysGetFlag(FL_SELFTIMER)) { // set capture mode by system flag
|
switch (SysGetFlag(FL_SELFTIMER)) { // set capture mode by system flag
|
||||||
case SELFTIMER_2SEC:
|
case SELFTIMER_2SEC:
|
||||||
UIFlowPhoto_update_selftimer_cnt(2);
|
UIFlowPhoto_update_selftimer_cnt(2);
|
||||||
|
@ -1049,6 +1054,9 @@ void UIFlowPhoto_UpdateInfo(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg)
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case UIAPPPHOTO_CB_CAPSTART:
|
case UIAPPPHOTO_CB_CAPSTART:
|
||||||
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
|
sf_set_cap_statu(TRUE);
|
||||||
|
#endif
|
||||||
|
|
||||||
if(obj == UIFlowPhoto)
|
if(obj == UIFlowPhoto)
|
||||||
lv_obj_set_hidden(obj, true);
|
lv_obj_set_hidden(obj, true);
|
||||||
|
@ -1084,6 +1092,9 @@ void UIFlowPhoto_UpdateInfo(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg)
|
||||||
UI_SetData(FL_NextMode, iNextMode);
|
UI_SetData(FL_NextMode, iNextMode);
|
||||||
Ux_PostEvent(NVTEVT_SYSTEM_MODE, 1, iNextMode);
|
Ux_PostEvent(NVTEVT_SYSTEM_MODE, 1, iNextMode);
|
||||||
}
|
}
|
||||||
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
|
sf_set_cap_statu(FALSE);
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case UIAPPPHOTO_CB_FDEND:
|
case UIAPPPHOTO_CB_FDEND:
|
||||||
|
@ -1181,6 +1192,9 @@ static void UIFlowPhoto_Key(lv_obj_t* obj, uint32_t key)
|
||||||
{
|
{
|
||||||
case LV_USER_KEY_SHUTTER2:
|
case LV_USER_KEY_SHUTTER2:
|
||||||
{
|
{
|
||||||
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
|
sf_rtsp_stop();
|
||||||
|
#endif
|
||||||
UIFlowPhoto_OnExeCaptureStart(obj);
|
UIFlowPhoto_OnExeCaptureStart(obj);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1264,6 +1278,13 @@ void UIFlowPhotoEventCallback(lv_obj_t* obj, lv_event_t event)
|
||||||
{
|
{
|
||||||
case LV_PLUGIN_EVENT_SCR_OPEN:
|
case LV_PLUGIN_EVENT_SCR_OPEN:
|
||||||
UIFlowPhoto_ScrOpen(obj);
|
UIFlowPhoto_ScrOpen(obj);
|
||||||
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
|
UIMenuStoreInfo *puiPara = sf_ui_para_get();
|
||||||
|
if((puiPara->CamMode == SF_CAM_MODE_PHOTO) || (puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO))
|
||||||
|
{
|
||||||
|
sf_rtsp_restart();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LV_PLUGIN_EVENT_SCR_CLOSE:
|
case LV_PLUGIN_EVENT_SCR_CLOSE:
|
||||||
|
|
|
@ -28,6 +28,9 @@ CHAR *Get_FreePicNumString(UINT32 uiValue)
|
||||||
|
|
||||||
void FlowPhoto_DoCapture(void)
|
void FlowPhoto_DoCapture(void)
|
||||||
{
|
{
|
||||||
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
|
Ux_SendEvent(&CustomPhotoObjCtrl, NVTEVT_EXE_CAPTURE_START, 1, ON_CAPTURE_SINGLE);
|
||||||
|
#else
|
||||||
#if (PHOTO_MODE==ENABLE)
|
#if (PHOTO_MODE==ENABLE)
|
||||||
switch (SysGetFlag(FL_CONTINUE_SHOT)) {
|
switch (SysGetFlag(FL_CONTINUE_SHOT)) {
|
||||||
case CONTINUE_SHOT_BURST_3:
|
case CONTINUE_SHOT_BURST_3:
|
||||||
|
@ -61,6 +64,7 @@ void FlowPhoto_DoCapture(void)
|
||||||
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL FlowPhoto_GetSDStatus(void)
|
BOOL FlowPhoto_GetSDStatus(void)
|
||||||
|
|
|
@ -26,6 +26,7 @@ static void UIFlowWifiWait_NVTMSG(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA
|
||||||
NVTEVT message = msg->paramArray[ONDONE_PARAM_INDEX_CMD];
|
NVTEVT message = msg->paramArray[ONDONE_PARAM_INDEX_CMD];
|
||||||
switch (message) {
|
switch (message) {
|
||||||
case NVTEVT_BKW_WIFI_ON: {
|
case NVTEVT_BKW_WIFI_ON: {
|
||||||
|
printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
|
||||||
//open wifi link
|
//open wifi link
|
||||||
if (UI_GetData(FL_WIFI_LINK) == WIFI_LINK_OK) {
|
if (UI_GetData(FL_WIFI_LINK) == WIFI_LINK_OK) {
|
||||||
//change to wifi mode,would close wait wnd
|
//change to wifi mode,would close wait wnd
|
||||||
|
|
|
@ -29,6 +29,11 @@ void UIFlowWrnMsgAPI_Open_StringID(lv_plugin_res_id id, uint16_t auto_close_tim
|
||||||
DBG_WRN("warning message box is already opened and not closed yet, ignore request");
|
DBG_WRN("warning message box is already opened and not closed yet, ignore request");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
#if (DRAM_SIZE_64MB_DISP_OFF == ENABLE)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/*************************************************************************************
|
/*************************************************************************************
|
||||||
* message box created by builder's generated code is a sample and should keep invisible,
|
* message box created by builder's generated code is a sample and should keep invisible,
|
||||||
|
|
|
@ -181,7 +181,7 @@
|
||||||
#if defined(_MODEL_565_HUNTING_EVB_LINUX_4G_68CS_)
|
#if defined(_MODEL_565_HUNTING_EVB_LINUX_4G_68CS_)
|
||||||
#define DEFAULT_PIR_SENSITIVITY SF_PIR_SENSITIVITY_HIGH
|
#define DEFAULT_PIR_SENSITIVITY SF_PIR_SENSITIVITY_HIGH
|
||||||
#elif defined(_MODEL_565_HUNTING_EVB_LINUX_4G_S530_)
|
#elif defined(_MODEL_565_HUNTING_EVB_LINUX_4G_S530_)
|
||||||
#define DEFAULT_PIR_SENSITIVITY SF_PIR_SENSITIVITY_0//SF_PIR_SENSITIVITY_7
|
#define DEFAULT_PIR_SENSITIVITY SF_PIR_SENSITIVITY_7
|
||||||
#endif
|
#endif
|
||||||
#define DEFAULT_NET_WORK_NEED_SEARCH SF_OFF
|
#define DEFAULT_NET_WORK_NEED_SEARCH SF_OFF
|
||||||
#define DEFAULT_GPRS_SWITCH SF_OFF
|
#define DEFAULT_GPRS_SWITCH SF_OFF
|
||||||
|
|
|
@ -1627,7 +1627,7 @@ void SysResetFlag(void)
|
||||||
puiPara->CamNameSwitch = DEFAULT_SF_CAMID;
|
puiPara->CamNameSwitch = DEFAULT_SF_CAMID;
|
||||||
puiPara->CamMode = DEFAULT_BOOT_WORK_MODE;
|
puiPara->CamMode = DEFAULT_BOOT_WORK_MODE;
|
||||||
puiPara->FlashLed = DEFAULT_FLASH_LED;
|
puiPara->FlashLed = DEFAULT_FLASH_LED;
|
||||||
//ImgSize
|
puiPara->ImgSize = DEFAULT_PHOTO_SIZE;
|
||||||
puiPara->NightMode = DEFAULT_NIGHT_MODE;
|
puiPara->NightMode = DEFAULT_NIGHT_MODE;
|
||||||
//Multishot
|
//Multishot
|
||||||
//VideoSize
|
//VideoSize
|
||||||
|
@ -1714,11 +1714,20 @@ void SysResetFlag(void)
|
||||||
memset(puiPara ->FtpsPort, '\0', sizeof(puiPara ->FtpsPort));
|
memset(puiPara ->FtpsPort, '\0', sizeof(puiPara ->FtpsPort));
|
||||||
memset(puiPara ->FtpsUsr, '\0', sizeof(puiPara ->FtpsUsr));
|
memset(puiPara ->FtpsUsr, '\0', sizeof(puiPara ->FtpsUsr));
|
||||||
memset(puiPara ->FtpsPwd,'\0', sizeof(puiPara ->FtpsPwd));
|
memset(puiPara ->FtpsPwd,'\0', sizeof(puiPara ->FtpsPwd));
|
||||||
|
memset(puiPara ->WifiApPWD,'\0', sizeof(puiPara ->WifiApPWD));
|
||||||
|
|
||||||
|
#if(WIFI_FUNC==ENABLE)
|
||||||
|
memset(puiPara ->strSSID,'\0', sizeof(puiPara ->strSSID));
|
||||||
|
memset(puiPara ->strPASSPHRASE,'\0', sizeof(puiPara ->strPASSPHRASE));
|
||||||
|
memset(puiPara ->strSSID_hotspot_1,'\0', sizeof(puiPara ->strSSID_hotspot_1));
|
||||||
|
memset(puiPara ->strPASSPHRASE_hotspot_1,'\0', sizeof(puiPara ->strPASSPHRASE_hotspot_1));
|
||||||
|
#endif
|
||||||
strcpy((char *)puiPara ->FtpIp, "119.23.174.139");
|
strcpy((char *)puiPara ->FtpIp, "119.23.174.139");
|
||||||
strcpy((char *)puiPara ->FtpPort, "21");
|
strcpy((char *)puiPara ->FtpPort, "21");
|
||||||
strcpy((char *)puiPara ->FtpUsr, "cameraftp");
|
strcpy((char *)puiPara ->FtpUsr, "cameraftp");
|
||||||
strcpy((char *)puiPara ->FtpPwd, "camera123456");
|
strcpy((char *)puiPara ->FtpPwd, "camera123456");
|
||||||
|
|
||||||
|
strcpy((char *)puiPara ->WifiApPWD, "Reveal2021");
|
||||||
|
|
||||||
#if defined(_MODEL_565_HUNTING_EVB_LINUX_4G_S530_)
|
#if defined(_MODEL_565_HUNTING_EVB_LINUX_4G_S530_)
|
||||||
puiPara->GpsNumber = DEFAULT_GPS_NUMBER;
|
puiPara->GpsNumber = DEFAULT_GPS_NUMBER;
|
||||||
|
|
|
@ -526,6 +526,7 @@ typedef struct _UIMenuUIMenuStoreInfo {
|
||||||
UINT8 WifiMode;
|
UINT8 WifiMode;
|
||||||
UINT8 WifiApPWD[16];
|
UINT8 WifiApPWD[16];
|
||||||
UINT8 Zoom;
|
UINT8 Zoom;
|
||||||
|
UINT32 FileKey;
|
||||||
//============Sifar==============///Payton
|
//============Sifar==============///Payton
|
||||||
|
|
||||||
} UIMenuStoreInfo;
|
} UIMenuStoreInfo;
|
||||||
|
@ -772,9 +773,9 @@ enum _PHOTO_SIZE {
|
||||||
#if PHOTO_PREVIEW_SLICE_ENC_FUNC
|
#if PHOTO_PREVIEW_SLICE_ENC_FUNC
|
||||||
PHOTO_SIZE_40M,
|
PHOTO_SIZE_40M,
|
||||||
#endif
|
#endif
|
||||||
|
PHOTO_SIZE_24M,
|
||||||
PHOTO_SIZE_16M,
|
PHOTO_SIZE_16M,
|
||||||
PHOTO_SIZE_12M,
|
PHOTO_SIZE_12M,
|
||||||
PHOTO_SIZE_10M,
|
|
||||||
PHOTO_SIZE_8M,
|
PHOTO_SIZE_8M,
|
||||||
PHOTO_SIZE_5M,
|
PHOTO_SIZE_5M,
|
||||||
PHOTO_SIZE_3M,
|
PHOTO_SIZE_3M,
|
||||||
|
@ -784,12 +785,20 @@ enum _PHOTO_SIZE {
|
||||||
PHOTO_SIZE_1M,
|
PHOTO_SIZE_1M,
|
||||||
PHOTO_SIZE_15M,
|
PHOTO_SIZE_15M,
|
||||||
PHOTO_SIZE_14M,
|
PHOTO_SIZE_14M,
|
||||||
|
PHOTO_SIZE_10M,
|
||||||
PHOTO_SIZE_7M,
|
PHOTO_SIZE_7M,
|
||||||
PHOTO_SIZE_7MHD,
|
PHOTO_SIZE_7MHD,
|
||||||
PHOTO_SIZE_4M,
|
PHOTO_SIZE_4M,
|
||||||
PHOTO_SIZE_2M,
|
PHOTO_SIZE_2M,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum _SCREEN_PHOTO_SIZE {
|
||||||
|
SCREEN_PHOTO_SIZE_VGA,
|
||||||
|
SCREEN_PHOTO_SIZE_XGA,
|
||||||
|
SCREEN_PHOTO_SIZE_2_76M,
|
||||||
|
SCREEN_PHOTO_SIZE_ID_MAX,
|
||||||
|
|
||||||
|
};
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Photo Quality
|
// Photo Quality
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
|
@ -30,9 +30,9 @@ static PHOTO_SIZE_PARAM g_PhotoCapSizeTable[PHOTO_SIZE_ID_MAX + 2] = {
|
||||||
#if PHOTO_PREVIEW_SLICE_ENC_FUNC || POWERON_FAST_SLICE_ENC
|
#if PHOTO_PREVIEW_SLICE_ENC_FUNC || POWERON_FAST_SLICE_ENC
|
||||||
{7552, 4248, IMAGERATIO_4_3, "40M"}, /* 40M */
|
{7552, 4248, IMAGERATIO_4_3, "40M"}, /* 40M */
|
||||||
#endif
|
#endif
|
||||||
|
{5632, 4224, IMAGERATIO_4_3, "24M"}, //16M
|
||||||
{4608, 3456, IMAGERATIO_4_3, "16M"}, //16M
|
{4608, 3456, IMAGERATIO_4_3, "16M"}, //16M
|
||||||
{4032, 3024, IMAGERATIO_4_3, "12M"}, //12M
|
{4032, 3024, IMAGERATIO_4_3, "12M"}, //12M
|
||||||
{3648, 2736, IMAGERATIO_4_3, "10M"}, //10M
|
|
||||||
{3264, 2448, IMAGERATIO_4_3, "8M"}, // 8M
|
{3264, 2448, IMAGERATIO_4_3, "8M"}, // 8M
|
||||||
#if defined(_MODEL_565_HUNTING_EVB_LINUX_4G_68CS_)
|
#if defined(_MODEL_565_HUNTING_EVB_LINUX_4G_68CS_)
|
||||||
{2960, 1666, IMAGERATIO_16_9, "5M"}, // 5M
|
{2960, 1666, IMAGERATIO_16_9, "5M"}, // 5M
|
||||||
|
@ -45,15 +45,17 @@ static PHOTO_SIZE_PARAM g_PhotoCapSizeTable[PHOTO_SIZE_ID_MAX + 2] = {
|
||||||
// +2 mode (only for internel test!!!)
|
// +2 mode (only for internel test!!!)
|
||||||
{1280, 960, IMAGERATIO_4_3, "1.3M"}, // 1.3M
|
{1280, 960, IMAGERATIO_4_3, "1.3M"}, // 1.3M
|
||||||
{1920, 1080, IMAGERATIO_16_9, "2MHD"}, // 2MHD
|
{1920, 1080, IMAGERATIO_16_9, "2MHD"}, // 2MHD
|
||||||
|
/*{3648, 2736, IMAGERATIO_4_3, "10M"}, //10M*/
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
static PHOTO_SIZE_PARAM g_ScreenNailSizeTable[PHOTO_SIZE_ID_MAX + 2] = {
|
static PHOTO_SIZE_PARAM g_ScreenNailSizeTable[SCREEN_PHOTO_SIZE_ID_MAX + 2] = {
|
||||||
#if defined(_MODEL_565_HUNTING_EVB_LINUX_4G_68CS_)
|
#if defined(_MODEL_565_HUNTING_EVB_LINUX_4G_68CS_)
|
||||||
{1024, 768, IMAGERATIO_4_3, "0.78M"}, // 0.78M
|
{1024, 768, IMAGERATIO_4_3, "0.78M"}, // 0.78M
|
||||||
#elif defined(_MODEL_565_HUNTING_EVB_LINUX_4G_S530_)
|
#elif defined(_MODEL_565_HUNTING_EVB_LINUX_4G_S530_)
|
||||||
{640, 480, IMAGERATIO_4_3, "VGA"}, // VGA
|
{640, 480, IMAGERATIO_4_3, "VGA"}, // VGA
|
||||||
{1024, 768, IMAGERATIO_4_3, "0.78M"}, // 0.78M
|
{1024, 768, IMAGERATIO_4_3, "XGA"}, // 0.78M
|
||||||
|
{1920, 1440, IMAGERATIO_4_3, "2.76M"}, // 2.76M
|
||||||
#endif
|
#endif
|
||||||
//CFG_SCREENNAIL_W
|
//CFG_SCREENNAIL_W
|
||||||
//CFG_SCREENNAIL_H
|
//CFG_SCREENNAIL_H
|
||||||
|
|
|
@ -258,10 +258,11 @@ SRC = \
|
||||||
./code/source/utils/sf_aes.c \
|
./code/source/utils/sf_aes.c \
|
||||||
./code/source/debugMng/sf_debug.c \
|
./code/source/debugMng/sf_debug.c \
|
||||||
./code/source/updataMng/sf_md5.c \
|
./code/source/updataMng/sf_md5.c \
|
||||||
./code/source/updataMng/sf_otamng.c \
|
./code/source/updataMng/sf_otamng.c
|
||||||
./code/source/wifi/sf_data_transfer.c \
|
|
||||||
./code/source/wifi/sf_svr_send.c \
|
# ./code/source/wifi/sf_data_transfer.c \
|
||||||
./code/source/wifi/sf_wifi_svr.c
|
# ./code/source/wifi/sf_svr_send.c \
|
||||||
|
# ./code/source/wifi/sf_wifi_svr.c
|
||||||
|
|
||||||
#--------- END OF SOURCEs FOR APPLICATION ---------------------------------------------
|
#--------- END OF SOURCEs FOR APPLICATION ---------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,9 @@ extern "C" {
|
||||||
|
|
||||||
#define MMZBLOCKSIZE 1024
|
#define MMZBLOCKSIZE 1024
|
||||||
#define SF_VIDEO_LOOP_NUM 4 /*PIC 3 + VIDEO 1*/
|
#define SF_VIDEO_LOOP_NUM 4 /*PIC 3 + VIDEO 1*/
|
||||||
|
#define SF_SEND_LIST_ITEM_LENGTH 15
|
||||||
|
|
||||||
|
#define SF_THUMB_SEND_LIST "/mnt/sd/Thumb/send.list"
|
||||||
|
|
||||||
#define SF_SD_THUMB_PATH_CFG "/mnt/sd/Thumb/ThumbFileCfg"
|
#define SF_SD_THUMB_PATH_CFG "/mnt/sd/Thumb/ThumbFileCfg"
|
||||||
#define SF_FILE_ERROR_NO_FILE SF_ERR_ID(SF_MOD_FILE, ERROR_NO_FILE)
|
#define SF_FILE_ERROR_NO_FILE SF_ERR_ID(SF_MOD_FILE, ERROR_NO_FILE)
|
||||||
|
|
|
@ -208,6 +208,7 @@ typedef enum LedSysState_e
|
||||||
SF_LED_SYS_STATE_POWER_OFF,
|
SF_LED_SYS_STATE_POWER_OFF,
|
||||||
SF_LED_SYS_STATE_PIR_DETECT,/*36*/
|
SF_LED_SYS_STATE_PIR_DETECT,/*36*/
|
||||||
SF_LED_SYS_STATE_PIR_NOT_DETECT,
|
SF_LED_SYS_STATE_PIR_NOT_DETECT,
|
||||||
|
SF_LED_SYS_STATE_BAT_0_SLOW,
|
||||||
}LedSysState_t;
|
}LedSysState_t;
|
||||||
|
|
||||||
typedef struct LedInfo_s
|
typedef struct LedInfo_s
|
||||||
|
|
|
@ -90,7 +90,7 @@ extern "C" {
|
||||||
|
|
||||||
#define SF_MAX_PATH_LEN 128
|
#define SF_MAX_PATH_LEN 128
|
||||||
#define SF_MAX_PIC_LEN 64
|
#define SF_MAX_PIC_LEN 64
|
||||||
#define SF_SRCFILE_MAX 4
|
#define SF_SRCFILE_MAX 5
|
||||||
#define SF_THUMB_FILE_MAX_LEN 20
|
#define SF_THUMB_FILE_MAX_LEN 20
|
||||||
|
|
||||||
|
|
||||||
|
@ -459,6 +459,7 @@ typedef enum sf_MCU_MESSAGE_TYPE_E
|
||||||
SF_MCU_CMD_POWERON = 0x1B00,
|
SF_MCU_CMD_POWERON = 0x1B00,
|
||||||
SF_MCU_CMD_LED = 0x1C00,
|
SF_MCU_CMD_LED = 0x1C00,
|
||||||
SF_MCU_CMD_MODULE_SLEEP = 0x1D00,
|
SF_MCU_CMD_MODULE_SLEEP = 0x1D00,
|
||||||
|
SF_MCU_CMD_MCU_VER = 0x1E00,
|
||||||
|
|
||||||
|
|
||||||
}SF_MCU_MESSAGE_TYPE_E;
|
}SF_MCU_MESSAGE_TYPE_E;
|
||||||
|
@ -474,7 +475,8 @@ typedef enum sf_PARA_MESSAGE_TYPE_E
|
||||||
typedef enum sf_WIFI_MESSAGE_TYPE_E
|
typedef enum sf_WIFI_MESSAGE_TYPE_E
|
||||||
{
|
{
|
||||||
SF_WIFI_CMD_START = 0x1A00,
|
SF_WIFI_CMD_START = 0x1A00,
|
||||||
SF_WIFI_CMD_STOP = 0x1B00,
|
SF_WIFI_CMD_STOP = 0x1B00,
|
||||||
|
SF_WIFI_CMD_RESTART = 0x1C00,
|
||||||
|
|
||||||
|
|
||||||
}SF_WIFI_MESSAGE_TYPE_E;
|
}SF_WIFI_MESSAGE_TYPE_E;
|
||||||
|
|
|
@ -240,10 +240,10 @@ typedef struct sfPDT_PARAM_STATISTICS_S
|
||||||
typedef struct sf_FILE_ATTR_S {
|
typedef struct sf_FILE_ATTR_S {
|
||||||
|
|
||||||
SF_FILE_TYPE_E enFileTye;
|
SF_FILE_TYPE_E enFileTye;
|
||||||
SF_CHAR thumbfileName[SF_MAX_PIC_LEN];
|
char thumbfileName[SF_MAX_PIC_LEN];
|
||||||
SF_CHAR thumbfilePath[SF_MAX_PATH_LEN];
|
char thumbfilePath[SF_MAX_PATH_LEN];
|
||||||
SF_CHAR txtfilePath[SF_MAX_PATH_LEN];
|
char txtfilePath[SF_MAX_PATH_LEN];
|
||||||
SF_CHAR txtfileName[SF_MAX_PIC_LEN];
|
char txtfileName[SF_MAX_PIC_LEN];
|
||||||
UINT32 thumbfileSize;
|
UINT32 thumbfileSize;
|
||||||
|
|
||||||
}SF_FILE_ATTR_S;
|
}SF_FILE_ATTR_S;
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
|
|
||||||
#define SF_DCF_SD_ROOT "/mnt/sd/" /**< DCF File Name (it must be 4-characters) */
|
#define SF_DCF_SD_ROOT "/mnt/sd/" /**< DCF File Name (it must be 4-characters) */
|
||||||
#define SD_PATH SF_DCF_SD_ROOT //"/sdcard/mmcblk0p1" //mnt/hgfs
|
#define SD_PATH SF_DCF_SD_ROOT //"/sdcard/mmcblk0p1" //mnt/hgfs
|
||||||
#define THUMB_PATH SD_PATH "/DCIM/THUMB/SMALL"
|
#define THUMB_PATH SD_PATH "Thumb"
|
||||||
#define THUMB_HD_PATH SD_PATH "/DCIM/THUMB/LARGE"
|
#define THUMB_HD_PATH SD_PATH "/DCIM/THUMB/LARGE"
|
||||||
#define SF_DCF_SD_ROOT2 "/sdcard/mmcblk0p1/" /**< DCF File Name (it must be 4-characters) */
|
#define SF_DCF_SD_ROOT2 "/sdcard/mmcblk0p1/" /**< DCF File Name (it must be 4-characters) */
|
||||||
#define SD_PATH2 SF_DCF_SD_ROOT2 //"/sdcard/mmcblk0p1" //mnt/hgfs
|
#define SD_PATH2 SF_DCF_SD_ROOT2 //"/sdcard/mmcblk0p1" //mnt/hgfs
|
||||||
|
|
|
@ -49,6 +49,7 @@
|
||||||
#include <sf_hal_ttyusb.h>
|
#include <sf_hal_ttyusb.h>
|
||||||
#include <sys/vfs.h>
|
#include <sys/vfs.h>
|
||||||
#include "sf_keymng.h"
|
#include "sf_keymng.h"
|
||||||
|
#include "sf_wifi_svr.h"
|
||||||
|
|
||||||
extern pthread_mutex_t Param_mutexLock;
|
extern pthread_mutex_t Param_mutexLock;
|
||||||
extern pthread_mutex_t GPIO_mutexLock;
|
extern pthread_mutex_t GPIO_mutexLock;
|
||||||
|
@ -61,8 +62,8 @@ void sf_signalStop(SINT32 signo)
|
||||||
printf("\nsignalStop(signal code: %d) !!!\n", signo);
|
printf("\nsignalStop(signal code: %d) !!!\n", signo);
|
||||||
sf_share_mem_file_deinit();
|
sf_share_mem_file_deinit();
|
||||||
sf_share_mem_customer_deinit();
|
sf_share_mem_customer_deinit();
|
||||||
sf_led_stop();
|
|
||||||
sf_commu_mcu_task_stop();
|
sf_commu_mcu_task_stop();
|
||||||
|
sf_led_stop();
|
||||||
|
|
||||||
_exit(0);
|
_exit(0);
|
||||||
}
|
}
|
||||||
|
@ -98,8 +99,8 @@ int main(int argc, char *argv[])
|
||||||
printf("*********************************************\n");
|
printf("*********************************************\n");
|
||||||
//gpio_direction_input(C_GPIO(10));
|
//gpio_direction_input(C_GPIO(10));
|
||||||
SINT16 startup = 0;
|
SINT16 startup = 0;
|
||||||
SF_MESSAGE_BUF_S stMessageBuf = {0};
|
//SF_MESSAGE_BUF_S stMessageBuf = {0};
|
||||||
BOOL autosend = FALSE;
|
//BOOL autosend = FALSE;
|
||||||
SF_MUTEX_INIT_LOCK(Param_mutexLock);
|
SF_MUTEX_INIT_LOCK(Param_mutexLock);
|
||||||
SF_MUTEX_INIT_LOCK(GPIO_mutexLock);
|
SF_MUTEX_INIT_LOCK(GPIO_mutexLock);
|
||||||
//test_sd_free();
|
//test_sd_free();
|
||||||
|
@ -154,10 +155,14 @@ int main(int argc, char *argv[])
|
||||||
//app_led_pin_init();
|
//app_led_pin_init();
|
||||||
//app_upgrade_sd_execute();
|
//app_upgrade_sd_execute();
|
||||||
app_preinit();
|
app_preinit();
|
||||||
//#if
|
|
||||||
app_RegisterNet_start();
|
|
||||||
//#endif
|
|
||||||
startup = sf_poweron_type_get();
|
startup = sf_poweron_type_get();
|
||||||
|
if(SF_MCU_STARTUP_ONKEY == startup)
|
||||||
|
{
|
||||||
|
//sf_wifi_app_start();
|
||||||
|
}
|
||||||
|
//#if
|
||||||
|
//app_RegisterNet_start();
|
||||||
|
//#endif
|
||||||
SLOGD("poweron type beginning :[%d,%s]\n", startup, sf_poweron_type_string(startup));
|
SLOGD("poweron type beginning :[%d,%s]\n", startup, sf_poweron_type_string(startup));
|
||||||
/*if(SF_MCU_STARTUP_ONKEY != startup)
|
/*if(SF_MCU_STARTUP_ONKEY != startup)
|
||||||
{
|
{
|
||||||
|
|
|
@ -51,7 +51,7 @@ extern "C" {
|
||||||
#include "sf_system.h"
|
#include "sf_system.h"
|
||||||
#include "sf_service.h"
|
#include "sf_service.h"
|
||||||
#include <FileSysTsk.h>
|
#include <FileSysTsk.h>
|
||||||
#include "sf_wifi_svr.h"
|
//#include "sf_wifi_svr.h"
|
||||||
|
|
||||||
|
|
||||||
extern pthread_mutex_t Param_mutexLock;
|
extern pthread_mutex_t Param_mutexLock;
|
||||||
|
@ -675,6 +675,12 @@ static SINT32 app_proccess_cmd_mcu(SF_MESSAGE_BUF_S *pMessageBuf)
|
||||||
stMessageBuf.arg1 = SF_MCU_CMD_POWERON;
|
stMessageBuf.arg1 = SF_MCU_CMD_POWERON;
|
||||||
stMessageBuf.arg2 = (SINT32)sf_convert_power_on_mode();
|
stMessageBuf.arg2 = (SINT32)sf_convert_power_on_mode();
|
||||||
stMessageBuf.arg3 = (SINT32)sf_mcu_get_irshtter();
|
stMessageBuf.arg3 = (SINT32)sf_mcu_get_irshtter();
|
||||||
|
stMessageBuf.cmdId = CMD_MCU;
|
||||||
|
sf_com_message_send_to_cardv(&stMessageBuf);
|
||||||
|
|
||||||
|
stMessageBuf.arg1 = SF_MCU_CMD_MCU_VER;
|
||||||
|
stMessageBuf.arg2 = (SINT32)sf_get_mcu_sub_ver();
|
||||||
|
stMessageBuf.arg3 = (SINT32)sf_get_mcu_ver();
|
||||||
stMessageBuf.cmdId = CMD_MCU;
|
stMessageBuf.cmdId = CMD_MCU;
|
||||||
sf_com_message_send_to_cardv(&stMessageBuf);
|
sf_com_message_send_to_cardv(&stMessageBuf);
|
||||||
break;
|
break;
|
||||||
|
@ -711,7 +717,7 @@ static SINT32 sf_proccess_cmd_wifi(SF_MESSAGE_BUF_S *pMessageBuf)
|
||||||
switch(pMessageBuf->arg1)
|
switch(pMessageBuf->arg1)
|
||||||
{
|
{
|
||||||
case SF_WIFI_CMD_START:
|
case SF_WIFI_CMD_START:
|
||||||
sf_wifi_app_start();
|
//sf_wifi_app_start();
|
||||||
sf_sys_status_led_set(SF_LED_SYS_STATE_WIFI_DISCONNECT);
|
sf_sys_status_led_set(SF_LED_SYS_STATE_WIFI_DISCONNECT);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -1241,6 +1241,7 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
|
||||||
// s32ret = sf_qrcode_create(pStaticParam->IMEI,pStaticParam->SimID ,version);
|
// s32ret = sf_qrcode_create(pStaticParam->IMEI,pStaticParam->SimID ,version);
|
||||||
|
|
||||||
s32ret = sf_4G_register_net_manual(pfnParam);
|
s32ret = sf_4G_register_net_manual(pfnParam);
|
||||||
|
sf_share_mem_customer_down(1);
|
||||||
SF_APPCOMM_CHECK_RETURN(s32ret,s32ret);
|
SF_APPCOMM_CHECK_RETURN(s32ret,s32ret);
|
||||||
|
|
||||||
#ifdef SF_GPS_TEST
|
#ifdef SF_GPS_TEST
|
||||||
|
@ -1377,6 +1378,7 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
|
||||||
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_REQUEST);
|
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_REQUEST);
|
||||||
|
|
||||||
s32ret = sf_4G_register_net_auto(pfnParam);
|
s32ret = sf_4G_register_net_auto(pfnParam);
|
||||||
|
sf_share_mem_customer_down(1);
|
||||||
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_REQUEST);
|
SF_APPCOMM_CHECK_RETURN(s32ret,SF_APP_ERROR_REQUEST);
|
||||||
|
|
||||||
//sf_thumb_file_creat();
|
//sf_thumb_file_creat();
|
||||||
|
|
|
@ -237,6 +237,7 @@ pthread_t ledTskId;
|
||||||
|
|
||||||
//static BOOL isIrLedOn = FALSE;
|
//static BOOL isIrLedOn = FALSE;
|
||||||
static BOOL isGoToPir = FALSE;
|
static BOOL isGoToPir = FALSE;
|
||||||
|
static unsigned char isLedExit = 1;
|
||||||
|
|
||||||
static BOOL isUsbIn = FALSE;
|
static BOOL isUsbIn = FALSE;
|
||||||
#if HW_S530
|
#if HW_S530
|
||||||
|
@ -299,7 +300,7 @@ void* sf_runningLed_thread(void *arg)
|
||||||
UINT8 run = 0;
|
UINT8 run = 0;
|
||||||
UINT8 time = 0;
|
UINT8 time = 0;
|
||||||
|
|
||||||
while(1)
|
while(isLedExit)
|
||||||
{
|
{
|
||||||
if(isRunningLedOn)
|
if(isRunningLedOn)
|
||||||
{
|
{
|
||||||
|
@ -367,7 +368,7 @@ void* sf_runningLed_thread(void *arg)
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("[%s:%d] e \n", __FUNCTION__, __LINE__);
|
printf("[%s:%d] e \n", __FUNCTION__, __LINE__);
|
||||||
|
pthread_exit(0);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -378,7 +379,7 @@ void* sf_led_thread(void *arg)
|
||||||
UINT8 i = 0;
|
UINT8 i = 0;
|
||||||
//FLGPTN FlgPtn;
|
//FLGPTN FlgPtn;
|
||||||
printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
|
printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
|
||||||
while(1)
|
while(isLedExit)
|
||||||
{
|
{
|
||||||
|
|
||||||
for(i = 0; i < SF_LED_ALL; i++)
|
for(i = 0; i < SF_LED_ALL; i++)
|
||||||
|
@ -467,6 +468,7 @@ void* sf_led_thread(void *arg)
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("[%s:%d] e \n", __FUNCTION__, __LINE__);
|
printf("[%s:%d] e \n", __FUNCTION__, __LINE__);
|
||||||
|
pthread_exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -527,7 +529,7 @@ void sf_led_init(void)
|
||||||
|
|
||||||
//vos_flag_create(&FLG_ID_SF_LED, NULL, "FLG_ID_SF_LED");
|
//vos_flag_create(&FLG_ID_SF_LED, NULL, "FLG_ID_SF_LED");
|
||||||
/*thread creat*/
|
/*thread creat*/
|
||||||
|
isLedExit = 1;
|
||||||
pthread_create(&ledTskId, NULL, sf_led_thread, NULL);
|
pthread_create(&ledTskId, NULL, sf_led_thread, NULL);
|
||||||
#if HW_S530
|
#if HW_S530
|
||||||
/*thread creat*/
|
/*thread creat*/
|
||||||
|
@ -539,13 +541,33 @@ void sf_led_init(void)
|
||||||
void sf_led_stop(void)
|
void sf_led_stop(void)
|
||||||
{
|
{
|
||||||
SINT32 s32ret = SF_SUCCESS;
|
SINT32 s32ret = SF_SUCCESS;
|
||||||
|
isLedExit = 0;
|
||||||
|
printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
|
||||||
|
|
||||||
|
|
||||||
|
s32ret = pthread_join(ledTskId, NULL);
|
||||||
|
if(s32ret != SF_SUCCESS)
|
||||||
|
{
|
||||||
|
MLOGD("ledTskId thread stop fail!\n");
|
||||||
|
//return s32ret;
|
||||||
|
}
|
||||||
|
printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
|
||||||
s32ret = pthread_cancel(ledTskId);
|
s32ret = pthread_cancel(ledTskId);
|
||||||
if(s32ret != SF_SUCCESS)
|
if(s32ret != SF_SUCCESS)
|
||||||
{
|
{
|
||||||
MLOGD("ledTskId thread cancel fail!\n");
|
MLOGD("ledTskId thread cancel fail!\n");
|
||||||
//return s32ret;
|
//return s32ret;
|
||||||
}
|
}
|
||||||
|
printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
|
||||||
|
#if HW_S530
|
||||||
|
s32ret = pthread_join(ledRunningTskId, NULL);
|
||||||
|
if(s32ret != SF_SUCCESS)
|
||||||
|
{
|
||||||
|
MLOGD("ledRunningTskId thread stop fail!\n");
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
|
||||||
#if HW_S530
|
#if HW_S530
|
||||||
s32ret = pthread_cancel(ledRunningTskId);
|
s32ret = pthread_cancel(ledRunningTskId);
|
||||||
if(s32ret != SF_SUCCESS)
|
if(s32ret != SF_SUCCESS)
|
||||||
|
@ -554,19 +576,7 @@ void sf_led_stop(void)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
s32ret = pthread_join(ledTskId, NULL);
|
printf("[%s:%d] e\n", __FUNCTION__, __LINE__);
|
||||||
if(s32ret != SF_SUCCESS)
|
|
||||||
{
|
|
||||||
MLOGD("ledTskId thread stop fail!\n");
|
|
||||||
//return s32ret;
|
|
||||||
}
|
|
||||||
#if HW_S530
|
|
||||||
s32ret = pthread_join(ledRunningTskId, NULL);
|
|
||||||
if(s32ret != SF_SUCCESS)
|
|
||||||
{
|
|
||||||
MLOGD("ledRunningTskId thread stop fail!\n");
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -816,6 +826,12 @@ void sf_sys_status_led_set(LedSysState_t ledSysStateId)
|
||||||
case SF_LED_SYS_STATE_PIR_NOT_DETECT:
|
case SF_LED_SYS_STATE_PIR_NOT_DETECT:
|
||||||
sf_led_set(SF_LED_BUSY, SF_LED_STATE_ON);
|
sf_led_set(SF_LED_BUSY, SF_LED_STATE_ON);
|
||||||
break;
|
break;
|
||||||
|
case SF_LED_SYS_STATE_BAT_0_SLOW:
|
||||||
|
sf_led_set(SF_LED_BAT1, SF_LED_STATE_SLOW_FLASHING);
|
||||||
|
sf_led_set(SF_LED_BAT2, SF_LED_STATE_OFF);
|
||||||
|
sf_led_set(SF_LED_BAT3, SF_LED_STATE_OFF);
|
||||||
|
sf_led_set(SF_LED_BAT4, SF_LED_STATE_OFF);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -22,6 +22,8 @@ extern "C" {
|
||||||
|
|
||||||
SF_SRCFILE_ATTR_S *pThumbFileCfg = 0;
|
SF_SRCFILE_ATTR_S *pThumbFileCfg = 0;
|
||||||
|
|
||||||
|
char SendFileList[201][SF_SEND_LIST_ITEM_LENGTH] = {{0}}; //for 200 files
|
||||||
|
UINT8 SendFileTotal = 0;
|
||||||
//"^HRT[0-9]{5}.txt$"
|
//"^HRT[0-9]{5}.txt$"
|
||||||
//"^W[0-9]{7}.txt$"
|
//"^W[0-9]{7}.txt$"
|
||||||
|
|
||||||
|
@ -682,7 +684,7 @@ BOOL sf_check_auto_thumb_file(VOID)
|
||||||
if(fp == NULL){
|
if(fp == NULL){
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
u32ize = ftell(fp);
|
u32ize = fseek(fp, 0, SEEK_SET);
|
||||||
|
|
||||||
if (fileCfg) {
|
if (fileCfg) {
|
||||||
fread(fileCfg, 1, sizeof(SF_SRCFILE_ATTR_S), fp);
|
fread(fileCfg, 1, sizeof(SF_SRCFILE_ATTR_S), fp);
|
||||||
|
@ -704,6 +706,107 @@ BOOL sf_check_auto_thumb_file(VOID)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*************************************************
|
||||||
|
Function: sf_get_send_file_list
|
||||||
|
Description: get send file list
|
||||||
|
Input: sendfname
|
||||||
|
Output: N/A
|
||||||
|
Return: N/A
|
||||||
|
Others: N/A
|
||||||
|
*************************************************/
|
||||||
|
UINT8 sf_get_send_file_list(char *sendfileList, UINT8 *fileTotal)
|
||||||
|
{
|
||||||
|
UIMenuStoreInfo *pPara = sf_app_ui_para_get();
|
||||||
|
char sendListName[64] = {0};
|
||||||
|
FILE *fd = NULL;
|
||||||
|
UINT32 fsize = 0;
|
||||||
|
UINT8 i = 0;
|
||||||
|
UINT8 MaxFileNum = 200;
|
||||||
|
UINT32 oldFileKey = 0;
|
||||||
|
char oldFileName[SF_SEND_LIST_ITEM_LENGTH+1] = {0};
|
||||||
|
char *pFileHasSend = NULL;
|
||||||
|
UINT32 fileOffset = 0;
|
||||||
|
|
||||||
|
strcpy(sendListName, SF_THUMB_SEND_LIST);
|
||||||
|
|
||||||
|
sf_file_size_get(sendListName, &fsize);
|
||||||
|
|
||||||
|
fd = fopen(sendListName,"r");
|
||||||
|
if(fd == 0)
|
||||||
|
{
|
||||||
|
printf("[ERROR]send.list open filed\n");
|
||||||
|
printf("sendListName:%s\n", sendListName);
|
||||||
|
return FAIL;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(pPara->SendMaxNum == 0) //unlimited
|
||||||
|
{
|
||||||
|
MaxFileNum = 100;//(sf_battery_value_get(0) >= 50 ? 200 : 100);// the last 100/200 files
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MaxFileNum = 100;//pPara->SendMaxNum - pSifarPara->picSendMax;
|
||||||
|
}
|
||||||
|
printf("Get send.List MaxFileNum:%d\n", MaxFileNum);
|
||||||
|
|
||||||
|
//fsize = sp5kFsFileSizeGet(fd);
|
||||||
|
if(fsize == 0)
|
||||||
|
{
|
||||||
|
fclose(fd);
|
||||||
|
sf_file_remove(sendListName);
|
||||||
|
return FAIL;
|
||||||
|
}
|
||||||
|
else if(fsize%SF_SEND_LIST_ITEM_LENGTH) //format error delete file list
|
||||||
|
{
|
||||||
|
//sf_error_log((SINT8 *)"FTP ERROR: 303\n");
|
||||||
|
printf("%s:%d FTP ERROR: 303\n", __FUNCTION__, __LINE__);
|
||||||
|
fclose(fd);
|
||||||
|
sf_file_remove(sendListName);
|
||||||
|
return FAIL;
|
||||||
|
}
|
||||||
|
else if(fsize > MaxFileNum*SF_SEND_LIST_ITEM_LENGTH) // the last 100/200 files
|
||||||
|
{
|
||||||
|
fseek(fd, fsize-MaxFileNum*SF_SEND_LIST_ITEM_LENGTH, SEEK_SET);
|
||||||
|
fsize = MaxFileNum*SF_SEND_LIST_ITEM_LENGTH;
|
||||||
|
}
|
||||||
|
*fileTotal = fsize/SF_SEND_LIST_ITEM_LENGTH;
|
||||||
|
printf("fileTotal=%d, fsize=%d\n", *fileTotal, fsize);
|
||||||
|
fread(sendfileList, fsize, 1, fd);
|
||||||
|
fclose(fd);
|
||||||
|
|
||||||
|
oldFileKey = pPara->FileKey;
|
||||||
|
printf("last send key:%d\n", oldFileKey);
|
||||||
|
//oldFileKey = 1000003; //for debug
|
||||||
|
if((oldFileKey >= 1000001) && (oldFileKey <= 9999999)) //W1000001.JPG W9999999.JPG
|
||||||
|
{
|
||||||
|
sprintf(oldFileName, "W%ld.JPG", oldFileKey);
|
||||||
|
printf("last send file:%s\n", oldFileName);
|
||||||
|
pFileHasSend = strstr(sendfileList, oldFileName); //MAX spend time <= 310ms
|
||||||
|
if(pFileHasSend != NULL)
|
||||||
|
{
|
||||||
|
pFileHasSend -= 1;
|
||||||
|
fileOffset = abs(pFileHasSend - sendfileList) + SF_SEND_LIST_ITEM_LENGTH;
|
||||||
|
fsize -= fileOffset;
|
||||||
|
printf("fileOffset=%d\n", fileOffset);
|
||||||
|
memmove(sendfileList, pFileHasSend + SF_SEND_LIST_ITEM_LENGTH, fsize);
|
||||||
|
*(sendfileList+fsize) = '\0';
|
||||||
|
*fileTotal = fsize/SF_SEND_LIST_ITEM_LENGTH;
|
||||||
|
printf("fileTotal=%d, fsize=%d\n", *fileTotal, fsize);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for(i=1; i <= *fileTotal; i++) // remove \r
|
||||||
|
{
|
||||||
|
*(sendfileList+i*SF_SEND_LIST_ITEM_LENGTH-2) = '\0';
|
||||||
|
}
|
||||||
|
|
||||||
|
//memdump(sendfileList, fsize);
|
||||||
|
//printf("get Success\n");
|
||||||
|
return SUCCESS;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
#if __cplusplus
|
#if __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -1024,8 +1024,10 @@ void sf_commu_mcu_task_start(void)
|
||||||
|
|
||||||
void sf_commu_mcu_task_stop(void)
|
void sf_commu_mcu_task_stop(void)
|
||||||
{
|
{
|
||||||
|
printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
|
||||||
sf_commu_mcu_exit = 1;
|
sf_commu_mcu_exit = 1;
|
||||||
pthread_join(sfCommuMcuThread, NULL);
|
pthread_join(sfCommuMcuThread, NULL);
|
||||||
|
printf("[%s:%d] e\n", __FUNCTION__, __LINE__);
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned char sf_commu_mcu_task_running(void)
|
unsigned char sf_commu_mcu_task_running(void)
|
||||||
|
|
|
@ -32,12 +32,13 @@
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
#include <sys/times.h>
|
#include <sys/times.h>
|
||||||
|
|
||||||
#include "sf_common.h"
|
//#include "sf_common.h"
|
||||||
|
|
||||||
#include "sf_wifi_svr.h"
|
#include "sf_wifi_svr.h"
|
||||||
#include "sf_data_transfer.h"
|
#include "sf_data_transfer.h"
|
||||||
#include "sf_svr_send.h"
|
#include "sf_svr_send.h"
|
||||||
#include "sf_system.h"
|
#include "sf_system.h"
|
||||||
|
#include "sf_common.h"
|
||||||
|
|
||||||
//#include "sf_customer_app.h"
|
//#include "sf_customer_app.h"
|
||||||
//#include "sf_4g_common.h"
|
//#include "sf_4g_common.h"
|
||||||
|
@ -474,7 +475,7 @@ void *sf_DataSvrTransferThread(void *addr)
|
||||||
}
|
}
|
||||||
else if(pClient->map.function == 1) //upload
|
else if(pClient->map.function == 1) //upload
|
||||||
{
|
{
|
||||||
app_poweroff_time_clear();/*reset power off count time*/
|
sf_set_auto_off_time(0);/*reset power off count time*/
|
||||||
if(pClient->map.fd == 0)
|
if(pClient->map.fd == 0)
|
||||||
{
|
{
|
||||||
pClient->map.fileName[strlen((char *)(pClient->map.fileName))+1]=0;
|
pClient->map.fileName[strlen((char *)(pClient->map.fileName))+1]=0;
|
||||||
|
@ -561,7 +562,7 @@ void *sf_DataSvrTransferThread(void *addr)
|
||||||
}
|
}
|
||||||
else if(pClient->map.function == 2) //download
|
else if(pClient->map.function == 2) //download
|
||||||
{
|
{
|
||||||
app_poweroff_time_clear();/*reset power off count time*/
|
sf_set_auto_off_time(0);/*reset power off count time*/
|
||||||
// printf("[read],fd:%x,pClient->map.fileName:%s,len:%d\n",pClient->map.fd,pClient->map.fileName,strlen((char*)(pClient->map.fileName)));
|
// printf("[read],fd:%x,pClient->map.fileName:%s,len:%d\n",pClient->map.fd,pClient->map.fileName,strlen((char*)(pClient->map.fileName)));
|
||||||
if(pClient->map.fd <= 0)
|
if(pClient->map.fd <= 0)
|
||||||
{
|
{
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
#include <net/if.h>
|
#include <net/if.h>
|
||||||
#include <sys/ioctl.h>
|
#include <sys/ioctl.h>
|
||||||
|
|
||||||
#include "sf_common.h"
|
//#include "sf_common.h"
|
||||||
//#include "sf_syslib.h"
|
//#include "sf_syslib.h"
|
||||||
//#include "sf_para.h"
|
//#include "sf_para.h"
|
||||||
|
|
||||||
|
@ -45,6 +45,15 @@
|
||||||
#include "sf_system.h"
|
#include "sf_system.h"
|
||||||
#include "sf_storeMng.h"
|
#include "sf_storeMng.h"
|
||||||
#include "sf_ledmng.h"
|
#include "sf_ledmng.h"
|
||||||
|
#include "sf_common.h"
|
||||||
|
#include "sf_battery.h"
|
||||||
|
#include "sf_sd_common.h"
|
||||||
|
#include "NvtUser/NvtBack.h"
|
||||||
|
#include "UIBackgroundObj.h"
|
||||||
|
#include "NVTUserCommand.h"
|
||||||
|
#include "NvtUser/NvtUser.h"
|
||||||
|
#include "Mode/UIModePhoto.h"
|
||||||
|
#include "Mode/UIModeMovie.h"
|
||||||
|
|
||||||
#if SF_LPA_SDK
|
#if SF_LPA_SDK
|
||||||
#include "lpasdk/api/lpasdk_api.h"
|
#include "lpasdk/api/lpasdk_api.h"
|
||||||
|
@ -138,7 +147,7 @@ extern UINT8 SendingFile;
|
||||||
void dataClientListPrint(void);
|
void dataClientListPrint(void);
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
static UINT32 sf_set_pir_sensitivity_app(UINT8 pirs)
|
static UINT32 sf_set_pir_sensitivity_app(UINT8 pirs)
|
||||||
{
|
{
|
||||||
UINT8 digPirLevel[10] = {200, 38, 30, 24, 18, 16, 10, 9, 8, 7};
|
UINT8 digPirLevel[10] = {200, 38, 30, 24, 18, 16, 10, 9, 8, 7};
|
||||||
|
@ -164,15 +173,16 @@ static UINT32 sf_set_pir_sensitivity_app(UINT8 pirs)
|
||||||
|
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
static S32 sf_get_sd_info(UINT32 *pSDStatus, UINT32 *pSDFree, UINT32 *pSDTotalSize)
|
static S32 sf_get_sd_info(UINT32 *pSDStatus, UINT32 *pSDFree, UINT32 *pSDTotalSize)
|
||||||
{
|
{
|
||||||
int fd = -1;
|
int fd = -1;
|
||||||
fd = open(SD_PATH2, O_RDONLY,0);
|
fd = open(SD_PATH, O_RDONLY,0);
|
||||||
if(fd >= 0)
|
if(fd >= 0)
|
||||||
{
|
{
|
||||||
struct statfs diskInfo;
|
struct statfs diskInfo;
|
||||||
statfs(SD_PATH2, &diskInfo);
|
statfs(SD_PATH, &diskInfo);
|
||||||
/*printf("f_type=%ld\n", diskInfo.f_type);
|
/*printf("f_type=%ld\n", diskInfo.f_type);
|
||||||
printf("f_bsize=%ld\n", diskInfo.f_bsize);
|
printf("f_bsize=%ld\n", diskInfo.f_bsize);
|
||||||
printf("f_blocks=%ld\n", diskInfo.f_blocks);
|
printf("f_blocks=%ld\n", diskInfo.f_blocks);
|
||||||
|
@ -295,7 +305,7 @@ UINT32 sp5kFsFileSizeGet(const char *path)
|
||||||
void memdump(void *p,int len)
|
void memdump(void *p,int len)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
#if 0
|
||||||
int i,j,k;
|
int i,j,k;
|
||||||
char binstr[80];
|
char binstr[80];
|
||||||
char *buf = p;
|
char *buf = p;
|
||||||
|
@ -346,6 +356,7 @@ void memdump(void *p,int len)
|
||||||
printf("%s\n",binstr);
|
printf("%s\n",binstr);
|
||||||
}
|
}
|
||||||
printf("\n");
|
printf("\n");
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void appThumbNameToKey(thumbType_t *fileType, UINT16 *dirKey, UINT16 *fileKey, S8 *fileName)
|
void appThumbNameToKey(thumbType_t *fileType, UINT16 *dirKey, UINT16 *fileKey, S8 *fileName)
|
||||||
|
@ -796,14 +807,14 @@ void sf_app_Get_Camera_Info(MSG_DEV_INFO_Get_Rsp_T *camInfo)
|
||||||
//strcpy((char *)camInfo->devId, "1.0.0.1");
|
//strcpy((char *)camInfo->devId, "1.0.0.1");
|
||||||
|
|
||||||
printf("[sf_app_Get_Camera_Info],devId\n");
|
printf("[sf_app_Get_Camera_Info],devId\n");
|
||||||
camInfo->batLevel = 5;//sf_get_battery_level(1);
|
camInfo->batLevel = sf_battery_level_get();
|
||||||
if(camInfo->batLevel < 1)
|
if(camInfo->batLevel < 1)
|
||||||
camInfo->batLevel = 1;
|
camInfo->batLevel = 1;
|
||||||
|
|
||||||
printf("[sf_app_Get_Camera_Info],sf_get_Battery_Level\n");
|
printf("[sf_app_Get_Camera_Info],sf_get_Battery_Level\n");
|
||||||
|
|
||||||
//camInfo->batteryPercent = camInfo->batLevel * 20;
|
//camInfo->batteryPercent = camInfo->batLevel * 20;
|
||||||
camInfo->batteryPercent = 1;//sf_get_battery_percent(1);
|
camInfo->batteryPercent = sf_battery_value_get(sf_get_night_led_flag());
|
||||||
camInfo->batteryType = 0;
|
camInfo->batteryType = 0;
|
||||||
|
|
||||||
|
|
||||||
|
@ -820,7 +831,7 @@ void sf_app_Get_Camera_Info(MSG_DEV_INFO_Get_Rsp_T *camInfo)
|
||||||
//camInfo->GpsLongitude = htonl(0);
|
//camInfo->GpsLongitude = htonl(0);
|
||||||
//camInfo->GpsLatitude = htonl(0);
|
//camInfo->GpsLatitude = htonl(0);
|
||||||
#endif
|
#endif
|
||||||
strcpy((char *)camInfo->hwType, "REVEAL-SK");
|
strcpy((char *)camInfo->hwType, "reveal-x");
|
||||||
//S8 strTemp[16]= {0};
|
//S8 strTemp[16]= {0};
|
||||||
//sf_get_sys_version(strTemp);
|
//sf_get_sys_version(strTemp);
|
||||||
|
|
||||||
|
@ -856,8 +867,7 @@ void sf_app_Get_Camera_Info(MSG_DEV_INFO_Get_Rsp_T *camInfo)
|
||||||
if(WIFI_TYPE_8189FS == sf_get_wifi_type())
|
if(WIFI_TYPE_8189FS == sf_get_wifi_type())
|
||||||
{
|
{
|
||||||
sf_get_mac_addr(SF_WIFI_NETDEV_8189_NAME, camInfo->WifiMac);
|
sf_get_mac_addr(SF_WIFI_NETDEV_8189_NAME, camInfo->WifiMac);
|
||||||
}
|
}else if(WIFI_TYPE_HI3881 == sf_get_wifi_type())
|
||||||
else if(WIFI_TYPE_HI3881 == sf_get_wifi_type())
|
|
||||||
{
|
{
|
||||||
sf_get_mac_addr(SF_WIFI_NETDEV_NAME, camInfo->WifiMac);
|
sf_get_mac_addr(SF_WIFI_NETDEV_NAME, camInfo->WifiMac);
|
||||||
}
|
}
|
||||||
|
@ -896,15 +906,15 @@ void sf_app_Get_Camera_Para(MSG_DEV_Param_Get_Rsp_T *CamPara)
|
||||||
|
|
||||||
//CamPara->cameraMode = puiPara->CamMode;
|
//CamPara->cameraMode = puiPara->CamMode;
|
||||||
|
|
||||||
if(puiPara->ImgSize == 3)
|
if(puiPara->ImgSize == 2)
|
||||||
{
|
{
|
||||||
CamPara->imageSize = 0;
|
CamPara->imageSize = 0;
|
||||||
}
|
}
|
||||||
else if(puiPara->ImgSize == 4)
|
else if(puiPara->ImgSize == 3)
|
||||||
{
|
{
|
||||||
CamPara->imageSize = 1;
|
CamPara->imageSize = 1;
|
||||||
}
|
}
|
||||||
else if(puiPara->ImgSize == 2)
|
else if(puiPara->ImgSize == 4)
|
||||||
{
|
{
|
||||||
CamPara->imageSize = 2;
|
CamPara->imageSize = 2;
|
||||||
}
|
}
|
||||||
|
@ -1152,7 +1162,7 @@ SINT32 sf_svr_packet_proc(SINT32 fd, UINT8 *pAppData, UINT16 dataLen)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
app_poweroff_time_clear();/*reset power off count time*/
|
sf_set_auto_off_time(0);/*reset power off count time*/
|
||||||
CurrentWifiCmd = msgParse.cmd;
|
CurrentWifiCmd = msgParse.cmd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1328,21 +1338,44 @@ SINT32 sf_svr_packet_proc(SINT32 fd, UINT8 *pAppData, UINT16 dataLen)
|
||||||
|
|
||||||
if(tmpMode == 0)
|
if(tmpMode == 0)
|
||||||
{
|
{
|
||||||
puiPara->CamMode = SF_CAMMODE_PIC;
|
puiPara->CamMode = SF_CAM_MODE_PHOTO;
|
||||||
}
|
}
|
||||||
else if (tmpMode == 1)
|
else if (tmpMode == 1)
|
||||||
{
|
{
|
||||||
puiPara->CamMode = SF_CAMMODE_PV;
|
puiPara->CamMode = SF_CAM_MODE_PHOTO_VIDEO;
|
||||||
}
|
}
|
||||||
else if (tmpMode == 2)
|
else if (tmpMode == 2)
|
||||||
{
|
{
|
||||||
puiPara->CamMode = SF_CAMMODE_VIDEO;
|
puiPara->CamMode = SF_CAM_MODE_VIDEO;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
puiPara->CamMode = SF_CAMMODE_PIC;
|
puiPara->CamMode = SF_CAM_MODE_PHOTO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int iCurrMode = System_GetState(SYS_STATE_CURRMODE);
|
||||||
|
int iNextMode = PRIMARY_MODE_PHOTO;
|
||||||
|
|
||||||
|
if((puiPara->CamMode == SF_CAM_MODE_PHOTO) || (puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO))
|
||||||
|
{
|
||||||
|
iNextMode = PRIMARY_MODE_PHOTO;
|
||||||
|
}
|
||||||
|
else if(puiPara->CamMode == SF_CAM_MODE_VIDEO)
|
||||||
|
{
|
||||||
|
iNextMode = PRIMARY_MODE_MOVIE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
iNextMode = PRIMARY_MODE_PHOTO;
|
||||||
|
}
|
||||||
|
if(iNextMode != iCurrMode)
|
||||||
|
{
|
||||||
|
UI_SetData(FL_PreMode, iCurrMode);
|
||||||
|
UI_SetData(FL_NextMode, iNextMode);
|
||||||
|
Ux_PostEvent(NVTEVT_SYSTEM_MODE, 1, iNextMode);
|
||||||
|
}
|
||||||
|
|
||||||
|
Save_MenuInfo();
|
||||||
//sf_set_cam_mode(puiPara->CamMode);
|
//sf_set_cam_mode(puiPara->CamMode);
|
||||||
respFlag = 2;
|
respFlag = 2;
|
||||||
paramSaveFlag = 1;
|
paramSaveFlag = 1;
|
||||||
|
@ -1403,8 +1436,7 @@ SINT32 sf_svr_packet_proc(SINT32 fd, UINT8 *pAppData, UINT16 dataLen)
|
||||||
{
|
{
|
||||||
puiPara->SendMultishotIndex2 = 0;
|
puiPara->SendMultishotIndex2 = 0;
|
||||||
puiPara->SendMultishotIndex3 = 0;
|
puiPara->SendMultishotIndex3 = 0;
|
||||||
}
|
}else
|
||||||
else
|
|
||||||
{
|
{
|
||||||
if(puiPara->Multishot == 0)
|
if(puiPara->Multishot == 0)
|
||||||
{
|
{
|
||||||
|
@ -1428,7 +1460,7 @@ SINT32 sf_svr_packet_proc(SINT32 fd, UINT8 *pAppData, UINT16 dataLen)
|
||||||
|
|
||||||
case WIFI_SET_CAMERA_PirSensitivity: //O
|
case WIFI_SET_CAMERA_PirSensitivity: //O
|
||||||
printf("[WIFI_SET_CAMERA_PirSensitivity],DigitPirSensitivity:%d\n",pMsgStruct->msgBuf.setPirSensitivity.PirSensitivity);
|
printf("[WIFI_SET_CAMERA_PirSensitivity],DigitPirSensitivity:%d\n",pMsgStruct->msgBuf.setPirSensitivity.PirSensitivity);
|
||||||
sf_set_pir_sensitivity_app(pMsgStruct->msgBuf.setPirSensitivity.PirSensitivity % 10);
|
sf_set_pir_sensitivity(pMsgStruct->msgBuf.setPirSensitivity.PirSensitivity % 10);
|
||||||
|
|
||||||
/*puiPara->PirSensitivity = pMsgStruct->msgBuf.setPirSensitivity.PirSensitivity % 10;
|
/*puiPara->PirSensitivity = pMsgStruct->msgBuf.setPirSensitivity.PirSensitivity % 10;
|
||||||
if(puiPara->PirSensitivity)
|
if(puiPara->PirSensitivity)
|
||||||
|
@ -1628,7 +1660,7 @@ SINT32 sf_svr_packet_proc(SINT32 fd, UINT8 *pAppData, UINT16 dataLen)
|
||||||
puiPara->TimelapseTime.Sec = pMsgStruct->msgBuf.setTimeLapseTime.timelapseSec % 60;
|
puiPara->TimelapseTime.Sec = pMsgStruct->msgBuf.setTimeLapseTime.timelapseSec % 60;
|
||||||
if(puiPara->TimelapseSwitch)
|
if(puiPara->TimelapseSwitch)
|
||||||
{
|
{
|
||||||
sf_set_pir_sensitivity_app(0);
|
sf_set_pir_sensitivity(0);
|
||||||
}
|
}
|
||||||
respFlag = 2;
|
respFlag = 2;
|
||||||
paramSaveFlag = 1;
|
paramSaveFlag = 1;
|
||||||
|
@ -1658,27 +1690,13 @@ SINT32 sf_svr_packet_proc(SINT32 fd, UINT8 *pAppData, UINT16 dataLen)
|
||||||
printf("[WIFI_CONTROL_CAMERA_FormatSDCard],format:%d\n",pMsgStruct->msgBuf.ctrlFormat.format);
|
printf("[WIFI_CONTROL_CAMERA_FormatSDCard],format:%d\n",pMsgStruct->msgBuf.ctrlFormat.format);
|
||||||
if(pMsgStruct->msgBuf.ctrlFormat.format == 1)
|
if(pMsgStruct->msgBuf.ctrlFormat.format == 1)
|
||||||
{
|
{
|
||||||
//ret = appDiskFormat(SP5K_DRIVE_SD);
|
sf_set_card_statu(CMD_FORMAT_SD_STA);
|
||||||
|
BKG_PostEvent(NVTEVT_BKW_FORMAT_CARD);
|
||||||
//sf_sd_format();
|
while(CMD_FORMAT_SD_STA == sf_get_card_statu())
|
||||||
//ret = sf_sd_card_format();
|
{
|
||||||
|
usleep(10*1000);
|
||||||
/*if(ret == SF_SD_FORMAT_SUCUSS)
|
}
|
||||||
{
|
ret = sf_get_card_statu();
|
||||||
sleep(1);
|
|
||||||
sf_dcf_init();
|
|
||||||
if((sf_get_sd_status() == SF_SD_FULL) || ((sf_get_sd_status() == SF_SD_OK)))
|
|
||||||
{
|
|
||||||
system("umount /sdcard/mmcblk0p1");
|
|
||||||
sleep(1);
|
|
||||||
//system("mount /dev/mmcblk0p1 /sdcard/mmcblk0p1");
|
|
||||||
}
|
|
||||||
ret = 0;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ret = 0x10;
|
|
||||||
}*/
|
|
||||||
}
|
}
|
||||||
msgParse.msgBuf.camreaSetRsp.cmdRet = ret;
|
msgParse.msgBuf.camreaSetRsp.cmdRet = ret;
|
||||||
msgParse.msgBuf.camreaSetRsp.suffix = htons(MSG_END_FIX);
|
msgParse.msgBuf.camreaSetRsp.suffix = htons(MSG_END_FIX);
|
||||||
|
@ -1697,7 +1715,7 @@ SINT32 sf_svr_packet_proc(SINT32 fd, UINT8 *pAppData, UINT16 dataLen)
|
||||||
|
|
||||||
case WIFI_CONTROL_CAMERA_Recovery: //
|
case WIFI_CONTROL_CAMERA_Recovery: //
|
||||||
printf("[WIFI_CONTROL_CAMERA_Recovery]\n");
|
printf("[WIFI_CONTROL_CAMERA_Recovery]\n");
|
||||||
//sf_reset_para();
|
Reset_MenuInfo();
|
||||||
//sf_daily_report_count_clear();
|
//sf_daily_report_count_clear();
|
||||||
paraNeedReboot = 1;
|
paraNeedReboot = 1;
|
||||||
respFlag = 2;
|
respFlag = 2;
|
||||||
|
@ -1711,7 +1729,7 @@ SINT32 sf_svr_packet_proc(SINT32 fd, UINT8 *pAppData, UINT16 dataLen)
|
||||||
//jiamin:reset all para
|
//jiamin:reset all para
|
||||||
//app_in = 0;
|
//app_in = 0;
|
||||||
//isStopStreaming = 1;
|
//isStopStreaming = 1;
|
||||||
app_poweroff_time_clear();
|
sf_set_auto_off_time(0);
|
||||||
#if 0//forrun
|
#if 0//forrun
|
||||||
poweroff_mode = POWEROFF_COUNTDOWN;
|
poweroff_mode = POWEROFF_COUNTDOWN;
|
||||||
#endif
|
#endif
|
||||||
|
@ -1867,10 +1885,32 @@ SINT32 sf_svr_packet_proc(SINT32 fd, UINT8 *pAppData, UINT16 dataLen)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WIFI_CONTROL_CAMERA_SHOOT:
|
case WIFI_CONTROL_CAMERA_SHOOT:
|
||||||
printf("[WIFI_SET_CAMERA_SHOOT]\n");
|
printf("[WIFI_SET_CAMERA_SHOOT] shoot:%d\n",pMsgStruct->msgBuf.ctrlShoot.shoot);
|
||||||
#if 1
|
|
||||||
|
if((TRUE == sf_is_preview()) && (pMsgStruct->msgBuf.ctrlShoot.shoot <= 3))
|
||||||
|
{
|
||||||
|
if((puiPara->CamMode != 1) && (pMsgStruct->msgBuf.ctrlShoot.shoot < 3))
|
||||||
|
{
|
||||||
|
//Ux_PostEvent(NVTEVT_KEY_SHUTTER2, 1, NVTEVT_KEY_PRESS);
|
||||||
|
//Ux_PostEvent(NVTEVT_KEY_SHUTTER2, 1, NVTEVT_KEY_RELEASE);
|
||||||
|
|
||||||
|
FlowPhoto_DoCapture();
|
||||||
|
respFlag = 1;
|
||||||
|
ret = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
respFlag = 1;
|
||||||
|
ret = 1;
|
||||||
|
}
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
respFlag = 1;
|
||||||
|
ret = 2;
|
||||||
|
}
|
||||||
|
#if 0
|
||||||
/* during send pic, can not capture*/
|
/* during send pic, can not capture*/
|
||||||
if((sf_4G_status_get() == SF_4G_SENDING) || (!((sf_sd_status_get()== SF_SD_OK) || (sf_sd_status_get()== SF_SD_FULL))))
|
if((sf_4G_status_get() == SF_4G_SENDING) || (!((System_GetState(SYS_STATE_CARD) == CARD_INSERTED) || (sf_is_card_full()== TRUE))))
|
||||||
{
|
{
|
||||||
//nothing to do
|
//nothing to do
|
||||||
}
|
}
|
||||||
|
@ -1981,6 +2021,7 @@ SINT32 sf_svr_packet_proc(SINT32 fd, UINT8 *pAppData, UINT16 dataLen)
|
||||||
{
|
{
|
||||||
//sf_set_param_save_flag();
|
//sf_set_param_save_flag();
|
||||||
//sf_param_save_flash();
|
//sf_param_save_flash();
|
||||||
|
Save_MenuInfo();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(respFlag == 2)
|
if(respFlag == 2)
|
||||||
|
@ -2480,13 +2521,17 @@ void sf_wifi_hw_init(void)
|
||||||
char scmd[256]= {0};
|
char scmd[256]= {0};
|
||||||
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
|
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
|
||||||
char sSSID[128]= {0};
|
char sSSID[128]= {0};
|
||||||
|
printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
|
||||||
|
unsigned char wifitype = sf_get_wifi_type();
|
||||||
//ret = system("modprobe cfg80211");
|
//ret = system("modprobe cfg80211");
|
||||||
|
|
||||||
if(WIFI_TYPE_8189FS == sf_get_wifi_type())
|
if(WIFI_TYPE_8189FS == wifitype)
|
||||||
{
|
{
|
||||||
//ret = system("insmod /appfs/8189fs.ko");
|
//ret = system("insmod /appfs/8189fs.ko");
|
||||||
|
|
||||||
|
//ret = system("modprobe 8189fs");
|
||||||
//sleep(2);
|
//sleep(2);
|
||||||
|
//ret = system("ifconfig lo 127.0.0.1");
|
||||||
|
|
||||||
sf_getb_mac(SF_WIFI_NETDEV_8189_NAME, smac);
|
sf_getb_mac(SF_WIFI_NETDEV_8189_NAME, smac);
|
||||||
// ret = system("ifconfig ap0 192.168.1.1 netmask 255.255.255.0 up");
|
// ret = system("ifconfig ap0 192.168.1.1 netmask 255.255.255.0 up");
|
||||||
|
@ -2498,12 +2543,25 @@ void sf_wifi_hw_init(void)
|
||||||
ret = system("ifconfig wlan0 192.168.1.1 netmask 255.255.255.0 up");
|
ret = system("ifconfig wlan0 192.168.1.1 netmask 255.255.255.0 up");
|
||||||
//ret = system("hostapd -ddd /appfs/etc/hostapd/hostapd-8189.conf &");
|
//ret = system("hostapd -ddd /appfs/etc/hostapd/hostapd-8189.conf &");
|
||||||
//ret = system("udhcpd /appfs/etc/udhcpd-8189.conf");
|
//ret = system("udhcpd /appfs/etc/udhcpd-8189.conf");
|
||||||
|
//FILE *fp;
|
||||||
|
//char filename[] = "/tmp/wifiap_wpa2.conf";
|
||||||
|
//int ssid_pos = -1;
|
||||||
|
|
||||||
sprintf(scmd,"/appfs/bin/hostap.sh wpawpa2 %s %s 6 %s",sSSID,puiPara->WifiApPWD,SF_WIFI_NETDEV_8189_NAME);
|
//char buf[256];
|
||||||
|
ret = system("cp /etc/wifiap_wpa2.conf /tmp/wifiap_wpa2.conf");
|
||||||
|
printf("[%s:%d] sSSID:%s WifiApPWD:%s\n", __FUNCTION__, __LINE__,sSSID,puiPara->WifiApPWD);
|
||||||
|
|
||||||
|
|
||||||
|
sprintf(scmd,"/etc/app/hostap.sh wpawpa2 %s %s 6 %s",sSSID,puiPara->WifiApPWD,SF_WIFI_NETDEV_8189_NAME);
|
||||||
ret = system(scmd);
|
ret = system(scmd);
|
||||||
ret = system("udhcpd /appfs/etc/udhcpd-8189.conf");
|
|
||||||
|
printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
|
||||||
|
//ret = system("hostapd -B -dd /tmp/wifiap_wpa2.conf");
|
||||||
|
//printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
|
||||||
|
ret = system("udhcpd /etc/udhcpdw.conf");
|
||||||
|
printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
|
||||||
}
|
}
|
||||||
else if(WIFI_TYPE_HI3881 == sf_get_wifi_type())
|
else if(WIFI_TYPE_HI3881 == wifitype)
|
||||||
{
|
{
|
||||||
//ret = system("insmod /appfs/hi3881.ko g_mode=1");
|
//ret = system("insmod /appfs/hi3881.ko g_mode=1");
|
||||||
//sleep(2);
|
//sleep(2);
|
||||||
|
@ -2535,6 +2593,8 @@ void sf_wifi_hw_init(void)
|
||||||
{
|
{
|
||||||
printf("wifi hw init failed!scmd:%s\n",scmd);
|
printf("wifi hw init failed!scmd:%s\n",scmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
printf("[%s:%d] e\n", __FUNCTION__, __LINE__);
|
||||||
}
|
}
|
||||||
|
|
||||||
void *sf_wifi_sevrer_init(void *pNull)
|
void *sf_wifi_sevrer_init(void *pNull)
|
||||||
|
@ -2593,8 +2653,8 @@ void sf_wifi_app_start(void)
|
||||||
{
|
{
|
||||||
pthread_t tid;
|
pthread_t tid;
|
||||||
|
|
||||||
sf_wifi_hw_init();
|
//sf_wifi_hw_init();
|
||||||
sleep(1);
|
//sleep(1);
|
||||||
|
|
||||||
pthread_create(&tid,NULL,(void*)sf_wifi_sevrer_init,(void *)NULL);
|
pthread_create(&tid,NULL,(void*)sf_wifi_sevrer_init,(void *)NULL);
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
version-info = [00 01 00 01];
|
version-info = [00 01 00 01];
|
||||||
ae_expect_lum {
|
ae_expect_lum {
|
||||||
size = [b0 00 00 00];
|
size = [b0 00 00 00];
|
||||||
data = [3c 00 00 00 32 00 00 00 3d 00 00 00 3c 00 00 00 3c 00 00 00 3c 00 00 00 3c 00 00 00 3c 00 00 00 3d 00 00 00 41 00 00 00 46 00 00 00 4d 00 00 00 54 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 3c 00 00 00 3c 00 00 00 3c 00 00 00 3c 00 00 00 3c 00 00 00 3c 00 00 00 3c 00 00 00 3c 00 00 00 46 00 00 00 50 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00];
|
data = [3c 00 00 00 3c 00 00 00 3a 00 00 00 3a 00 00 00 3a 00 00 00 3a 00 00 00 3a 00 00 00 3a 00 00 00 3a 00 00 00 3a 00 00 00 44 00 00 00 44 00 00 00 44 00 00 00 52 00 00 00 52 00 00 00 52 00 00 00 52 00 00 00 52 00 00 00 52 00 00 00 52 00 00 00 52 00 00 00 52 00 00 00 52 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 3c 00 00 00 46 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00];
|
||||||
};
|
};
|
||||||
ae_la_clamp {
|
ae_la_clamp {
|
||||||
size = [50 01 00 00];
|
size = [50 01 00 00];
|
||||||
|
@ -15,7 +15,7 @@
|
||||||
};
|
};
|
||||||
ae_over_exposure {
|
ae_over_exposure {
|
||||||
size = [b0 01 00 00];
|
size = [b0 01 00 00];
|
||||||
data = [01 00 00 00 8c 00 00 00 03 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 02 00 00 00 02 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 04 00 00 00 05 00 00 00 06 00 00 00 07 00 00 00 08 00 00 00 09 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 05 00 00 00 07 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 04 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00];
|
data = [01 00 00 00 8c 00 00 00 03 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 02 00 00 00 02 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 04 00 00 00 05 00 00 00 06 00 00 00 07 00 00 00 08 00 00 00 09 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 05 00 00 00 07 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 04 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00];
|
||||||
};
|
};
|
||||||
ae_convergence {
|
ae_convergence {
|
||||||
size = [2c 00 00 00];
|
size = [2c 00 00 00];
|
||||||
|
@ -23,11 +23,11 @@
|
||||||
};
|
};
|
||||||
ae_curve_gen_movie {
|
ae_curve_gen_movie {
|
||||||
size = [10 01 00 00];
|
size = [10 01 00 00];
|
||||||
data = [f4 01 00 00 01 00 00 00 2c 00 00 00 64 00 00 00 00 00 00 00 00 00 00 00 1a 41 00 00 90 01 00 00 00 00 00 00 00 00 00 00 35 82 00 00 90 01 00 00 00 00 00 00 00 00 00 00 35 82 00 00 40 06 00 00 00 00 00 00 00 00 00 00 35 82 00 00 00 32 00 00 00 00 00 00 00 00 00 00 80 38 01 00 00 19 00 00 00 00 00 00 00 00 00 00 20 4e 00 00 c8 00 00 00 00 00 00 00 00 00 00 00 20 4e 00 00 c8 00 00 00 00 00 00 00 00 00 00 00 20 4e 00 00 c8 00 00 00 00 00 00 00 00 00 00 00 20 4e 00 00 c8 00 00 00 00 00 00 00 00 00 00 00 20 4e 00 00 c8 00 00 00 00 00 00 00 00 00 00 00 20 4e 00 00 c8 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 19 00 00 01 00 00 00 10 00 00 00 00 00 00 00 b8 0b 00 00 b8 0b 00 00 60 09 00 00 e2 04 00 00 d0 07 00 00 d0 07 00 00 dc 05 00 00 dc 05 00 00 b0 04 00 00 b0 04 00 00 00 00 00 00 f6 ec 00 00 00 00 00 00];
|
data = [f4 01 00 00 01 00 00 00 2c 00 00 00 64 00 00 00 00 00 00 00 00 00 00 00 1a 41 00 00 90 01 00 00 00 00 00 00 00 00 00 00 35 82 00 00 90 01 00 00 00 00 00 00 00 00 00 00 35 82 00 00 40 06 00 00 00 00 00 00 00 00 00 00 35 82 00 00 00 32 00 00 00 00 00 00 00 00 00 00 80 38 01 00 00 19 00 00 00 00 00 00 00 00 00 00 20 4e 00 00 c8 00 00 00 00 00 00 00 00 00 00 00 20 4e 00 00 c8 00 00 00 00 00 00 00 00 00 00 00 20 4e 00 00 c8 00 00 00 00 00 00 00 00 00 00 00 20 4e 00 00 c8 00 00 00 00 00 00 00 00 00 00 00 20 4e 00 00 c8 00 00 00 00 00 00 00 00 00 00 00 20 4e 00 00 c8 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 19 00 00 01 00 00 00 10 00 00 00 01 00 00 00 b8 0b 00 00 b8 0b 00 00 60 09 00 00 e2 04 00 00 d0 07 00 00 d0 07 00 00 dc 05 00 00 dc 05 00 00 b0 04 00 00 b0 04 00 00 00 00 00 00 f6 ec 00 00 00 00 00 00];
|
||||||
};
|
};
|
||||||
ae_meter_window {
|
ae_meter_window {
|
||||||
size = [00 01 00 00];
|
size = [00 01 00 00];
|
||||||
data = [01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 04 00 00 00 03 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 04 00 00 00 03 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00];
|
data = [01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 04 00 00 00 03 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 04 00 00 00 03 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00];
|
||||||
};
|
};
|
||||||
ae_lum_gamma {
|
ae_lum_gamma {
|
||||||
size = [82 00 00 00];
|
size = [82 00 00 00];
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
};
|
};
|
||||||
awb_target {
|
awb_target {
|
||||||
size = [24 00 00 00];
|
size = [24 00 00 00];
|
||||||
data = [60 03 00 00 f7 03 00 00 23 04 00 00 00 04 00 00 18 04 00 00 18 04 00 00 00 04 00 00 e8 03 00 00 e8 03 00 00];
|
data = [60 03 00 00 f7 03 00 00 23 04 00 00 00 04 00 00 18 04 00 00 1c 04 00 00 00 04 00 00 e8 03 00 00 e8 03 00 00];
|
||||||
};
|
};
|
||||||
awb_ct_info {
|
awb_ct_info {
|
||||||
size = [60 00 00 00];
|
size = [60 00 00 00];
|
||||||
|
|
File diff suppressed because one or more lines are too long
BIN
code/hdal/vendor/output/libvendor_ai2_pub.a
vendored
BIN
code/hdal/vendor/output/libvendor_ai2_pub.a
vendored
Binary file not shown.
BIN
code/hdal/vendor/output/libvendor_ai2_pub2.a
vendored
BIN
code/hdal/vendor/output/libvendor_ai2_pub2.a
vendored
Binary file not shown.
|
@ -104,8 +104,8 @@ extern "C" {
|
||||||
|
|
||||||
#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */
|
#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */
|
||||||
#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
|
#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
|
||||||
#define ENGINESDIR "/home/payton/na51089_linux_sdk/na51089_linux_sdk/code/lib/external/__install/lib/engines"
|
#define ENGINESDIR "/home/payton/S530/code/lib/external/__install/lib/engines"
|
||||||
#define OPENSSLDIR "/home/payton/na51089_linux_sdk/na51089_linux_sdk/code/lib/external/__install/ssl"
|
#define OPENSSLDIR "/home/payton/S530/code/lib/external/__install/ssl"
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,13 @@ if [ "$1" == "ap" ]; then
|
||||||
echo ieee80211n=1 >> /var/run/hostapd.conf
|
echo ieee80211n=1 >> /var/run/hostapd.conf
|
||||||
echo driver=nl80211 >> /var/run/hostapd.conf
|
echo driver=nl80211 >> /var/run/hostapd.conf
|
||||||
echo ctrl_interface=/var/run/hostapd >> /var/run/hostapd.conf
|
echo ctrl_interface=/var/run/hostapd >> /var/run/hostapd.conf
|
||||||
|
echo ctrl_interface_group=0 >> /var/run/hostapd.conf
|
||||||
|
echo ignore_broadcast_ssid=0 >> /var/run/hostapd.conf
|
||||||
|
echo auth_algs=1 >> /var/run/hostapd.conf
|
||||||
|
echo beacon_int=100 >> /var/run/hostapd.conf
|
||||||
|
echo dtim_period=1 >> /var/run/hostapd.conf
|
||||||
|
echo preamble=0 >> /var/run/hostapd.conf
|
||||||
|
echo wpa_key_mgmt=WPA-PSK >> /var/run/hostapd.conf
|
||||||
#echo channel=6 >> /var/run/hostapd.conf
|
#echo channel=6 >> /var/run/hostapd.conf
|
||||||
|
|
||||||
if [ "$2" == "0" ]; then
|
if [ "$2" == "0" ]; then
|
||||||
|
|
|
@ -52,6 +52,8 @@ EXTRA_INCLUDE += \
|
||||||
-I$(APP_DIR)/source/cardv/SrcCode/Dx/include \
|
-I$(APP_DIR)/source/cardv/SrcCode/Dx/include \
|
||||||
-I$(APP_DIR)/source/cardv/SrcCode/Dx/$(MODEL) \
|
-I$(APP_DIR)/source/cardv/SrcCode/Dx/$(MODEL) \
|
||||||
-I$(APP_DIR)/source/cardv/SrcCode/Gx/include \
|
-I$(APP_DIR)/source/cardv/SrcCode/Gx/include \
|
||||||
|
-I$(APP_DIR)/source/cardv/SrcCode/UIApp/Network \
|
||||||
|
-I$(APP_DIR)/source/cardv/SrcCode/UIApp/Background \
|
||||||
-I$(APP_DIR)/source/cardv/SrcCode/Compatible
|
-I$(APP_DIR)/source/cardv/SrcCode/Compatible
|
||||||
|
|
||||||
.PHONY: modules modules_install clean
|
.PHONY: modules modules_install clean
|
||||||
|
@ -79,7 +81,10 @@ SRC = \
|
||||||
$(APP_DIR)/source/sf_app/code/source/paramMng/sf_param_common.c \
|
$(APP_DIR)/source/sf_app/code/source/paramMng/sf_param_common.c \
|
||||||
$(APP_DIR)/source/sf_app/code/source/commMng/sf_message_queue.c \
|
$(APP_DIR)/source/sf_app/code/source/commMng/sf_message_queue.c \
|
||||||
$(APP_DIR)/source/sf_app/code/source/commMng/sf_share_mem.c \
|
$(APP_DIR)/source/sf_app/code/source/commMng/sf_share_mem.c \
|
||||||
$(APP_DIR)/source/sf_app/code/source/fileMng/sf_fileMng.c
|
$(APP_DIR)/source/sf_app/code/source/fileMng/sf_fileMng.c \
|
||||||
|
$(APP_DIR)/source/sf_app/code/source/wifi/sf_data_transfer.c \
|
||||||
|
$(APP_DIR)/source/sf_app/code/source/wifi/sf_svr_send.c \
|
||||||
|
$(APP_DIR)/source/sf_app/code/source/wifi/sf_wifi_svr.c
|
||||||
|
|
||||||
# code/source/common/sf_message_queue.c \
|
# code/source/common/sf_message_queue.c \
|
||||||
# code/source/common/sf_share_mem.c \
|
# code/source/common/sf_share_mem.c \
|
||||||
|
|
|
@ -24,4 +24,6 @@ void sf_view_osd_battery_draw(UINT8 bShow);
|
||||||
UINT8 sf_battery_value_get(UINT8 nightMode);
|
UINT8 sf_battery_value_get(UINT8 nightMode);
|
||||||
UINT8 sf_battery_type_get(void);
|
UINT8 sf_battery_type_get(void);
|
||||||
|
|
||||||
|
BOOL sf_battery_check_init(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -66,6 +66,17 @@ UINT32 sf_set_pir_sensitivity(UINT8 pirs);
|
||||||
void sf_usb_mux_s(UINT32 cnt);
|
void sf_usb_mux_s(UINT32 cnt);
|
||||||
BOOL sf_cmd_usb_mux_s(unsigned char argc, char **argv);
|
BOOL sf_cmd_usb_mux_s(unsigned char argc, char **argv);
|
||||||
void sf_cardv_message_thread_init(void);
|
void sf_cardv_message_thread_init(void);
|
||||||
|
void sf_rtsp_stop(void);
|
||||||
|
void sf_rtsp_restart(void);
|
||||||
|
void sf_set_menu_open(BOOL is);
|
||||||
|
BOOL sf_is_menu_open(void);
|
||||||
|
void sf_set_cap_statu(BOOL is);
|
||||||
|
BOOL sf_get_cap_statu(void);
|
||||||
|
|
||||||
|
BOOL sf_is_movie_running(void);
|
||||||
|
BOOL sf_is_movie_preview(void);
|
||||||
|
BOOL sf_is_cap_preview(void);
|
||||||
|
BOOL sf_is_preview(void);
|
||||||
|
|
||||||
#define SF_SD_DISK "A:"
|
#define SF_SD_DISK "A:"
|
||||||
#define SF_SD_ROOT "/mnt/sd/"
|
#define SF_SD_ROOT "/mnt/sd/"
|
||||||
|
|
|
@ -94,6 +94,7 @@ typedef enum LedSysState_e
|
||||||
SF_LED_SYS_STATE_POWER_OFF,
|
SF_LED_SYS_STATE_POWER_OFF,
|
||||||
SF_LED_SYS_STATE_PIR_DETECT,/*36*/
|
SF_LED_SYS_STATE_PIR_DETECT,/*36*/
|
||||||
SF_LED_SYS_STATE_PIR_NOT_DETECT,
|
SF_LED_SYS_STATE_PIR_NOT_DETECT,
|
||||||
|
SF_LED_SYS_STATE_BAT_0_SLOW,
|
||||||
}LedSysState_t;
|
}LedSysState_t;
|
||||||
|
|
||||||
typedef struct LedInfo_s
|
typedef struct LedInfo_s
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-dev.h>
|
#include <linux/i2c-dev.h>
|
||||||
#endif
|
#endif
|
||||||
|
#include "sf_param_struct.h"
|
||||||
|
|
||||||
#define SUCCESS 0
|
#define SUCCESS 0
|
||||||
#define FAIL 1
|
#define FAIL 1
|
||||||
|
@ -424,6 +425,9 @@ void sf_mcu_set_irshtter(UINT16 data);
|
||||||
UINT16 sf_get_irshtter(void);
|
UINT16 sf_get_irshtter(void);
|
||||||
void sf_set_power_on_mode(UINT8 data);
|
void sf_set_power_on_mode(UINT8 data);
|
||||||
void sf_set_module_sleep_flag(UINT8 flag);
|
void sf_set_module_sleep_flag(UINT8 flag);
|
||||||
|
void sf_set_mcu_sub_ver(unsigned char mcuSubVersion);
|
||||||
|
void sf_set_mcu_ver(unsigned short mcuVersion);
|
||||||
|
SINT32 sf_sys_rtc_time_set(SF_PARA_TIME_S* pstDateTime);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,14 @@
|
||||||
#ifndef _SF_SD_COMMON_
|
#ifndef _SF_SD_COMMON_
|
||||||
#define _SF_SD_COMMON_
|
#define _SF_SD_COMMON_
|
||||||
|
|
||||||
|
typedef enum sf_MSG_FORMAT_SD_e
|
||||||
|
{
|
||||||
|
CMD_FORMAT_SD_OK = 0,
|
||||||
|
CMD_FORMAT_SD_STA = 1,
|
||||||
|
CMD_FORMAT_SD_ERR = 10,
|
||||||
|
|
||||||
|
}SF_MSG_FORMAT_SD_E;
|
||||||
|
|
||||||
BOOL sf_is_card_full(void);
|
BOOL sf_is_card_full(void);
|
||||||
UINT32 sf_check_card_full(void);
|
UINT32 sf_check_card_full(void);
|
||||||
|
|
||||||
|
@ -10,4 +18,7 @@ void sf_sd_exist_reg_cb(SF_CALLBACK_SD_CMD fpCB);
|
||||||
|
|
||||||
BOOL sf_in_card_exist(void);
|
BOOL sf_in_card_exist(void);
|
||||||
|
|
||||||
|
void sf_set_card_statu(UINT32 val);
|
||||||
|
UINT32 sf_get_card_statu(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -42,6 +42,7 @@
|
||||||
#include <io/adc.h>
|
#include <io/adc.h>
|
||||||
#include "UIInfo/UIInfo.h"
|
#include "UIInfo/UIInfo.h"
|
||||||
#include "IOCfg.h"
|
#include "IOCfg.h"
|
||||||
|
#include "sf_battery.h"
|
||||||
|
|
||||||
#if HUNTING_CAMERA_MCU == ENABLE
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
typedef signed int SINT32;
|
typedef signed int SINT32;
|
||||||
|
@ -158,7 +159,7 @@ UINT32 sf_adc_value_get(UINT32 mux, UINT32 *pval)
|
||||||
gpio_set_value(P_GPIO_1, 1);//adc_muxb
|
gpio_set_value(P_GPIO_1, 1);//adc_muxb
|
||||||
}
|
}
|
||||||
|
|
||||||
vos_util_delay_us(500);
|
vos_util_delay_us(1000);
|
||||||
|
|
||||||
*pval = adc_readData(0);
|
*pval = adc_readData(0);
|
||||||
//printf("[%s:%d] *pval:%d\n", __FUNCTION__, __LINE__,*pval);
|
//printf("[%s:%d] *pval:%d\n", __FUNCTION__, __LINE__,*pval);
|
||||||
|
@ -741,15 +742,17 @@ void sf_battery_level_polling(void)
|
||||||
}
|
}
|
||||||
else if(sf_LatestBattLevel == SF_BATT_LEVEL_1)
|
else if(sf_LatestBattLevel == SF_BATT_LEVEL_1)
|
||||||
{
|
{
|
||||||
if((sf_battery_value_get(sf_get_night_led_flag()) < 10) && (sf_led_get(SF_LED_BAT1) != SF_LED_STATE_SLOW_FLASHING))
|
if((sf_battery_value_get(sf_get_night_led_flag()) < 10)/* && (sf_led_get(SF_LED_BAT1) != SF_LED_STATE_SLOW_FLASHING)*/)
|
||||||
{
|
{
|
||||||
printf("[%s:%d] SF_LED_BAT1 SF_LED_STATE_SLOW_FLASHING\n", __FUNCTION__, __LINE__);
|
printf("[%s:%d] SF_LED_BAT1 SF_LED_STATE_SLOW_FLASHING\n", __FUNCTION__, __LINE__);
|
||||||
sf_led_set(SF_LED_BAT1, SF_LED_STATE_SLOW_FLASHING);
|
//sf_led_set(SF_LED_BAT1, SF_LED_STATE_SLOW_FLASHING);
|
||||||
|
sf_sys_status_led_set(SF_LED_SYS_STATE_BAT_0_SLOW);
|
||||||
}
|
}
|
||||||
else if((sf_battery_value_get(sf_get_night_led_flag()) == 10) && (sf_led_get(SF_LED_BAT1) != SF_LED_STATE_ON))
|
else if((sf_battery_value_get(sf_get_night_led_flag()) == 10) /*&& (sf_led_get(SF_LED_BAT1) != SF_LED_STATE_ON)*/)
|
||||||
{
|
{
|
||||||
printf("[%s:%d] SF_LED_BAT1 SF_LED_STATE_SLOW_FLASHING\n", __FUNCTION__, __LINE__);
|
printf("[%s:%d] SF_LED_BAT1 SF_LED_STATE_SLOW_FLASHING\n", __FUNCTION__, __LINE__);
|
||||||
sf_led_set(SF_LED_BAT1, SF_LED_STATE_ON);
|
//sf_led_set(SF_LED_BAT1, SF_LED_STATE_ON);
|
||||||
|
sf_sys_status_led_set(SF_LED_SYS_STATE_BAT_1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1112,4 +1115,32 @@ UINT8 sf_battery_type_get(void)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*************************************************
|
||||||
|
Function: sf_battery_check_init
|
||||||
|
Description: Perform a battery test in manual mode.
|
||||||
|
Input: N/A
|
||||||
|
Output: N/A
|
||||||
|
Return: value: TRUE ,FALSE
|
||||||
|
Others: N/A
|
||||||
|
*************************************************/
|
||||||
|
BOOL sf_battery_check_init(void)
|
||||||
|
{
|
||||||
|
if(sf_battery_adc_value_get() == SUCCESS)
|
||||||
|
{
|
||||||
|
if(sf_check_low_battery() == TRUE)
|
||||||
|
{
|
||||||
|
printf("[%s:%d]power off because low battery\n", __FUNCTION__, __LINE__);
|
||||||
|
//Ux_PostEvent(NVTEVT_SYSTEM_SHUTDOWN, 1, APP_POWER_OFF_BATT_EMPTY); //shutdown start
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
#if HW_S530
|
||||||
|
sf_view_osd_battery_draw(TRUE);
|
||||||
|
#endif
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -58,12 +58,16 @@
|
||||||
#include <sf_param_enum.h>
|
#include <sf_param_enum.h>
|
||||||
#include <sf_keymng.h>
|
#include <sf_keymng.h>
|
||||||
#include <sf_param_struct.h>
|
#include <sf_param_struct.h>
|
||||||
|
#include "UIAppNetwork.h"
|
||||||
|
|
||||||
BOOL isGoing2PowerOff = FALSE;
|
BOOL isGoing2PowerOff = FALSE;
|
||||||
UINT16 AutoOfftime = 0;
|
UINT16 AutoOfftime = 0;
|
||||||
BOOL isGoing2Pir = FALSE;
|
BOOL isGoing2Pir = FALSE;
|
||||||
UINT8 FwUpdate = 0;
|
UINT8 FwUpdate = 0;
|
||||||
UINT8 NetWorkFlag = 0;
|
UINT8 NetWorkFlag = 0;
|
||||||
|
UINT8 RespFlag = 0;
|
||||||
|
static BOOL IsMenu = FALSE;
|
||||||
|
static BOOL IsCap = FALSE;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -286,11 +290,12 @@ BOOL sf_cmd_flash_led(unsigned char argc, char **argv)
|
||||||
BOOL sf_cmd_img_size(unsigned char argc, char **argv)
|
BOOL sf_cmd_img_size(unsigned char argc, char **argv)
|
||||||
{
|
{
|
||||||
UINT32 value;
|
UINT32 value;
|
||||||
//UIMenuStoreInfo *puiPara = sf_ui_para_get();
|
UIMenuStoreInfo *puiPara = sf_ui_para_get();
|
||||||
sscanf_s(argv[0],"%d", &value);
|
sscanf_s(argv[0],"%d", &value);
|
||||||
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
|
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
|
||||||
if(value < PHOTO_SIZE_ID_MAX){
|
if(value < PHOTO_SIZE_ID_MAX){
|
||||||
SysSetFlag(FL_PHOTO_SIZE, value);
|
SysSetFlag(FL_PHOTO_SIZE, value);
|
||||||
|
puiPara->ImgSize = value;
|
||||||
Save_MenuInfo();
|
Save_MenuInfo();
|
||||||
}
|
}
|
||||||
printf("[%s:%d] FL_PHOTO_SIZE:%d\n", __FUNCTION__, __LINE__,SysGetFlag(FL_PHOTO_SIZE));
|
printf("[%s:%d] FL_PHOTO_SIZE:%d\n", __FUNCTION__, __LINE__,SysGetFlag(FL_PHOTO_SIZE));
|
||||||
|
@ -335,7 +340,7 @@ BOOL sf_cmd_video_size(unsigned char argc, char **argv)
|
||||||
if(value < MOVIE_SIZE_ID_MAX){
|
if(value < MOVIE_SIZE_ID_MAX){
|
||||||
puiPara->VideoSize = value;
|
puiPara->VideoSize = value;
|
||||||
SysSetFlag(FL_MOVIE_SIZE, value);
|
SysSetFlag(FL_MOVIE_SIZE, value);
|
||||||
SysSetFlag(FL_MOVIE_SIZE_MENU, value);
|
//SysSetFlag(FL_MOVIE_SIZE_MENU, value);
|
||||||
Save_MenuInfo();
|
Save_MenuInfo();
|
||||||
}
|
}
|
||||||
printf("[%s:%d] FL_MOVIE_SIZE:%d\n", __FUNCTION__, __LINE__,SysGetFlag(FL_MOVIE_SIZE));
|
printf("[%s:%d] FL_MOVIE_SIZE:%d\n", __FUNCTION__, __LINE__,SysGetFlag(FL_MOVIE_SIZE));
|
||||||
|
@ -942,8 +947,26 @@ BOOL cmd_cam_mode(unsigned char argc, char **argv)
|
||||||
UINT32 value;
|
UINT32 value;
|
||||||
UIMenuStoreInfo *puiPara = sf_ui_para_get();
|
UIMenuStoreInfo *puiPara = sf_ui_para_get();
|
||||||
sscanf_s(argv[0],"%d", &value);
|
sscanf_s(argv[0],"%d", &value);
|
||||||
|
int iCurrMode = System_GetState(SYS_STATE_CURRMODE);
|
||||||
|
int iNextMode = PRIMARY_MODE_PHOTO;
|
||||||
if(value < SF_CAM_MODE_MAX){
|
if(value < SF_CAM_MODE_MAX){
|
||||||
puiPara->CamMode = value;
|
puiPara->CamMode = value;
|
||||||
|
if((puiPara->CamMode == SF_CAM_MODE_PHOTO) || (puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO))
|
||||||
|
{
|
||||||
|
iNextMode = PRIMARY_MODE_PHOTO;
|
||||||
|
}
|
||||||
|
else if(puiPara->CamMode == SF_CAM_MODE_VIDEO)
|
||||||
|
{
|
||||||
|
iNextMode = PRIMARY_MODE_MOVIE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
iNextMode = PRIMARY_MODE_PHOTO;
|
||||||
|
}
|
||||||
|
|
||||||
|
UI_SetData(FL_PreMode, iCurrMode);
|
||||||
|
UI_SetData(FL_NextMode, iNextMode);
|
||||||
|
Ux_PostEvent(NVTEVT_SYSTEM_MODE, 1, iNextMode);
|
||||||
Save_MenuInfo();
|
Save_MenuInfo();
|
||||||
}
|
}
|
||||||
printf("[%s:%d] CamMode:%d\n", __FUNCTION__, __LINE__,puiPara->CamMode);
|
printf("[%s:%d] CamMode:%d\n", __FUNCTION__, __LINE__,puiPara->CamMode);
|
||||||
|
@ -1157,6 +1180,65 @@ void sf_signal_led_show(UINT8 signalLevel)
|
||||||
else
|
else
|
||||||
sf_sys_status_led_set(SF_LED_SYS_STATE_GPRS_SIGNAL_4);
|
sf_sys_status_led_set(SF_LED_SYS_STATE_GPRS_SIGNAL_4);
|
||||||
}
|
}
|
||||||
|
/*************************************************
|
||||||
|
Function: sf_rtsp_stop
|
||||||
|
Description:
|
||||||
|
Input:
|
||||||
|
Output: N/A
|
||||||
|
Return: N/A
|
||||||
|
Others: N/A
|
||||||
|
*************************************************/
|
||||||
|
void sf_rtsp_stop(void)
|
||||||
|
{
|
||||||
|
if(0 == RespFlag)
|
||||||
|
{
|
||||||
|
/*SF_MESSAGE_BUF_S stMessageBuf = {0};
|
||||||
|
stMessageBuf.arg1 = SF_WIFI_CMD_STOP;
|
||||||
|
stMessageBuf.cmdId = CMD_WIFI;
|
||||||
|
sf_com_message_send_to_cardv(&stMessageBuf);*/
|
||||||
|
UINT32 tmp = ImageApp_Common_IsRtspStart(0);
|
||||||
|
printf("[%s:%d] RespFlag = %d tmp:%d\n", __FUNCTION__, __LINE__,RespFlag, tmp);
|
||||||
|
if(1 == tmp)
|
||||||
|
{
|
||||||
|
//ImageApp_Common_RtspStop(0);
|
||||||
|
RespFlag = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("[%s:%d] RespFlag = %d\n", __FUNCTION__, __LINE__,RespFlag);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*************************************************
|
||||||
|
Function: sf_rtsp_restart
|
||||||
|
Description:
|
||||||
|
Input:
|
||||||
|
Output: N/A
|
||||||
|
Return: N/A
|
||||||
|
Others: N/A
|
||||||
|
*************************************************/
|
||||||
|
void sf_rtsp_restart(void)
|
||||||
|
{
|
||||||
|
if(1 == RespFlag)
|
||||||
|
{
|
||||||
|
/*SF_MESSAGE_BUF_S stMessageBuf = {0};
|
||||||
|
stMessageBuf.arg1 = SF_WIFI_CMD_RESTART;
|
||||||
|
stMessageBuf.cmdId = CMD_WIFI;
|
||||||
|
sf_com_message_send_to_cardv(&stMessageBuf);*/
|
||||||
|
UINT32 tmp = ImageApp_Common_IsRtspStart(0);
|
||||||
|
printf("[%s:%d] RespFlag = %d tmp:%d\n", __FUNCTION__, __LINE__,RespFlag, tmp);
|
||||||
|
if(tmp == 0)
|
||||||
|
{
|
||||||
|
//ImageApp_Common_RtspStart(0);
|
||||||
|
RespFlag = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("[%s:%d] RespFlag = %d\n", __FUNCTION__, __LINE__,RespFlag);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static SINT32 sf_cardv_proccess_cmd_mcu(SF_MESSAGE_BUF_S *pMessageBuf)
|
static SINT32 sf_cardv_proccess_cmd_mcu(SF_MESSAGE_BUF_S *pMessageBuf)
|
||||||
{
|
{
|
||||||
|
@ -1169,6 +1251,10 @@ static SINT32 sf_cardv_proccess_cmd_mcu(SF_MESSAGE_BUF_S *pMessageBuf)
|
||||||
sf_set_power_on_mode(pMessageBuf->arg2);
|
sf_set_power_on_mode(pMessageBuf->arg2);
|
||||||
sf_mcu_set_irshtter(pMessageBuf->arg3);
|
sf_mcu_set_irshtter(pMessageBuf->arg3);
|
||||||
break;
|
break;
|
||||||
|
case SF_MCU_CMD_MCU_VER:
|
||||||
|
sf_set_mcu_sub_ver(pMessageBuf->arg2);
|
||||||
|
sf_set_mcu_ver(pMessageBuf->arg3);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -1292,6 +1378,28 @@ void sf_cardv_proccess_cmd_gprs(SF_MESSAGE_BUF_S *pMessageBuf)
|
||||||
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
static SINT32 sf_cardv_proccess_cmd_wifi(SF_MESSAGE_BUF_S *pMessageBuf)
|
||||||
|
{
|
||||||
|
switch(pMessageBuf->arg1)
|
||||||
|
{
|
||||||
|
case SF_WIFI_CMD_START:
|
||||||
|
UINet_AppIpc_Init();
|
||||||
|
sf_net_wifi_init(NET_AP_MODE, NET_AUTH_WPA2);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SF_WIFI_CMD_STOP:
|
||||||
|
ImageApp_Common_RtspStop(0);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SF_WIFI_CMD_RESTART:
|
||||||
|
ImageApp_Common_RtspStart(0);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return SF_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
void* sf_cardv_message_thread(void *argv)
|
void* sf_cardv_message_thread(void *argv)
|
||||||
{
|
{
|
||||||
|
@ -1322,7 +1430,9 @@ void* sf_cardv_message_thread(void *argv)
|
||||||
case CMD_FILE:
|
case CMD_FILE:
|
||||||
sf_share_mem_file_init();
|
sf_share_mem_file_init();
|
||||||
break;
|
break;
|
||||||
|
case CMD_WIFI:
|
||||||
|
sf_cardv_proccess_cmd_wifi(&stMessagebuf);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1342,4 +1452,81 @@ void sf_cardv_message_thread_init(void)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sf_set_menu_open(BOOL is)
|
||||||
|
{
|
||||||
|
IsMenu = is;
|
||||||
|
printf("[%s]:%d IsMenu:%d\n", __FUNCTION__, __LINE__, IsMenu);
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL sf_is_menu_open(void)
|
||||||
|
{
|
||||||
|
printf("[%s]:%d IsMenu:%d\n", __FUNCTION__, __LINE__, IsMenu);
|
||||||
|
return IsMenu;
|
||||||
|
|
||||||
|
}
|
||||||
|
void sf_set_cap_statu(BOOL is)
|
||||||
|
{
|
||||||
|
IsCap = is;
|
||||||
|
printf("[%s]:%d IsCap:%d\n", __FUNCTION__, __LINE__,IsCap);
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL sf_get_cap_statu(void)
|
||||||
|
{
|
||||||
|
printf("[%s]:%d IsCap:%d\n", __FUNCTION__, __LINE__,IsCap);
|
||||||
|
return IsCap;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL sf_is_movie_running(void)
|
||||||
|
{
|
||||||
|
if(ImageApp_MovieMulti_IsStreamRunning(_CFG_REC_ID_1))
|
||||||
|
{
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(ImageApp_MovieMulti_IsStreamRunning(_CFG_CLONE_ID_1))
|
||||||
|
{
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
//printf("[%s]:%d IsCardFull:%d\n", __FUNCTION__, __LINE__, IsCardFull);
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL sf_is_movie_preview(void)
|
||||||
|
{
|
||||||
|
if(FALSE == sf_is_movie_running() && (FALSE == sf_is_menu_open()) && (System_GetState(SYS_STATE_CURRMODE) == PRIMARY_MODE_MOVIE))
|
||||||
|
{
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
//printf("[%s]:%d IsCardFull:%d\n", __FUNCTION__, __LINE__, IsCardFull);
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL sf_is_cap_preview(void)
|
||||||
|
{
|
||||||
|
if(FALSE == sf_get_cap_statu() && (FALSE == sf_is_menu_open()) && (System_GetState(SYS_STATE_CURRMODE) == PRIMARY_MODE_PHOTO))
|
||||||
|
{
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
//printf("[%s]:%d IsCardFull:%d\n", __FUNCTION__, __LINE__, IsCardFull);
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL sf_is_preview(void)
|
||||||
|
{
|
||||||
|
if(TRUE == sf_is_cap_preview() || (TRUE == sf_is_movie_preview()))
|
||||||
|
{
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
//printf("[%s]:%d IsCardFull:%d\n", __FUNCTION__, __LINE__, IsCardFull);
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -614,6 +614,12 @@ void sf_sys_status_led_set(LedSysState_t ledSysStateId)
|
||||||
case SF_LED_SYS_STATE_PIR_NOT_DETECT:
|
case SF_LED_SYS_STATE_PIR_NOT_DETECT:
|
||||||
sf_led_set(SF_LED_BUSY, SF_LED_STATE_ON);
|
sf_led_set(SF_LED_BUSY, SF_LED_STATE_ON);
|
||||||
break;
|
break;
|
||||||
|
case SF_LED_SYS_STATE_BAT_0_SLOW:
|
||||||
|
sf_led_set(SF_LED_BAT1, SF_LED_STATE_SLOW_FLASHING);
|
||||||
|
sf_led_set(SF_LED_BAT2, SF_LED_STATE_OFF);
|
||||||
|
sf_led_set(SF_LED_BAT3, SF_LED_STATE_OFF);
|
||||||
|
sf_led_set(SF_LED_BAT4, SF_LED_STATE_OFF);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -46,6 +46,7 @@
|
||||||
|
|
||||||
static BOOL IsCardFull = FALSE;
|
static BOOL IsCardFull = FALSE;
|
||||||
SF_CALLBACK_SD_CMD g_fpSd_Exist_CB = NULL;
|
SF_CALLBACK_SD_CMD g_fpSd_Exist_CB = NULL;
|
||||||
|
static SF_MSG_FORMAT_SD_E formatSD = CMD_FORMAT_SD_ERR;
|
||||||
|
|
||||||
BOOL sf_is_card_full(void)
|
BOOL sf_is_card_full(void)
|
||||||
{
|
{
|
||||||
|
@ -112,6 +113,13 @@ BOOL sf_in_card_exist(void)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sf_set_card_statu(UINT32 val)
|
||||||
|
{
|
||||||
|
formatSD = val;
|
||||||
|
}
|
||||||
|
|
||||||
|
UINT32 sf_get_card_statu(void)
|
||||||
|
{
|
||||||
|
return formatSD;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -1048,8 +1048,10 @@ void sf_commu_mcu_task_start(void)
|
||||||
|
|
||||||
void sf_commu_mcu_task_stop(void)
|
void sf_commu_mcu_task_stop(void)
|
||||||
{
|
{
|
||||||
|
printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
|
||||||
sf_commu_mcu_exit = 1;
|
sf_commu_mcu_exit = 1;
|
||||||
vos_task_destroy(sfCommuMcuThread);
|
vos_task_destroy(sfCommuMcuThread);
|
||||||
|
printf("[%s:%d] e\n", __FUNCTION__, __LINE__);
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned char sf_commu_mcu_task_running(void)
|
unsigned char sf_commu_mcu_task_running(void)
|
||||||
|
|
|
@ -616,6 +616,22 @@ void sf_mcu_version_get(UINT8 *mcuVer)
|
||||||
|
|
||||||
sprintf((char *)mcuVer, "%s%d.%d.%d", str, (McuVersion >> 8) & 0xFF, McuVersion & 0xFF, McuSubVersion);
|
sprintf((char *)mcuVer, "%s%d.%d.%d", str, (McuVersion >> 8) & 0xFF, McuVersion & 0xFF, McuSubVersion);
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
|
||||||
|
/*************************************************
|
||||||
|
Function: sf_mcu_version_get
|
||||||
|
Description: get mcu ver
|
||||||
|
Input: N/A
|
||||||
|
Output: ver str
|
||||||
|
Return: N/A
|
||||||
|
Others: N/A
|
||||||
|
*************************************************/
|
||||||
|
void sf_mcu_version_get(UINT8 *mcuVer)
|
||||||
|
{
|
||||||
|
sprintf((char *)mcuVer, "%d.%d.%d", (McuVersion>>4)&0x0F, McuVersion & 0x0F, McuSubVersion);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*************************************************
|
/*************************************************
|
||||||
|
@ -2010,6 +2026,15 @@ unsigned short sf_get_mcu_ver(void)
|
||||||
return McuVersion;
|
return McuVersion;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sf_set_mcu_sub_ver(unsigned char mcuSubVersion)
|
||||||
|
{
|
||||||
|
McuSubVersion = mcuSubVersion;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sf_set_mcu_ver(unsigned short mcuVersion)
|
||||||
|
{
|
||||||
|
McuVersion = mcuVersion;
|
||||||
|
}
|
||||||
|
|
||||||
/*************************************************
|
/*************************************************
|
||||||
Function: sf_mcu_get_irshtter
|
Function: sf_mcu_get_irshtter
|
||||||
|
@ -2118,4 +2143,20 @@ void sf_set_module_sleep_flag(UINT8 flag)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SINT32 sf_sys_rtc_time_set(SF_PARA_TIME_S* pstDateTime)
|
||||||
|
{
|
||||||
|
|
||||||
|
struct tm Curr_DateTime = {0};
|
||||||
|
Curr_DateTime.tm_year = pstDateTime->Year;
|
||||||
|
Curr_DateTime.tm_mon = pstDateTime->Mon;
|
||||||
|
Curr_DateTime.tm_mday = pstDateTime->Day;
|
||||||
|
Curr_DateTime.tm_hour = pstDateTime->Hour;
|
||||||
|
Curr_DateTime.tm_min = pstDateTime->Min;
|
||||||
|
Curr_DateTime.tm_sec = pstDateTime->Sec;
|
||||||
|
|
||||||
|
hwclock_set_time(TIME_ID_CURRENT, *(struct tm*)&Curr_DateTime, 0);
|
||||||
|
return SUCCESS;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
5336
code/na51089_linux_sdk_app_filelist.txt
Normal file
5336
code/na51089_linux_sdk_app_filelist.txt
Normal file
File diff suppressed because it is too large
Load Diff
BIN
configs/Linux/cfg_565_HUNTING_EVB_LINUX_4G_S530/nvt-evb.dtb
Normal file
BIN
configs/Linux/cfg_565_HUNTING_EVB_LINUX_4G_S530/nvt-evb.dtb
Normal file
Binary file not shown.
1181
configs/Linux/cfg_565_HUNTING_EVB_LINUX_4G_S530/nvt-evb.tmp.dts
Normal file
1181
configs/Linux/cfg_565_HUNTING_EVB_LINUX_4G_S530/nvt-evb.tmp.dts
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
@ -130,78 +130,86 @@ HD_RESULT fastflow_common_init(void)
|
||||||
|
|
||||||
static HD_RESULT flowpreview_mem_relayout(void)
|
static HD_RESULT flowpreview_mem_relayout(void)
|
||||||
{
|
{
|
||||||
HD_RESULT ret;
|
HD_RESULT ret;
|
||||||
HD_COMMON_MEM_INIT_CONFIG mem_cfg = {0};
|
HD_COMMON_MEM_INIT_CONFIG mem_cfg = {0};
|
||||||
UIAPP_PHOTO_SENSOR_INFO *pSensorInfo = UIAppPhoto_get_SensorInfo(0);
|
UIAPP_PHOTO_SENSOR_INFO *pSensorInfo = UIAppPhoto_get_SensorInfo(0);
|
||||||
|
UINT8 idx = 0;
|
||||||
|
|
||||||
// config common pool (cap)
|
// config common pool (cap)
|
||||||
mem_cfg.pool_info[0].type = HD_COMMON_MEM_COMMON_POOL;
|
mem_cfg.pool_info[idx].type = HD_COMMON_MEM_COMMON_POOL;
|
||||||
mem_cfg.pool_info[0].blk_size = DBGINFO_BUFSIZE()+VDO_RAW_BUFSIZE(pSensorInfo->sSize.w, pSensorInfo->sSize.h, CAP_OUT_FMT)
|
mem_cfg.pool_info[idx].blk_size = DBGINFO_BUFSIZE()+VDO_RAW_BUFSIZE(pSensorInfo->sSize.w, pSensorInfo->sSize.h, CAP_OUT_FMT)
|
||||||
+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);
|
||||||
if (g_shdr_mode == 1) {
|
|
||||||
mem_cfg.pool_info[0].blk_cnt = 4;
|
mem_cfg.pool_info[idx].blk_cnt = 6;
|
||||||
} else {
|
mem_cfg.pool_info[idx].ddr_id = DDR_ID0;
|
||||||
mem_cfg.pool_info[0].blk_cnt = 4;
|
// config common pool (main)
|
||||||
}
|
// mem_cfg.pool_info[1].type = HD_COMMON_MEM_COMMON_POOL;
|
||||||
mem_cfg.pool_info[0].ddr_id = DDR_ID0;
|
// mem_cfg.pool_info[1].blk_size = DBGINFO_BUFSIZE()+VDO_YUV_BUFSIZE(pSensorInfo->sSize.w, pSensorInfo->sSize.h, HD_VIDEO_PXLFMT_YUV420);
|
||||||
// config common pool (main)
|
// mem_cfg.pool_info[1].blk_cnt = 2;
|
||||||
mem_cfg.pool_info[1].type = HD_COMMON_MEM_COMMON_POOL;
|
// mem_cfg.pool_info[1].ddr_id = DDR_ID0;
|
||||||
mem_cfg.pool_info[1].blk_size = DBGINFO_BUFSIZE()+VDO_YUV_BUFSIZE(pSensorInfo->sSize.w, pSensorInfo->sSize.h, HD_VIDEO_PXLFMT_YUV420);
|
|
||||||
mem_cfg.pool_info[1].blk_cnt = 2;
|
|
||||||
mem_cfg.pool_info[1].ddr_id = DDR_ID0;
|
|
||||||
|
|
||||||
|
|
||||||
#if POWERON_FAST_SLICE_ENC == ENABLE
|
#if POWERON_FAST_SLICE_ENC == ENABLE
|
||||||
|
idx++;
|
||||||
|
mem_cfg.pool_info[idx].type = HD_COMMON_MEM_COMMON_POOL;
|
||||||
|
mem_cfg.pool_info[idx].blk_size = PhotoFast_SliceEncode_Get_Max_Dst_Slice_Buffer_Size(HD_VIDEO_PXLFMT_YUV420);
|
||||||
|
mem_cfg.pool_info[idx].blk_cnt = 1;
|
||||||
|
mem_cfg.pool_info[idx].ddr_id = DDR_ID0;
|
||||||
|
|
||||||
|
DBG_DUMP("************ blk_size = %lx ************\n", mem_cfg.pool_info[idx].blk_size);
|
||||||
#else
|
#else
|
||||||
|
|
||||||
// config common pool (primary image)
|
// config common pool (primary image)
|
||||||
{
|
{
|
||||||
UINT32 u32W, u32H;
|
UINT32 u32W, u32H;
|
||||||
u32W = GetPhotoSizeWidth(SysGetFlag(FL_PHOTO_SIZE));
|
u32W = GetPhotoSizeWidth(SysGetFlag(FL_PHOTO_SIZE));
|
||||||
u32H = GetPhotoSizeHeight(SysGetFlag(FL_PHOTO_SIZE));
|
u32H = GetPhotoSizeHeight(SysGetFlag(FL_PHOTO_SIZE));
|
||||||
mem_cfg.pool_info[2].type = HD_COMMON_MEM_COMMON_POOL;
|
mem_cfg.pool_info[2].type = HD_COMMON_MEM_COMMON_POOL;
|
||||||
u32W = ALIGN_CEIL_16(u32W);
|
u32W = ALIGN_CEIL_16(u32W);
|
||||||
u32H = ALIGN_CEIL_16(u32H);
|
u32H = ALIGN_CEIL_16(u32H);
|
||||||
mem_cfg.pool_info[2].blk_size = DBGINFO_BUFSIZE()+VDO_YUV_BUFSIZE(u32W, u32H, HD_VIDEO_PXLFMT_YUV420);
|
mem_cfg.pool_info[2].blk_size = DBGINFO_BUFSIZE()+VDO_YUV_BUFSIZE(u32W, u32H, HD_VIDEO_PXLFMT_YUV420);
|
||||||
mem_cfg.pool_info[2].blk_cnt = 1;
|
mem_cfg.pool_info[2].blk_cnt = 1;
|
||||||
mem_cfg.pool_info[2].ddr_id = DDR_ID0;
|
mem_cfg.pool_info[2].ddr_id = DDR_ID0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// config common pool (screennail image)
|
// config common pool (screennail image)
|
||||||
mem_cfg.pool_info[3].type = HD_COMMON_MEM_COMMON_POOL;
|
idx++;
|
||||||
|
mem_cfg.pool_info[idx].type = HD_COMMON_MEM_COMMON_POOL;
|
||||||
#if HUNTING_CAMERA_MCU == ENABLE
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
UIMenuStoreInfo *puiPara = sf_ui_para_get();
|
UIMenuStoreInfo *puiPara = sf_ui_para_get();
|
||||||
mem_cfg.pool_info[3].blk_size = DBGINFO_BUFSIZE()+VDO_YUV_BUFSIZE(sf_get_screen_nail_width(puiPara->SendPicSize), sf_get_screen_nail_height(puiPara->SendPicSize), HD_VIDEO_PXLFMT_YUV420);
|
mem_cfg.pool_info[idx].blk_size = DBGINFO_BUFSIZE()+VDO_YUV_BUFSIZE(sf_get_screen_nail_width(puiPara->SendPicSize), sf_get_screen_nail_height(puiPara->SendPicSize), HD_VIDEO_PXLFMT_YUV420);
|
||||||
|
|
||||||
#else
|
#else
|
||||||
mem_cfg.pool_info[3].blk_size = DBGINFO_BUFSIZE()+VDO_YUV_BUFSIZE(CFG_SCREENNAIL_W, CFG_SCREENNAIL_H, HD_VIDEO_PXLFMT_YUV420);
|
mem_cfg.pool_info[idx].blk_size = DBGINFO_BUFSIZE()+VDO_YUV_BUFSIZE(CFG_SCREENNAIL_W, CFG_SCREENNAIL_H, HD_VIDEO_PXLFMT_YUV420);
|
||||||
#endif
|
#endif
|
||||||
mem_cfg.pool_info[3].blk_cnt = 1;
|
mem_cfg.pool_info[idx].blk_cnt = 1;
|
||||||
mem_cfg.pool_info[3].ddr_id = DDR_ID0;
|
mem_cfg.pool_info[idx].ddr_id = DDR_ID0;
|
||||||
// config common pool (thumbnail image)
|
// config common pool (thumbnail image)
|
||||||
mem_cfg.pool_info[4].type = HD_COMMON_MEM_COMMON_POOL;
|
idx++;
|
||||||
mem_cfg.pool_info[4].blk_size = DBGINFO_BUFSIZE()+VDO_YUV_BUFSIZE(CFG_THUMBNAIL_W, CFG_THUMBNAIL_H, HD_VIDEO_PXLFMT_YUV420);
|
mem_cfg.pool_info[idx].type = HD_COMMON_MEM_COMMON_POOL;
|
||||||
mem_cfg.pool_info[4].blk_cnt = 1;
|
mem_cfg.pool_info[idx].blk_size = DBGINFO_BUFSIZE()+VDO_YUV_BUFSIZE(CFG_THUMBNAIL_W, CFG_THUMBNAIL_H, HD_VIDEO_PXLFMT_YUV420);
|
||||||
mem_cfg.pool_info[4].ddr_id = DDR_ID0;
|
mem_cfg.pool_info[idx].blk_cnt = 1;
|
||||||
// config common pool (EXIF)
|
mem_cfg.pool_info[idx].ddr_id = DDR_ID0;
|
||||||
mem_cfg.pool_info[5].type = HD_COMMON_MEM_COMMON_POOL;
|
// config common pool (EXIF)
|
||||||
mem_cfg.pool_info[5].blk_size = DBGINFO_BUFSIZE()+CFG_JPG_HEADER_SIZE;
|
idx++;
|
||||||
mem_cfg.pool_info[5].blk_cnt = 1;
|
mem_cfg.pool_info[idx].type = HD_COMMON_MEM_COMMON_POOL;
|
||||||
mem_cfg.pool_info[5].ddr_id = DDR_ID0;
|
mem_cfg.pool_info[idx].blk_size = DBGINFO_BUFSIZE()+CFG_JPG_HEADER_SIZE;
|
||||||
|
mem_cfg.pool_info[idx].blk_cnt = 1;
|
||||||
|
mem_cfg.pool_info[idx].ddr_id = DDR_ID0;
|
||||||
|
|
||||||
#if (_PACKAGE_BOOTLOGO_)
|
#if (_PACKAGE_BOOTLOGO_)
|
||||||
mem_cfg.pool_info[6].type = HD_COMMON_MEM_COMMON_POOL;
|
idx++;
|
||||||
mem_cfg.pool_info[6].blk_size = DBGINFO_BUFSIZE() + ((BOOT_LOGO_LCD_WIDTH * BOOT_LOGO_LCD_HEIGHT * 3) / 2);
|
mem_cfg.pool_info[idx].type = HD_COMMON_MEM_COMMON_POOL;
|
||||||
mem_cfg.pool_info[6].blk_cnt = 2;
|
mem_cfg.pool_info[idx].blk_size = DBGINFO_BUFSIZE() + ((BOOT_LOGO_LCD_WIDTH * BOOT_LOGO_LCD_HEIGHT * 3) / 2);
|
||||||
mem_cfg.pool_info[6].ddr_id = DDR_ID0;
|
mem_cfg.pool_info[idx].blk_cnt = 2;
|
||||||
|
mem_cfg.pool_info[idx].ddr_id = DDR_ID0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ret = vendor_common_mem_relayout(&mem_cfg);
|
ret = vendor_common_mem_relayout(&mem_cfg);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
|
@ -98,7 +98,7 @@
|
||||||
#define POWERON_TRACE DISABLE //stop and wait for user enter cmd: "dsc boot"
|
#define POWERON_TRACE DISABLE //stop and wait for user enter cmd: "dsc boot"
|
||||||
#define POWERON_BOOT_REPORT ENABLE
|
#define POWERON_BOOT_REPORT ENABLE
|
||||||
#define POWERON_FAST_BOOT DISABLE
|
#define POWERON_FAST_BOOT DISABLE
|
||||||
#define POWERON_FAST_BOOT_MSG ENABLE // disable boot msg for fast boot, but hard to debug
|
#define POWERON_FAST_BOOT_MSG DISABLE//ENABLE // disable boot msg for fast boot, but hard to debug
|
||||||
#define POWERON_FAST_CPU2_BOOT DISABLE
|
#define POWERON_FAST_CPU2_BOOT DISABLE
|
||||||
#define POWERON_FAST_RECORD DISABLE
|
#define POWERON_FAST_RECORD DISABLE
|
||||||
#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
|
||||||
|
@ -480,8 +480,8 @@
|
||||||
// DCF Config
|
// DCF Config
|
||||||
#define USE_DCF DISABLE
|
#define USE_DCF DISABLE
|
||||||
#define DCF_SUPPORT_FORMAT (DCF_FILE_TYPE_JPG|DCF_FILE_TYPE_AVI|DCF_FILE_TYPE_MOV|DCF_FILE_TYPE_MP4)
|
#define DCF_SUPPORT_FORMAT (DCF_FILE_TYPE_JPG|DCF_FILE_TYPE_AVI|DCF_FILE_TYPE_MOV|DCF_FILE_TYPE_MP4)
|
||||||
#define DCF_DIR_NAME "HUNTI" /* 100HUNTI */
|
#define DCF_DIR_NAME "MEDIA" /* 100MEDIA */
|
||||||
#define DCF_FILE_NAME "IMAG" /* IMAG0001.JPG */
|
#define DCF_FILE_NAME "SYFW" /* SYFW0001.JPG */
|
||||||
|
|
||||||
//..............................................................................
|
//..............................................................................
|
||||||
// EXIF Config
|
// EXIF Config
|
||||||
|
@ -950,8 +950,8 @@
|
||||||
#define HUNTING_MCU_UART ENABLE
|
#define HUNTING_MCU_UART ENABLE
|
||||||
#define HUNTING_IR_LED_940 DISABLE
|
#define HUNTING_IR_LED_940 DISABLE
|
||||||
#define SF_EXIF_MN_BUF_SIZE 256
|
#define SF_EXIF_MN_BUF_SIZE 256
|
||||||
#define SF_BASE_VERSION "7MD4RCwD3T3"
|
#define SF_BASE_VERSION "7MD4RCwD3T6"
|
||||||
|
#define SF_TRIGGER_TIME_TEST DISABLE//ENABLE
|
||||||
|
|
||||||
#define HUNTING_PHOTO_FAST_AE_60_FPS ENABLE
|
#define HUNTING_PHOTO_FAST_AE_60_FPS ENABLE
|
||||||
#define HW_S530 1
|
#define HW_S530 1
|
||||||
|
|
|
@ -392,6 +392,14 @@ static void insmod_sensor(void)
|
||||||
|
|
||||||
static void sie_vd_cb(const UINT32 vd_cnt)
|
static void sie_vd_cb(const UINT32 vd_cnt)
|
||||||
{
|
{
|
||||||
|
if(vd_cnt == (PHOTOFAST_START_CAP_FRAME_CNT-1)){
|
||||||
|
|
||||||
|
#if SF_TRIGGER_TIME_TEST == ENABLE
|
||||||
|
sf_trigger_time_led_cb(1);
|
||||||
|
#endif
|
||||||
|
vos_perf_list_mark("sie_vd", __LINE__, 0);
|
||||||
|
}
|
||||||
|
|
||||||
if((vd_cnt + 1) < PhotoFast_GetTickBufSize())
|
if((vd_cnt + 1) < PhotoFast_GetTickBufSize())
|
||||||
PhotoFast_SetTick((vd_cnt + 1), (VOS_TICK)hwclock_get_counter());
|
PhotoFast_SetTick((vd_cnt + 1), (VOS_TICK)hwclock_get_counter());
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,6 +44,7 @@
|
||||||
#endif
|
#endif
|
||||||
#if HUNTING_CAMERA_MCU == ENABLE
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
#include <sf_mcu.h>
|
#include <sf_mcu.h>
|
||||||
|
#include "sf_led.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -571,6 +572,9 @@ static void MovieFast_OnRecStart(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (movie_rec_mask & mask) {
|
if (movie_rec_mask & mask) {
|
||||||
|
#if SF_TRIGGER_TIME_TEST == ENABLE
|
||||||
|
sf_trigger_time_led_cb(1);
|
||||||
|
#endif
|
||||||
vos_perf_list_mark("sie_vd", __LINE__, 6);
|
vos_perf_list_mark("sie_vd", __LINE__, 6);
|
||||||
ImageApp_MovieMulti_SetParam(gMovie_Rec_Info[i].rec_id, MOVIEMULTI_PARAM_FILE_WRITE_BLKSIZE, 0x200000);
|
ImageApp_MovieMulti_SetParam(gMovie_Rec_Info[i].rec_id, MOVIEMULTI_PARAM_FILE_WRITE_BLKSIZE, 0x200000);
|
||||||
ImageApp_MovieMulti_SetParam(gMovie_Rec_Info[i].rec_id, MOVIEMULTI_PARAM_FILE_BUFRESSEC, uifile_buffer_reserved_sec);
|
ImageApp_MovieMulti_SetParam(gMovie_Rec_Info[i].rec_id, MOVIEMULTI_PARAM_FILE_BUFRESSEC, uifile_buffer_reserved_sec);
|
||||||
|
@ -636,13 +640,25 @@ static void MovieFast_FileNamingCB(MOVIE_CFG_REC_ID id, char *pFileName)
|
||||||
DCF_MakeObjPath(nextFolderID, nextFileID, DCF_FILE_TYPE_MP4, pFileName);
|
DCF_MakeObjPath(nextFolderID, nextFileID, DCF_FILE_TYPE_MP4, pFileName);
|
||||||
DCF_AddDBfile(pFileName);
|
DCF_AddDBfile(pFileName);
|
||||||
DBG_DUMP("%s added to DCF\r\n", pFileName);
|
DBG_DUMP("%s added to DCF\r\n", pFileName);
|
||||||
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
|
char tmp[NMC_TOTALFILEPATH_MAX_LEN] = {'\0'};
|
||||||
|
sprintf(tmp, "S%03ld%04ld.JPG", nextFolderID, nextFileID);
|
||||||
|
if(id == _CFG_REC_ID_1){
|
||||||
|
snprintf(thumb_current_path_main, sizeof(thumb_current_path_main), "%s", tmp);
|
||||||
|
}
|
||||||
|
else if(id == _CFG_CLONE_ID_1){
|
||||||
|
snprintf(thumb_current_path_clone, sizeof(thumb_current_path_clone), "%s", tmp);
|
||||||
|
}
|
||||||
|
DBG_DUMP("last send file:%s\r\n", tmp);
|
||||||
|
#else
|
||||||
if(id == _CFG_REC_ID_1){
|
if(id == _CFG_REC_ID_1){
|
||||||
snprintf(thumb_current_path_main, sizeof(thumb_current_path_main), "%s", pFileName);
|
snprintf(thumb_current_path_main, sizeof(thumb_current_path_main), "%s", pFileName);
|
||||||
}
|
}
|
||||||
else if(id == _CFG_CLONE_ID_1){
|
else if(id == _CFG_CLONE_ID_1){
|
||||||
snprintf(thumb_current_path_clone, sizeof(thumb_current_path_clone), "%s", pFileName);
|
snprintf(thumb_current_path_clone, sizeof(thumb_current_path_clone), "%s", pFileName);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -707,9 +723,13 @@ static void MovieFast_UserEventCb(UINT32 id, MOVIE_USER_CB_EVENT event_id, UINT3
|
||||||
|
|
||||||
char tmp[256] = {'\0'};
|
char tmp[256] = {'\0'};
|
||||||
|
|
||||||
|
|
||||||
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
|
snprintf(tmp, sizeof(tmp), "%s%s", MOVIE_THUMB_PATH, thumb_current_path); /* DCF 8.3 naming rule */
|
||||||
|
#else
|
||||||
snprintf(tmp, sizeof(tmp), "%s%s", MOVIE_THUMB_PATH, (thumb_current_path + (length - 12))); /* DCF 8.3 naming rule */
|
snprintf(tmp, sizeof(tmp), "%s%s", MOVIE_THUMB_PATH, (thumb_current_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");
|
||||||
|
#endif
|
||||||
DBG_DUMP("MOVIE_USER_CB_EVENT_JENC_DONE %s\n", tmp);
|
DBG_DUMP("MOVIE_USER_CB_EVENT_JENC_DONE %s\n", tmp);
|
||||||
|
|
||||||
FST_FILE fp = FileSys_OpenFile(tmp, FST_OPEN_ALWAYS | FST_OPEN_WRITE);
|
FST_FILE fp = FileSys_OpenFile(tmp, FST_OPEN_ALWAYS | FST_OPEN_WRITE);
|
||||||
|
|
|
@ -633,7 +633,7 @@ static THREAD_RETTYPE PhotoFast_CmdTsk(void* arg)
|
||||||
|
|
||||||
System_OnPowerPreInit();
|
System_OnPowerPreInit();
|
||||||
System_OnVideoFastbootInit();
|
System_OnVideoFastbootInit();
|
||||||
handle_movie_filenaming = vos_task_create(MovieFast_InitFileNamingThread, "init_fn", NULL, 10, 4096);
|
handle_movie_filenaming = vos_task_create(MovieFast_InitFileNamingThread, "init_fn", NULL, 10, 8192);
|
||||||
if(!handle_movie_filenaming){
|
if(!handle_movie_filenaming){
|
||||||
DBG_ERR("create MovieFast_InitFileNamingThread failed\n");
|
DBG_ERR("create MovieFast_InitFileNamingThread failed\n");
|
||||||
}
|
}
|
||||||
|
@ -642,7 +642,7 @@ static THREAD_RETTYPE PhotoFast_CmdTsk(void* arg)
|
||||||
|
|
||||||
fastboot_wait_done(BOOT_INIT_FILENAMINGOK);
|
fastboot_wait_done(BOOT_INIT_FILENAMINGOK);
|
||||||
|
|
||||||
handle_movie_moviemode = vos_task_create(MovieFast_InitMovieModeThread, "init_movie", NULL, 10, 4096);
|
handle_movie_moviemode = vos_task_create(MovieFast_InitMovieModeThread, "init_movie", NULL, 10, 8192);
|
||||||
if(!handle_movie_moviemode){
|
if(!handle_movie_moviemode){
|
||||||
DBG_ERR("create MovieFast_InitMovieModeThread failed\n");
|
DBG_ERR("create MovieFast_InitMovieModeThread failed\n");
|
||||||
}
|
}
|
||||||
|
@ -848,8 +848,15 @@ INT32 PhotoFast_WriteFile(UINT32 Addr, UINT32 Size, UINT32 Fmt, UINT32 uiPathId)
|
||||||
DCF_MakeObjPath(nextFolderID, nextFileID, fileType, FilePath);
|
DCF_MakeObjPath(nextFolderID, nextFileID, fileType, FilePath);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
|
char tmp[NMC_TOTALFILEPATH_MAX_LEN] = {'\0'};
|
||||||
|
sprintf(tmp, "W%03ld%04ld.JPG", nextFolderID, nextFileID);
|
||||||
|
strncpy(g_photo_fast_write_file_Path, tmp, sizeof(g_photo_fast_write_file_Path) - 1);
|
||||||
|
DBG_DUMP("last send file:%s\r\n", tmp);
|
||||||
|
#else
|
||||||
strncpy(g_photo_fast_write_file_Path, FilePath, sizeof(g_photo_fast_write_file_Path) - 1);
|
strncpy(g_photo_fast_write_file_Path, FilePath, sizeof(g_photo_fast_write_file_Path) - 1);
|
||||||
|
#endif
|
||||||
|
|
||||||
DBG_IND("Photo_WriteCB logical_id=%d, File=%s, Addr=0x%x, Size=0x%x, Fmt=%d\r\n",logical_id,FilePath, Addr, Size, Fmt);
|
DBG_IND("Photo_WriteCB logical_id=%d, File=%s, Addr=0x%x, Size=0x%x, Fmt=%d\r\n",logical_id,FilePath, Addr, Size, Fmt);
|
||||||
|
|
||||||
open_flag = FST_CREATE_ALWAYS | FST_OPEN_WRITE;
|
open_flag = FST_CREATE_ALWAYS | FST_OPEN_WRITE;
|
||||||
|
@ -1472,7 +1479,8 @@ THREAD_RETTYPE PhotoFast_FlowPreviewThread(void *arg)
|
||||||
|
|
||||||
DBG_DUMP("vcap:%lu vprc:%lu\n", g_vcap_frm_cnt, g_vprc_frm_cnt);
|
DBG_DUMP("vcap:%lu vprc:%lu\n", g_vcap_frm_cnt, g_vprc_frm_cnt);
|
||||||
|
|
||||||
if((g_vcap_frm_cnt >= PHOTOFAST_CAP_FRAME_CNT) && (start_cap == FALSE)){
|
//if((g_vcap_frm_cnt >= PHOTOFAST_CAP_FRAME_CNT) && (start_cap == FALSE)){
|
||||||
|
if (g_vcap_frm_cnt > PHOTOFAST_START_CAP_FRAME_CNT) {
|
||||||
#if HUNTING_PHOTO_FAST_AE_60_FPS == ENABLE
|
#if HUNTING_PHOTO_FAST_AE_60_FPS == ENABLE
|
||||||
PhotoFast_SetTriggerFrmCnt(video_cap_frame.count); /* unbind mode , use vcap frame count */
|
PhotoFast_SetTriggerFrmCnt(video_cap_frame.count); /* unbind mode , use vcap frame count */
|
||||||
#else
|
#else
|
||||||
|
@ -1571,6 +1579,27 @@ THREAD_RETTYPE PhotoFast_FlowPreviewThread(void *arg)
|
||||||
vos_flag_set(PHOTOFAST_FLG_ID, FLGPHOTOFAST_SHUTDOWN);
|
vos_flag_set(PHOTOFAST_FLG_ID, FLGPHOTOFAST_SHUTDOWN);
|
||||||
}
|
}
|
||||||
sf_file_thumb_cfg_sava();
|
sf_file_thumb_cfg_sava();
|
||||||
|
/*UINT32 uiSelect = UI_GetData(FL_PHOTO_SIZE)+1;
|
||||||
|
if(UI_GetData(FL_PHOTO_SIZE) >= PHOTO_SIZE_8M)
|
||||||
|
{
|
||||||
|
|
||||||
|
uiSelect = UI_GetData(FL_PHOTO_SIZE)+1;
|
||||||
|
UI_SetData(FL_PHOTO_SIZE,PHOTO_SIZE_24M);
|
||||||
|
if(puiPara->SendPicSize == SCREEN_PHOTO_SIZE_VGA)
|
||||||
|
{
|
||||||
|
puiPara->SendPicSize = SCREEN_PHOTO_SIZE_2_76M;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
puiPara->SendPicSize = SCREEN_PHOTO_SIZE_VGA;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
UI_SetData(FL_PHOTO_SIZE,uiSelect);
|
||||||
|
}
|
||||||
|
Save_MenuInfo();
|
||||||
|
*/
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
switch (DrvGPIO_GetPhotoMovieModeFromMonitor()) {
|
switch (DrvGPIO_GetPhotoMovieModeFromMonitor()) {
|
||||||
|
@ -1842,8 +1871,9 @@ void PhotoFast_TriggerFrm_Dump(void)
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
DBG_DUMP("\n\n**********************************************************\n"
|
DBG_DUMP("\n\n**********************************************************\n"
|
||||||
" Trigger Speed : Err\n"
|
" Trigger Speed : Err (vcap frame count = %lu)\n"
|
||||||
"**********************************************************\n");
|
"**********************************************************\n",
|
||||||
|
g_vcap_trigger_frm_count);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
1
rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFast.h
Executable file → Normal file
1
rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFast.h
Executable file → Normal file
|
@ -10,6 +10,7 @@
|
||||||
|
|
||||||
#define FLGPHOTOFAST_MASK FLGPTN_BIT_ALL
|
#define FLGPHOTOFAST_MASK FLGPTN_BIT_ALL
|
||||||
#define PHOTOFAST_CAP_FRAME_CNT 6
|
#define PHOTOFAST_CAP_FRAME_CNT 6
|
||||||
|
#define PHOTOFAST_START_CAP_FRAME_CNT 10
|
||||||
#define PHOTOFAST_HD_PUSH_PULL_TIMEOUT_MS 3000
|
#define PHOTOFAST_HD_PUSH_PULL_TIMEOUT_MS 3000
|
||||||
|
|
||||||
// Naming rule & FileDB
|
// Naming rule & FileDB
|
||||||
|
|
|
@ -854,8 +854,14 @@ static INT32 PhotoFast_SliceEncode_Encode_Screennail_RC(HD_VIDEO_FRAME* video_fr
|
||||||
INT8 direction = 0;
|
INT8 direction = 0;
|
||||||
INT32 ret = E_OK;
|
INT32 ret = E_OK;
|
||||||
PhotoFast_SliceEncode_Info* slice_encode_screennail_info = PhotoFast_SliceEncode_Get_Info(PHOTO_ENC_JPG_SCREENNAIL);
|
PhotoFast_SliceEncode_Info* slice_encode_screennail_info = PhotoFast_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));
|
||||||
|
#else
|
||||||
const UINT32 ubount = CFG_PHOTOFAST_SLICE_ENC_RC_SCREENNAIL_UBOUND;
|
const UINT32 ubount = CFG_PHOTOFAST_SLICE_ENC_RC_SCREENNAIL_UBOUND;
|
||||||
const UINT32 lbount = CFG_PHOTOFAST_SLICE_ENC_RC_SCREENNAIL_UBOUND;
|
const UINT32 lbount = CFG_PHOTOFAST_SLICE_ENC_RC_SCREENNAIL_LBOUND;
|
||||||
|
#endif
|
||||||
bool stop_flag = false;
|
bool stop_flag = false;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
|
@ -916,6 +922,9 @@ static INT32 PhotoFast_SliceEncode_Encode_Screennail_RC(HD_VIDEO_FRAME* video_fr
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
} while(1);
|
} while(1);
|
||||||
|
|
||||||
|
@ -2083,11 +2092,14 @@ INT32 PhotoFast_SliceEncode_CB3(void* user_data)
|
||||||
#if HUNTING_CAMERA_MCU == ENABLE
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
char tmp2[64] = {'\0'};
|
char tmp2[64] = {'\0'};
|
||||||
#endif
|
#endif
|
||||||
UINT32 length = strlen(file_path);
|
|
||||||
|
|
||||||
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
|
snprintf(tmp, sizeof(tmp), "%s%s", PHOTO_THUMB_PATH, file_path); /* DCF 8.3 naming rule */
|
||||||
|
#else
|
||||||
|
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 */
|
||||||
snprintf(tmp + strlen(tmp) - 3, sizeof(tmp), "%s", "JPG");
|
snprintf(tmp + strlen(tmp) - 3, sizeof(tmp), "%s", "JPG");
|
||||||
|
#endif
|
||||||
DBG_DUMP("PHOTO THUMB %s\n", tmp);
|
DBG_DUMP("PHOTO THUMB %s\n", tmp);
|
||||||
|
|
||||||
FST_FILE fp = FileSys_OpenFile(tmp, FST_OPEN_ALWAYS | FST_OPEN_WRITE);
|
FST_FILE fp = FileSys_OpenFile(tmp, FST_OPEN_ALWAYS | FST_OPEN_WRITE);
|
||||||
|
@ -2097,12 +2109,12 @@ INT32 PhotoFast_SliceEncode_CB3(void* user_data)
|
||||||
|
|
||||||
#if HUNTING_CAMERA_MCU == ENABLE
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
memset(tmp, '\0', sizeof(tmp));
|
memset(tmp, '\0', sizeof(tmp));
|
||||||
snprintf(tmp, sizeof(tmp), "%s%s", SF_SD_THUMB_PATH, file_path + length - 12); /* DCF 8.3 naming rule */
|
snprintf(tmp, sizeof(tmp), "/mnt/sd/Thumb/%s", file_path); /* DCF 8.3 naming rule */
|
||||||
snprintf(tmp + strlen(tmp) - 3, sizeof(tmp), "%s", "JPG");
|
snprintf(tmp2, sizeof(tmp2), "%s", file_path); /* DCF 8.3 naming rule */
|
||||||
snprintf(tmp2, sizeof(tmp2), "%s", file_path + length - 12); /* DCF 8.3 naming rule */
|
|
||||||
snprintf(tmp2 + strlen(tmp2) - 3, sizeof(tmp2), "%s", "JPG");
|
|
||||||
sf_file_thumb_cfg_fill(tmp, tmp2, queue_ele_in->jpg_thumb_size, SF_FILE_TYPE_PIC_SMALL);
|
sf_file_thumb_cfg_fill(tmp, tmp2, queue_ele_in->jpg_thumb_size, SF_FILE_TYPE_PIC_SMALL);
|
||||||
DBG_DUMP("PHOTO THUMB %s \n %s\n", tmp, tmp2);
|
DBG_DUMP("PHOTO THUMB %s \n %s\n %s\n", tmp, tmp2,file_path);
|
||||||
|
|
||||||
|
printf("%s:%d thumbfileSize:%d thumbfileName:%s thumbfilePath:%s\n", __FUNCTION__, __LINE__,queue_ele_in->jpg_thumb_size,tmp2,tmp);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -526,6 +526,7 @@ typedef struct _UIMenuUIMenuStoreInfo {
|
||||||
UINT8 WifiMode;
|
UINT8 WifiMode;
|
||||||
UINT8 WifiApPWD[16];
|
UINT8 WifiApPWD[16];
|
||||||
UINT8 Zoom;
|
UINT8 Zoom;
|
||||||
|
UINT32 FileKey;
|
||||||
//============Sifar==============///Payton
|
//============Sifar==============///Payton
|
||||||
|
|
||||||
} UIMenuStoreInfo;
|
} UIMenuStoreInfo;
|
||||||
|
@ -772,9 +773,9 @@ enum _PHOTO_SIZE {
|
||||||
#if PHOTO_PREVIEW_SLICE_ENC_FUNC || POWERON_FAST_SLICE_ENC
|
#if PHOTO_PREVIEW_SLICE_ENC_FUNC || POWERON_FAST_SLICE_ENC
|
||||||
PHOTO_SIZE_40M,
|
PHOTO_SIZE_40M,
|
||||||
#endif
|
#endif
|
||||||
|
PHOTO_SIZE_24M,
|
||||||
PHOTO_SIZE_16M,
|
PHOTO_SIZE_16M,
|
||||||
PHOTO_SIZE_12M,
|
PHOTO_SIZE_12M,
|
||||||
PHOTO_SIZE_10M,
|
|
||||||
PHOTO_SIZE_8M,
|
PHOTO_SIZE_8M,
|
||||||
PHOTO_SIZE_5M,
|
PHOTO_SIZE_5M,
|
||||||
PHOTO_SIZE_3M,
|
PHOTO_SIZE_3M,
|
||||||
|
@ -784,12 +785,20 @@ enum _PHOTO_SIZE {
|
||||||
PHOTO_SIZE_1M,
|
PHOTO_SIZE_1M,
|
||||||
PHOTO_SIZE_15M,
|
PHOTO_SIZE_15M,
|
||||||
PHOTO_SIZE_14M,
|
PHOTO_SIZE_14M,
|
||||||
|
PHOTO_SIZE_10M,
|
||||||
PHOTO_SIZE_7M,
|
PHOTO_SIZE_7M,
|
||||||
PHOTO_SIZE_7MHD,
|
PHOTO_SIZE_7MHD,
|
||||||
PHOTO_SIZE_4M,
|
PHOTO_SIZE_4M,
|
||||||
PHOTO_SIZE_2M,
|
PHOTO_SIZE_2M,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum _SCREEN_PHOTO_SIZE {
|
||||||
|
SCREEN_PHOTO_SIZE_VGA,
|
||||||
|
SCREEN_PHOTO_SIZE_XGA,
|
||||||
|
SCREEN_PHOTO_SIZE_2_76M,
|
||||||
|
SCREEN_PHOTO_SIZE_ID_MAX,
|
||||||
|
|
||||||
|
};
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Photo Quality
|
// Photo Quality
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
|
@ -164,9 +164,9 @@ static MOVIE_SIZE_ITEM g_MovieSizeTable[] = {
|
||||||
{1, 3, 36, 8, -8, 0},
|
{1, 3, 36, 8, -8, 0},
|
||||||
{1, 4, 30, 200 * 1024, 30, 26, 10, 40, 26, 10, 40, -40, 1, 8, 4},
|
{1, 4, 30, 200 * 1024, 30, 26, 10, 40, 26, 10, 40, -40, 1, 8, 4},
|
||||||
#else
|
#else
|
||||||
{1920, 1080, 30, 104857/*262144 2M = 2*1024*1024/8 */, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9},
|
{1920, 1080, 30, /*104857*/262144/* 2M = 2*1024*1024/8 */, MEDIAREC_DAR_DEFAULT, IMAGERATIO_16_9},
|
||||||
{1, 3, 36, 8, -8, 0},
|
{1, 3, 36, 8, -8, 0},
|
||||||
{1, 4, 30, 104857/*262144 2M = 2*1024*1024/8 */, 30, 26, 15, 50, 26, 15, 50, 0, 1, 8, 4},
|
{1, 4, 30, /*104857*/262144/* 2M = 2*1024*1024/8 */, 30, 26, 15, 50, 26, 15, 50, 0, 1, 8, 4},
|
||||||
#endif
|
#endif
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -30,9 +30,9 @@ static PHOTO_SIZE_PARAM g_PhotoCapSizeTable[PHOTO_SIZE_ID_MAX + 2] = {
|
||||||
#if PHOTO_PREVIEW_SLICE_ENC_FUNC || POWERON_FAST_SLICE_ENC
|
#if PHOTO_PREVIEW_SLICE_ENC_FUNC || POWERON_FAST_SLICE_ENC
|
||||||
{7552, 4248, IMAGERATIO_4_3, "40M"}, /* 40M */
|
{7552, 4248, IMAGERATIO_4_3, "40M"}, /* 40M */
|
||||||
#endif
|
#endif
|
||||||
|
{5632, 4224, IMAGERATIO_4_3, "24M"}, //16M
|
||||||
{4608, 3456, IMAGERATIO_4_3, "16M"}, //16M
|
{4608, 3456, IMAGERATIO_4_3, "16M"}, //16M
|
||||||
{4032, 3024, IMAGERATIO_4_3, "12M"}, //12M
|
{4032, 3024, IMAGERATIO_4_3, "12M"}, //12M
|
||||||
{3648, 2736, IMAGERATIO_4_3, "10M"}, //10M
|
|
||||||
{3264, 2448, IMAGERATIO_4_3, "8M"}, // 8M
|
{3264, 2448, IMAGERATIO_4_3, "8M"}, // 8M
|
||||||
|
|
||||||
#if defined(_MODEL_565_HUNTING_EVB_LINUX_4G_68CS_)
|
#if defined(_MODEL_565_HUNTING_EVB_LINUX_4G_68CS_)
|
||||||
|
@ -46,14 +46,17 @@ static PHOTO_SIZE_PARAM g_PhotoCapSizeTable[PHOTO_SIZE_ID_MAX + 2] = {
|
||||||
// +2 mode (only for internel test!!!)
|
// +2 mode (only for internel test!!!)
|
||||||
{1280, 960, IMAGERATIO_4_3, "1.3M"}, // 1.3M
|
{1280, 960, IMAGERATIO_4_3, "1.3M"}, // 1.3M
|
||||||
{1920, 1080, IMAGERATIO_16_9, "2MHD"}, // 2MHD
|
{1920, 1080, IMAGERATIO_16_9, "2MHD"}, // 2MHD
|
||||||
|
/*{3648, 2736, IMAGERATIO_4_3, "10M"}, //10M*/
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static PHOTO_SIZE_PARAM g_ScreenNailSizeTable[PHOTO_SIZE_ID_MAX + 2] = {
|
static PHOTO_SIZE_PARAM g_ScreenNailSizeTable[SCREEN_PHOTO_SIZE_ID_MAX + 2] = {
|
||||||
#if defined(_MODEL_565_HUNTING_EVB_LINUX_4G_68CS_)
|
#if defined(_MODEL_565_HUNTING_EVB_LINUX_4G_68CS_)
|
||||||
{1024, 768, IMAGERATIO_4_3, "0.78M"}, // 0.78M
|
{1024, 768, IMAGERATIO_4_3, "0.78M"}, // 0.78M
|
||||||
#elif defined(_MODEL_565_HUNTING_EVB_LINUX_4G_S530_)
|
#elif defined(_MODEL_565_HUNTING_EVB_LINUX_4G_S530_)
|
||||||
{640, 480, IMAGERATIO_4_3, "VGA"}, // VGA
|
{640, 480, IMAGERATIO_4_3, "VGA"}, // VGA
|
||||||
{1024, 768, IMAGERATIO_4_3, "0.78M"}, // 0.78M
|
{1024, 768, IMAGERATIO_4_3, "XGA"}, // 0.78M
|
||||||
|
{1920, 1440, IMAGERATIO_4_3, "2.76M"}, // 2.76M
|
||||||
#endif
|
#endif
|
||||||
//CFG_SCREENNAIL_W
|
//CFG_SCREENNAIL_W
|
||||||
//CFG_SCREENNAIL_H
|
//CFG_SCREENNAIL_H
|
||||||
|
|
|
@ -28,6 +28,8 @@
|
||||||
//#ifndef SF_I2C_NAME
|
//#ifndef SF_I2C_NAME
|
||||||
#define SF_I2C_NAME "sf_mcu"
|
#define SF_I2C_NAME "sf_mcu"
|
||||||
//#endif
|
//#endif
|
||||||
|
#define SF_SEND_LIST_ITEM_LENGTH 15
|
||||||
|
#define SF_THUMB_SEND_LIST "A:\\Thumb\\send.list"
|
||||||
|
|
||||||
#define SF_SD_THUMB_PATH "A:\\Thumb\\ThumbFileCfg"
|
#define SF_SD_THUMB_PATH "A:\\Thumb\\ThumbFileCfg"
|
||||||
//#ifndef SF_I2C_ADDR
|
//#ifndef SF_I2C_ADDR
|
||||||
|
@ -465,7 +467,7 @@ typedef enum sf_FILE_TYPE_E
|
||||||
typedef struct sf_FILE_ATTR_S {
|
typedef struct sf_FILE_ATTR_S {
|
||||||
|
|
||||||
SF_FILE_TYPE_E enFileTye;
|
SF_FILE_TYPE_E enFileTye;
|
||||||
char thumbfileName[SF_MAX_PIC_LEN];
|
char thumbfileName[SF_SEND_LIST_ITEM_LENGTH];
|
||||||
char thumbfilePath[SF_MAX_PATH_LEN];
|
char thumbfilePath[SF_MAX_PATH_LEN];
|
||||||
char txtfilePath[SF_MAX_PATH_LEN];
|
char txtfilePath[SF_MAX_PATH_LEN];
|
||||||
char txtfileName[SF_MAX_PIC_LEN];
|
char txtfileName[SF_MAX_PIC_LEN];
|
||||||
|
@ -514,6 +516,6 @@ void sf_file_thumb_cfg_fill(char* filepath,char* fileName,UINT32 size, SF_FILE_T
|
||||||
void sf_file_thumb_cfg_set(SF_SRCFILE_ATTR_S *pThumbFileCfgl);
|
void sf_file_thumb_cfg_set(SF_SRCFILE_ATTR_S *pThumbFileCfgl);
|
||||||
void sf_file_thumb_cfg_clear(void);
|
void sf_file_thumb_cfg_clear(void);
|
||||||
void sf_file_thumb_cfg_sava(void);
|
void sf_file_thumb_cfg_sava(void);
|
||||||
|
void sf_add_file_name_to_send_list(char *sendfname);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@ RTOS_OUTPUT_DIR = $(CURR_DRIVER_DIR)/output
|
||||||
CARDV_DIR = $(APP_DIR)/source/cardv
|
CARDV_DIR = $(APP_DIR)/source/cardv
|
||||||
CARDV_SOURCE_DIR = $(CARDV_DIR)/SrcCode
|
CARDV_SOURCE_DIR = $(CARDV_DIR)/SrcCode
|
||||||
CARDV_SOURCE_UIINFO_DIR = $(CARDV_SOURCE_DIR)/UIWnd/LVGL_SPORTCAM/UIInfo
|
CARDV_SOURCE_UIINFO_DIR = $(CARDV_SOURCE_DIR)/UIWnd/LVGL_SPORTCAM/UIInfo
|
||||||
|
CARDV_SOURCE_LVGL_SPORTCAM_DIR = $(CARDV_SOURCE_DIR)/UIWnd/LVGL_SPORTCAM
|
||||||
|
|
||||||
# INCs
|
# INCs
|
||||||
VOS_INC_PATH = $(VOS_DRIVER_DIR)/include
|
VOS_INC_PATH = $(VOS_DRIVER_DIR)/include
|
||||||
|
@ -25,7 +26,8 @@ EXTRA_INCLUDE += -I$(VOS_INC_PATH) \
|
||||||
-I$(CARDV_SOURCE_DIR) \
|
-I$(CARDV_SOURCE_DIR) \
|
||||||
-I$(INCLUDE_DIR) \
|
-I$(INCLUDE_DIR) \
|
||||||
-I$(INCLUDE_DIR) \
|
-I$(INCLUDE_DIR) \
|
||||||
-I$(CARDV_SOURCE_DIR)/Gx/include
|
-I$(CARDV_SOURCE_DIR)/Gx/include \
|
||||||
|
-I$(CARDV_SOURCE_LVGL_SPORTCAM_DIR)
|
||||||
|
|
||||||
.PHONY: modules modules_install clean
|
.PHONY: modules modules_install clean
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
|
@ -18,33 +18,33 @@
|
||||||
* Description: creat
|
* Description: creat
|
||||||
**************************************************************************/
|
**************************************************************************/
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
#ifdef __KERNEL__
|
||||||
#include <linux/delay.h>
|
#include <linux/delay.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
//#include <mach/rcw_macro.h>
|
//#include <mach/rcw_macro.h>
|
||||||
//#include "kwrap/type.h"
|
//#include "kwrap/type.h"
|
||||||
//#include "kwrap/semaphore.h"
|
//#include "kwrap/semaphore.h"
|
||||||
//#include "kwrap/flag.h"
|
//#include "kwrap/flag.h"
|
||||||
#include <sf_mcu.h>
|
#include <sf_mcu.h>
|
||||||
#else
|
#else
|
||||||
//#include "kwrap/type.h"
|
//#include "kwrap/type.h"
|
||||||
//#include "kwrap/semaphore.h"
|
//#include "kwrap/semaphore.h"
|
||||||
//#include "kwrap/flag.h"
|
//#include "kwrap/flag.h"
|
||||||
#include <sf_mcu.h>
|
#include <sf_mcu.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define __MODULE__ sf_i2c_mcu
|
#define __MODULE__ sf_i2c_mcu
|
||||||
#define __DBGLVL__ 2 // 0=FATAL, 1=ERR, 2=WRN, 3=UNIT, 4=FUNC, 5=IND, 6=MSG, 7=VALUE, 8=USER
|
#define __DBGLVL__ 2 // 0=FATAL, 1=ERR, 2=WRN, 3=UNIT, 4=FUNC, 5=IND, 6=MSG, 7=VALUE, 8=USER
|
||||||
#define __DBGFLT__ "*" // *=All, [mark]=CustomClass
|
#define __DBGFLT__ "*" // *=All, [mark]=CustomClass
|
||||||
#include "kwrap/debug.h"
|
#include "kwrap/debug.h"
|
||||||
//#include <kwrap/debug.h>
|
//#include <kwrap/debug.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <kwrap/util.h>
|
#include <kwrap/util.h>
|
||||||
#include "comm/hwclock.h"
|
#include "comm/hwclock.h"
|
||||||
#include "comm/timer.h"
|
#include "comm/timer.h"
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <rtos_na51089/gpio.h>
|
#include <rtos_na51089/gpio.h>
|
||||||
#include "UIInfo.h"
|
#include "UIInfo/UIInfo.h"
|
||||||
#include "GxUSB.h"
|
#include "GxUSB.h"
|
||||||
#include "kwrap/task.h"
|
#include "kwrap/task.h"
|
||||||
#include <uart.h>
|
#include <uart.h>
|
||||||
|
@ -143,7 +143,7 @@ unsigned char cmpValBuf[BUF_REG_SIZE] = {0};
|
||||||
static unsigned char sf_commu_mcu_exit = 1;
|
static unsigned char sf_commu_mcu_exit = 1;
|
||||||
static VK_TASK_HANDLE sfCommuMcuThread = 0;
|
static VK_TASK_HANDLE sfCommuMcuThread = 0;
|
||||||
THREAD_RETTYPE sf_commu_mcu_task(void *arg);
|
THREAD_RETTYPE sf_commu_mcu_task(void *arg);
|
||||||
|
|
||||||
int gsfd = -1;
|
int gsfd = -1;
|
||||||
|
|
||||||
void mcubuf_reset(void)
|
void mcubuf_reset(void)
|
||||||
|
@ -286,7 +286,7 @@ int sf_set_mcu_reg_many(unsigned char reg[], unsigned char val[], unsigned int n
|
||||||
sndBuf[index] = num;
|
sndBuf[index] = num;
|
||||||
|
|
||||||
for(i = 0; i < num; i++)
|
for(i = 0; i < num; i++)
|
||||||
{
|
{
|
||||||
index++;
|
index++;
|
||||||
sndBuf[index] = reg[i];
|
sndBuf[index] = reg[i];
|
||||||
index++;
|
index++;
|
||||||
|
@ -330,9 +330,9 @@ int sf_get_mcu_reg_many(unsigned char reg[], unsigned int num)
|
||||||
index++;
|
index++;
|
||||||
sndBuf[index] = num;
|
sndBuf[index] = num;
|
||||||
|
|
||||||
|
|
||||||
for(i = 0; i < num; i++)
|
for(i = 0; i < num; i++)
|
||||||
{
|
{
|
||||||
index++;
|
index++;
|
||||||
sndBuf[index] = reg[i];
|
sndBuf[index] = reg[i];
|
||||||
}
|
}
|
||||||
|
@ -428,7 +428,7 @@ unsigned int sf_get_mcu_reg_ack_depack_many(unsigned char reg[], unsigned char v
|
||||||
*num = smap_buf.buf[3];
|
*num = smap_buf.buf[3];
|
||||||
|
|
||||||
for(i = 0; i < *num; i++)
|
for(i = 0; i < *num; i++)
|
||||||
{
|
{
|
||||||
reg[i]= smap_buf.buf[j];
|
reg[i]= smap_buf.buf[j];
|
||||||
j++;
|
j++;
|
||||||
val[i]= smap_buf.buf[j];
|
val[i]= smap_buf.buf[j];
|
||||||
|
@ -714,7 +714,7 @@ unsigned char sf_commu_parse_mcu_data(unsigned char * src, unsigned int len)
|
||||||
|
|
||||||
THREAD_RETTYPE sf_commu_mcu_task(void *arg)
|
THREAD_RETTYPE sf_commu_mcu_task(void *arg)
|
||||||
{
|
{
|
||||||
THREAD_ENTRY();
|
THREAD_ENTRY();
|
||||||
static unsigned char buffer[BUF_REG_SIZE] = {0};
|
static unsigned char buffer[BUF_REG_SIZE] = {0};
|
||||||
int i = 0;
|
int i = 0;
|
||||||
int readLen = 0;
|
int readLen = 0;
|
||||||
|
@ -833,7 +833,7 @@ THREAD_RETTYPE sf_commu_mcu_task(void *arg)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
THREAD_RETURN(0);
|
THREAD_RETURN(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -37,13 +37,15 @@
|
||||||
#include "comm/timer.h"
|
#include "comm/timer.h"
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <rtos_na51089/gpio.h>
|
#include <rtos_na51089/gpio.h>
|
||||||
#include "UIInfo.h"
|
#include "UIInfo/UIInfo.h"
|
||||||
#include "GxUSB.h"
|
#include "GxUSB.h"
|
||||||
|
|
||||||
#include <uart.h>
|
#include <uart.h>
|
||||||
#include "FileSysTsk.h"
|
#include "FileSysTsk.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
static UINT8 McuSubVersion = 0;
|
static UINT8 McuSubVersion = 0;
|
||||||
static UINT16 McuVersion = 0;
|
static UINT16 McuVersion = 0;
|
||||||
|
@ -2015,7 +2017,7 @@ void sf_file_thumb_cfg_fill(char* filepath,char* fileName, UINT32 size, SF_FILE_
|
||||||
{
|
{
|
||||||
if (pThumbFileCfg == NULL) {
|
if (pThumbFileCfg == NULL) {
|
||||||
pThumbFileCfg = malloc(sizeof(SF_SRCFILE_ATTR_S));
|
pThumbFileCfg = malloc(sizeof(SF_SRCFILE_ATTR_S));
|
||||||
|
memset(pThumbFileCfg, 0, sizeof(SF_SRCFILE_ATTR_S));
|
||||||
printf("%s:%d pThumbFileCfg malloc\n", __FUNCTION__, __LINE__);
|
printf("%s:%d pThumbFileCfg malloc\n", __FUNCTION__, __LINE__);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2051,6 +2053,9 @@ void sf_file_thumb_cfg_clear(void)
|
||||||
void sf_file_thumb_cfg_sava(void)
|
void sf_file_thumb_cfg_sava(void)
|
||||||
{
|
{
|
||||||
printf("%s:%d s\n", __FUNCTION__, __LINE__);
|
printf("%s:%d s\n", __FUNCTION__, __LINE__);
|
||||||
|
|
||||||
|
|
||||||
|
#if 0
|
||||||
char tmp[64] = {'\0'};
|
char tmp[64] = {'\0'};
|
||||||
snprintf(tmp, sizeof(tmp), "%s", SF_SD_THUMB_PATH);
|
snprintf(tmp, sizeof(tmp), "%s", SF_SD_THUMB_PATH);
|
||||||
|
|
||||||
|
@ -2058,13 +2063,68 @@ void sf_file_thumb_cfg_sava(void)
|
||||||
{
|
{
|
||||||
printf("%s:%d delete failed\n", __FUNCTION__, __LINE__);
|
printf("%s:%d delete failed\n", __FUNCTION__, __LINE__);
|
||||||
}
|
}
|
||||||
FST_FILE fp = FileSys_OpenFile(tmp, FST_CREATE_ALWAYS | FST_OPEN_WRITE);
|
//FST_FILE fp = FileSys_OpenFile(tmp, FST_CREATE_ALWAYS | FST_OPEN_WRITE);
|
||||||
|
|
||||||
|
int fd = open(tmp, O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR);
|
||||||
|
if (fd == -1)
|
||||||
|
{
|
||||||
|
printf("%s:%d err\n", __FUNCTION__, __LINE__);
|
||||||
|
// 处理文件打开失败的错误
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
|
||||||
|
lseek(fd, 0, SEEK_SET);
|
||||||
UINT32 size = sizeof(SF_SRCFILE_ATTR_S);
|
UINT32 size = sizeof(SF_SRCFILE_ATTR_S);
|
||||||
|
write(fd, pThumbFileCfg, size);
|
||||||
|
close(fd);
|
||||||
|
|
||||||
FileSys_WriteFile(fp, (UINT8*)pThumbFileCfg, &size, 0, NULL);
|
//FileSys_WriteFile(fp, (UINT8*)pThumbFileCfg, &size, 0, NULL);
|
||||||
FileSys_CloseFile(fp);
|
//FileSys_CloseFile(fp);
|
||||||
free(pThumbFileCfg);
|
free(pThumbFileCfg);
|
||||||
printf("%s:%d e\n", __FUNCTION__, __LINE__);
|
#endif
|
||||||
|
UINT8 fileIndex = 0;
|
||||||
|
for(fileIndex = 0; fileIndex < pThumbFileCfg->filecnt; fileIndex++)
|
||||||
|
{
|
||||||
|
sf_add_file_name_to_send_list(pThumbFileCfg->stfileattr[fileIndex].thumbfileName);
|
||||||
|
printf("%s:%d thumbfileSize:%ld thumbfileName:%s thumbfilePath:%s\n", __FUNCTION__, __LINE__,pThumbFileCfg->stfileattr[fileIndex].thumbfileSize,pThumbFileCfg->stfileattr[fileIndex].thumbfileName,pThumbFileCfg->stfileattr[fileIndex].thumbfilePath);
|
||||||
|
}
|
||||||
|
printf("%s:%d e Size:%ld\n", __FUNCTION__, __LINE__,pThumbFileCfg->stfileattr[fileIndex].thumbfileSize);
|
||||||
|
free(pThumbFileCfg);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*************************************************
|
||||||
|
Function: sf_add_file_name_to_send_list
|
||||||
|
Description: add file name to send list
|
||||||
|
Input: sendfname
|
||||||
|
Output: N/A
|
||||||
|
Return: N/A
|
||||||
|
Others: N/A
|
||||||
|
*************************************************/
|
||||||
|
void sf_add_file_name_to_send_list(char *sendfname)
|
||||||
|
{
|
||||||
|
char sendListName[64] = {0};
|
||||||
|
char buff[SF_SEND_LIST_ITEM_LENGTH+1] = {0};
|
||||||
|
//UINT32 fd = 0;
|
||||||
|
UIMenuStoreInfo *puiPara = sf_ui_para_get();
|
||||||
|
|
||||||
|
if(strlen(sendfname) != SF_SEND_LIST_ITEM_LENGTH-3) //3 ->CamMode \r\n
|
||||||
|
{
|
||||||
|
printf("%s:%d AddFileNameToSenddist fail: send file name format error\n", __FUNCTION__, __LINE__);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("Add %s to send.List\n", sendfname);
|
||||||
|
strcpy(sendListName, SF_THUMB_SEND_LIST);
|
||||||
|
|
||||||
|
int fd = open(sendListName, O_APPEND | O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR);
|
||||||
|
|
||||||
|
if(fd)
|
||||||
|
{
|
||||||
|
sprintf(buff, "%d%s\r\n", puiPara->CamMode, sendfname);
|
||||||
|
write(fd, buff, SF_SEND_LIST_ITEM_LENGTH);
|
||||||
|
close(fd);
|
||||||
|
printf("Add Success\n");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined __FREERTOS
|
#if defined __FREERTOS
|
||||||
|
|
|
@ -41,7 +41,7 @@
|
||||||
#include <kwrap/debug.h>
|
#include <kwrap/debug.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
//#include <io/gpio.h>
|
//#include <io/gpio.h>
|
||||||
#include "UIInfo.h"
|
#include "UIInfo/UIInfo.h"
|
||||||
#include <FileSysTsk.h>
|
#include <FileSysTsk.h>
|
||||||
|
|
||||||
static BOOL IsCardFull = FALSE;
|
static BOOL IsCardFull = FALSE;
|
||||||
|
|
27
rtos/code/hdal/ext_devices/sensor/sen_os05b10/sen_os05b10.c
Executable file → Normal file
27
rtos/code/hdal/ext_devices/sensor/sen_os05b10/sen_os05b10.c
Executable file → Normal file
|
@ -102,6 +102,10 @@ static void sen_set_cur_fps_os05b10(CTL_SEN_ID id, UINT32 fps);
|
||||||
static UINT32 sen_get_cur_fps_os05b10(CTL_SEN_ID id);
|
static UINT32 sen_get_cur_fps_os05b10(CTL_SEN_ID id);
|
||||||
static void sen_set_chgmode_fps_os05b10(CTL_SEN_ID id, UINT32 fps);
|
static void sen_set_chgmode_fps_os05b10(CTL_SEN_ID id, UINT32 fps);
|
||||||
static UINT32 sen_get_chgmode_fps_os05b10(CTL_SEN_ID id);
|
static UINT32 sen_get_chgmode_fps_os05b10(CTL_SEN_ID id);
|
||||||
|
extern void get_preset_param(void);
|
||||||
|
extern ISP_SENSOR_INIT_INFO *sen_preset_param(void);
|
||||||
|
|
||||||
|
BOOL ae_preset_flag = FALSE;
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
// global variable
|
// global variable
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
|
@ -1472,8 +1476,15 @@ static ER sen_open_os05b10(CTL_SEN_ID id)
|
||||||
#if defined(__KERNEL__)
|
#if defined(__KERNEL__)
|
||||||
sen_i2c_reg_cb(sen_load_cfg_from_compatible_os05b10);
|
sen_i2c_reg_cb(sen_load_cfg_from_compatible_os05b10);
|
||||||
#endif
|
#endif
|
||||||
|
if (ae_preset_flag == FALSE){
|
||||||
preset_ctrl[id].mode = ISP_SENSOR_PRESET_DEFAULT;
|
preset_ctrl[id].mode = ISP_SENSOR_PRESET_DEFAULT;
|
||||||
|
ae_preset_flag = TRUE;
|
||||||
|
}else {
|
||||||
|
preset_ctrl[id].mode = ISP_SENSOR_PRESET_CHGMODE;
|
||||||
|
|
||||||
|
}
|
||||||
|
// DBG_ERR(">>>>>>>>>>>>>>os05bl0 open ae mode %d\r\n",preset_ctrl[id].mode);
|
||||||
|
|
||||||
i2c_valid[id] = TRUE;
|
i2c_valid[id] = TRUE;
|
||||||
if ((!is_fastboot[id]) || (fastboot_i2c_id[id] != sen_i2c[id].id) || (fastboot_i2c_addr[id] != sen_i2c[id].addr)) {
|
if ((!is_fastboot[id]) || (fastboot_i2c_id[id] != sen_i2c[id].id) || (fastboot_i2c_addr[id] != sen_i2c[id].addr)) {
|
||||||
rt = sen_i2c_init_driver(id, &sen_i2c[id]);
|
rt = sen_i2c_init_driver(id, &sen_i2c[id]);
|
||||||
|
@ -1680,11 +1691,25 @@ static ER sen_chg_mode_os05b10(CTL_SEN_ID id, CTL_SENDRV_CHGMODE_OBJ chgmode_obj
|
||||||
switch (preset_ctrl[id].mode) {
|
switch (preset_ctrl[id].mode) {
|
||||||
default:
|
default:
|
||||||
case ISP_SENSOR_PRESET_DEFAULT:
|
case ISP_SENSOR_PRESET_DEFAULT:
|
||||||
|
//DBG_ERR("????????pre set default\r\n");
|
||||||
|
if(1)
|
||||||
|
{
|
||||||
|
get_preset_param();
|
||||||
|
ISP_SENSOR_INIT_INFO *set_preset_param=sen_preset_param();
|
||||||
|
sensor_ctrl.exp_time[0]=set_preset_param->expt;
|
||||||
|
sensor_ctrl.gain_ratio[0]=set_preset_param->gain;
|
||||||
|
sen_preset[id].gain_ratio = set_preset_param->expt;
|
||||||
|
sen_preset[id].expt_time = set_preset_param->gain;
|
||||||
|
//DBG_ERR("chg_mode_exp_time:%d,gain:%d\r\n",sensor_ctrl.exp_time[0],sensor_ctrl.gain_ratio[0]);
|
||||||
|
}
|
||||||
|
else{
|
||||||
sensor_ctrl.gain_ratio[0] = sen_preset[id].gain_ratio;
|
sensor_ctrl.gain_ratio[0] = sen_preset[id].gain_ratio;
|
||||||
sensor_ctrl.exp_time[0] = sen_preset[id].expt_time;
|
sensor_ctrl.exp_time[0] = sen_preset[id].expt_time;
|
||||||
|
//DBG_ERR(">>>>>>>> pre set default exp: %d iso: %d\r\n",sen_preset[id].expt_time,sen_preset[id].gain_ratio);
|
||||||
if (mode_basic_param[cur_sen_mode[id]].frame_num == 2) {
|
if (mode_basic_param[cur_sen_mode[id]].frame_num == 2) {
|
||||||
sensor_ctrl.exp_time[1] = sen_preset[id].expt_time >> 3;
|
sensor_ctrl.exp_time[1] = sen_preset[id].expt_time >> 3;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ISP_SENSOR_PRESET_CHGMODE:
|
case ISP_SENSOR_PRESET_CHGMODE:
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
version-info = [00 01 00 01];
|
version-info = [00 01 00 01];
|
||||||
ae_expect_lum {
|
ae_expect_lum {
|
||||||
size = [b0 00 00 00];
|
size = [b0 00 00 00];
|
||||||
data = [3c 00 00 00 3c 00 00 00 44 00 00 00 44 00 00 00 44 00 00 00 44 00 00 00 44 00 00 00 44 00 00 00 44 00 00 00 44 00 00 00 44 00 00 00 44 00 00 00 44 00 00 00 52 00 00 00 52 00 00 00 52 00 00 00 52 00 00 00 52 00 00 00 52 00 00 00 52 00 00 00 52 00 00 00 52 00 00 00 52 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 3c 00 00 00 46 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00];
|
data = [3c 00 00 00 3c 00 00 00 3a 00 00 00 3a 00 00 00 3a 00 00 00 3a 00 00 00 3a 00 00 00 3a 00 00 00 3a 00 00 00 3a 00 00 00 44 00 00 00 44 00 00 00 44 00 00 00 52 00 00 00 52 00 00 00 52 00 00 00 52 00 00 00 52 00 00 00 52 00 00 00 52 00 00 00 52 00 00 00 52 00 00 00 52 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 3c 00 00 00 46 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00];
|
||||||
};
|
};
|
||||||
ae_la_clamp {
|
ae_la_clamp {
|
||||||
size = [50 01 00 00];
|
size = [50 01 00 00];
|
||||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user