1.短信指令的修复

2.模块升级
This commit is contained in:
payton 2023-07-21 11:11:57 +08:00
parent 38aec45f98
commit c7a9708551
6 changed files with 72 additions and 48 deletions

View File

@ -39,7 +39,7 @@ extern "C" {
#define GPRS_MODULE_TYPE_EG95_V "EG95VX"
#define GPRS_MODULE_TYPE_EG91_NAXD "EG91NAXD"
#define GPRS_MODULE_TYPE_EG95_NAXD "EG95NAXD"
#define GPRS_MODULE_TYPE_EG915Q "EG915Q"
#define A_MODULE_APN "nxtgenphone"

View File

@ -57,6 +57,7 @@ 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);
UINT32 sf_4g_update(UINT8 *upFname);
#ifdef __cplusplus
#if __cplusplus
}

View File

@ -2529,6 +2529,7 @@ SINT32 sf_module_complete_init(void)
SF_ERROR("ErrorCode=0x%08x,Simcard Not Inserted.", ret);
sf_set_sim_insert(0);
sf_set_cq_signal(0);
memset(puiPara->SimIccid,'\0',sizeof(puiPara->SimIccid));
SLOGD("AT+QSIMSTAT? Timeout");
goto SF_MODULE_END;
}
@ -2568,6 +2569,7 @@ SINT32 sf_module_complete_init(void)
SF_ERROR("ErrorCode=0x%08x,Unknown, before (U)SIM initialization.", ret);
sf_set_sim_insert(0);
sf_set_cq_signal(0);
memset(puiPara->SimIccid,'\0',sizeof(puiPara->SimIccid));
SLOGD("AT+QSIMSTAT? Timeout");
goto SF_MODULE_END;
}
@ -3787,7 +3789,7 @@ SINT32 sf_auto_net_reg(void)
{
callTime++;
if(callTime >= 75)
//if(callTime >= 75)
{
ret = SF_SIM_ERROR_NO_SIMCARD;
SLOGE(gsmPara);
@ -3800,9 +3802,9 @@ SINT32 sf_auto_net_reg(void)
goto SF_MODULE_END;
}
strcpy((char *)gsmPara, "AT+QSIMSTAT?\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
//strcpy((char *)gsmPara, "AT+QSIMSTAT?\r");
//ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
//SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
break;
}
else if(strstr((const char *)gsmPara, "+QSIMSTAT: 0,1"))
@ -3815,7 +3817,12 @@ SINT32 sf_auto_net_reg(void)
else
{
eNetRegLocation = QUECTEL_NETREG_QLWCFG_URC;
strcpy((char *)gsmPara, "AT+QLWCFG=\"startup\",0\r");
if(strstr(puiPara->ModuleVer, GPRS_MODULE_TYPE_EG915Q)){
strcpy((char *)gsmPara, "AT+QLWCFG=\"auto_reg\",0\r");
}
else{
strcpy((char *)gsmPara, "AT+QLWCFG=\"startup\",0\r");
}
}
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
@ -3825,7 +3832,7 @@ SINT32 sf_auto_net_reg(void)
{
callTime++;
if(callTime >= 75)
//if(callTime >= 75)
{
ret = SF_SIM_ERROR_AT_TIMEOUT;
SLOGE(gsmPara);
@ -3838,9 +3845,9 @@ SINT32 sf_auto_net_reg(void)
goto SF_MODULE_END;
}
strcpy((char *)gsmPara, "AT+QSIMSTAT?\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
//strcpy((char *)gsmPara, "AT+QSIMSTAT?\r");
//ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
//SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
break;
}
else

View File

@ -41,7 +41,7 @@
#include <unistd.h>
#include "sf_fileMng.h"
#include "sf_battery.h"
#include "sf_system.h"
/**************************************************************************
* C O N S T A N T S *
**************************************************************************/
@ -406,11 +406,11 @@ UINT8 sf_message_data_processing(UINT8 strValue[30][32], UINT16 mm, UINT8 *sms_s
if(strlen((const char *)strValue[i]) == 1)
{
if(strValue[i][0] - '0' == 0)
if(strValue[i][0] - '0' == 1)
{
pPara_sms_saved->FlashLed = SF_FLASH_LED_HIGH;
}
else if(strValue[i][0] - '0' == 1)
else if(strValue[i][0] - '0' == 2)
{
pPara_sms_saved->FlashLed = SF_FLASH_LED_LOW;
}
@ -505,6 +505,7 @@ UINT8 sf_message_data_processing(UINT8 strValue[30][32], UINT16 mm, UINT8 *sms_s
printf("Error Format line:%d i=%d\n", __LINE__, i);
Readmmsok = SMS_STATUS_FORMAT_ERR;
}
SLOGW("WorkTime1:%d %d:%d-%d:%d\n", pPara_sms_saved->WorkTime1Switch, pPara_sms_saved->WorkTime[0].StartTime.Hour, pPara_sms_saved->WorkTime[0].StartTime.Min, pPara_sms_saved->WorkTime[0].StopTime.Hour ,pPara_sms_saved->WorkTime[0].StopTime.Min);
//sd
i++;
@ -2235,7 +2236,6 @@ void sf_video_list_print(void)
fileCfg->filecnt += 1;
pList = pList->pNext;
printf("ID:%d f:%d,%d\n", i++, pList->dirKey, pList->fileKey);
pList = pList->pNext;
}
}
@ -2349,26 +2349,22 @@ SINT32 sf_power_off_module_ota(void)
UINT32 sf_4g_module_sd_usb_update(UINT8 *upFname)
{
UINT32 sts = OTA_NOUPDATE; /*0:updating 1:no update 2:update fail 3:update success*/
char *arg[3] = {0};
int ret = -1;
printf("sf_4g_module_sd_usb_update s\n");
printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
if(sf_is_enough_power_to_update() == FALSE)
{
return OTA_BATTERY_LOW;
}
sf_cmd_4g_usb_boot();
sf_set_module_update(1);
sf_sleep_ms(1000);
sf_mcu_reg_set(SF_MCU_SOFT_UPDATE, 1);
sf_sys_status_led_set(SF_LED_SYS_STATE_UPDATE);
arg[0] = "qFireUpd";
arg[1] = "-f";
arg[2] = (char *)upFname;
//ret = firehose_main_entry(3, arg);
ret = sf_4g_update(upFname);
sf_set_module_update(0);
sf_mcu_reg_set(SF_MCU_SOFT_UPDATE, 0);
printf("sf_4g_module_sd_usb_update e ret=%d\n", ret);
@ -2386,7 +2382,7 @@ UINT32 sf_4g_module_sd_usb_update(UINT8 *upFname)
{
sf_sys_status_led_set(SF_LED_SYS_STATE_ERROR);
}
printf("[%s:%d] e\n", __FUNCTION__, __LINE__);
return sts;
}
@ -2476,7 +2472,7 @@ SINT32 sf_power_off_check_retset_para(void)
//NeedSavePara = TRUE;
CameraCmd.setPara = 0;
stMessageBuf.arg1 = SF_PARA_CMD_UPDATE;
stMessageBuf.arg1 = SF_PARA_CMD_RESET;
stMessageBuf.cmdId = CMD_PARA;
sf_com_message_send_to_cardv(&stMessageBuf);

View File

@ -578,6 +578,7 @@ static SINT32 sf_app_process_cmd_SD(SF_MESSAGE_BUF_S *pMessageBuf)
sf_sys_status_led_set(SF_LED_SYS_STATE_SD_NORMAL);
sf_statistics_param_load(sf_statistics_param_get());
MLOGI("card-%d mount OK\r\n", pMessageBuf->arg2 + 1);
sf_set_key_fw_update(sf_get_fw_update());
break;
case FST_STA_DISK_UNFORMAT:
//sf_set_card(1);

View File

@ -39,6 +39,8 @@
#include "sf_battery.h"
#include "sf_common.h"
#include "IOCfg.h"
#include <dirent.h>
#include "sf_file.h"
#ifdef __cplusplus
#if __cplusplus
extern "C" {
@ -665,10 +667,12 @@ SINT32 app_system_poweroff(SF_POWEROFF_TYPE_E enType )
system("killall qlog");
}
#endif
if((puiPara->DebugMode) || (puiPara->QLogSwitch)){
sync();
}
//if((puiPara->DebugMode) || (puiPara->QLogSwitch)){
// sync();
//}
sync();
sf_mcu_reg_set(SF_MCU_POWEROFF,sf_poweroff_type_get());
sync();
/*
SF_STORE_ATTR_S storeattrs = {0};
SF_STARTUP_TYPE_E startup = SF_MCU_STARTUP_ONKEY;
@ -1132,13 +1136,14 @@ void sf_cmd_4g_usb_boot(void)
printf("[%s:%d] e\n", __FUNCTION__, __LINE__);
}
static UINT32 sf_4g_update(void)
UINT32 sf_4g_update(UINT8 *upFname)
{
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");
sprintf(cmdStr, "/usr/bin/DownloadCLI -p /dev/ttyACM0 -c %s/cfg_ec618_usb.ini -B \"BL AP CP\" -r", upFname);
printf("[%s:%d] cmd:%s\n", __FUNCTION__, __LINE__,cmdStr);
for (UINT8 i = 0; i < 40; i++) {
if (access("/dev/ttyACM0", F_OK) == SF_SUCCESS) {
ret = SF_SUCCESS;
@ -1146,18 +1151,20 @@ static UINT32 sf_4g_update(void)
break;
}
else {
usleep(100 * 1000);
//usleep(100 * 1000);
sf_sleep_ms(500);
}
}
if (ret == SF_SUCCESS) {
ret = system(cmdStr);
ret = system(cmdStr);
if (sf_poweron_type_get() == SF_MCU_STARTUP_RING) {
sleep(2);
}
else {
sleep(5);
}
printf("[%s:%d] e %d\n", __FUNCTION__, __LINE__,ret);
return ret;
}
printf("[%s:%d] e\n", __FUNCTION__, __LINE__);
@ -1166,7 +1173,7 @@ static UINT32 sf_4g_update(void)
void* sf_sys_do_4g_upgrade(void *arg)
{
//int s32Ret = 0;
UINT8 updateFileName[60] = {0};
SLOGW("Begin to do 4G Upgrade!\n");
if(sf_is_enough_power_to_update() == FALSE)
@ -1174,22 +1181,35 @@ void* sf_sys_do_4g_upgrade(void *arg)
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);
if(sf_is_4g_module_usb_update_file_exist(updateFileName))
{
sf_cmd_4g_usb_boot();
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(updateFileName)){
sf_sys_status_led_set(SF_LED_SYS_STATE_ERROR);
}
else {
//SysResetFlag();
sf_sys_status_led_set(SF_LED_SYS_STATE_NORMAL);
}
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);
sf_set_power_off_flag(1);
SF_MESSAGE_BUF_S stMessageBuf = {0};
stMessageBuf.cmdId = CMD_POWEROFF;
stMessageBuf.arg1 = APP_POWER_OFF_NORMAL;
sf_com_message_send_to_cardv(&stMessageBuf);
}
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;
@ -1209,7 +1229,6 @@ void sf_do_4g_upgrade_thread(void)
if(!ModeuleUpgradeTskParam.IsRun)
{
sf_cmd_4g_usb_boot();
pthread_create(&ModeuleUpgradeTskParam.TskId, NULL, sf_sys_do_4g_upgrade, NULL);
ModeuleUpgradeTskParam.IsRun = 1;
}