diff --git a/BSP/root-fs/rootfs/etc_Model/etc_565_HUNTING_EVB_LINUX_4G_S550/init.d/S10_SysInit2 b/BSP/root-fs/rootfs/etc_Model/etc_565_HUNTING_EVB_LINUX_4G_S550/init.d/S10_SysInit2 index 7d8e9c468..96d13cec4 100755 --- a/BSP/root-fs/rootfs/etc_Model/etc_565_HUNTING_EVB_LINUX_4G_S550/init.d/S10_SysInit2 +++ b/BSP/root-fs/rootfs/etc_Model/etc_565_HUNTING_EVB_LINUX_4G_S550/init.d/S10_SysInit2 @@ -17,6 +17,14 @@ function insmod_if_exist() { fi } +#SF_BOOT_MODE=1 +#SF_BOOT_MODE_POWF= +#SF_BOOT_MODE_UP=0 + +#kernel_cmdline=$(cat /proc/cmdline) + +#SF_HUNTING_BOOT_MODE=`dmesg | grep -o 'Mode=[0-9]*' | cut -d'=' -f2` + HUNTING_BOOT_MODE_4G_ONLY=4G_ONLY # System Driver Init @@ -203,8 +211,8 @@ ${PREFIX}/lib/modules/$KERVER/hdal/kdrv_videoout/fbdev/nvt_fb.ko if [ -f /usr/bin/isp_demon ]; then /usr/bin/isp_demon -else - echo "isp_demon not found" +#else +# echo "isp_demon not found" fi if [ -f /usr/bin/cardv ]; then diff --git a/BSP/root-fs/rootfs/etc_Model/etc_565_HUNTING_EVB_LINUX_4G_S550/init.d/S25_Net b/BSP/root-fs/rootfs/etc_Model/etc_565_HUNTING_EVB_LINUX_4G_S550/init.d/S25_Net index 1431d2a01..2d311801e 100755 --- a/BSP/root-fs/rootfs/etc_Model/etc_565_HUNTING_EVB_LINUX_4G_S550/init.d/S25_Net +++ b/BSP/root-fs/rootfs/etc_Model/etc_565_HUNTING_EVB_LINUX_4G_S550/init.d/S25_Net @@ -8,19 +8,20 @@ kernel_cmdline=$(cat /proc/cmdline) SF_HUNTING_BOOT_MODE=`dmesg | grep -o 'Mode=[0-9]*' | cut -d'=' -f2` -echo SF_HUNTING_BOOT_MODE=${SF_HUNTING_BOOT_MODE} +#echo SF_HUNTING_BOOT_MODE=${SF_HUNTING_BOOT_MODE} do_wifi_init() { - if [ "$NVT_SDIO_WIFI" == "NVT_SDIO_WIFI_RTK" ]; then - #/etc/init.d/BS_Net_wifiap8189ftv - if [ "${SF_BOOT_MODE}" = "${SF_HUNTING_BOOT_MODE}" ]; then - echo "Configuring BS_Net_wifiap8189ftv sf start" - #/etc/init.d/BS_Net_wifiap8189ftv - else - echo "Configuring BS_Net_wifiap8189ftv sf stop" - fi - elif [ "$NVT_SDIO_WIFI" == "NVT_SDIO_WIFI_BRCM" ]; then + #if [ "$NVT_SDIO_WIFI" == "NVT_SDIO_WIFI_RTK" ]; then + # #/etc/init.d/BS_Net_wifiap8189ftv + # if [ "${SF_BOOT_MODE}" = "${SF_HUNTING_BOOT_MODE}" ]; then + # echo "Configuring BS_Net_wifiap8189ftv sf start" + # #/etc/init.d/BS_Net_wifiap8189ftv + # else + # echo "Configuring BS_Net_wifiap8189ftv sf stop" + # fi + #el + if [ "$NVT_SDIO_WIFI" == "NVT_SDIO_WIFI_BRCM" ]; then modprobe bcmdhd # TBD fi diff --git a/code/application/source/cardv/SrcCode/System/SF_SysStrgMng.c b/code/application/source/cardv/SrcCode/System/SF_SysStrgMng.c index 0bb5a243e..192db1708 100755 --- a/code/application/source/cardv/SrcCode/System/SF_SysStrgMng.c +++ b/code/application/source/cardv/SrcCode/System/SF_SysStrgMng.c @@ -61,7 +61,7 @@ void sf_dev_flag_init(void) T_CFLG cflg; if ((ret |= vos_flag_create(&sf_dev_flag_id, &cflg, "sf_dev_flag_id")) != E_OK) { - SYS_SLOGE("sf_dev_flag_id fail\r\n"); + MLOGI("sf_dev_flag_id fail\r\n"); } vos_flag_clr(sf_dev_flag_id, (FLGPTN)-1); } @@ -84,7 +84,7 @@ int sf_dev_flag_wait_done_timeout(DEV_FLAG_INIT boot_init, int timeout_ms) ret = vos_flag_wait_timeout(&flgptn, sf_dev_flag_id, (FLGPTN)(1 << boot_init), TWF_ANDW, vos_util_msec_to_tick(timeout_ms)); if(unlikely(ret != E_OK)){ - printf("wait(%lu) init timeout(%ld ms)!\n", boot_init, timeout_ms); + printf("wait(%d) init sf_dev_flag_wait_done_timeout(%ld ms)!\n", boot_init, timeout_ms); } return ret; @@ -153,7 +153,7 @@ void SF_StrgUnInit(void) int SF_GetMMCDevHandle(MMC_DEV_TYPE dev_type) { - if(sf_mmc_dev != NULL) { + if(sf_mmc_dev[dev_type] != NULL) { return sf_mmc_dev[dev_type]->dcf_handle; } return 0; @@ -240,7 +240,7 @@ static int SF_StrgNodeCheck(const char *devName) void SF_StrgRegister(SF_MESSAGE_BUF_S *pMessageBuf) { MLOGD("[dev_id:%d, evt:%d]\n",pMessageBuf->arg2, pMessageBuf->arg1); - UIMenuStoreInfo *puiPara = sf_ui_para_get(); + // UIMenuStoreInfo *puiPara = sf_ui_para_get(); if(pMessageBuf->arg2 == MMC_DEV_SD) { @@ -286,18 +286,18 @@ void SF_StrgRegister(SF_MESSAGE_BUF_S *pMessageBuf) } } - for(int i = 0; i < MMC_DEV_MAX_NUM; i++) - { - MLOGD("node:%d, mount:%d, loop:%d\n", - sf_mmc_dev[i]->node, sf_mmc_dev[i]->moumted_state, puiPara->SdLoopSwitch); - } + // for(int i = 0; i < MMC_DEV_MAX_NUM; i++) + // { + // MLOGD("node:%d, mount:%d, loop:%d\n", + // sf_mmc_dev[i]->node, sf_mmc_dev[i]->moumted_state, puiPara->SdLoopSwitch); + // } } SF_ST_MMC_DEV *SF_StrgCheckWorkableDev(void) { MMC_DEV_TYPE workable_dev = MMC_DEV_NO; UIMenuStoreInfo *puiPara = sf_ui_para_get(); - //MLOGD("sf mmc check workable dev start!!!\n"); + // MLOGD("sf mmc check workable dev start!!!\n"); if((sf_mmc_dev[MMC_DEV_SD]->node == MMC_DEV_NODE_STATE_NO_EXIST) && (sf_mmc_dev[MMC_DEV_EMMC]->node == MMC_DEV_NODE_STATE_NO_EXIST)) @@ -455,7 +455,7 @@ static void* mmc_monitoring_thread(void *arg) int sf_mmc_dev_check_start(void) { - SF_StrgInit();// 初始化sf_mmc设备Obj + //SF_StrgInit();// 初始化sf_mmc设备Obj sf_dev_flag_init(); int ret = pthread_create(&MMCMonitorTskCfg.TskId, NULL, mmc_monitoring_thread, NULL); if(ret != SF_SUCCESS) diff --git a/code/application/source/cardv/SrcCode/System/SysMain_Flow_Sleep.c b/code/application/source/cardv/SrcCode/System/SysMain_Flow_Sleep.c index 22328ab43..2d7fea5f8 100755 --- a/code/application/source/cardv/SrcCode/System/SysMain_Flow_Sleep.c +++ b/code/application/source/cardv/SrcCode/System/SysMain_Flow_Sleep.c @@ -7,14 +7,14 @@ @brief Sleep Flow @note - 1.change sleep + 1.����change sleep������ System_ChangeSleep() - (a)System_ChangeSleep() - UlevelPcontrol condition - ]tqPdevice sleep, wakeup - (b)System_ChangeSleep() - UlevelPcontrol condition - ]tqPmode sleep, wakeup: System_ModeSleepEnter(), System_ModeSleepLeave() + (a)System_ChangeSleep()���� + �Ulevel���P��control condition + �]�t�q�����Pdevice sleep, wakeup + (b)System_ChangeSleep()���� + �Ulevel���P��control condition + �]�t�q�����Pmode sleep, wakeup: System_ModeSleepEnter(), System_ModeSleepLeave() @date 2012/1/1 */ @@ -29,7 +29,9 @@ #define __DBGLVL__ ((THIS_DBGLVL>=PRJ_DBG_LVL)?THIS_DBGLVL:PRJ_DBG_LVL) #define __DBGFLT__ "*" //*=All, [mark]=CustomClass #include - +#if HUNTING_CAMERA_MCU == ENABLE +#include "sf_mcu.h" +#endif ///////////////////////////////////////////////////////////////////////////// #if (LCD_ROTATE_FUNCTION == ENABLE) @@ -111,7 +113,12 @@ void System_ChangeSleep(UINT32 sleep_lv) //enter DEEP level DBG_MSG("enter level 3 - begin\r\n"); #if (DISPLAY_FUNC == ENABLE) - GxVideo_SetDeviceCtrl(DOUT1, DISPLAY_DEVCTRL_SLEEP, TRUE); + #if HUNTING_CAMERA_MCU == ENABLE + if(sf_get_mode_flag()) + { + GxVideo_SetDeviceCtrl(DOUT1, DISPLAY_DEVCTRL_SLEEP, TRUE); + } + #endif #endif g_iSysSleepLevel = 3; DBG_MSG("enter level 3 - end\r\n"); @@ -126,7 +133,12 @@ void System_ChangeSleep(UINT32 sleep_lv) DBG_MSG("leave level 3 - begin\r\n"); #if (DISPLAY_FUNC == ENABLE) - GxVideo_SetDeviceCtrl(DOUT1, DISPLAY_DEVCTRL_SLEEP, FALSE); + #if HUNTING_CAMERA_MCU == ENABLE + if(sf_get_mode_flag()) + { + GxVideo_SetDeviceCtrl(DOUT1, DISPLAY_DEVCTRL_SLEEP, FALSE); + } + #endif //GxVideo_SetDeviceCtrl(DOUT1, DISPLAY_DEVCTRL_BACKLIGHT, TRUE); #endif g_iSysSleepLevel = 2; diff --git a/code/application/source/cardv/SrcCode/System/SysStrg_CB.c b/code/application/source/cardv/SrcCode/System/SysStrg_CB.c index 7d16ca1ed..d56ca4284 100755 --- a/code/application/source/cardv/SrcCode/System/SysStrg_CB.c +++ b/code/application/source/cardv/SrcCode/System/SysStrg_CB.c @@ -178,7 +178,7 @@ void Strg_CB(UINT32 event, UINT32 param1, UINT32 param2) stMessageBuf.arg3 = param2; stMessageBuf.cmdId = CMD_SD; sf_com_message_send_to_app(&stMessageBuf); - printf("strg_cb send MOUNT! dev_id = %d\n", param1); + // printf("strg_cb send MOUNT! dev_id = %d\n", param1); #if USE_MMC_DEV_CHECK SF_StrgRegister(&stMessageBuf); #endif diff --git a/code/application/source/cardv/SrcCode/System/SysStrg_Exe.c b/code/application/source/cardv/SrcCode/System/SysStrg_Exe.c index c2db86c67..9d4a38f4c 100644 --- a/code/application/source/cardv/SrcCode/System/SysStrg_Exe.c +++ b/code/application/source/cardv/SrcCode/System/SysStrg_Exe.c @@ -332,9 +332,9 @@ void sf_log_confgs(void) { #if (LOGFILE_FUNC==ENABLE) UIMenuStoreInfo *puiPara = sf_ui_para_get(); - DBG_WRN("sf_log_confgs s\n"); if(((puiPara->DebugMode) || (puiPara->AutoLogSwitch)) && (!sf_is_usb_flag()) && (SxTimer_GetFuncActive(SX_TIMER_DET_SYSTEM_ERROR_ID) == 0)) { + DBG_WRN("sf_log_confgs s\n"); { LOGFILE_OPEN logOpenParm = {0}; LOGFILE_CFG cfg = {0}; @@ -637,6 +637,7 @@ static BOOL FileSys_DetBusy(void) void Card_DetInsert(void) { + // DBG_WRN("Card_DetInsert\r\n"); GxStrg_Det(0, 0); #if 0 //FS_MULTI_STRG_FUNC @@ -1077,7 +1078,7 @@ INT32 System_OnStrgInsert(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray) DCF_HANDLE handle = DCF_Open(&dcfParm); - DBG_WRN("DCF_Open(strg id = %lu, name = %s, handle = %lu, drive = %c)\n", strg_id, System_Get_Strg_Name(strg_id), handle, dcfParm.Drive); + // DBG_DUMP("(strg id = %lu, name = %s, handle = %lu, drive = %c)\n", strg_id, System_Get_Strg_Name(strg_id), handle, dcfParm.Drive); /***************************************************************** * update strg mapping table *****************************************************************/ @@ -1087,12 +1088,12 @@ INT32 System_OnStrgInsert(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray) * init dcf act handle with sd card *****************************************************************/ if(strg_id == STRG_ID_SD){ - DBG_WRN("sd act\n"); + // DBG_WRN("sd act\n"); System_Set_Storage_Act_Drive(g_strg_mapping_table[strg_id].drive); //DCF_SetFileFreeChars(DCF_FILE_TYPE_ANYFORMAT, SF_SD_DCF_FILE_NAME); } else if(strg_id == STRG_ID_EMMC){ - DBG_WRN("emmc act\n"); + // DBG_WRN("emmc act\n"); //DCF_SetFileFreeChars(DCF_FILE_TYPE_ANYFORMAT, SF_EMMC_DCF_FILE_NAME); System_Set_Storage_Act_Drive(g_strg_mapping_table[strg_id].drive); } @@ -1116,7 +1117,7 @@ INT32 System_OnStrgInsert(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray) ************************************************/ else if(strg_id == STRG_ID_EMMC){ DCF_HANDLE handle = g_strg_mapping_table[strg_id].dcf_hdl; - DBG_WRN("DCF_ScanObjEx(strg id = %lu, name = %s, dcf handle = %d)\n", strg_id, System_Get_Strg_Name(strg_id), handle); + // DBG_WRN("DCF_ScanObjEx(strg id = %lu, name = %s, dcf handle = %d)\n", strg_id, System_Get_Strg_Name(strg_id), handle); DCF_ScanObjEx(handle); } diff --git a/code/application/source/cardv/SrcCode/System/SysUsb_Exe.c b/code/application/source/cardv/SrcCode/System/SysUsb_Exe.c index d2a00575c..c67400a6c 100755 --- a/code/application/source/cardv/SrcCode/System/SysUsb_Exe.c +++ b/code/application/source/cardv/SrcCode/System/SysUsb_Exe.c @@ -32,6 +32,10 @@ /////////////////////////////////////////////////////////////////////////////// static char driver_path_prefix[64] = "/etc/lib/modules/4.19.91"; +//GobiNet:rndis_host.ko,drv_gobi_net.ko +//ECM:usbnet.ko,rndis_host.ko,cdc_ether.ko +//ACM: +//QMI:qmi_wwan.ko,cdc-wdm.ko,rndis_host.ko, static char* usb_host_drivers[] = { "kernel/drivers/usb/common/usb-common.ko", "kernel/drivers/usb/core/usbcore.ko", @@ -39,13 +43,13 @@ static char* usb_host_drivers[] = { "kernel/drivers/net/mii.ko", "kernel/drivers/net/usb/usbnet.ko", "extra/net/GobiNet/drv_gobi_net.ko", - "kernel/drivers/net/usb/cdc_ether.ko", - "kernel/drivers/net/usb/rndis_host.ko", + // "kernel/drivers/net/usb/cdc_ether.ko", + // "kernel/drivers/net/usb/rndis_host.ko", "kernel/drivers/usb/serial/usbserial.ko", "kernel/drivers/usb/serial/usb_wwan.ko", "kernel/drivers/usb/serial/option.ko", - "kernel/drivers/usb/class/cdc-wdm.ko", - "kernel/drivers/net/usb/qmi_wwan.ko", + // "kernel/drivers/usb/class/cdc-wdm.ko", + // "kernel/drivers/net/usb/qmi_wwan.ko", NULL }; @@ -126,6 +130,7 @@ static BOOL System_InsmodUsb(BOOL isHost) char* driver_path = NULL; UINT8 cnt = 0; char cmd[256] = {'\0'}; + vos_perf_list_mark(__func__, __LINE__, 0); if(isHost){ @@ -136,6 +141,9 @@ static BOOL System_InsmodUsb(BOOL isHost) is_usb_host_driver_inserted = TRUE; return TRUE; } + // #if HUNTING_CAMERA_MCU == ENABLE + // sf_usb_mux_s(1); + // #endif usb_drivers = usb_host_drivers; } else{ @@ -145,6 +153,9 @@ static BOOL System_InsmodUsb(BOOL isHost) memset(driver_path_prefix, '\0', sizeof(driver_path_prefix)); snprintf(driver_path_prefix, sizeof(driver_path_prefix), "/lib/modules/4.19.91"); usb_drivers = usb_dev_drivers; + #if HUNTING_CAMERA_MCU == ENABLE + sf_usb_mux_s(0); + #endif } while(usb_drivers[cnt++]) @@ -161,25 +172,27 @@ static BOOL System_InsmodUsb(BOOL isHost) memset(cmd, '\0', sizeof(cmd)); snprintf(cmd, sizeof(cmd), "insmod %s/%s", driver_path_prefix, driver_path); //DBG_DUMP("%s\n", cmd); - printf("[%s:%d] %s\n", __FUNCTION__, __LINE__, cmd); + // printf("[%s:%d] %s\n", __FUNCTION__, __LINE__, cmd); system(cmd); } } - + // system("mdev -s"); if(isHost == FALSE){ -#if HUNTING_CAMERA_MCU == ENABLE - //sf_set_msdc_clk(); - sf_usb_mux_s(0); - vos_util_delay_ms(200); -#endif +// #if HUNTING_CAMERA_MCU == ENABLE +// //sf_set_msdc_clk(); +// sf_usb_mux_s(0); +// vos_util_delay_ms(200); +// #endif + vos_perf_list_mark(__func__, __LINE__, 0); is_usb_dev_driver_inserted = TRUE; return System_WaitUsbDev(); } else{ -#if HUNTING_CAMERA_MCU == ENABLE - sf_usb_mux_s(1); -#endif +// #if HUNTING_CAMERA_MCU == ENABLE +// sf_usb_mux_s(1); +// #endif + vos_perf_list_mark(__func__, __LINE__, 0); is_usb_host_driver_inserted = TRUE; return TRUE; @@ -290,7 +303,10 @@ void System_OnUsbInit(void) #endif } - //force check USB connect type +#if HUNTING_CAMERA_MCU == ENABLE + sf_usb_insmod_start(); +#else + // force check USB connect type if (GxUSB_GetIsUSBPlug()) { #if (HW_S530 == ENABLE) && (HUNTING_CAMERA_MCU == ENABLE) @@ -302,8 +318,10 @@ void System_OnUsbInit(void) GxUSB_SetChargerType(FALSE); } else{ - //System_InsmodUsb(TRUE); /* insmod usb host ko */ + // System_InsmodUsb(TRUE); /* insmod usb host ko */ } +#endif + TM_BOOT_END("usb", "init"); } @@ -528,5 +546,26 @@ BOOL USB_GetIsMsdcNvt(void) #endif //#NT#2016/06/03#Niven Cho -end } +#if HUNTING_CAMERA_MCU == ENABLE +void* sf_usb_insmod_thread(void *arg) +{ + //force check USB connect type + if (GxUSB_GetIsUSBPlug()) { + + #if (HW_S530 == ENABLE) && (HUNTING_CAMERA_MCU == ENABLE) + sf_sys_status_led_set(SF_LED_SYS_STATE_USB_IN); + #endif + + System_InsmodUsb(FALSE); /* insmod usb dev ko */ + GxUSB_UpdateConnectType(); + GxUSB_SetChargerType(FALSE); + } + else{ + System_InsmodUsb(TRUE); /* insmod usb host ko */ + } + return NULL; +} +#endif + #endif diff --git a/code/application/source/cardv/SrcCode/System/app-main.c b/code/application/source/cardv/SrcCode/System/app-main.c index 9b8000eb4..05a9c2602 100755 --- a/code/application/source/cardv/SrcCode/System/app-main.c +++ b/code/application/source/cardv/SrcCode/System/app-main.c @@ -27,16 +27,16 @@ static void insmod_system(void) static void insmod_capture(void) { - vos_perf_list_mark(__func__, __LINE__, 0); + // vos_perf_list_mark(__func__, __LINE__, 0); - vos_perf_list_mark(__func__, __LINE__, 1); + // vos_perf_list_mark(__func__, __LINE__, 1); } static void insmod_display(void) { - vos_perf_list_mark(__func__, __LINE__, 0); + // vos_perf_list_mark(__func__, __LINE__, 0); - vos_perf_list_mark(__func__, __LINE__, 1); + // vos_perf_list_mark(__func__, __LINE__, 1); } static void insmod_storage(void) @@ -48,9 +48,9 @@ static void insmod_storage(void) static void insmod_encoder(void) { - vos_perf_list_mark(__func__, __LINE__, 0); + // vos_perf_list_mark(__func__, __LINE__, 0); - vos_perf_list_mark(__func__, __LINE__, 1); + // vos_perf_list_mark(__func__, __LINE__, 1); } static void insmod_others(void) diff --git a/code/application/source/cardv/SrcCode/System/main.c b/code/application/source/cardv/SrcCode/System/main.c index 247b6b35f..4bb0cd825 100755 --- a/code/application/source/cardv/SrcCode/System/main.c +++ b/code/application/source/cardv/SrcCode/System/main.c @@ -339,7 +339,7 @@ UINT8 sf_cardv_check_power_on_mode(void) UINT8 startup = 0; UINT8 UpFw = 0; UINT8 Upmcu = 0; - UINT8 sftmp = 0; + unsigned long sftmp = 0; system("cat /proc/cmdline > /tmp/Mode.txt"); fp = fopen("/tmp/Mode.txt","r"); @@ -377,8 +377,10 @@ UINT8 sf_cardv_check_power_on_mode(void) temp = strstr(pStrSrc, pStrSF); if ( temp != NULL) { temp += strlen("sf="); - sscanf(temp, "%hhd", &sftmp); - sf_cardv_battery_level_set(sftmp); + // sscanf(temp, "%hhd", &sftmp); + sftmp = strtoul(temp, NULL, 10); + sf_cardv_set_battery_level(sftmp); + // sf_cardv_battery_level_set(sftmp); } SLOGI("StartMode=%d,UpFw=%d Upmcu=%d sftmp=%d\r\n", startup, UpFw, Upmcu, sftmp); free(pStrSrc); @@ -398,6 +400,7 @@ int NvtMain(void) #if HUNTING_CAMERA_MCU == ENABLE sf_cardv_check_power_on_mode(); sf_cardv_load_menu_info_start(); + sf_cardv_init_start(); #endif System_InstallID(); #if (USB_MODE==ENABLE) @@ -434,7 +437,7 @@ int NvtMain(void) #if HUNTING_CAMERA_MCU == ENABLE sf_log_Level_set(SF_LOG_LEVEL_DEBUG); //sf_cardv_check_power_on_mode(); - BOOL inUsb = GxUSB_GetIsUSBPlug(); + // BOOL inUsb = GxUSB_GetIsUSBPlug(); // if(TRUE == inUsb)//(!sf_gpio_get_status(GPIO_INT_USBPLUGIN)) // { // sf_usb_mux_s(0); @@ -442,44 +445,43 @@ int NvtMain(void) // } #if HUNTING_CAMERA_4G == ENABLE - sf_share_mem_file_init(); - /*if (cardv_message_queue_init()) - { - printf("cardv initial message queue error!\n"); - exit(1); - }*/ - if(SF_SUCCESS == sf_com_message_cardv_init()) - { - printf("create message successs!!!!\n"); - } - if(SF_SUCCESS == sf_com_message_app_init()) - { - printf("create cardv message successs!!!!\n"); - } - sf_cardv_message_thread_init(); -#if USE_MMC_DEV_CHECK - sf_mmc_dev_check_start(); -#endif - SF_MESSAGE_BUF_S stMessageBuf = {0}; + // sf_share_mem_file_init(); + // /*if (cardv_message_queue_init()) + // { + // printf("cardv initial message queue error!\n"); + // exit(1); + // }*/ + // if(SF_SUCCESS == sf_com_message_cardv_init()) + // { + // printf("create message successs!!!!\n"); + // } + // if(SF_SUCCESS == sf_com_message_app_init()) + // { + // printf("create cardv message successs!!!!\n"); + // } + // sf_cardv_message_thread_init(); +// #if USE_MMC_DEV_CHECK +// sf_mmc_dev_check_start(); +// #endif + // SF_MESSAGE_BUF_S stMessageBuf = {0}; /*if(!sf_gpio_get_status(GPIO_KEY_TEST)){ sf_set_fw_update(1);//update }*/ - if(TRUE != inUsb) - { - stMessageBuf.arg1 = SF_MCU_CMD_POWERON; - stMessageBuf.cmdId = CMD_MCU; - sf_com_message_send_to_app(&stMessageBuf); + // if(TRUE != inUsb) + // { + // stMessageBuf.arg1 = SF_MCU_CMD_POWERON; + // stMessageBuf.cmdId = CMD_MCU; + // sf_com_message_send_to_app(&stMessageBuf); - // stMessageBuf.arg1 = SF_DEV_CMD_BAT; - // stMessageBuf.cmdId = CMD_DEV; - // sf_com_message_send_to_app(&stMessageBuf); + // // stMessageBuf.arg1 = SF_DEV_CMD_BAT; + // // stMessageBuf.cmdId = CMD_DEV; + // // sf_com_message_send_to_app(&stMessageBuf); - stMessageBuf.arg1 = SF_DEV_CMD_TEMPER; - stMessageBuf.cmdId = CMD_DEV; - sf_com_message_send_to_app(&stMessageBuf); - sf_dev_en(); - } + // stMessageBuf.arg1 = SF_DEV_CMD_TEMPER; + // stMessageBuf.cmdId = CMD_DEV; + // sf_com_message_send_to_app(&stMessageBuf); + // } #else sf_mcu_init(); sf_get_power_on_mode(); diff --git a/code/application/source/sf_app/code/include/sf_storeMng.h b/code/application/source/sf_app/code/include/sf_storeMng.h index dedfa40af..e129f858e 100644 --- a/code/application/source/sf_app/code/include/sf_storeMng.h +++ b/code/application/source/sf_app/code/include/sf_storeMng.h @@ -107,7 +107,11 @@ SINT32 sf_sd_status_set(SF_SD_STATUS_E enStatus); UINT32 sf_delete_send_flie_list(void); int sf_app_sd_loop(void); - +SINT32 sf_activity_is_full(void); +SINT32 sf_emmc_status_set(SF_SD_STATUS_E enStatus); +SF_SD_STATUS_E sf_emmc_status_get(void); +SINT32 sf_activity_status_set(SF_SD_STATUS_E enStatus); +SF_SD_STATUS_E sf_activity_status_get(void); #ifdef __cplusplus #if __cplusplus } diff --git a/code/application/source/sf_app/code/include/sf_wifi_svr.h b/code/application/source/sf_app/code/include/sf_wifi_svr.h index e21f54853..5aff8b709 100755 --- a/code/application/source/sf_app/code/include/sf_wifi_svr.h +++ b/code/application/source/sf_app/code/include/sf_wifi_svr.h @@ -977,4 +977,5 @@ void appSvrResponseSocketSet(SINT32 socket); SINT32 appSvrResponseSocketGet(void); void sf_set_phone_shot_status(const PHONE_SHOT_E status); const PHONE_SHOT_E sf_get_phone_shot_status(void); +int sf_load_wifi_ko(void); #endif /*__SF_WIFI_SERVER__*/ diff --git a/code/application/source/sf_app/code/source/4gMng/sf_eg91_sim.c b/code/application/source/sf_app/code/source/4gMng/sf_eg91_sim.c index 5fa9c6ad1..5ad28708c 100755 --- a/code/application/source/sf_app/code/source/4gMng/sf_eg91_sim.c +++ b/code/application/source/sf_app/code/source/4gMng/sf_eg91_sim.c @@ -5485,30 +5485,10 @@ UINT32 sf_sim_qsclk(UINT8 mode) //mode = 2, gprsmode = 1 switch(eSmsLocation) { case SMS_SIM_INIT_DTRUP: - - if(strstr((const char *)gsmPara, "OK")) - { - strcpy((char *)gsmPara, "AT+QSCLK=1\r"); //sleep - ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); - SF_CHECK_RETURN(ttyRet, SF_SIM_ERROR_AT_TIMEOUT); - eSmsLocation = SMS_SIM_INIT_EXIT; - } - // else if(strstr((const char *)gsmPara, "ERROR")) - // { - // goto SF_RETURN; - // } - else - { - strcpy((char *)gsmPara, "AT\r"); //sleep - ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); - SF_CHECK_RETURN(ttyRet, SF_SIM_ERROR_AT_TIMEOUT); - - if(!puiPara->GprsMode) - { - sf_sleep_ms(800); - } - } - + strcpy((char *)gsmPara, "AT+QSCLK=1\r"); //sleep + ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); + SF_CHECK_RETURN(ttyRet, SF_SIM_ERROR_AT_TIMEOUT); + eSmsLocation = SMS_SIM_INIT_EXIT; break; case SMS_SIM_INIT_EXIT: @@ -5526,8 +5506,13 @@ UINT32 sf_sim_qsclk(UINT8 mode) //mode = 2, gprsmode = 1 else { calltime++; - - if(calltime > 20) + if(calltime = 10) + { + strcpy((char *)gsmPara, "AT+QSCLK=1\r"); //sleep + ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); + SF_CHECK_RETURN(ttyRet, SF_SIM_ERROR_AT_TIMEOUT); + } + else if(calltime > 20) { ret = SF_SIM_ERROR_AT_TIMEOUT; sprintf((char *)logStr, "[%s:%d]ErrorCode=0x%08x,AT+QSCLK Timeout.", __FUNCTION__, __LINE__, ret); @@ -5543,10 +5528,9 @@ UINT32 sf_sim_qsclk(UINT8 mode) //mode = 2, gprsmode = 1 } sf_gsm_para_buff_clear(); sf_hal_ttyusb2_read_buf(&ttyData); - printf("-----eSmsLocation:%d-----time:%d-----\n", eSmsLocation, time); if(gsmPara[0] != '\0') { - printf("[%s:%d]gsmPara===>%s<================end\n", __FUNCTION__, __LINE__, gsmPara); + SLOGI("[%s:%d] %s\n", __FUNCTION__, __LINE__, gsmPara); } time++; diff --git a/code/application/source/sf_app/code/source/4gMng/sf_ftp.c b/code/application/source/sf_app/code/source/4gMng/sf_ftp.c index 2234c1c74..e814ffe32 100755 --- a/code/application/source/sf_app/code/source/4gMng/sf_ftp.c +++ b/code/application/source/sf_app/code/source/4gMng/sf_ftp.c @@ -231,7 +231,7 @@ SINT32 sf_ftp_config(UINT8 ssl, UINT8 GprsMode, int timeout) // printf("ftp_manager_init password = %s\n", config.password); ftp_manager_init(config); - printf("[%s:%d]ret:[0x%08X]\n\n", __FUNCTION__, __LINE__, ret); + // printf("[%s:%d]ret:[0x%08X]\n\n", __FUNCTION__, __LINE__, ret); if(SF_SUCCESS != ret){ sf_sys_status_led_set(SF_LED_SYS_STATE_SEND_FAIL); } @@ -940,7 +940,7 @@ SINT32 sf_pic_send_ftp(void) // piccount = 1; // } // } - MLOGI("netGeneration:%dG,tempPicSize=%d,piccount=%d,filecnt=%d\n", sf_get_net_generation(), tempPicSize, piccount, pThumbFileCfg->filecnt); + // MLOGI("netGeneration:%dG,tempPicSize=%d,piccount=%d,filecnt=%d\n", sf_get_net_generation(), tempPicSize, piccount, pThumbFileCfg->filecnt); //printf("[%s:%d]piccount=%d\n", __FUNCTION__, __LINE__, piccount); @@ -1017,7 +1017,7 @@ SINT32 sf_pic_send_ftp(void) } else { - printf("%s:%d err up file ftpFileName:%s filePath:%s\n", __FUNCTION__, __LINE__, ftpFileName[pic], filePath[pic]); + MLOGE("%s:%d ret:[0x%08X] err up file ftpFileName:%s filePath:%s\n", ret, __FUNCTION__, __LINE__, ftpFileName[pic], filePath[pic]); } } // sendEndTime = clock(); @@ -1029,7 +1029,7 @@ SINT32 sf_pic_send_ftp(void) //pSifarPara->picSendTimeCount +=sendEndTime - sendStartTime; //pSifarPara->sendThumbnailTimeCount += sendEndTime - sendStartTime; - MLOGD(" end ret:[0x%08X] \n", ret); + // MLOGD(" end ret:[0x%08X] \n", ret); return ret; } double sf_sys_ms_time_get(clock_t end_time) @@ -1086,7 +1086,7 @@ SINT32 sf_video_send_ftp(void) snprintf(cameraID, sizeof(cameraID), "%s-%d-%d-%s-", pPara->ModuleImei, sf_app_get_battery(), csqlevel, CamNameStr); /* DCF 8.3 naming rule */ - printf("netGeneration:%dG,tempPicSize=%d,piccount=%d,pic=%d\n", sf_get_net_generation(), tempPicSize, piccount, pic); + // printf("netGeneration:%dG,tempPicSize=%d,piccount=%d,pic=%d\n", sf_get_net_generation(), tempPicSize, piccount, pic); /*sf_get_send_video_fname(videoDirKey, videoFname); sprintf((char *)ftpFileName, "%s%s", cameraID, videoFname); @@ -1098,16 +1098,16 @@ SINT32 sf_video_send_ftp(void) sprintf((char *)ftpFileName, "%s%s", cameraID, pThumbFileCfg->stfileattr[fileIndex].thumbfileName); sprintf((char *)filePath, "%s", pThumbFileCfg->stfileattr[fileIndex].thumbfilePath); - printf("%s:%d ftpFileName:%s filePath:%s videoDir:%s\n", __FUNCTION__, __LINE__, ftpFileName, filePath, videoDir); + // printf("%s:%d ftpFileName:%s filePath:%s videoDir:%s\n", __FUNCTION__, __LINE__, ftpFileName, filePath, videoDir); //ret = sf_simcom_upload_file_to_module(videoDir,ftpFileName); - ret = SF_SUCCESS; + // ret = SF_SUCCESS; - if(SF_SUCCESS != ret) - { - printf("%s:%d upload err ret: [0x%08X] ftpFileName:%s filePath:%s\n", __FUNCTION__, __LINE__, ret, ftpFileName, filePath); - } - else + // if(SF_SUCCESS != ret) + // { + // printf("%s:%d upload err ret: [0x%08X] ftpFileName:%s filePath:%s\n", __FUNCTION__, __LINE__, ret, ftpFileName, filePath); + // } + // else { SF_SEND_RE: ret = sf_ftp_send(ftpFileName, filePath, timeout); @@ -1126,8 +1126,6 @@ SINT32 sf_video_send_ftp(void) sf_log_error_code(logStr); } } - - MLOGD(" end ret:[0x%08X]\n", ret); return ret; } @@ -1348,7 +1346,6 @@ SINT32 sf_check_ftp_send(UINT8 mode) SINT32 sf_send_file_to_ftp(UINT8 mode) { SINT32 ret1 = SF_SUCCESS; //0:success; else:fail; - SINT32 ret2 = SF_SUCCESS; //0:success; else:fail; UINT8 ssl = 0; UINT8 gprsMode = 0; int timeout = 60000; @@ -1359,7 +1356,7 @@ SINT32 sf_send_file_to_ftp(UINT8 mode) ssl = ((2 == puiPara->FtpSwitch) ? 1 : 0); gprsMode = 0;//puiPara->GprsMode; - printf("[%s:%d] ssl:%d,GprsMode:%d\n", __FUNCTION__, __LINE__, ssl, gprsMode); + // printf("[%s:%d] ssl:%d,GprsMode:%d\n", __FUNCTION__, __LINE__, ssl, gprsMode); if(mode == 1 ) //send Original+video { @@ -1403,7 +1400,7 @@ SINT32 sf_send_file_to_ftp(UINT8 mode) } } - printf("[%s:%d]netGeneration=%d\n", __FUNCTION__, __LINE__, sf_get_net_generation()); + // printf("[%s:%d]netGeneration=%d\n", __FUNCTION__, __LINE__, sf_get_net_generation()); if(((puiPara->CamMode == SF_CAM_MODE_VIDEO) || (puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO) || (puiPara->CamMode == SF_CAM_MODE_VIDEO2)) && (puiPara->SendVideoSwitch == 1) && (sf_get_net_generation() == 4)) //video { @@ -1445,25 +1442,16 @@ SINT32 sf_send_file_to_ftp(UINT8 mode) } } - if(ret1 != SF_FTP_ERROR_TERM) - { - //ret2 = sf_ftp_stop(ssl, gprsMode); - } - - #if SF_TEST_ERROR_CODE - sf_set_code_err_flag(0); - #endif - //printf("[%s:%d]ret1:[0x%08X],ret2:[0x%08X]\n\n", __FUNCTION__, __LINE__, ret1, ret2); - MLOGD(" end ret1:[0x%08X],ret2:[0x%08X]\n", ret1, ret2); if(ret1 != SF_SUCCESS) { + MLOGD(" end ret1:[0x%08X]\n", ret1); return ret1; } else { FtpOpenOk = SUCCESS; - return ret2; + return ret1; } } 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 f55a392e1..245e3e454 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 @@ -160,23 +160,23 @@ int main(int argc, char *argv[]) if((!isUsb) && (SF_MCU_STARTUP_NORMAL != startup) && (SF_MCU_STARTUP_OFF != startup)/*&& (0 == isUpdate)*/) { - printf("[sf_app]battery thread start\n"); + // printf("[sf_app]battery thread start\n"); sf_app_battery_start(); #if SF_IQ_TEST != ENABLE - if(SF_MCU_STARTUP_ONKEY == startup) - { - if(puiPara->WifiSwitch) - { - sf_set_wifi_en(1); - } - if(puiPara->BluSwitch) - { - sf_set_bt_en(1); - } - } + // if(SF_MCU_STARTUP_ONKEY == startup) + // { + // if(puiPara->WifiSwitch) + // { + // sf_set_wifi_en(1); + // } + // if(puiPara->BluSwitch) + // { + // sf_set_bt_en(1); + // } + // } if((0 == isMcuUpdate) && (0 == isUpdate) && (puiPara->GprsSwitch)) { - sf_4G_usb_init(); + // sf_4G_usb_init(); app_RegisterNet_start(); } #endif diff --git a/code/application/source/sf_app/code/source/app/sf_common.c b/code/application/source/sf_app/code/source/app/sf_common.c index e013b63d2..199303ca8 100755 --- a/code/application/source/sf_app/code/source/app/sf_common.c +++ b/code/application/source/sf_app/code/source/app/sf_common.c @@ -185,7 +185,7 @@ const SF_CHAR* app_process_message_getstatusstring(SF_MESSAGE_TYPE_E enType) static void create_qrcode(void) { - if(sf_sd_status_get() == SF_SD_OK || sf_sd_status_get() == SF_SD_FULL) + if(sf_activity_status_get() == SF_SD_OK || sf_activity_status_get() == SF_SD_FULL) { SF_CHAR version[12] = {0}; SF_CHAR iccidStr[22] = {0}; @@ -219,7 +219,7 @@ static SINT32 process_cmd_shortclick(SF_MESSAGE_BUF_S *pMessageBuf) if(!longClickhold) break; create_qrcode(); - // if(sf_sd_status_get() == SF_SD_OK || sf_sd_status_get() == SF_SD_FULL) + // if(sf_activity_status_get() == SF_SD_OK || sf_activity_status_get() == SF_SD_FULL) // { // SF_CHAR version[12] = {0}; // SF_CHAR iccidStr[22] = {0}; @@ -330,7 +330,7 @@ static SINT32 process_cmd_shortclick(SF_MESSAGE_BUF_S *pMessageBuf) case SF_KEY_PIN_FORMAT: if(!longClickhold) break; - if(sf_sd_status_get() == SF_SD_OK || sf_sd_status_get() == SF_SD_FULL) + if(sf_activity_status_get() == SF_SD_OK || sf_activity_status_get() == SF_SD_FULL) { pCustomer->DebugMode = pCustomer->DebugMode?0:1; sf_led_event_process((pCustomer->DebugMode?LED_STATUS_SLOWFLASH_ON:LED_STATUS_HOLD_ON),LED_GROUP_SD,LED_TYPE_GREEN); @@ -485,7 +485,7 @@ static SINT32 process_cmd_longclick(SF_MESSAGE_BUF_S *pMessageBuf) // } break; case SF_KEY_PIN_FORMAT: - if(sf_sd_status_get() == SF_SD_OUT) + if(sf_activity_status_get() == SF_SD_OUT) break; if(sf_cap_status_get() != 0) break; @@ -610,14 +610,19 @@ static SINT32 sfStrgDevOnActionMount(int dev_id, int result) switch (status) { case FST_STA_OK: - sf_set_card(1); - sf_sd_status_set(SF_SD_OK); - if(dev_id == MMC_DEV_EMMC) + // sf_set_card(1); + if(dev_id == MMC_DEV_EMMC) { printf("EMMC has Mounted!\r\n"); - sf_strg_dev_register(MMC_DEV_EMMC, MMC_DEV_MOUNT_STATE_MOUNTED); + //sf_strg_dev_register(MMC_DEV_EMMC, MMC_DEV_MOUNT_STATE_MOUNTED); sf_set_emmc_err(0); + sf_emmc_status_set(SF_SD_OK); } + else if(dev_id == MMC_DEV_SD) + { + sf_sd_status_set(SF_SD_OK); + } + // if(SF_MCU_STARTUP_ONKEY == startup) // { // SF_STORE_ATTR_S storeattrs = {0}; @@ -669,13 +674,13 @@ static SINT32 sfStrgDevSdHandler(int cb_evt, int dev_id, int result) switch(cb_evt) { case CMD_SD_STRG_CB_UNKNOWN: - sf_set_card_full(1); + // sf_set_card_full(1); break; case CMD_SD_STRG_CB_INSERTED: - sf_set_card(1); + // sf_set_card(1); break; case CMD_SD_STRG_CB_REMOVED: - sf_set_card(0); + // sf_set_card(0); sf_sd_status_set(SF_SD_OUT); sf_sys_status_led_set(SF_LED_SYS_STATE_SD_ERROR); break; @@ -683,11 +688,14 @@ static SINT32 sfStrgDevSdHandler(int cb_evt, int dev_id, int result) sfStrgDevOnActionMount(dev_id, result); break; case CMD_SD_STRG_CB_UNMOUNT_FINISH: - sf_set_card(0); + // sf_set_card(0); sf_sd_status_set(SF_SD_OUT); sf_sys_status_led_set(SF_LED_SYS_STATE_SD_ERROR); MLOGI("CMD_SD_STRG_CB_UNMOUNT_FINISH\r\n"); break; + default: + MLOGI("default\r\n"); + break; } return SF_SUCCESS; } @@ -698,7 +706,7 @@ static SINT32 sfStrgDevEmmcHandler(int cb_evt, int dev_id, int result) switch(cb_evt) { case CMD_SD_STRG_CB_UNKNOWN: - sf_set_card_full(1); + // sf_set_card_full(1); printf("eMMC is FULL!\r\n"); break; @@ -706,11 +714,15 @@ static SINT32 sfStrgDevEmmcHandler(int cb_evt, int dev_id, int result) sfStrgDevOnActionMount(dev_id, result); break; case CMD_SD_STRG_CB_UNMOUNT_FINISH: - sf_set_card(0); - sf_sd_status_set(SF_SD_OUT); + // sf_set_card(0); + sf_emmc_status_set(SF_SD_OUT); + sf_sys_status_led_set(SF_LED_SYS_STATE_SD_ERROR); MLOGI("CMD_SD_STRG_CB_UNMOUNT_FINISH\r\n"); break; + default: + MLOGI("default\r\n"); + break; } return SF_SUCCESS; } @@ -737,15 +749,37 @@ static SINT32 sf_app_process_cmd_SD(SF_MESSAGE_BUF_S *pMessageBuf) case CMD_SD_FULL: sf_sys_status_led_set(SF_LED_SYS_STATE_SD_ERROR); MLOGI("CMD_SD_FULL\r\n"); - sf_set_card_full(1); - sf_sd_status_set(SF_SD_FULL); + if(pMessageBuf->arg2 == MMC_DEV_SD) + { + sf_set_card_full(1); + sf_sd_status_set(SF_SD_FULL); + } + else if(pMessageBuf->arg2 == MMC_DEV_EMMC) + { + sf_emmc_status_set(SF_SD_FULL); + } break; case CMD_SD_FORMAT: - sf_set_card_statu(pMessageBuf->arg2); + if(pMessageBuf->arg2 == MMC_DEV_SD) + { + sf_sd_status_set(pMessageBuf->arg2); + } + else if(pMessageBuf->arg2 == MMC_DEV_EMMC) + { + sf_emmc_status_set(pMessageBuf->arg2); + } break; case CMD_SD_STRG_WORKABLE_DEV: sf_strg_dev_register(pMessageBuf->arg2, pMessageBuf->arg3); + if(pMessageBuf->arg2 == MMC_DEV_SD) + { + sf_activity_status_set(sf_sd_status_get()); + } + else if(pMessageBuf->arg2 == MMC_DEV_EMMC) + { + sf_activity_status_set(sf_emmc_status_get()); + } break; case CMD_SD_FILESYS_INIT_STATUS: if(SF_MCU_STARTUP_ONKEY == startup) 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 9bde3eeb3..3b8b9801c 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 @@ -317,7 +317,7 @@ SINT32 app_led_sd_status_return(void) stMessageBuf.cmdId = CMD_LED; stMessageBuf.arg1 = LED_STATUS_HOLD_ON; - switch(sf_sd_status_get()) { + switch(sf_activity_status_get()) { case SF_SD_UNPLUGED: case SF_SD_OUT: stMessageBuf.arg3 = LED_TYPE_RED; @@ -640,6 +640,7 @@ BOOL sf_load_ko(void) } } } + system("mdev -s"); //MLOGI("sf_load_ko finsihed.\n"); //printf("[%s:%d] e\n", __FUNCTION__, __LINE__); return ret2; diff --git a/code/application/source/sf_app/code/source/app/sf_service.c b/code/application/source/sf_app/code/source/app/sf_service.c index 584691cd3..594d88264 100755 --- a/code/application/source/sf_app/code/source/app/sf_service.c +++ b/code/application/source/sf_app/code/source/app/sf_service.c @@ -87,21 +87,27 @@ SF_THREAD_S QlogTsk = { SINT32 app_ttyusb_IsOpen(void) { int retryTime = 0; int retryFlag = 0; - SINT32 s32ret = 0; + static SINT32 s32ret = SF_SUCCESS; + static int flag = 0; + + if(flag) + { + return s32ret; + } MLOGD("ttyUSB has not been init, will init ttyUSB!\n"); UINT8 i = 0; RETRY: for (i = 0; i < 150; i++) { if (access("/dev/ttyUSB2", F_OK) == SF_SUCCESS) { - printf("tty usb ko exist!\r\n"); + // printf("tty usb ko exist!\r\n"); printf("4G Init OK\r\n"); break; } else { usleep(100 * 1000); if(149 == i) { - MLOGE("NO ttyUSB dev!!\n"); + // MLOGE("NO ttyUSB dev!!\n"); printf("4G Init ERR\r\n"); } } @@ -121,12 +127,13 @@ SINT32 app_ttyusb_IsOpen(void) { } else if ((1 == retryFlag) && (retryTime >= 50) && (retryTime % 50 == 0)) // 200ms*25 = 5s { - MLOGE("-------ttyUSB retry init fail!\n"); + // MLOGE("-------ttyUSB retry init fail!\n"); s32ret = SF_TTY_ERROR_OPEN; printf("4G Init Fail, retry\r\n"); break; } } + flag = 1; MLOGD("e\n"); return s32ret; } @@ -197,7 +204,7 @@ static SINT16 app_Qlog_procress(void) { while (sf_app_while_flag()) { sf_sleep_ms(200); - if (sf_sd_status_get() != SF_SD_OK) + if (sf_activity_status_get() != SF_SD_OK) { break; } @@ -597,7 +604,7 @@ static SINT32 app_upgrade_ota_execute(void) { SLOGE("Battery capacity is too low\n"); goto _ERROR_; } - if (!(sf_sd_status_get() == SF_SD_OK || sf_sd_status_get() == SF_SD_FULL)) { + if (!(sf_activity_status_get() == SF_SD_OK || sf_activity_status_get() == SF_SD_FULL)) { SLOGE("SD is not exsited ,please check it !!!"); goto _ERROR_; } @@ -765,7 +772,7 @@ SINT32 app_server_excute_cmd(SF_FN_PARAM_S *pfnParam) { if (sf_get_login_reponse()->sdFormatCommand == 1) { - if (sf_sd_status_get() != SF_SD_OUT) { + if (sf_activity_status_get() != SF_SD_OUT) { system("echo format > /tmp/cardv_fifo"); sleep(2); } else { @@ -1145,7 +1152,7 @@ static SINT32 app_file_transfer(SF_FN_PARAM_S *pfnParam) { if (sf_usb_IsInsert()) return SF_SUCCESS; - SLOGD("STARTUP:[%d]\n", sf_poweron_type_get()); +// SLOGD("STARTUP:[%d]\n", sf_poweron_type_get()); if (sf_get_cq_signal() == 0) { SLOGD("no csq signal\n"); return SF_SUCCESS; @@ -1226,10 +1233,16 @@ static SINT32 app_file_transfer(SF_FN_PARAM_S *pfnParam) { if((!PicUpDailyReportFlag) && (pCustomerParam->PicUpDailyReport)) { PicUpDailyReportFlag = 1; - sf_sms_set_pic(1); - sf_sleep_ms(200); - SLOGD("GpsSendFlag:%d\n", pCustomerParam->GpsSendFlag); - break; + if(0 == sf_activity_is_full()) + { + sf_sms_set_pic(1); + sf_sleep_ms(200); + SLOGD("GpsSendFlag:%d\n", pCustomerParam->GpsSendFlag); + break; + } + else { + SLOGE(" SDFree\n"); + } } if (!DailyreportSendFlag) @@ -2065,16 +2078,28 @@ SINT32 app_t110(void) { } SINT32 sf_app_to_cardv_capture(void) { - SINT32 s32ret = 0; - // UINT8 timeCnt = 0; - // UINT8 bIsKeepConnect = 0; - // SF_CHAR version[12] = {0}; - SF_MESSAGE_BUF_S stMessageBuf = {0}; - stMessageBuf.arg1 = SF_WIFI_CMD_CAPTURE; - stMessageBuf.cmdId = CMD_WIFI; - sf_com_message_send_to_cardv(&stMessageBuf); - - return s32ret; + SINT32 s32ret = 0; + // UINT8 timeCnt = 0; + // UINT8 bIsKeepConnect = 0; + // SF_CHAR version[12] = {0}; + SF_MESSAGE_BUF_S stMessageBuf = {0}; + stMessageBuf.arg1 = SF_WIFI_CMD_CAPTURE; + stMessageBuf.cmdId = CMD_WIFI; + if(SF_FAILURE == sf_check_sd()) + { + sf_sms_set_pic(0); + return s32ret; + } + if(0 == sf_activity_is_full()) + { + sf_com_message_send_to_cardv(&stMessageBuf); + } + else + { + sf_sms_set_pic(0); + SLOGE(" SDFree\n"); + } + return s32ret; } SINT32 sf_module_reboot_reg_net(void) @@ -2128,7 +2153,20 @@ SINT32 sf_app_to_cardv_hd_ture(void) { return falg; } falg = 1; - s32ret = sf_share_mem_hd_down(1); + if(SF_FAILURE == sf_check_sd()) + { + sf_set_send_hd(0); + return s32ret; + } + if(0 == sf_activity_is_full()) + { + s32ret = sf_share_mem_hd_down(1); + } + else + { + sf_set_send_hd(0); + SLOGE(" SDFree\n"); + } MLOGI(" e ret:0x%08X\n",s32ret); return s32ret; } @@ -2178,7 +2216,7 @@ int sf_check_eth0(void) // Check if an IP address is assigned if (strstr(output, "inet ") == NULL) { - MLOGI("The network card exists, but no IP address has been assigned\n"); + // MLOGI("The network card exists, but no IP address has been assigned\n"); pclose(fp); free(output); return 1; @@ -2461,11 +2499,11 @@ int sf_check_sd(void) ret = SF_FAILURE; return ret; } - if (sf_sd_status_get() != SF_SD_OK) { + if (sf_activity_status_get() != SF_SD_OK) { ret = SF_FAILURE; for (i = 0; i < 20; i++) { - if (SF_SD_OK == sf_sd_status_get()) + if (SF_SD_OK == sf_activity_status_get()) { ret = SF_SUCCESS; MLOGI("SD\r\n"); 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 791aaac55..a8c663037 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 @@ -1082,7 +1082,6 @@ SINT32 sf_app_battery_start(void) SLOGE("thread has already run !!!\n"); return SF_FAILURE; } - sf_adc_init(); printf("[sf_app_battery_start]thread start\n"); ret = pthread_create(&BatteryTskCfg.TskId, NULL, sf_battery_check_thread, NULL); if(ret != SF_SUCCESS) @@ -1373,7 +1372,7 @@ void* sf_app_load_ko_thread(void *arg) SLOGI("thread run\n"); UsbKoTskCfg.IsRun = 1; - sf_load_ko(); + // sf_load_ko(); if(PWR_ON_SETUP == sf_poweron_type_get()) { diff --git a/code/application/source/sf_app/code/source/battery/sf_battery.c b/code/application/source/sf_app/code/source/battery/sf_battery.c index 94f664a04..6f71a07b1 100755 --- a/code/application/source/sf_app/code/source/battery/sf_battery.c +++ b/code/application/source/sf_app/code/source/battery/sf_battery.c @@ -49,6 +49,7 @@ #include "sf_ledmng.h" #include "sf_dev_usb.h" #include "sf_commu_mcu_reg.h" +#include #if HUNTING_CAMERA_MCU == ENABLE typedef signed int SINT32; @@ -447,7 +448,7 @@ UINT32 sf_battery_adc_value_get_once(void) if(_LiPolymerVoltageVal) { - printf("[sf_battery_level_polling]is lith battery\n"); + // printf("[sf_battery_level_polling]is lith battery\n"); if(SF_BATT_LI_PACK != puiPara->BatteryType) { puiPara->LiBatteryType = puiPara->BatteryType; @@ -910,12 +911,12 @@ SINT32 sf_battery_adc_value_get(void) void sf_battery_level_polling(void) { UINT16 readBatCnt = 0; - UINT32 dcTemp = 0; - UINT32 batTemp = 0; - UINT32 LibatTemp = 0; + double dcTemp = 0; + double batTemp = 0; + double LibatTemp = 0; UINT8 LibatCnt = 0; UINT8 batCnt = 0; - UINT32 temperValue = 0; + double temperValue = 0; UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); static UINT32 prePowerDcStatus = 0; @@ -958,13 +959,13 @@ void sf_battery_level_polling(void) } if(readBatCnt >= 10) { - _DcVoltageVal = dcTemp / 10; - _TemperAdc = temperValue/10; + _DcVoltageVal = (UINT32)round(dcTemp / 10); + _TemperAdc = (UINT32)round(temperValue / 10); if(LibatCnt) - _LiPolymerVoltageVal = LibatTemp / LibatCnt; + _LiPolymerVoltageVal = (UINT32)round(LibatTemp / LibatCnt); if(batCnt) - _BatVoltageVal = batTemp / batCnt; + _BatVoltageVal = (UINT32)round(batTemp / batCnt); if((_DcVoltageVal > _LiPolymerVoltageVal) && (_DcVoltageVal >= _BatVoltageVal) && (_DcVoltageVal >= SF_DC_IN_VOLATAGE)) { @@ -1010,7 +1011,7 @@ void sf_battery_level_polling(void) sf_temper_update(); if(LiPolymerVoltageVal) { - printf("[sf_battery_level_polling]is lith battery\n"); + // printf("[sf_battery_level_polling]is lith battery\n"); if(SF_BATT_LI_PACK != puiPara->BatteryType) { puiPara->LiBatteryType = puiPara->BatteryType; @@ -1093,6 +1094,7 @@ void* sf_battery_check_thread(void *arg) { //THREAD_ENTRY(); printf("[%s:%d] s\n", __FUNCTION__, __LINE__); + sf_adc_init(); if(sf_is_battery_low(1, 0) == TRUE) { diff --git a/code/application/source/sf_app/code/source/commMng/sf_message_queue.c b/code/application/source/sf_app/code/source/commMng/sf_message_queue.c index d11b23178..c919d2d44 100644 --- a/code/application/source/sf_app/code/source/commMng/sf_message_queue.c +++ b/code/application/source/sf_app/code/source/commMng/sf_message_queue.c @@ -99,12 +99,22 @@ SINT32 sf_com_message_app_init(void) } SINT32 sf_com_message_recv_from_app(SF_MESSAGE_BUF_S *pMessageBuf) { + if(sf_msgQueueId == -1) + { + perror("no init sf_msgQueueId"); + return 0; + } return message_queue_recv(sf_msgQueueId,pMessageBuf); } SINT32 sf_com_message_send_to_app(SF_MESSAGE_BUF_S *pMessageBuf) { pMessageBuf->mtype = 1; + if(sf_msgQueueId == -1) + { + perror("send no init sf_msgQueueId"); + return -1; + } return message_queue_send(sf_msgQueueId,pMessageBuf); } @@ -114,6 +124,11 @@ SINT32 sf_com_message_cardv_init(void) } SINT32 sf_com_message_recv_from_cardv(SF_MESSAGE_BUF_S *pMessageBuf) { + if(cardv_msgQueueId == -1) + { + perror("no init cardv_msgQueueId"); + return -1; + } return message_queue_recv(cardv_msgQueueId,pMessageBuf); } @@ -122,6 +137,11 @@ SINT32 sf_com_message_send_to_cardv(SF_MESSAGE_BUF_S *pMessageBuf) pMessageBuf->mtype = 1; //printf("[%s:%d] cmdId = %#x\n", __FUNCTION__, __LINE__,pMessageBuf->cmdId); //sf_system_cardv_wait_done(); + if(cardv_msgQueueId == -1) + { + perror("send no init cardv_msgQueueId"); + return -1; + } return message_queue_send(cardv_msgQueueId,pMessageBuf); } diff --git a/code/application/source/sf_app/code/source/fileMng/sf_file.c b/code/application/source/sf_app/code/source/fileMng/sf_file.c index a3f1cc14d..2c705c372 100755 --- a/code/application/source/sf_app/code/source/fileMng/sf_file.c +++ b/code/application/source/sf_app/code/source/fileMng/sf_file.c @@ -1750,7 +1750,7 @@ BOOL sf_check_auto_thumb_file(VOID) UINT8 SDSendFalg = 0; UINT8 EmmcSendFalg = 0; - printf("%s:%d s\n", __FUNCTION__, __LINE__); + // printf("%s:%d s\n", __FUNCTION__, __LINE__); UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); SF_SRCFILE_ATTR_S* fileCfg = sf_file_thumb_cfg_get(); SendFileTotal = 0; diff --git a/code/application/source/sf_app/code/source/paramMng/sf_param_common.c b/code/application/source/sf_app/code/source/paramMng/sf_param_common.c index 0b781c1b9..25843aa45 100755 --- a/code/application/source/sf_app/code/source/paramMng/sf_param_common.c +++ b/code/application/source/sf_app/code/source/paramMng/sf_param_common.c @@ -123,7 +123,7 @@ BOOL sf_check_ota(void) return ret; } -int sf_UIInfo_GetStrgPartitionInfo(unsigned long long *pPartOfs, unsigned long long *pPartSize, const char* fdt_path) +int sf_ui_info_get_strgpartition_info(unsigned long long *pPartOfs, unsigned long long *pPartSize, const char* fdt_path) { unsigned char *p_fdt = (unsigned char *)fdt_get_base(); @@ -141,9 +141,10 @@ int sf_UIInfo_GetStrgPartitionInfo(unsigned long long *pPartOfs, unsigned long l if (nodeoffset < 0) { MLOGE("failed to offset for %s = %d \n", fdt_path, nodeoffset); return -1; - } else { - MLOGI("offset for %s = %d \n", fdt_path, nodeoffset); } + // else { + // MLOGI("offset for %s = %d \n", fdt_path, nodeoffset); + // } nodep = fdt_getprop(p_fdt, nodeoffset, "reg", &len); if (len == 0 || nodep == NULL) { MLOGE("failed to access reg.\n"); @@ -374,7 +375,7 @@ int sf_customer_param_load(void) sectorCnt = (sizeof(UIMenuStoreInfo) / _EMBMEM_BLK_SIZE_) + (sizeof(UIMenuStoreInfo) % _EMBMEM_BLK_SIZE_)? 1 : 0; - ret = sf_UIInfo_GetStrgPartitionInfo(&partition_ofs, &partition_size, PARTITION_PATH_SYS); + ret = sf_ui_info_get_strgpartition_info(&partition_ofs, &partition_size, PARTITION_PATH_SYS); if ((ret == 0) && (sizeof(UIMenuStoreInfo) < partition_size)) { char sys_mtd_dev_path[128] = {'\0'}; @@ -903,7 +904,7 @@ void sf_Save_MenuInfo(void) sectorCnt = (sizeof(UIMenuStoreInfo) / _EMBMEM_BLK_SIZE_) + ((sizeof(UIMenuStoreInfo) % _EMBMEM_BLK_SIZE_)? 1 : 0); - ret = sf_UIInfo_GetStrgPartitionInfo(&partition_ofs, &partition_size, PARTITION_PATH_SYS); + ret = sf_ui_info_get_strgpartition_info(&partition_ofs, &partition_size, PARTITION_PATH_SYS); if ((ret == 0) && (sizeof(UIMenuStoreInfo) < partition_size)) { char sys_mtd_dev_path[128] = {'\0'}; ret = find_sys_mtd_device(sys_mtd_dev_path, sizeof(sys_mtd_dev_path)); @@ -1116,7 +1117,7 @@ SINT32 sf_customer_param_save(SF_PDT_PARAM_CFG_S *pSfCustomerPara) sectorCnt = (sizeof(currentInfo) / _EMBMEM_BLK_SIZE_) + ((sizeof(currentInfo) % _EMBMEM_BLK_SIZE_)? 1 : 0); - ret = sf_UIInfo_GetStrgPartitionInfo(&partition_ofs, &partition_size, PARTITION_PATH_SYS); + ret = sf_ui_info_get_strgpartition_info(&partition_ofs, &partition_size, PARTITION_PATH_SYS); if ((ret == 0) && (sizeof(currentInfo) < partition_size)) { char sys_mtd_dev_path[128] = {'\0'}; ret = find_sys_mtd_device(sys_mtd_dev_path, sizeof(sys_mtd_dev_path)); diff --git a/code/application/source/sf_app/code/source/qrcodeMng/sf_qrcode.c b/code/application/source/sf_app/code/source/qrcodeMng/sf_qrcode.c index 5c83a8667..02cc0a3db 100644 --- a/code/application/source/sf_app/code/source/qrcodeMng/sf_qrcode.c +++ b/code/application/source/sf_app/code/source/qrcodeMng/sf_qrcode.c @@ -89,7 +89,7 @@ SINT16 sf_qrcode_create(SF_CHAR *pIMEI,SF_CHAR *pSimID ,SF_CHAR* pVersion) { SINT16 ret = SF_SUCCESS; SF_CHAR qrsrc_Str[160] = { 0 }; - SF_CHAR qrdst_Str[160] = { 0 }; + // SF_CHAR qrdst_Str[160] = { 0 }; char *file_path = sf_root_path_strcat(QR_CODE_NAME); if(file_path == NULL) diff --git a/code/application/source/sf_app/code/source/storeMng/sf_storeMng.c b/code/application/source/sf_app/code/source/storeMng/sf_storeMng.c index 436ed8fab..ea05e5589 100644 --- a/code/application/source/sf_app/code/source/storeMng/sf_storeMng.c +++ b/code/application/source/sf_app/code/source/storeMng/sf_storeMng.c @@ -36,6 +36,9 @@ UINT32 gnFileIdx = 0; UINT32 gnDirIdx = 0; static SF_SD_STATUS_E SdStatus = SF_SD_BUTT; +static SF_SD_STATUS_E EmmcStatus = SF_SD_BUTT; +static SF_SD_STATUS_E ActivityStatus = SF_SD_BUTT; + SF_STRG_DEV *sf_strg_dev = NULL; void sf_strg_dev_init(void) @@ -54,7 +57,7 @@ void sf_strg_dev_uninit(void) void sf_strg_dev_register(SINT32 dev_id, SINT32 mounted) { - MLOGD("dev_id:%d mounted:%d\n",dev_id, mounted); + // MLOGD("dev_id:%d mounted:%d\n",dev_id, mounted); if(sf_strg_dev != NULL) { sf_strg_dev->dev_type = dev_id; @@ -211,6 +214,17 @@ SINT32 sf_activity_info_get(SF_STORE_ATTR_S *pstoreattrs) MLOGD("ActiveStorage:Status = %d,Free = %d MB,TotalSize = %d MB\n", pstoreattrs->SDStatus, pstoreattrs->SDFree,pstoreattrs->SDTotalSize); return SF_SUCCESS; } + +SINT32 sf_activity_is_full(void) +{ + SF_STORE_ATTR_S storeattrs = {0}; + sf_activity_info_get(&storeattrs); + if(storeattrs.SDStatus != 0) + return storeattrs.SDStatus; + + return (storeattrs.SDFree <= SD_WARNING_SPACE)?1:0; +} + SINT32 sf_sd_info_get(SF_STORE_ATTR_S *pstoreattrs) { SF_COMM_CHECK_POINTER(pstoreattrs,SF_FAILURE); @@ -568,8 +582,44 @@ SINT32 sf_sd_status_set(SF_SD_STATUS_E enStatus) MLOGI("SdStatus:%d\n", SdStatus); return SF_SUCCESS; } +SF_SD_STATUS_E sf_emmc_status_get(void) +{ + //MLOGI("SdStatus:%d\n", SdStatus); + return EmmcStatus; +} +SINT32 sf_emmc_status_set(SF_SD_STATUS_E enStatus) +{ + SF_STORE_CHECK_RANGE(enStatus ,SF_SD_OUT, SF_SD_BUTT); + EmmcStatus = enStatus; + MLOGI("EmmcStatus:%d\n", EmmcStatus); + return SF_SUCCESS; +} +SF_SD_STATUS_E sf_activity_status_get(void) +{ + //MLOGI("SdStatus:%d\n", SdStatus); + MMC_DEV_TYPE mmc_dev = sf_get_strg_dev(); + if(MMC_DEV_EMMC == mmc_dev) + { + return sf_emmc_status_get(); + } + else if(MMC_DEV_SD == mmc_dev) + { + return sf_sd_status_get(); + } + return ActivityStatus; +} + +SINT32 sf_activity_status_set(SF_SD_STATUS_E enStatus) +{ + SF_STORE_CHECK_RANGE(enStatus ,SF_SD_OUT, SF_SD_BUTT); + ActivityStatus = enStatus; + + MLOGI("ActivityStatus:%d\n", ActivityStatus); + return SF_SUCCESS; +} +// sf_activity /************************************************* Function: sf_delete_send_flie_list Description:del send file list diff --git a/code/application/source/sf_app/code/source/wifi/sf_wifi_svr.c b/code/application/source/sf_app/code/source/wifi/sf_wifi_svr.c index b3e627c6a..caba7166b 100755 --- a/code/application/source/sf_app/code/source/wifi/sf_wifi_svr.c +++ b/code/application/source/sf_app/code/source/wifi/sf_wifi_svr.c @@ -2857,18 +2857,18 @@ void sf_wifi_hw_init(void) { ret = system("modprobe 8189fs"); } - else - { - ret = system("modprobe 8723du"); - if(ret == 0) - { - printf("Wifi modprobe OK\r\n"); - } - else - { - printf("Wifi modprobe ERR\r\n"); - } - } + // else + // { + // ret = system("modprobe 8723du"); + // if(ret == 0) + // { + // printf("Wifi modprobe OK\r\n"); + // } + // else + // { + // printf("Wifi modprobe ERR\r\n"); + // } + // } //sleep(2); ret = system("ifconfig lo 127.0.0.1"); if(ret == 0) @@ -3055,3 +3055,48 @@ void sf_wifi_app_start(void) pthread_create(&tid,NULL,(void*)sf_wifi_sevrer_init,(void *)NULL); } +BOOL sf_system_check_wifi_ko(void) +{ + char command[30] = "lsmod | grep 8723du"; + FILE *fp = popen(command, "r"); + char result[256]; + fgets(result, sizeof(result), fp); + pclose(fp); + if (result[0] == '\0') { + MLOGI("rtk_btusb module is not loaded.\n"); + return FALSE; + } else { + MLOGI("rtk_btusb module is loaded.\n"); + return TRUE; + } +} + +int sf_load_wifi_ko(void) +{ + int ret = 0; + MLOGI("start.\n"); + if (sf_system_check_wifi_ko() == TRUE) + { + return TRUE; + } + ret = system("insmod /lib/custom/lib/modules/4.19.91/kernel/net/wireless/cfg80211.ko"); + if(ret == 0) + { + printf("Wifi cfg80211 OK\r\n"); + } + else + { + printf("Wifi cfg80211 ERR\r\n"); + } + ret = system("insmod /lib/custom/lib/modules/4.19.91/extra/net/rtl8723du/8723du.ko"); + if(ret == 0) + { + printf("Wifi rtl8723du OK\r\n"); + } + else + { + printf("Wifi rtl8723du ERR\r\n"); + } + + return ret; +} \ No newline at end of file diff --git a/code/lib/source/sifar/code/include/sf_common.h b/code/lib/source/sifar/code/include/sf_common.h index 4223c03af..dd1600191 100755 --- a/code/lib/source/sifar/code/include/sf_common.h +++ b/code/lib/source/sifar/code/include/sf_common.h @@ -216,4 +216,7 @@ void sf_set_wifi_en(UINT32 cnt); void sf_set_bt_en(UINT32 cnt); void sf_dev_en(void); BOOL sf_cmd_lpa_test(unsigned char argc, char **argv); +unsigned long sf_usb_insmod_start(void); +int sf_cardv_init_start(void); +void sf_cardv_set_battery_level(unsigned long Val); #endif diff --git a/code/lib/source/sifar/code/include/sf_mcu.h b/code/lib/source/sifar/code/include/sf_mcu.h index ee55375ae..caf5159e7 100644 --- a/code/lib/source/sifar/code/include/sf_mcu.h +++ b/code/lib/source/sifar/code/include/sf_mcu.h @@ -413,5 +413,6 @@ void sf_set_ae_night_mode(UINT8 isNightMode); UINT32 sf_get_send_pic_sieze(void); void sf_mcu_version_get(UINT8 *mcuVer); BOOL sf_is_night_mode(BOOL isRefresh); +extern void* sf_usb_insmod_thread(void *arg); #endif diff --git a/code/lib/source/sifar/code/source/common/sf_common.c b/code/lib/source/sifar/code/source/common/sf_common.c index cc2e8b20a..3a4b60477 100755 --- a/code/lib/source/sifar/code/source/common/sf_common.c +++ b/code/lib/source/sifar/code/source/common/sf_common.c @@ -65,8 +65,8 @@ #include "sf_4g_lpa.h" #include #include -#include - +// #include +#include "SF_SysStrgMng.h" BOOL isGoing2PowerOff = FALSE; UINT16 AutoOfftime = 0; @@ -142,6 +142,18 @@ static SF_THREAD_S LoadParaTskCfg = .IsRun = 0, .TskId = -1, }; + +static SF_THREAD_S UsbmodTskCfg = +{ + .IsRun = 0, + .TskId = -1, +}; + +static SF_THREAD_S ShareMemTskCfg = +{ + .IsRun = 0, + .TskId = -1, +}; int sf_pir_statu_read(void) { static UINT8 state = 0; @@ -1405,6 +1417,7 @@ BOOL sf_cmd_fw_upgrade(unsigned char argc, char **argv) printf("[%s:%d] s\n", __FUNCTION__, __LINE__); BKG_PostEvent(NVTEVT_BKW_CAMERA_FW_UPGRADE); printf("[%s:%d] e\n", __FUNCTION__, __LINE__); + return TRUE; } BOOL sf_cmd_switch_esim(unsigned char argc, char **argv) { @@ -2790,6 +2803,7 @@ void sf_save_camera_info(void) void* sf_cardv_wifi_thread(void *arg) { /*wifi init*/ + sf_load_wifi_ko(); UINet_AppIpc_Init(); sf_net_wifi_init(NET_AP_MODE, NET_AUTH_WPA2); WifiTskCfg.IsRun = 0; @@ -3528,14 +3542,15 @@ void sf_set_net_generation(UINT8 value) void* sf_cardv_load_menu_info_thread(void *arg) { - vos_perf_list_mark(__func__, __LINE__, 0); + // vos_perf_list_mark(__func__, __LINE__, 0); SLOGI("thread run\n"); LoadParaTskCfg.IsRun = 1; Load_MenuInfo(); + sf_dev_en(); SLOGI("thread end\n"); LoadParaTskCfg.IsRun = 0; - vos_perf_list_mark(__func__, __LINE__, 0); + // vos_perf_list_mark(__func__, __LINE__, 0); return NULL; } UINT32 sf_cardv_load_menu_info_start(void) @@ -3646,6 +3661,8 @@ void sf_dev_en(void) { UIMenuStoreInfo *puiPara = sf_ui_para_get(); UINT8 startup = sf_cardv_convert_power_on_mode(); + BOOL inUsb = GxUSB_GetIsUSBPlug(); + printf("[%s:%d] s\n", __FUNCTION__, __LINE__); if(SF_MCU_STARTUP_ONKEY == startup) @@ -3660,7 +3677,7 @@ void sf_dev_en(void) } } - if((SF_MCU_STARTUP_NORMAL != startup) && (SF_MCU_STARTUP_OFF != startup)) + if((TRUE != inUsb) && (SF_MCU_STARTUP_NORMAL != startup) && (SF_MCU_STARTUP_OFF != startup)) { if(puiPara->GprsSwitch) { @@ -3679,4 +3696,91 @@ BOOL sf_cmd_lpa_test(unsigned char argc, char **argv) sf_com_message_send_to_app(&stMessageBuf); return TRUE; -} \ No newline at end of file +} + +unsigned long sf_usb_insmod_start(void) +{ + unsigned long ret = SF_FAILURE; + if(UsbmodTskCfg.IsRun) + { + SLOGE("thread has already run !!!\n"); + return SF_FAILURE; + } + UsbmodTskCfg.IsRun = 1; + SLOGI("thread run\n"); + ret = pthread_create(&UsbmodTskCfg.TskId, NULL, sf_usb_insmod_thread, NULL); + if(ret != SF_SUCCESS) + { + MLOGD("thread creat fail!\n"); + return ret; + } + return SF_SUCCESS; +} + +void* sf_cardv_init_thread(void *arg) +{ + SLOGI("thread run\n"); + ShareMemTskCfg.IsRun = 1; + sf_share_mem_file_init(); + if(SF_SUCCESS == sf_com_message_cardv_init()) + { + printf("create message successs!!!!\n"); + } + if(SF_SUCCESS == sf_com_message_app_init()) + { + printf("create cardv message successs!!!!\n"); + } + sf_cardv_message_thread_init(); + + SF_StrgInit(); + SLOGI("thread s1\n"); + +#if USE_MMC_DEV_CHECK + sf_mmc_dev_check_start(); +#endif + + BOOL inUsb = GxUSB_GetIsUSBPlug(); + + SF_MESSAGE_BUF_S stMessageBuf = {0}; + + if(TRUE != inUsb) + { + stMessageBuf.arg1 = SF_MCU_CMD_POWERON; + stMessageBuf.cmdId = CMD_MCU; + sf_com_message_send_to_app(&stMessageBuf); + + stMessageBuf.arg1 = SF_DEV_CMD_TEMPER; + stMessageBuf.cmdId = CMD_DEV; + sf_com_message_send_to_app(&stMessageBuf); + } + + ShareMemTskCfg.IsRun = 0; + SLOGI("thread end\n"); + return NULL; +} + +int sf_cardv_init_start(void) +{ + int ret = 1; + if(ShareMemTskCfg.IsRun) + { + SLOGE("thread has already run !!!\n"); + return 1; + } + ret = pthread_create(&ShareMemTskCfg.TskId, NULL, sf_cardv_init_thread, NULL); + if(ret != SF_SUCCESS) + { + MLOGD("thread creat fail!\n"); + return ret; + } + return SF_SUCCESS; + +} +void sf_cardv_set_battery_level(unsigned long Val) +{ + batteryVal = (Val>>18) & 0x7F;//0~100 + batteryType = (Val>>16) & 0x03; + powerVal = Val & 0xFF; + sf_cardv_battery_level_update(batteryVal); + // MLOGI("batteryVal:%d batteryType:%d powerVal:%d p:%d\n",batteryVal, batteryType, powerVal,Val); +} diff --git a/configs/Linux/cfg_565_HUNTING_EVB_LINUX_4G_S550/make_post.sh b/configs/Linux/cfg_565_HUNTING_EVB_LINUX_4G_S550/make_post.sh index a27ec25f3..273347f4b 100755 --- a/configs/Linux/cfg_565_HUNTING_EVB_LINUX_4G_S550/make_post.sh +++ b/configs/Linux/cfg_565_HUNTING_EVB_LINUX_4G_S550/make_post.sh @@ -129,6 +129,29 @@ do fi done +SF_MV_KO_LIST=(\ +/lib/modules/$KERVER/extra/net/rtl8723du/8723du.ko \ +/lib/modules/$KERVER/kernel/net/wireless/cfg80211.ko \ +) + +if [ -d ${ROOTFS_DIR}/rootfs/lib/custom ]; then + echo "remove old rootfs etc/lib/custom" + rm -r ${ROOTFS_DIR}/rootfs/etc/lib/custom +fi + + +for n in "${SF_MV_KO_LIST[@]}" +do + if [ -f ${ROOTFS_DIR}/rootfs/${n} ]; then + path=$(dirname "${ROOTFS_DIR}/rootfs/lib/custom${n}") + if [ ! -d ${path} ]; then + mkdir -p ${path} + fi + echo "mv ${ROOTFS_DIR}/rootfs/${n} to ${path}/" + mv ${ROOTFS_DIR}/rootfs/${n} ${path}/ + ${STRIP} -g --strip-unneeded ${ROOTFS_DIR}/rootfs/lib/custom/${n} + fi +done # static device node MAJOR=253 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 1615806e6..16e45ef5e 100644 --- a/rtos/code/application/source/cardv/SrcCode/System/sys_linuxboot.c +++ b/rtos/code/application/source/cardv/SrcCode/System/sys_linuxboot.c @@ -855,7 +855,7 @@ static int make_bootargs(LINUXTMP_PARTITION *p_linuxtmp, unsigned int bootts_beg // } // } - snprintf(PowerOnModeStr, sizeof(PowerOnModeStr), "Mode=%d UpFw=%d mcu=%d sf=%d",sf_get_power_on_mode(), sf_in_update() , sf_in_mcu_update(), sf_battery_level_get()); + snprintf(PowerOnModeStr, sizeof(PowerOnModeStr), "Mode=%d UpFw=%d mcu=%d sf=%d",sf_get_power_on_mode(), sf_in_update() , sf_in_mcu_update(), sf_get_battery_level()); linuxboot_set_extra_bootarg(PowerOnModeStr); #endif p_linuxtmp->bootargs_addr = p_linuxtmp->tmp_curr; diff --git a/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFastSliceEncode.c b/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFastSliceEncode.c index 16692389a..e8c192522 100644 --- a/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFastSliceEncode.c +++ b/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFastSliceEncode.c @@ -2356,11 +2356,11 @@ INT32 PhotoFast_SliceEncode_CB3(void* user_data) continue; } - if(DrvGPIO_GetPhotoMovieModeFromMonitor() == DX_HUNTING_MODE_MOVIE2) - { - sf_fastboot_msg_en(ENABLE); - DBG_WRN("sf_fastboot_msg_en test\n"); - } + // if(DrvGPIO_GetPhotoMovieModeFromMonitor() == DX_HUNTING_MODE_MOVIE2) + // { + // sf_fastboot_msg_en(ENABLE); + // DBG_WRN("sf_fastboot_msg_en test\n"); + // } if(queue_ele_in->comm.terminate){ DBG_ERR("abort CB3\n"); diff --git a/rtos/code/driver/na51089/include/sf_battery.h b/rtos/code/driver/na51089/include/sf_battery.h index f221cbc75..d7c79974c 100755 --- a/rtos/code/driver/na51089/include/sf_battery.h +++ b/rtos/code/driver/na51089/include/sf_battery.h @@ -28,7 +28,7 @@ UINT32 sf_battery_level_get(void); void sf_view_osd_battery_draw(UINT8 bShow); UINT8 sf_battery_value_get(UINT8 nightMode); UINT8 sf_battery_type_get(void); - +UINT32 sf_get_battery_level(void); BOOL sf_battery_check_init(void); void sf_set_need_check_first(void); BOOL sf_is_enough_power_to_update(void); diff --git a/rtos/code/driver/na51089/source/mcu/sf_battery.c b/rtos/code/driver/na51089/source/mcu/sf_battery.c index 20ec89584..1993222c3 100755 --- a/rtos/code/driver/na51089/source/mcu/sf_battery.c +++ b/rtos/code/driver/na51089/source/mcu/sf_battery.c @@ -977,6 +977,33 @@ void sf_set_night_led_flag(UINT8 flag) IsNightLedOn = flag; } +/************************************************* + Function: sf_battery_type_get + Description: Get battery type. + Input: N/A + Output: N/A + Return: value: battery type, 0:normal 1:LiPolymer + Others: N/A +*************************************************/ +UINT16 sf_battery_val_get(void) +{ + if(IsPowerDcIn) + return (UINT16)DcVoltageVal; + else if(LiPolymerVoltageVal) + return (UINT16)LiPolymerVoltageVal; + else if(BatVoltageVal) + return (UINT16)BatVoltageVal; + else + return 0; +} + +UINT32 sf_get_battery_level(void) +{ + UINT32 tmp = ((UINT32) (sf_battery_value_get(sf_get_night_led_flag()) << 18) | (((sf_battery_type_get()) << 16) | (sf_battery_val_get()))); + // printf("[%s:%d] tmp:%ld\n", __FUNCTION__, __LINE__, tmp); + return tmp; +} + /************************************************* Function: sf_battery_level_get Description: get battery level diff --git a/rtos/code/driver/na51089/source/mcu/sf_mcu.c b/rtos/code/driver/na51089/source/mcu/sf_mcu.c index dab670715..5b6c3760c 100755 --- a/rtos/code/driver/na51089/source/mcu/sf_mcu.c +++ b/rtos/code/driver/na51089/source/mcu/sf_mcu.c @@ -2315,7 +2315,7 @@ void sf_file_thumb_cfg_sava(void) if(/*fd*/fs) { FileSys_StatFile(fs, &FileStat); - printf("%s:%d qFileStat:%llu\n", __FUNCTION__, __LINE__, FileStat.uiFileSize); + // printf("%s:%d qFileStat:%llu\n", __FUNCTION__, __LINE__, FileStat.uiFileSize); ret_fs = FileSys_SeekFile(fs, 0, FST_SEEK_END); @@ -2447,7 +2447,7 @@ void sf_add_file_name_to_send_list(char *sendfname, FST_FILE fd) } FileSys_StatFile(fd, &FileStat); - printf("%s:%d FileStat:%llu\n", __FUNCTION__, __LINE__, FileStat.uiFileSize); + // printf("%s:%d FileStat:%llu\n", __FUNCTION__, __LINE__, FileStat.uiFileSize); //write(fd, buff, SF_SEND_LIST_ITEM_LENGTH); diff --git a/rtos/code/driver/na51089/source/mcu/sf_sd_common.c b/rtos/code/driver/na51089/source/mcu/sf_sd_common.c index 5dcd897a3..681c42545 100755 --- a/rtos/code/driver/na51089/source/mcu/sf_sd_common.c +++ b/rtos/code/driver/na51089/source/mcu/sf_sd_common.c @@ -320,11 +320,11 @@ SF_RTOS_ST_MMC_DEV *SF_RtosStrgCheckWorkableDev(void) } - DBG_WRN("dev_id = %d!!!\n", workable_dev); + // DBG_WRN("dev_id = %d!!!\n", workable_dev); for(int i = 0; i < 2; i++) { sf_rtos_mmc_dev[i]->dev_type = workable_dev; - DBG_WRN("mount:%d\n", sf_rtos_mmc_dev[i]->moumted_state); + // DBG_WRN("mount:%d\n", sf_rtos_mmc_dev[i]->moumted_state); } if(workable_dev == MMC_DEV_NO) {