1.模块升级功能
2.usb net修改
This commit is contained in:
parent
a74013e14f
commit
a7dfbae0c0
|
@ -74,3 +74,4 @@ alias state='cardv sys state'
|
|||
alias reset='cardv sys reset'
|
||||
alias mcupara='cardv sys mcupara'
|
||||
alias setusbmuxs='cardv sys setusbmuxs'
|
||||
alias 4gusbboot='cardv sys 4gusbboot'
|
||||
|
|
|
@ -237,7 +237,8 @@ UINT32 DrvKey_DetNormalKey(void)
|
|||
BKG_PostEvent(NVTEVT_BKW_FORMAT_CARD);
|
||||
}else if((!cmdflag) && (0 == sf_get_fw_update()) && (time >= 10000)){
|
||||
cmdflag = 1;
|
||||
}else if(++SendKeyCnt < SendKey_LessCnt){//shot key
|
||||
sf_set_module_update(1);
|
||||
}else if((++SendKeyCnt < SendKey_LessCnt) && (!cmdflag)){//shot key
|
||||
uiKeyCode |= FLGKEY_SHUTTER2;
|
||||
}else {
|
||||
printf("[%s:%d] SendKeyCnt:%d KeyTestPressCnt:%d time: %dms\n", __FUNCTION__, __LINE__, SendKeyCnt, KeyTestPressCnt, time);
|
||||
|
|
|
@ -369,6 +369,8 @@ extern BOOL GPIOMap_DetPoweroff(void);
|
|||
#define GPIO_USB_MUX_S P_GPIO_2 //USB_MUX_S
|
||||
#define PAD_USB_MUX_S PAD_PIN_PGPIO2
|
||||
|
||||
#define GPIO_4G_USB_BOOT S_GPIO_5 //4G_USB_BOOT
|
||||
#define PAD_4G_USB_BOOT PAD_PIN_SGPIO5
|
||||
//----------charge ic ----------------
|
||||
#define GPIO_CHARGEIC_EN C_GPIO_4
|
||||
#define GPIO_PIR_STATE C_GPIO_7
|
||||
|
|
|
@ -249,6 +249,8 @@ SXCMD_ITEM("state %", sf_cmd_get_cam_state, "state")
|
|||
SXCMD_ITEM("reset", sf_cmd_reset, "reset")
|
||||
SXCMD_ITEM("mcupara", sf_cmd_mcu_power_on_para_get, "get mcu para")
|
||||
SXCMD_ITEM("setusbmuxs", sf_cmd_usb_mux_s, "set usbmuxs")
|
||||
SXCMD_ITEM("4gusbboot", sf_cmd_cardv_4g_usb_boot, "set 4gusbboot")
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
|
|
@ -466,7 +466,7 @@ typedef enum sf_MCU_MESSAGE_TYPE_E
|
|||
SF_MCU_CMD_MODULE_SLEEP = 0x1D00,
|
||||
SF_MCU_CMD_MCU_VER = 0x1E00,
|
||||
SF_MCU_CMD_MCU_RTC = 0x1F00,
|
||||
|
||||
SF_MCU_CMD_SET_MCU = 0x1F01,
|
||||
}SF_MCU_MESSAGE_TYPE_E;
|
||||
|
||||
typedef enum sf_PARA_MESSAGE_TYPE_E
|
||||
|
|
|
@ -55,6 +55,8 @@ SINT32 sf_app_para_check_stop(void);
|
|||
SINT32 sf_app_battery_start(void);
|
||||
SINT32 sf_app_battery_stop(void);
|
||||
SINT32 sf_app_data_ready_start(void);
|
||||
void sf_cmd_4g_usb_boot(void);
|
||||
void sf_do_4g_upgrade_thread(void);
|
||||
#ifdef __cplusplus
|
||||
#if __cplusplus
|
||||
}
|
||||
|
|
|
@ -746,6 +746,9 @@ static SINT32 sf_app_proccess_cmd_mcu(SF_MESSAGE_BUF_S *pMessageBuf)
|
|||
case SF_MCU_CMD_MCU_RTC:
|
||||
sf_set_mcu_rtc_flag(1);
|
||||
break;
|
||||
case SF_MCU_CMD_SET_MCU:
|
||||
sf_mcu_reg_set(pMessageBuf->arg2, pMessageBuf->arg3);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -767,6 +770,11 @@ static SINT32 sf_app_proccess_cmd_para_update(SF_MESSAGE_BUF_S *pMessageBuf)
|
|||
break;
|
||||
case SF_PARA_CMD_MOUP:
|
||||
ModuleUpdating = pMessageBuf->arg2;
|
||||
MLOGD("ModuleUpdating = %d\n",ModuleUpdating);
|
||||
|
||||
if(ModuleUpdating){
|
||||
sf_do_4g_upgrade_thread();
|
||||
}
|
||||
break;
|
||||
case SF_PARA_CMD_IR_LED_STATUS:
|
||||
IsNightLedOn = pMessageBuf->arg2;
|
||||
|
|
|
@ -164,9 +164,9 @@ SINT32 sf_USB_net_init(void) {
|
|||
|
||||
//{ sprintf(cmdStr, "/usr/bin/quectel-CM -n %d&", E_PDP_INDEX); }
|
||||
}
|
||||
sprintf(cmdStr, "/usr/bin/quectel-CM &");
|
||||
sprintf(cmdStr, "/usr/bin/quectel-CM -n %d&",A_PDP_INDEX);
|
||||
for (UINT8 i = 0; i < 40; i++) {
|
||||
if (access("/dev/ttyUSB2", F_OK) == SF_SUCCESS) {
|
||||
if (access("/dev/ttyUSB3", F_OK) == SF_SUCCESS) {
|
||||
ret = SF_SUCCESS;
|
||||
printf("usb net ko exist!\r\n");
|
||||
break;
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
#include "sf_commMng.h"
|
||||
#include "sf_battery.h"
|
||||
#include "sf_common.h"
|
||||
|
||||
#include "IOCfg.h"
|
||||
#ifdef __cplusplus
|
||||
#if __cplusplus
|
||||
extern "C" {
|
||||
|
@ -104,6 +104,13 @@ SF_THREAD_S DateReadyTskCfg =
|
|||
.TskId = -1,
|
||||
};
|
||||
|
||||
static SF_THREAD_S ModeuleUpgradeTskParam =
|
||||
{
|
||||
.IsRun = 0,
|
||||
.TskId = -1,
|
||||
};
|
||||
|
||||
|
||||
SINT8 debugFlag = 0;
|
||||
|
||||
void app_poweroff_time_clear(void)
|
||||
|
@ -1115,3 +1122,95 @@ SINT32 sf_app_data_ready_start(void)
|
|||
#endif
|
||||
#endif
|
||||
|
||||
void sf_cmd_4g_usb_boot(void)
|
||||
{
|
||||
printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
|
||||
sf_hal_gpio_init(GPIO_4G_USB_BOOT, 1);
|
||||
sf_hal_gpio_set(GPIO_4G_USB_BOOT, 1);
|
||||
sf_mcu_reg_set(SF_MCU_RESET_MODULE, 0);
|
||||
sleep(2);
|
||||
printf("[%s:%d] e\n", __FUNCTION__, __LINE__);
|
||||
}
|
||||
|
||||
static UINT32 sf_4g_update(void)
|
||||
{
|
||||
SF_CHAR cmdStr[128] = {0};
|
||||
int ret = SF_FAILURE;
|
||||
printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
|
||||
|
||||
sprintf(cmdStr, "/usr/bin/DownloadCLI -p /dev/ttyACM0 -c /mnt/sd/EG915Q/cfg_ec618_usb.ini -B \"BL AP CP\" -r");
|
||||
for (UINT8 i = 0; i < 40; i++) {
|
||||
if (access("/dev/ttyACM0", F_OK) == SF_SUCCESS) {
|
||||
ret = SF_SUCCESS;
|
||||
printf("[%s:%d] ttyACM0 exist!\r\n", __FUNCTION__, __LINE__);
|
||||
break;
|
||||
}
|
||||
else {
|
||||
usleep(100 * 1000);
|
||||
}
|
||||
}
|
||||
|
||||
if (ret == SF_SUCCESS) {
|
||||
ret = system(cmdStr);
|
||||
if (sf_poweron_type_get() == SF_MCU_STARTUP_RING) {
|
||||
sleep(2);
|
||||
}
|
||||
else {
|
||||
sleep(5);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
printf("[%s:%d] e\n", __FUNCTION__, __LINE__);
|
||||
return 1;
|
||||
}
|
||||
void* sf_sys_do_4g_upgrade(void *arg)
|
||||
{
|
||||
//int s32Ret = 0;
|
||||
|
||||
SLOGW("Begin to do 4G Upgrade!\n");
|
||||
|
||||
if(sf_is_enough_power_to_update() == FALSE)
|
||||
{
|
||||
sf_sys_status_led_set(SF_LED_SYS_STATE_ERROR);
|
||||
}
|
||||
else{
|
||||
sf_mcu_reg_set(SF_MCU_SOFT_UPDATE, 1);
|
||||
sf_set_module_update(1);
|
||||
//sf_set_send_statu(TRUE);
|
||||
sf_sys_status_led_set(SF_LED_SYS_STATE_UPDATE);
|
||||
//BKG_PostEvent(NVTEVT_BKW_FW_UPDATE);
|
||||
if(0 != sf_4g_update()){
|
||||
sf_sys_status_led_set(SF_LED_SYS_STATE_ERROR);
|
||||
}
|
||||
else {
|
||||
//SysResetFlag();
|
||||
}
|
||||
sf_mcu_reg_set(SF_MCU_SOFT_UPDATE, 0);
|
||||
// sf_set_send_statu(FALSE);
|
||||
sf_set_module_update(0);
|
||||
sf_sleep_ms(1000);
|
||||
//Ux_PostEvent(NVTEVT_SYSTEM_SHUTDOWN, 1, 0);
|
||||
}
|
||||
|
||||
ModeuleUpgradeTskParam.IsRun = 2;
|
||||
SLOGW("Begin to do 4G Upgrade e\n");
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void sf_do_4g_upgrade_thread(void)
|
||||
{
|
||||
printf("ModeuleUpgradeTskParam.IsRun:%d\n", ModeuleUpgradeTskParam.IsRun);
|
||||
if(ModeuleUpgradeTskParam.IsRun == 2)
|
||||
{
|
||||
ModeuleUpgradeTskParam.IsRun = 0;
|
||||
pthread_join(ModeuleUpgradeTskParam.TskId, NULL);
|
||||
}
|
||||
|
||||
if(!ModeuleUpgradeTskParam.IsRun)
|
||||
{
|
||||
sf_cmd_4g_usb_boot();
|
||||
pthread_create(&ModeuleUpgradeTskParam.TskId, NULL, sf_sys_do_4g_upgrade, NULL);
|
||||
ModeuleUpgradeTskParam.IsRun = 1;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user