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_set_bt_en(UINT32 cnt);
void sf_dev_en(void); void sf_dev_en(void);
BOOL sf_cmd_lpa_test(unsigned char argc, char **argv); 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 #endif

View File

@ -413,5 +413,6 @@ void sf_set_ae_night_mode(UINT8 isNightMode);
UINT32 sf_get_send_pic_sieze(void); UINT32 sf_get_send_pic_sieze(void);
void sf_mcu_version_get(UINT8 *mcuVer); void sf_mcu_version_get(UINT8 *mcuVer);
BOOL sf_is_night_mode(BOOL isRefresh); BOOL sf_is_night_mode(BOOL isRefresh);
extern void* sf_usb_insmod_thread(void *arg);
#endif #endif

View File

@ -65,8 +65,8 @@
#include "sf_4g_lpa.h" #include "sf_4g_lpa.h"
#include <sf_wifi_svr.h> #include <sf_wifi_svr.h>
#include <sf_log.h> #include <sf_log.h>
#include <sf_storeMng.h> // #include <sf_storeMng.h>
#include "SF_SysStrgMng.h"
BOOL isGoing2PowerOff = FALSE; BOOL isGoing2PowerOff = FALSE;
UINT16 AutoOfftime = 0; UINT16 AutoOfftime = 0;
@ -142,6 +142,18 @@ static SF_THREAD_S LoadParaTskCfg =
.IsRun = 0, .IsRun = 0,
.TskId = -1, .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) int sf_pir_statu_read(void)
{ {
static UINT8 state = 0; 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__); printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
BKG_PostEvent(NVTEVT_BKW_CAMERA_FW_UPGRADE); BKG_PostEvent(NVTEVT_BKW_CAMERA_FW_UPGRADE);
printf("[%s:%d] e\n", __FUNCTION__, __LINE__); printf("[%s:%d] e\n", __FUNCTION__, __LINE__);
return TRUE;
} }
BOOL sf_cmd_switch_esim(unsigned char argc, char **argv) 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) void* sf_cardv_wifi_thread(void *arg)
{ {
/*wifi init*/ /*wifi init*/
sf_load_wifi_ko();
UINet_AppIpc_Init(); UINet_AppIpc_Init();
sf_net_wifi_init(NET_AP_MODE, NET_AUTH_WPA2); sf_net_wifi_init(NET_AP_MODE, NET_AUTH_WPA2);
WifiTskCfg.IsRun = 0; WifiTskCfg.IsRun = 0;
@ -3528,14 +3542,15 @@ void sf_set_net_generation(UINT8 value)
void* sf_cardv_load_menu_info_thread(void *arg) 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"); SLOGI("thread run\n");
LoadParaTskCfg.IsRun = 1; LoadParaTskCfg.IsRun = 1;
Load_MenuInfo(); Load_MenuInfo();
sf_dev_en();
SLOGI("thread end\n"); SLOGI("thread end\n");
LoadParaTskCfg.IsRun = 0; LoadParaTskCfg.IsRun = 0;
vos_perf_list_mark(__func__, __LINE__, 0); // vos_perf_list_mark(__func__, __LINE__, 0);
return NULL; return NULL;
} }
UINT32 sf_cardv_load_menu_info_start(void) UINT32 sf_cardv_load_menu_info_start(void)
@ -3646,6 +3661,8 @@ void sf_dev_en(void)
{ {
UIMenuStoreInfo *puiPara = sf_ui_para_get(); UIMenuStoreInfo *puiPara = sf_ui_para_get();
UINT8 startup = sf_cardv_convert_power_on_mode(); UINT8 startup = sf_cardv_convert_power_on_mode();
BOOL inUsb = GxUSB_GetIsUSBPlug();
printf("[%s:%d] s\n", __FUNCTION__, __LINE__); printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
if(SF_MCU_STARTUP_ONKEY == startup) 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) if(puiPara->GprsSwitch)
{ {
@ -3679,4 +3696,91 @@ BOOL sf_cmd_lpa_test(unsigned char argc, char **argv)
sf_com_message_send_to_app(&stMessageBuf); sf_com_message_send_to_app(&stMessageBuf);
return TRUE; 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);
}