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 reset='cardv sys reset'
|
||||||
alias mcupara='cardv sys mcupara'
|
alias mcupara='cardv sys mcupara'
|
||||||
alias setusbmuxs='cardv sys setusbmuxs'
|
alias setusbmuxs='cardv sys setusbmuxs'
|
||||||
|
alias 4gusbboot='cardv sys 4gusbboot'
|
||||||
|
|
|
@ -237,7 +237,8 @@ UINT32 DrvKey_DetNormalKey(void)
|
||||||
BKG_PostEvent(NVTEVT_BKW_FORMAT_CARD);
|
BKG_PostEvent(NVTEVT_BKW_FORMAT_CARD);
|
||||||
}else if((!cmdflag) && (0 == sf_get_fw_update()) && (time >= 10000)){
|
}else if((!cmdflag) && (0 == sf_get_fw_update()) && (time >= 10000)){
|
||||||
cmdflag = 1;
|
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;
|
uiKeyCode |= FLGKEY_SHUTTER2;
|
||||||
}else {
|
}else {
|
||||||
printf("[%s:%d] SendKeyCnt:%d KeyTestPressCnt:%d time: %dms\n", __FUNCTION__, __LINE__, SendKeyCnt, KeyTestPressCnt, time);
|
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 GPIO_USB_MUX_S P_GPIO_2 //USB_MUX_S
|
||||||
#define PAD_USB_MUX_S PAD_PIN_PGPIO2
|
#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 ----------------
|
//----------charge ic ----------------
|
||||||
#define GPIO_CHARGEIC_EN C_GPIO_4
|
#define GPIO_CHARGEIC_EN C_GPIO_4
|
||||||
#define GPIO_PIR_STATE C_GPIO_7
|
#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("reset", sf_cmd_reset, "reset")
|
||||||
SXCMD_ITEM("mcupara", sf_cmd_mcu_power_on_para_get, "get mcu para")
|
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("setusbmuxs", sf_cmd_usb_mux_s, "set usbmuxs")
|
||||||
|
SXCMD_ITEM("4gusbboot", sf_cmd_cardv_4g_usb_boot, "set 4gusbboot")
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -466,7 +466,7 @@ typedef enum sf_MCU_MESSAGE_TYPE_E
|
||||||
SF_MCU_CMD_MODULE_SLEEP = 0x1D00,
|
SF_MCU_CMD_MODULE_SLEEP = 0x1D00,
|
||||||
SF_MCU_CMD_MCU_VER = 0x1E00,
|
SF_MCU_CMD_MCU_VER = 0x1E00,
|
||||||
SF_MCU_CMD_MCU_RTC = 0x1F00,
|
SF_MCU_CMD_MCU_RTC = 0x1F00,
|
||||||
|
SF_MCU_CMD_SET_MCU = 0x1F01,
|
||||||
}SF_MCU_MESSAGE_TYPE_E;
|
}SF_MCU_MESSAGE_TYPE_E;
|
||||||
|
|
||||||
typedef enum sf_PARA_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_start(void);
|
||||||
SINT32 sf_app_battery_stop(void);
|
SINT32 sf_app_battery_stop(void);
|
||||||
SINT32 sf_app_data_ready_start(void);
|
SINT32 sf_app_data_ready_start(void);
|
||||||
|
void sf_cmd_4g_usb_boot(void);
|
||||||
|
void sf_do_4g_upgrade_thread(void);
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
#if __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:
|
case SF_MCU_CMD_MCU_RTC:
|
||||||
sf_set_mcu_rtc_flag(1);
|
sf_set_mcu_rtc_flag(1);
|
||||||
break;
|
break;
|
||||||
|
case SF_MCU_CMD_SET_MCU:
|
||||||
|
sf_mcu_reg_set(pMessageBuf->arg2, pMessageBuf->arg3);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -767,6 +770,11 @@ static SINT32 sf_app_proccess_cmd_para_update(SF_MESSAGE_BUF_S *pMessageBuf)
|
||||||
break;
|
break;
|
||||||
case SF_PARA_CMD_MOUP:
|
case SF_PARA_CMD_MOUP:
|
||||||
ModuleUpdating = pMessageBuf->arg2;
|
ModuleUpdating = pMessageBuf->arg2;
|
||||||
|
MLOGD("ModuleUpdating = %d\n",ModuleUpdating);
|
||||||
|
|
||||||
|
if(ModuleUpdating){
|
||||||
|
sf_do_4g_upgrade_thread();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case SF_PARA_CMD_IR_LED_STATUS:
|
case SF_PARA_CMD_IR_LED_STATUS:
|
||||||
IsNightLedOn = pMessageBuf->arg2;
|
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 -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++) {
|
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;
|
ret = SF_SUCCESS;
|
||||||
printf("usb net ko exist!\r\n");
|
printf("usb net ko exist!\r\n");
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
#include "sf_commMng.h"
|
#include "sf_commMng.h"
|
||||||
#include "sf_battery.h"
|
#include "sf_battery.h"
|
||||||
#include "sf_common.h"
|
#include "sf_common.h"
|
||||||
|
#include "IOCfg.h"
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
#if __cplusplus
|
#if __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
@ -104,6 +104,13 @@ SF_THREAD_S DateReadyTskCfg =
|
||||||
.TskId = -1,
|
.TskId = -1,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static SF_THREAD_S ModeuleUpgradeTskParam =
|
||||||
|
{
|
||||||
|
.IsRun = 0,
|
||||||
|
.TskId = -1,
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
SINT8 debugFlag = 0;
|
SINT8 debugFlag = 0;
|
||||||
|
|
||||||
void app_poweroff_time_clear(void)
|
void app_poweroff_time_clear(void)
|
||||||
|
@ -1115,3 +1122,95 @@ SINT32 sf_app_data_ready_start(void)
|
||||||
#endif
|
#endif
|
||||||
#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