diff --git a/code/application/source/cardv/SrcCode/Dx/565_HUNTING_EVB_LINUX_4G_S550/IOCfg.h b/code/application/source/cardv/SrcCode/Dx/565_HUNTING_EVB_LINUX_4G_S550/IOCfg.h index 1147df5c6..82e78eed7 100755 --- a/code/application/source/cardv/SrcCode/Dx/565_HUNTING_EVB_LINUX_4G_S550/IOCfg.h +++ b/code/application/source/cardv/SrcCode/Dx/565_HUNTING_EVB_LINUX_4G_S550/IOCfg.h @@ -345,6 +345,7 @@ extern BOOL GPIOMap_DetPoweroff(void); #define SF_ADC_MUXA DSI_GPIO_0 #define SF_ADC_MUXB DSI_GPIO_1 #define SF_WIFI_EN P_GPIO_11 +#define SF_BT_EN L_GPIO_2 #define LED_FOCUS_CTRL LED_RED_DUMMY #define GPIO_FOCUS_LED x_GPIO_x //FPGA diff --git a/code/application/source/cardv/SrcCode/System/SysMain_Exe.c b/code/application/source/cardv/SrcCode/System/SysMain_Exe.c index 468c729db..e5b987596 100755 --- a/code/application/source/cardv/SrcCode/System/SysMain_Exe.c +++ b/code/application/source/cardv/SrcCode/System/SysMain_Exe.c @@ -466,11 +466,16 @@ INT32 System_OnShutdown(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray) DBG_ERR("lens error **********\r\n"); } else { #if (POWEROFFLOGO_FUNCTION == ENABLE) - GxDisplay_Set(LAYER_OSD1, LAYER_STATE_ENABLE, 0); //turn off OSD1 - GxDisplay_Flush(LAYER_OSD1); + #if HUNTING_CAMERA_MCU == ENABLE + if(sf_get_mode_flag()) + #endif + { + GxDisplay_Set(LAYER_OSD1, LAYER_STATE_ENABLE, 0); //turn off OSD1 + GxDisplay_Flush(LAYER_OSD1); - Display_ShowSplash(SPLASH_POWEROFF); - SwTimer_DelayMs(500); + Display_ShowSplash(SPLASH_POWEROFF); + SwTimer_DelayMs(500); + } #endif } #if HUNTING_CAMERA_MCU == ENABLE diff --git a/code/application/source/sf_app/build/rtk_hciattach b/code/application/source/sf_app/build/rtk_hciattach new file mode 100755 index 000000000..7e6d4832e Binary files /dev/null and b/code/application/source/sf_app/build/rtk_hciattach differ diff --git a/code/application/source/sf_app/build/rtl8723d_config b/code/application/source/sf_app/build/rtl8723d_config new file mode 100755 index 000000000..edde876e7 Binary files /dev/null and b/code/application/source/sf_app/build/rtl8723d_config differ diff --git a/code/application/source/sf_app/build/rtl8723d_fw b/code/application/source/sf_app/build/rtl8723d_fw new file mode 100755 index 000000000..6d54ef0f1 Binary files /dev/null and b/code/application/source/sf_app/build/rtl8723d_fw differ diff --git a/code/application/source/sf_app/code/include/sf_device.h b/code/application/source/sf_app/code/include/sf_device.h index 23a47f83e..1cb8b81d4 100644 --- a/code/application/source/sf_app/code/include/sf_device.h +++ b/code/application/source/sf_app/code/include/sf_device.h @@ -55,6 +55,8 @@ void sf_set_pir_statu_flag(SINT32 flag); BOOL sf_load_ko(void); +BOOL sf_load_bt_ko(void); + SINT32 sf_in_update(void); #ifdef __cplusplus diff --git a/code/application/source/sf_app/code/include/sf_hal_gpio.h b/code/application/source/sf_app/code/include/sf_hal_gpio.h index d2f930a90..418d1609b 100755 --- a/code/application/source/sf_app/code/include/sf_hal_gpio.h +++ b/code/application/source/sf_app/code/include/sf_hal_gpio.h @@ -29,6 +29,7 @@ int sf_app_pir_statu_read(void); UINT32 sf_app_data_ready_read(void); void sf_set_wifi_en(UINT32 cnt); +void sf_set_bt_en(UINT32 cnt); #ifdef __cplusplus #if __cplusplus } diff --git a/code/application/source/sf_app/code/source/app/sf_app.c b/code/application/source/sf_app/code/source/app/sf_app.c index de4d24fff..d60980f9f 100755 --- a/code/application/source/sf_app/code/source/app/sf_app.c +++ b/code/application/source/sf_app/code/source/app/sf_app.c @@ -155,9 +155,13 @@ int main(int argc, char *argv[]) if((!isUsb) && (SF_MCU_STARTUP_NORMAL != startup) && (SF_MCU_STARTUP_OFF != startup)/*&& (0 == isUpdate)*/) { #if SF_IQ_TEST != ENABLE - if((0 == isUpdate) && (puiPara->GprsSwitch)) + if(SF_MCU_STARTUP_ONKEY == startup) { sf_set_wifi_en(1); + sf_set_bt_en(1); + } + if((0 == isUpdate) && (puiPara->GprsSwitch)) + { sf_4G_usb_init(); app_RegisterNet_start(); } diff --git a/code/application/source/sf_app/code/source/app/sf_device.c b/code/application/source/sf_app/code/source/app/sf_device.c index 5cb7cf871..f35a5a153 100755 --- a/code/application/source/sf_app/code/source/app/sf_device.c +++ b/code/application/source/sf_app/code/source/app/sf_device.c @@ -617,6 +617,18 @@ BOOL sf_load_ko(void) return ret2; } +BOOL sf_load_bt_ko(void) +{ + BOOL ret2 = TRUE; + int ret = 0; + ret = system("modprobe hci_uart"); + if(0 != ret) + { + ret2 = FALSE; + } + //MLOGI("finsihed.\n"); + return ret2; +} SINT32 sf_in_update(void) { SINT8 regValue = 0; diff --git a/code/application/source/sf_app/code/source/app/sf_system.c b/code/application/source/sf_app/code/source/app/sf_system.c index 8b05728ce..89be789fa 100755 --- a/code/application/source/sf_app/code/source/app/sf_system.c +++ b/code/application/source/sf_app/code/source/app/sf_system.c @@ -1327,6 +1327,7 @@ void* sf_app_load_ko_thread(void *arg) sf_load_ko(); + sf_load_bt_ko(); /*if((SF_MCU_STARTUP_NORMAL != sf_poweron_type_get()) && (0 == sf_get_fw_update())) { #if SF_IQ_TEST != ENABLE diff --git a/code/application/source/sf_app/code/source/gpio/sf_hal_gpio.c b/code/application/source/sf_app/code/source/gpio/sf_hal_gpio.c index 67758310e..123296acd 100755 --- a/code/application/source/sf_app/code/source/gpio/sf_hal_gpio.c +++ b/code/application/source/sf_app/code/source/gpio/sf_hal_gpio.c @@ -194,6 +194,17 @@ void sf_set_wifi_en(UINT32 cnt) gpio_set_value(SF_WIFI_EN, cnt); printf("[%s:%d] e cnt:%d\n", __FUNCTION__, __LINE__,cnt); } +void sf_set_bt_en(UINT32 cnt) +{ + static UINT8 state = 0; + if(0 == state) + { + state = 1; + gpio_direction_output(SF_BT_EN, 1); + } + gpio_set_value(SF_BT_EN, cnt); + printf("[%s:%d] e cnt:%d\n", __FUNCTION__, __LINE__,cnt); +} #ifdef __cplusplus #if __cplusplus diff --git a/rtos/code/application/source/cardv/SrcCode/System/SysMain_Exe.c b/rtos/code/application/source/cardv/SrcCode/System/SysMain_Exe.c index dc9698a74..f8cf1eceb 100755 --- a/rtos/code/application/source/cardv/SrcCode/System/SysMain_Exe.c +++ b/rtos/code/application/source/cardv/SrcCode/System/SysMain_Exe.c @@ -16,7 +16,9 @@ #include "Utility/SwTimer.h" #include "vendor_common.h" #include "UIApp/Network/EthCamAppNetwork.h" - +#if HUNTING_CAMERA_MCU == ENABLE +#include "sf_mcu.h" +#endif #define THIS_DBGLVL 2 // 0=FATAL, 1=ERR, 2=WRN, 3=UNIT, 4=FUNC, 5=IND, 6=MSG, 7=VALUE, 8=USER /////////////////////////////////////////////////////////////////////////////// #define __MODULE__ SysMainExe @@ -393,11 +395,16 @@ INT32 System_OnShutdown(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray) DBG_ERR("lens error **********\r\n"); } else { #if (POWEROFFLOGO_FUNCTION == ENABLE) - GxDisplay_Set(LAYER_OSD1, LAYER_STATE_ENABLE, 0); //turn off OSD1 - GxDisplay_Flush(LAYER_OSD1); + #if HUNTING_CAMERA_MCU == ENABLE + if(sf_get_mode_flag()) + #endif + { + GxDisplay_Set(LAYER_OSD1, LAYER_STATE_ENABLE, 0); //turn off OSD1 + GxDisplay_Flush(LAYER_OSD1); - Display_ShowSplash(SPLASH_POWEROFF); - SwTimer_DelayMs(500); + Display_ShowSplash(SPLASH_POWEROFF); + SwTimer_DelayMs(500); + } #endif } diff --git a/rtos/code/application/source/cardv/SrcCode/System/sys_linuxboot.c b/rtos/code/application/source/cardv/SrcCode/System/sys_linuxboot.c index d3e3d7467..b6e35ca31 100755 --- a/rtos/code/application/source/cardv/SrcCode/System/sys_linuxboot.c +++ b/rtos/code/application/source/cardv/SrcCode/System/sys_linuxboot.c @@ -34,7 +34,7 @@ //#define CFG_LINUX_COMP_MAX_SIZE 0xA00000 //max uImage size //#define CFG_RAMFS_COMP_MAX_SIZE 0x500000 //max ramdisk size #define CFG_LINUX_COMP_MAX_SIZE 0x300000 //max uImage size -#define CFG_RAMFS_COMP_MAX_SIZE 0x320000 //max ramdisk size +#define CFG_RAMFS_COMP_MAX_SIZE 0x330000 //max ramdisk size #define CFG_MULTI_MKIMAGE_LEN 0x8 //mkimage's multi image always comes 8 bytes for sub-image size #define CFG_GZ_WORK_SIZE 0x10000 //64KB are enough