| | |
| | | Socket_OnRecv(u32ID); |
| | | break; |
| | | } |
| | | #ifdef TTS |
| | | case AIR780E_EVENT_QTTS: |
| | | case AIR780E_EVENT_NUM_0: |
| | | case AIR780E_EVENT_NUM_1: |
| | | case AIR780E_EVENT_NUM_2: |
| | | case AIR780E_EVENT_NUM_3: |
| | | case AIR780E_EVENT_NUM_4: |
| | | case AIR780E_EVENT_NUM_5: |
| | | { |
| | | HIDO_DataStruct *pstData = (HIDO_DataStruct *) _pArg; |
| | | HIDO_UINT32 u32ConnectID = 0; |
| | | HIDO_DataStruct stEvent; |
| | | |
| | | if (strcmp((HIDO_CHAR *) pstData->m_pData, "+CTTS:0\r\n") != 0) |
| | | if (HIDO_UtilParseFormat((HIDO_UINT8 *) pstData->m_pData, pstData->m_u32Len, "%d, %p\r\n", |
| | | &u32ConnectID, &stEvent) != 2) |
| | | { |
| | | break; |
| | | } |
| | | |
| | | AIR780EAudio_TTSOver(); |
| | | |
| | | break; |
| | | } |
| | | case AIR780E_EVENT_QLTONE: |
| | | { |
| | | HIDO_DataStruct *pstData = (HIDO_DataStruct *) _pArg; |
| | | |
| | | if (strcmp((HIDO_CHAR *) pstData->m_pData, "+QLTONE: 0\r\n") != 0) |
| | | if (strncmp(stEvent.m_pData, "CLOSED", stEvent.m_u32Len) == 0) |
| | | { |
| | | break; |
| | | Socket_OnClosed(u32ConnectID); |
| | | } |
| | | |
| | | AIR780EAudio_TONEOver(); |
| | | |
| | | break; |
| | | } |
| | | #endif |
| | | #ifdef __AIR780E_MQTT__ |
| | | case AIR780E_EVENT_QMTRECV: |
| | | { |
| | | HIDO_UINT32 u32ClientID = 0; |
| | | HIDO_UINT32 u32MsgID = 0; |
| | | HIDO_DataStruct *pstData = (HIDO_DataStruct *) _pArg; |
| | | |
| | | if (HIDO_UtilParseFormat((HIDO_UINT8 *) pstData->m_pData, pstData->m_u32Len, "+QMTRECV: %d,%d\r\n", |
| | | &u32ClientID, &u32MsgID) != 2) |
| | | { |
| | | break; |
| | | } |
| | | |
| | | MQTT_HaveRecvData(u32ClientID); |
| | | |
| | | break; |
| | | } |
| | | #endif |
| | | default: |
| | | { |
| | | return HIDO_EVENT_NO_PROC; |
| | |
| | | { |
| | | AIR780E_SUB_STATE_POWER_OFF, |
| | | AIR780E_SUB_STATE_POWER_ON, |
| | | AIR780E_SUB_STATE_PWRKEY_RESET, |
| | | AIR780E_SUB_STATE_PWRKEY_SET, |
| | | } l_eAIR780ESubState; |
| | | |
| | | HIDO_ATLiteDeviceStruct *pstATDevice = (HIDO_ATLiteDeviceStruct *) _pstFSM->m_pPrivateData; |
| | |
| | | |
| | | l_eAIR780ESubState = AIR780E_SUB_STATE_POWER_OFF; |
| | | AIR780EDriver_PowerOff(); |
| | | HIDO_FSMStartTimer(u32FSMTimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(3), _pstFSM, AIR780E_EVENT_DELAY); |
| | | HIDO_FSMStartTimer(u32FSMTimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(1), _pstFSM, AIR780E_EVENT_DELAY); |
| | | break; |
| | | } |
| | | case HIDO_EVENT_EXIT: |
| | |
| | | { |
| | | l_eAIR780ESubState = AIR780E_SUB_STATE_POWER_ON; |
| | | AIR780EDriver_PowerOn(); |
| | | HIDO_FSMStartTimer(u32FSMTimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(1), _pstFSM, AIR780E_EVENT_DELAY); |
| | | HIDO_FSMStartTimer(u32FSMTimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(5), _pstFSM, AIR780E_EVENT_DELAY); |
| | | break; |
| | | } |
| | | case AIR780E_SUB_STATE_POWER_ON: |
| | | { |
| | | l_eAIR780ESubState = AIR780E_SUB_STATE_PWRKEY_RESET; |
| | | AIR780EDriver_PWRKEYReset(); |
| | | //Uart_ReConfigBaudRate(UART_ID_4G, 921600); |
| | | HIDO_FSMStartTimer(u32FSMTimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(1), _pstFSM, AIR780E_EVENT_DELAY); |
| | | break; |
| | | } |
| | | case AIR780E_SUB_STATE_PWRKEY_RESET: |
| | | { |
| | | l_eAIR780ESubState = AIR780E_SUB_STATE_PWRKEY_SET; |
| | | AIR780EDriver_PWRKEYSet(); |
| | | HIDO_FSMStartTimer(u32FSMTimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_MS(800), _pstFSM, AIR780E_EVENT_DELAY); |
| | | break; |
| | | } |
| | | case AIR780E_SUB_STATE_PWRKEY_SET: |
| | | { |
| | | HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EATCmdTest), HIDO_NULL); |
| | | //Uart_ReConfigBaudRate(UART_ID_4G, 115200); |
| | | //HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+IPR=9600;&W\r\n"); |
| | | //Uart_ReConfigBaudRate(UART_ID_4G, 9600); |
| | | break; |
| | | } |
| | | } |
| | |
| | | } |
| | | case AIR780E_EVENT_RDY: |
| | | { |
| | | #if 0 |
| | | HIDO_UINT32 Power_r = 0,Open_PJ,dev_id; |
| | | HIDO_CHAR TTS_Open[60]; |
| | | |
| | | if(Power_GetBatteryPercentage() < 5.0) //低电量自动关机 |
| | | { |
| | | GPIOD->BSRR = 0x0004; //打开TTS电源 |
| | | HAL_Delay(800); //必要延时,延时是为了避免说不出来第一个字 |
| | | |
| | | HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+CTTS=2,\"%s\"\r\n", "电量过低"); |
| | | HAL_Delay(2000); |
| | | |
| | | // 调用关机接口 |
| | | while(1) |
| | | { |
| | | GPIOA->BSRR = 0X0100 << 16; |
| | | } |
| | | } |
| | | #endif |
| | | #if 0 |
| | | // HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+QTTS=2,\"开机\"\r\n"); |
| | | Power_r = Power_GetBatteryPercentage(); |
| | | |
| | | dev_id = ((g_com_map[DEV_ID]>>12)&0xf)*1000+((g_com_map[DEV_ID]>>8)&0xf)*100+((g_com_map[DEV_ID]>>4)&0xf)*10+(g_com_map[DEV_ID]&0xf); |
| | | Open_PJ = sprintf(TTS_Open, "设备编号%d剩余电量百分之%d",dev_id, Power_r); |
| | | TTS_Play((HIDO_UINT8 *)TTS_Open, strlen(TTS_Open)); |
| | | #endif |
| | | break; |
| | | } |
| | | default: |
| | | { |
| | | return HIDO_EVENT_NO_PROC; |
| | | } |
| | | } |
| | | |
| | | return HIDO_EVENT_OK; |
| | | } |
| | | |
| | | /******************************************************************************* |
| | | * State Name : AIR780EWaitReady |
| | | * Parent State : AIR780EInit |
| | | * Description : |
| | | * Author : www.hido-studio.com |
| | | * Modified Date: : 2018-05-01 |
| | | *******************************************************************************/ |
| | | extern int Last4G; |
| | | |
| | | HIDO_FSM_STATE_IMPLEMENT(AIR780EWaitReady, HIDO_FSM_STATE(AIR780EInit), HIDO_NULL) |
| | | { |
| | | static HIDO_BOOL bReady = HIDO_FALSE; |
| | | static HIDO_UINT32 u32RetryCnt = 0,Power_r = 0,Open_PJ,dev_id; |
| | | HIDO_ATLiteDeviceStruct *pstATDevice = (HIDO_ATLiteDeviceStruct *) _pstFSM->m_pPrivateData; |
| | | HIDO_UINT32 u32FSMTimerID = ((ST_AIR780EDriverData *)pstATDevice->m_pUserData)->m_u32FSMTimerID; |
| | | |
| | | HIDO_CHAR TTS_Open[60]; |
| | | |
| | | |
| | | switch (_u32Event) |
| | | { |
| | | case HIDO_EVENT_ENTRY: |
| | | { |
| | | HIDO_FSMStartTimer(u32FSMTimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(10), |
| | | _pstFSM, AIR780E_EVENT_DELAY); |
| | | break; |
| | | } |
| | | case HIDO_EVENT_EXIT: |
| | | { |
| | | HIDO_ATLiteCmdSendOver(pstATDevice); |
| | | HIDO_TimerCancel(u32FSMTimerID); |
| | | break; |
| | | } |
| | | case AIR780E_EVENT_RDY: |
| | | { |
| | | #if 0 |
| | | if(Power_GetBatteryPercentage() < 5.0) //低电量自动关机 |
| | | { |
| | | GPIOD->BSRR = 0x0004; //打开TTS电源 |
| | | HAL_Delay(800); //必要延时,延时是为了避免说不出来第一个字 |
| | | |
| | | HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+CTTS=2,\"%s\"\r\n", "电量过低"); |
| | | HAL_Delay(2000); |
| | | |
| | | // 调用关机接口 |
| | | while(1) |
| | | { |
| | | GPIOA->BSRR = 0X0100 << 16; |
| | | } |
| | | } |
| | | |
| | | // HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+QTTS=2,\"开机\"\r\n"); |
| | | Power_r = Power_GetBatteryPercentage(); |
| | | |
| | | dev_id = ((g_com_map[DEV_ID]>>12)&0xf)*1000+((g_com_map[DEV_ID]>>8)&0xf)*100+((g_com_map[DEV_ID]>>4)&0xf)*10+(g_com_map[DEV_ID]&0xf); |
| | | Open_PJ = sprintf(TTS_Open, "设备编号%d剩余电量百分之%d",dev_id, Power_r); |
| | | TTS_Play((HIDO_UINT8 *)TTS_Open, strlen(TTS_Open)); |
| | | #endif |
| | | HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EATCmdTest), HIDO_NULL); |
| | | break; |
| | | } |
| | | case HIDO_AT_EVENT_OK: |
| | | case AIR780E_EVENT_DELAY: |
| | | case HIDO_AT_EVENT_ERROR: |
| | | case HIDO_AT_EVENT_TIMEOUT: |
| | | { |
| | | HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EATCmdTest), HIDO_NULL); |
| | |
| | | *******************************************************************************/ |
| | | HIDO_FSM_STATE_IMPLEMENT(AIR780EATCmdTest, HIDO_FSM_STATE(AIR780EInit), HIDO_NULL) |
| | | { |
| | | #define USE_115200 |
| | | //#define USE_921600 |
| | | static HIDO_UINT32 l_u32ReadyCnt = 0; |
| | | static HIDO_UINT32 l_u32TimeoutCnt = 0; |
| | | static HIDO_UINT32 l_u32BaudRate = 0; |
| | | static HIDO_BOOL l_bConfigBaudRate = HIDO_FALSE; |
| | | static HIDO_UINT32 l_u32TimeoutCnt = 0; |
| | | HIDO_ATLiteDeviceStruct *pstATDevice = (HIDO_ATLiteDeviceStruct *) _pstFSM->m_pPrivateData; |
| | | HIDO_UINT32 u32FSMTimerID = ((ST_AIR780EDriverData *)pstATDevice->m_pUserData)->m_u32FSMTimerID; |
| | | |
| | | switch (_u32Event) |
| | | { |
| | | case HIDO_EVENT_ENTRY: |
| | | { |
| | | #ifdef USE_115200 |
| | | l_u32BaudRate = 115200; |
| | | #else |
| | | l_u32BaudRate = 921600; |
| | | #endif |
| | | |
| | | Uart_ReConfigBaudRate(UART_ID_4G, l_u32BaudRate); |
| | | |
| | | l_bConfigBaudRate = HIDO_FALSE; |
| | | l_u32ReadyCnt = 0; |
| | | l_u32TimeoutCnt = 0; |
| | | HIDO_FSMStartTimer(u32FSMTimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(1), _pstFSM, AIR780E_EVENT_DELAY); |
| | | HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "ATE0\r\n"); |
| | | break; |
| | | } |
| | | case HIDO_EVENT_EXIT: |
| | | { |
| | | HIDO_ATLiteCmdSendOver(pstATDevice); |
| | | HIDO_TimerCancel(u32FSMTimerID); |
| | | break; |
| | | } |
| | | case HIDO_AT_EVENT_OK: |
| | | { |
| | | if (HIDO_TRUE == l_bConfigBaudRate) |
| | | { |
| | | #ifdef USE_115200 |
| | | l_u32BaudRate = 115200; |
| | | #else |
| | | l_u32BaudRate = 921600; |
| | | #endif |
| | | Uart_ReConfigBaudRate(UART_ID_4G, l_u32BaudRate); |
| | | |
| | | HIDO_FSMStartTimer(u32FSMTimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(1), _pstFSM, AIR780E_EVENT_DELAY); |
| | | break; |
| | | } |
| | | |
| | | l_u32TimeoutCnt = 0; |
| | | l_u32ReadyCnt++; |
| | | if (l_u32ReadyCnt >= 1) |
| | | { |
| | | #ifdef USE_115200 |
| | | if (921600 == l_u32BaudRate) |
| | | #else |
| | | if (115200 == l_u32BaudRate) |
| | | #endif |
| | | { |
| | | l_bConfigBaudRate = HIDO_TRUE; |
| | | #ifdef USE_115200 |
| | | HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+IPR=115200;&W\r\n"); |
| | | #else |
| | | HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+IPR=921600;&W\r\n"); |
| | | #endif |
| | | |
| | | } |
| | | else |
| | | { |
| | | /* 上电成功 */ |
| | | Module_PowerEvent(MODULE_MAIN, MODULE_STATE_POWER_ON); |
| | | HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EWaitSimCardReady), HIDO_NULL); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | HIDO_FSMStartTimer(u32FSMTimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(1), _pstFSM, |
| | | AIR780E_EVENT_DELAY); |
| | | } |
| | | /* 上电成功 */ |
| | | Module_PowerEvent(MODULE_MAIN, MODULE_STATE_POWER_ON); |
| | | HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EWaitSimCardReady), HIDO_NULL); |
| | | |
| | | break; |
| | | } |
| | |
| | | break; |
| | | } |
| | | case HIDO_AT_EVENT_TIMEOUT: |
| | | { |
| | | l_u32TimeoutCnt++; |
| | | l_u32ReadyCnt = 0; |
| | | |
| | | if (5 == l_u32TimeoutCnt) |
| | | { |
| | | #ifdef USE_115200 |
| | | l_u32BaudRate = 921600; |
| | | #else |
| | | l_u32BaudRate = 115200; |
| | | #endif |
| | | Uart_ReConfigBaudRate(UART_ID_4G, l_u32BaudRate); |
| | | |
| | | HIDO_FSMStartTimer(u32FSMTimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(1), _pstFSM, |
| | | AIR780E_EVENT_DELAY); |
| | | } |
| | | else if (l_u32TimeoutCnt > 10) |
| | | { |
| | | HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EPowerOn), HIDO_NULL); |
| | | } |
| | | else |
| | | { |
| | | HIDO_FSMStartTimer(u32FSMTimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(1), _pstFSM, |
| | | AIR780E_EVENT_DELAY); |
| | | } |
| | | |
| | | break; |
| | | } |
| | | case AIR780E_EVENT_DELAY: |
| | | { |
| | | if (HIDO_TRUE == l_bConfigBaudRate) |
| | | { |
| | | /* 上电成功 */ |
| | | Module_PowerEvent(MODULE_MAIN, MODULE_STATE_POWER_ON); |
| | | HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EWaitSimCardReady), HIDO_NULL); |
| | | break; |
| | | } |
| | | else |
| | | { |
| | | HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "ATE0\r\n"); |
| | | } |
| | | break; |
| | | } |
| | | case AIR780E_EVENT_POLL: |
| | | { |
| | | if(Module_NeedPowerOff(MODULE_MAIN) == HIDO_TRUE) |
| | | { |
| | | HIDO_FSMStateChange(HIDO_FSM(AIR780E), HIDO_FSM_STATE(AIR780EPowerOff), HIDO_NULL); |
| | | |
| | | break; |
| | | } |
| | | |
| | | { |
| | | HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EPowerOn), HIDO_NULL); |
| | | l_u32TimeoutCnt++; |
| | | // if (5 == l_u32TimeoutCnt) |
| | | // { |
| | | // AIR780E_Reset(); |
| | | // } |
| | | |
| | | break; |
| | | } |
| | | default: |
| | |
| | | *******************************************************************************/ |
| | | HIDO_FSM_STATE_IMPLEMENT(AIR780EWaitSimCardReady, HIDO_FSM_STATE(AIR780EInit), HIDO_NULL) |
| | | { |
| | | static HIDO_BOOL bReady = HIDO_FALSE; |
| | | static HIDO_UINT32 u32RetryCnt = 0; |
| | | HIDO_ATLiteDeviceStruct *pstATDevice = (HIDO_ATLiteDeviceStruct *) _pstFSM->m_pPrivateData; |
| | | HIDO_UINT32 u32FSMTimerID = ((ST_AIR780EDriverData *)pstATDevice->m_pUserData)->m_u32FSMTimerID; |
| | |
| | | { |
| | | case HIDO_EVENT_ENTRY: |
| | | { |
| | | bReady = HIDO_FALSE; |
| | | u32RetryCnt = 0; |
| | | HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+CPIN?\r\n"); |
| | | break; |
| | |
| | | } |
| | | case HIDO_AT_EVENT_OK: |
| | | { |
| | | // HIDO_FSMStartTimer(u32FSMTimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(3), |
| | | // _pstFSM, AIR780E_EVENT_DELAY); |
| | | HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EATCmdInit), HIDO_NULL); |
| | | break; |
| | | } |
| | |
| | | } |
| | | case HIDO_AT_EVENT_TIMEOUT: |
| | | { |
| | | if (HIDO_TRUE == bReady) |
| | | { |
| | | HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EATCmdInit), HIDO_NULL); |
| | | } |
| | | else |
| | | { |
| | | return HIDO_EVENT_NO_PROC; |
| | | } |
| | | |
| | | break; |
| | | } |
| | | case AIR780E_EVENT_DELAY: |
| | | { |
| | | if (HIDO_TRUE == bReady) |
| | | if(u32RetryCnt < 10) |
| | | { |
| | | HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EATCmdInit), HIDO_NULL); |
| | | u32RetryCnt++; |
| | | HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+CPIN?\r\n"); |
| | | } |
| | | else |
| | | { |
| | | // HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIdle), HIDO_NULL); |
| | | if(u32RetryCnt < 10) |
| | | { |
| | | u32RetryCnt++; |
| | | HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+CPIN?\r\n"); |
| | | } |
| | | else |
| | | { |
| | | HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIdle), HIDO_NULL); |
| | | } |
| | | HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIdle), HIDO_NULL); |
| | | } |
| | | break; |
| | | } |
| | | case AIR780E_EVENT_CPIN: |
| | | { |
| | | bReady = HIDO_TRUE; |
| | | break; |
| | | } |
| | | case AIR780E_EVENT_POLL: |
| | |
| | | { "AT+CIMI\r\n", AT_GENERAL_TIMEOUT_TIME, AT_CMD_RESULT_OK }, |
| | | { "AT+CCID\r\n", AT_GENERAL_TIMEOUT_TIME, AT_CMD_RESULT_OK }, |
| | | { "ATI\r\n", AT_GENERAL_TIMEOUT_TIME, AT_CMD_RESULT_OK }, |
| | | { "AT+CFGRI=1\r\n", AT_GENERAL_TIMEOUT_TIME, AT_CMD_RESULT_OK }, |
| | | // { "AT+CTTSPARAM=100,0,50,50,0,2,25,1500,150,1,0,1\r\n", AT_GENERAL_TIMEOUT_TIME, AT_CMD_RESULT_OK }, |
| | | }; |
| | | |
| | |
| | | l_u32Cnt++; |
| | | } |
| | | |
| | | if (l_u32ReadyCnt >= 3) |
| | | if (l_u32ReadyCnt >= 1) |
| | | { |
| | | HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIPInit), HIDO_NULL); |
| | | } |
| | |
| | | { |
| | | { "AT+CIPRXF=1\r\n", AT_GENERAL_TIMEOUT_TIME, AT_CMD_RESULT_OK }, |
| | | { "AT+CIPMUX=1\r\n", AT_GENERAL_TIMEOUT_TIME, AT_CMD_RESULT_OK }, |
| | | { "AT*I\r\n", AT_GENERAL_TIMEOUT_TIME, AT_CMD_RESULT_OK }, |
| | | { "AT+CSTT=\"%s\",\"\",\"\"\r\n", 60000, AT_CMD_RESULT_OK | AT_CMD_RESULT_ERROR }, |
| | | { "AT+CIICR\r\n", 60000, AT_CMD_RESULT_OK | AT_CMD_RESULT_ERROR }, |
| | | { "AT+CIFSR\r\n", 1000, AT_CMD_RESULT_OK | AT_CMD_RESULT_TIMEOUT }, |
| | | { "AT+POWERMODE=\"PRO\"\r\n", 5000, AT_CMD_RESULT_OK | AT_CMD_RESULT_TIMEOUT }, |
| | | { "AT+POWERMODE?\r\n", AT_GENERAL_TIMEOUT_TIME, AT_CMD_RESULT_OK }, |
| | | }; |
| | | |
| | | pcIMSI = Module_GetIMSI(); |
| | |
| | | return HIDO_EVENT_NO_PROC; |
| | | } |
| | | } |
| | | |
| | | ok: |
| | | if((HIDO_AT_EVENT_OK == _u32Event && (astInitCmdList[l_u32CmdIndex].m_u32Result & AT_CMD_RESULT_OK)) |
| | | || (HIDO_AT_EVENT_ERROR == _u32Event && (astInitCmdList[l_u32CmdIndex].m_u32Result & AT_CMD_RESULT_ERROR))) |
| | | { |
| | |
| | | } |
| | | case AIR780E_EVENT_POLL: |
| | | { |
| | | break; |
| | | } |
| | | case AIR780E_EVENT_NUM_0: |
| | | case AIR780E_EVENT_NUM_1: |
| | | case AIR780E_EVENT_NUM_2: |
| | | case AIR780E_EVENT_NUM_3: |
| | | case AIR780E_EVENT_NUM_4: |
| | | case AIR780E_EVENT_NUM_5: |
| | | case AIR780E_EVENT_NUM_6: |
| | | case AIR780E_EVENT_NUM_7: |
| | | case AIR780E_EVENT_NUM_8: |
| | | case AIR780E_EVENT_NUM_9: |
| | | { |
| | | if(l_u32CmdIndex == 4) |
| | | { |
| | | _u32Event = HIDO_AT_EVENT_OK; |
| | | goto ok; |
| | | } |
| | | break; |
| | | } |
| | | default: |
| | |
| | | return HIDO_OK; |
| | | } |
| | | |
| | | #if 0 |
| | | if ((u32CurTick - l_u32IPCheckTick) > HIDO_TIMER_TICK_S(10)) |
| | | { |
| | | l_u32IPCheckTick = u32CurTick; |
| | | HIDO_FSMStateChange(HIDO_FSM(AIR780E), HIDO_FSM_STATE(AIR780EIPCheck), HIDO_NULL); |
| | | return HIDO_OK; |
| | | } |
| | | |
| | | #endif |
| | | |
| | | /* RunATCmd */ |
| | | if (AIR780E_RunATCmdPoll(_pstATDevice) == HIDO_OK) |
| | | { |