1.lib下启动优化

This commit is contained in:
payton 2024-02-01 13:49:53 +08:00
parent 3c244b24ea
commit 11e4c2db34
3 changed files with 114 additions and 6 deletions

View File

@ -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

View File

@ -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

View File

@ -65,8 +65,8 @@
#include "sf_4g_lpa.h"
#include <sf_wifi_svr.h>
#include <sf_log.h>
#include <sf_storeMng.h>
// #include <sf_storeMng.h>
#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;
}
}
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);
}