mirror of
https://gitee.com/beecue/fastbee.git
synced 2025-12-21 18:35:54 +08:00
更新硬件SDK
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_adc.h
|
||||
*
|
||||
* Description:
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef __ATEC_ADC_H__
|
||||
#define __ATEC_ADC_H__
|
||||
|
||||
#include "at_util.h"
|
||||
|
||||
#define EC_ADC_STR_LEN_MAX 32
|
||||
#define EC_ADC_STR_BUF_SIZE (EC_ADC_STR_LEN_MAX + 1)
|
||||
#define EC_ADC_STR_DEFAULT NULL
|
||||
|
||||
CmsRetId ecADC(const AtCmdInputContext *pAtCmdReq);
|
||||
#endif
|
||||
|
||||
/* END OF FILE */
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_ctwing.h
|
||||
*
|
||||
* Description: Process ctwing access test related AT commands
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef __ATEC_CTWING_H__
|
||||
#define __ATEC_CTWING_H__
|
||||
|
||||
#include "at_util.h"
|
||||
|
||||
|
||||
|
||||
#define CTW_PARAM_0_SOFT_STR_LEN 32
|
||||
#define CTW_PARAM_0_SOFT_STR_DEF NULL
|
||||
#define CTW_PARAM_1_MODULE_STR_LEN 32
|
||||
#define CTW_PARAM_1_MODULE_STR_DEF NULL
|
||||
#define CTW_PARAM_2_CHIPTYPE_STR_LEN 32
|
||||
#define CTW_PARAM_2_CHIPTYPE_STR_DEF NULL
|
||||
|
||||
#define CTW_PARAM_0_CLIENTID_STR_LEN 64
|
||||
#define CTW_PARAM_0_CLIENTID_STR_DEF NULL
|
||||
#define CTW_PARAM_1_USERNAME_STR_LEN 64
|
||||
#define CTW_PARAM_1_USERNAME_STR_DEF NULL
|
||||
#define CTW_PARAM_2_PWD_STR_LEN 72
|
||||
#define CTW_PARAM_2_PWD_STR_DEF NULL
|
||||
|
||||
#define CTW_PARAM_0_TOPIC_STR_LEN 128
|
||||
#define CTW_PARAM_0_TOPIC_STR_DEF NULL
|
||||
#define CTW_PARAM_1_PAYLOAD_STR_LEN 1024
|
||||
#define CTW_PARAM_1_PAYLOAD_STR_DEF NULL
|
||||
|
||||
|
||||
CmsRetId ctwPARAM(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId ctwHTTPCFG(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId ctwHTTPREGPARAM(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId ctwHTTPREG(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId ctwHTTPDEREG(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId ctwHTTPSEND(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId ctwTCPCFG(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId ctwTCPREGPARAM(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId ctwTCPREG(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId ctwTCPDEREG(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId ctwTCPSEND(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId ctwMQTTCFG(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId ctwMQTTREGPARAM(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId ctwMQTTREG(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId ctwMQTTDEREG(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId ctwMQTTSEND(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
/* END OF FILE */
|
||||
@@ -0,0 +1,43 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_cust_cmd_table.h
|
||||
*
|
||||
* Description:
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef _ATEC_CUSTOMER_CMD_TABLE_H
|
||||
#define _ATEC_CUSTOMER_CMD_TABLE_H
|
||||
|
||||
#include "at_util.h"
|
||||
|
||||
/******************************************************************************
|
||||
*****************************************************************************
|
||||
* MARCO
|
||||
*****************************************************************************
|
||||
******************************************************************************/
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
*****************************************************************************
|
||||
* ENUM
|
||||
*****************************************************************************
|
||||
******************************************************************************/
|
||||
|
||||
AtCmdPreDefInfoC* atcGetATCustCommandsSeqPointer(void);
|
||||
|
||||
uint32_t atcGetATCustCommandsSeqNumb(void);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
/* END OF FILE */
|
||||
@@ -0,0 +1,58 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename:
|
||||
*
|
||||
* Description:
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef _ATEC_CUST_DEV_H_
|
||||
#define _ATEC_CUST_DEV_H_
|
||||
|
||||
#include <stdint.h>
|
||||
#include "at_def.h"
|
||||
#include DEBUG_LOG_HEADER_FILE
|
||||
#include "debug_trace.h"
|
||||
|
||||
|
||||
#define CC_CGSN_VALUE_MIN 0
|
||||
#define CC_CGSN_VALUE_MAX 3
|
||||
#define CC_CGSN_VALUE_DEF 1
|
||||
|
||||
/* ATI */
|
||||
#define CC_ATI_0_VAL_MIN 0
|
||||
#define CC_ATI_0_VAL_MAX 255
|
||||
#define CC_ATI_0_VAL_DEFAULT 0
|
||||
|
||||
/* AT&W/AT&W0 */
|
||||
#define CC_AND_W_0_VAL_MIN 0
|
||||
#define CC_AND_W_0_VAL_MAX 0
|
||||
#define CC_AND_W_0_VAL_DEFAULT 0
|
||||
|
||||
/* AT&F/AT&F0 */
|
||||
#define CC_AND_F_0_VAL_MIN 0
|
||||
#define CC_AND_F_0_VAL_MAX 0
|
||||
#define CC_AND_F_0_VAL_DEFAULT 0
|
||||
|
||||
|
||||
CmsRetId ccCGMI(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId ccCGMM(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId ccGMM(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId ccCGMR(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId ccCGSN(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId ccATI(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId ccATANDW(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId ccATANDF(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId ccATANDV(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
#endif
|
||||
|
||||
/* END OF FILE */
|
||||
@@ -0,0 +1,62 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_dm.h
|
||||
*
|
||||
* Description: Device manager
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef __ATEC_DM_H__
|
||||
#define __ATEC_DM_H__
|
||||
|
||||
#include "at_util.h"
|
||||
|
||||
#define AUTOREGCFG_STR_LEN 128
|
||||
#define DMCONFIG_CET_RESP_STR_LEN 64
|
||||
/* AT+AUTOREGCFG */
|
||||
#define AUTOREGCFG_0_STR_LEN 32
|
||||
#define AUTOREGCFG_0_STR_DEF NULL
|
||||
#define AUTOREGCFG_1_STR_LEN 66
|
||||
#define AUTOREGCFG_1_STR_DEF NULL
|
||||
#define AUTOREGCFG_2_MIN 0
|
||||
#define AUTOREGCFG_2_MAX 0x7fffffff
|
||||
#define AUTOREGCFG_2_DEF 0
|
||||
#define AUTOREGCFG_2_LIFETIME_MIN 1
|
||||
#define AUTOREGCFG_2_LIFETIME_MAX 0xffff
|
||||
#define AUTOREGCFG_2_LIFETIME_DEF 0
|
||||
#define AUTOREGCFG_2_TEST_MIN 0
|
||||
#define AUTOREGCFG_2_TEST_MAX 1
|
||||
#define AUTOREGCFG_2_TEST_DEF 0
|
||||
#define AUTOREGCFG_2_APPKEY_STR_LEN 11
|
||||
#define AUTOREGCFG_2_APPKEY_STR_DEF NULL
|
||||
#define AUTOREGCFG_2_SECRET_STR_LEN 33
|
||||
#define AUTOREGCFG_2_SECRET_STR_DEF NULL
|
||||
|
||||
/* AT+DMCONFIG */
|
||||
#define DMCONFIG_0_MIN 0
|
||||
#define DMCONFIG_0_MAX 1
|
||||
#define DMCONFIG_0_DEF 0
|
||||
#define DMCONFIG_1_MIN 0
|
||||
#define DMCONFIG_1_MAX 0xFFFF//large than 24x60 minutes
|
||||
#define DMCONFIG_1_DEF 0
|
||||
#define DMCONFIG_2_STR_LEN 12
|
||||
#define DMCONFIG_2_STR_DEF NULL
|
||||
#define DMCONFIG_3_STR_LEN 33
|
||||
#define DMCONFIG_3_STR_DEF NULL
|
||||
#define DMCONFIG_4_MIN 0
|
||||
#define DMCONFIG_4_MAX 1
|
||||
#define DMCONFIG_4_DEF 0
|
||||
|
||||
CmsRetId dmAUTOREGCFG(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
#endif
|
||||
|
||||
/* END OF FILE */
|
||||
@@ -0,0 +1,65 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_example.h
|
||||
*
|
||||
* Description:
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef __ATEC_EXAMPLE_H__
|
||||
#define __ATEC_EXAMPLE_H__
|
||||
|
||||
#include "at_util.h"
|
||||
|
||||
|
||||
#define EC_TESTDEMO_VALUE_MIN 0
|
||||
#define EC_TESTDEMO_VALUE_MAX 1
|
||||
#define EC_TESTDEMO_VALUE_DEF 0
|
||||
|
||||
#define EC_TESTA_VALUE_MIN 0
|
||||
#define EC_TESTA_VALUE_MAX 8
|
||||
#define EC_TESTA_VALUE_DEF 0
|
||||
|
||||
#define EC_TESTA_STR_LEN_MAX 32
|
||||
#define EC_TESTA_STR_BUF_SIZE (EC_TESTA_STR_LEN_MAX + 1)
|
||||
#define EC_TESTA_STR_DEFAULT NULL
|
||||
|
||||
#define EC_TESTB_VALUE_MIN 0
|
||||
#define EC_TESTB_VALUE_MAX 8
|
||||
#define EC_TESTB_VALUE_DEF 0
|
||||
|
||||
#define EC_TESTB_STR_LEN_MAX 32
|
||||
#define EC_TESTB_STR_BUF_SIZE (EC_TESTB_STR_LEN_MAX + 1)
|
||||
#define EC_TESTB_STR_DEFAULT NULL
|
||||
|
||||
#define EC_TESTC_VALUE_MIN 0
|
||||
#define EC_TESTC_VALUE_MAX 8
|
||||
#define EC_TESTC_VALUE_DEF 0
|
||||
|
||||
#define EC_TESTC_STR_LEN_MAX 32
|
||||
#define EC_TESTC_STR_BUF_SIZE (EC_TESTC_STR_LEN_MAX + 1)
|
||||
#define EC_TESTC_STR_DEFAULT NULL
|
||||
|
||||
|
||||
CmsRetId ecTESTDEMO(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId ecTESTA(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId ecTESTB(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId ecTESTC(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
CmsRetId ecTESTBcnf(UINT16 primId, UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId ecTESTCcnf(UINT16 primId, UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
|
||||
CmsRetId ecTESTCind(UINT16 primId, UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
|
||||
#endif
|
||||
|
||||
/* END OF FILE */
|
||||
|
||||
@@ -0,0 +1,152 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_adc.h
|
||||
*
|
||||
* Description:
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef __ATEC_FILE_H__
|
||||
#define __ATEC_FILE_H__
|
||||
|
||||
#include "at_util.h"
|
||||
|
||||
#define EC_FILE_NAME_OFFSET 12
|
||||
#define EC_FILE_NAME_HEAD_OFFSET 5
|
||||
#define EC_FILE_NAME_HEAD "EcFs_00_f_" /*00 is handle, f is flag*/
|
||||
|
||||
#define EC_FINFO_PRINT_BUF_LEN (128)
|
||||
|
||||
#define EC_FOPEN_0_NAME_STR_LEN 63
|
||||
#define EC_FOPEN_0_NAME_STR_DEF NULL
|
||||
#define EC_FOPEN_1_MODE_MIN 0
|
||||
#define EC_FOPEN_1_MODE_MAX 2
|
||||
#define EC_FOPEN_1_MODE_DEF 0
|
||||
|
||||
#define EC_FREAD_0_HANDLE_LEN_MIN 1
|
||||
#define EC_FREAD_0_HANDLE_LEN_MAX 33
|
||||
#define EC_FREAD_0_HANDLE_LEN_DEF 0
|
||||
#define EC_FREAD_1_LEN_MIN 0
|
||||
#define EC_FREAD_1_LEN_MAX 6000
|
||||
#define EC_FREAD_1_LEN_DEF 0
|
||||
|
||||
#define EC_FWRITE_0_HANDLE_LEN_MIN 1
|
||||
#define EC_FWRITE_0_HANDLE_LEN_MAX 33
|
||||
#define EC_FWRITE_0_HANDLE_LEN_DEF 0
|
||||
#define EC_FWRITE_1_LEN_MIN 0
|
||||
#define EC_FWRITE_1_LEN_MAX (10*1024)
|
||||
#define EC_FWRITE_1_LEN_DEF (1000)
|
||||
#define EC_FWRITE_2_TIMEOUT_MIN 0
|
||||
#define EC_FWRITE_2_TIMEOUT_MAX 100
|
||||
#define EC_FWRITE_2_TIMEOUT_DEF 5
|
||||
|
||||
#define EC_FSEEK_0_HANDLE_LEN_MIN 1
|
||||
#define EC_FSEEK_0_HANDLE_LEN_MAX 33
|
||||
#define EC_FSEEK_0_HANDLE_LEN_DEF 0
|
||||
#define EC_FSEEK_1_LEN_MIN 0
|
||||
#define EC_FSEEK_1_LEN_MAX 0x7fffffff
|
||||
#define EC_FSEEK_1_LEN_DEF 0
|
||||
#define EC_FSEEK_2_POSITION_MIN 0
|
||||
#define EC_FSEEK_2_POSITION_MAX 2
|
||||
#define EC_FSEEK_2_POSITION_DEF 0
|
||||
|
||||
#define EC_FPOSITION_0_HANDLE_LEN_MIN 1
|
||||
#define EC_FPOSITION_0_HANDLE_LEN_MAX 33
|
||||
#define EC_FPOSITION_0_HANDLE_LEN_DEF 0
|
||||
|
||||
#define EC_FTUCAT_0_HANDLE_LEN_MIN 1
|
||||
#define EC_FTUCAT_0_HANDLE_LEN_MAX 33
|
||||
#define EC_FTUCAT_0_HANDLE_LEN_DEF 0
|
||||
|
||||
#define EC_FCLOSE_0_HANDLE_LEN_MIN 1
|
||||
#define EC_FCLOSE_0_HANDLE_LEN_MAX 33
|
||||
#define EC_FCLOSE_0_HANDLE_LEN_DEF 0
|
||||
|
||||
#define EC_FERASE_0_HANDLE_LEN_MIN 1
|
||||
#define EC_FERASE_0_HANDLE_LEN_MAX 33
|
||||
#define EC_FERASE_0_HANDLE_LEN_DEF 0
|
||||
#define EC_FERASE_0_NAME_STR_LEN 81
|
||||
#define EC_FERASE_0_NAME_STR_DEF NULL
|
||||
|
||||
#define EC_FDELETE_0_HANDLE_LEN_MIN 1
|
||||
#define EC_FDELETE_0_HANDLE_LEN_MAX 33
|
||||
#define EC_FDELETE_0_HANDLE_LEN_DEF 0
|
||||
#define EC_FDELETE_0_NAME_STR_LEN 81
|
||||
#define EC_FDELETE_0_NAME_STR_DEF NULL
|
||||
|
||||
#define EC_FRENAME_0_NAME_STR_LEN 81
|
||||
#define EC_FRENAME_0_NAME_STR_DEF NULL
|
||||
#define EC_FRENAME_1_NAME_STR_LEN 81
|
||||
#define EC_FRENAME_1_NAME_STR_DEF NULL
|
||||
|
||||
#define EC_FDEL_0_NAME_STR_LEN 81
|
||||
#define EC_FDEL_0_NAME_STR_DEF NULL
|
||||
|
||||
#define EC_FLDS_0_NAME_STR_LEN 81
|
||||
#define EC_FDEL_0_NAME_STR_DEF NULL
|
||||
|
||||
#define EC_FLST_0_NAME_STR_LEN 81
|
||||
#define EC_FLST_0_NAME_STR_DEF NULL
|
||||
|
||||
#define EC_FUPL_0_NAME_STR_LEN 81
|
||||
#define EC_FUPL_0_NAME_STR_DEF NULL
|
||||
#define EC_FUPL_1_SIZE_MIN 0
|
||||
#define EC_FUPL_1_SIZE_MAX 0xffff
|
||||
#define EC_FUPL_1_SIZE_DEF 0
|
||||
#define EC_FUPL_2_TIMEOUT_MIN 0
|
||||
#define EC_FUPL_2_TIMEOUT_MAX 2
|
||||
#define EC_FUPL_2_TIMEOUT_DEF 0
|
||||
#define EC_FUPL_3_ACK_MIN 0
|
||||
#define EC_FUPL_3_ACK_MAX 0xffff
|
||||
#define EC_FUPL_3_ACK_DEF 0
|
||||
|
||||
#define EC_FDWL_0_NAME_STR_LEN 81
|
||||
#define EC_FDWL_0_NAME_STR_DEF NULL
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint32_t reqhandle;
|
||||
uint32_t cmdType;
|
||||
char *fileName;
|
||||
char *filePattern;
|
||||
char *fileHandle;
|
||||
uint32_t mode;
|
||||
uint32_t length;
|
||||
uint32_t timeout;
|
||||
uint32_t offset;
|
||||
uint32_t position;
|
||||
|
||||
}fileWriteTempInfo;
|
||||
|
||||
CmsRetId fileOPEN(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId fileREAD(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId fileWRITE(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId fileWriteInputData(UINT8 chanId, UINT8 *pData, INT16 dataLength);
|
||||
CmsRetId fileWriteCancel(void);
|
||||
CmsRetId fileSEEK(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId filePOSITION(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId fileTUCAT(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId fileCLOSE(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId fileRENAME(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId fileERASE(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId fileDELETE(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
CmsRetId fileMOV(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId fileMsLDS(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId fileMsLST(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId fileMsDEL(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId fileMsUPL(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId fileMsDWL(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
#endif
|
||||
|
||||
/* END OF FILE */
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_fwupd.h
|
||||
*
|
||||
* Description:
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef __ATEC_FWUPD_H__
|
||||
#define __ATEC_FWUPD_H__
|
||||
|
||||
#include "at_util.h"
|
||||
|
||||
|
||||
CmsRetId ecNFWUPD(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
#endif
|
||||
|
||||
/* END OF FILE */
|
||||
|
||||
@@ -0,0 +1,112 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_http.h
|
||||
*
|
||||
* Description:
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef _ATEC_HTTP_H
|
||||
#define _ATEC_HTTP_H
|
||||
|
||||
#include "at_util.h"
|
||||
|
||||
#define HTTP_MAX_RSP_LEN 256
|
||||
/* AT+HTTPCFG */
|
||||
#define HTTPCFG_CONTEXTID_MIN 1
|
||||
#define HTTPCFG_CONTEXTID_MAX 15
|
||||
#define HTTPCFG_CONTEXTID_DEF 1
|
||||
#define HTTPCFG_REQUESTHEAD_MIN 0
|
||||
#define HTTPCFG_REQUESTHEAD_MAX 1
|
||||
#define HTTPCFG_REQUESTHEAD_DEF 0
|
||||
#define HTTPCFG_RESPONSEHEAD_MIN 0
|
||||
#define HTTPCFG_RESPONSEHEAD_MAX 1
|
||||
#define HTTPCFG_RESPONSEHEAD_DEF 0
|
||||
#define HTTPCFG_SSLCTXID_MIN 0
|
||||
#define HTTPCFG_SSLCTXID_MAX 5
|
||||
#define HTTPCFG_SSLCTXID_DEF 1
|
||||
#define HTTPCFG_CONTENTTYPE_MIN 0
|
||||
#define HTTPCFG_CONTENTTYPE_MAX 3
|
||||
#define HTTPCFG_CONTENTTYPE_DEF 0
|
||||
#define HTTPCFG_AUTOOUT_MIN 0
|
||||
#define HTTPCFG_AUTOOUT_MAX 1
|
||||
#define HTTPCFG_AUTOOUT_DEF 0
|
||||
#define HTTPCFG_CLOSEIND_MIN 0
|
||||
#define HTTPCFG_CLOSEIND_MAX 1
|
||||
#define HTTPCFG_CLOSEIND_DEF 0
|
||||
/* AT+HTTPURL */
|
||||
#define HTTPURL_LEN_MIN 1
|
||||
#define HTTPURL_LEN_MAX 2048
|
||||
#define HTTPURL_TIMEOUT_MIN 1
|
||||
#define HTTPURL_TIMEOUT_MAX 65535
|
||||
#define HTTPURL_TIMEOUT_DEF 60
|
||||
/* AT+HTTPGET */
|
||||
#define HTTPGET_RSPTIME_MIN 1
|
||||
#define HTTPGET_RSPTIME_MAX 65535
|
||||
#define HTTPGET_RSPTIME_DEF 60
|
||||
#define HTTPGET_DATALEN_MIN 1
|
||||
#define HTTPGET_DATALEN_MAX 2048
|
||||
#define HTTPGET_INPUT_MIN 1
|
||||
#define HTTPGET_INPUT_MAX 65535
|
||||
#define HTTPGET_INPUT_DEF 60
|
||||
/* AT+HTTPGETEX */
|
||||
#define HTTPGETEX_RSPTIME_MIN 1
|
||||
#define HTTPGETEX_RSPTIME_MAX 65535
|
||||
#define HTTPGETEX_RSPTIME_DEF 60
|
||||
#define HTTPGETEX_STARTPOS_MIN 0
|
||||
#define HTTPGETEX_STARTPOS_MAX 0x7FFFFFFF
|
||||
#define HTTPGETEX_STARTPOS_DEF 0
|
||||
#define HTTPGETEX_READLEN_MIN 1
|
||||
#define HTTPGETEX_READLEN_MAX 0x7FFFFFFF
|
||||
#define HTTPGETEX_READLEN_DEF -1
|
||||
/* AT+HTTPPOST */
|
||||
#define HTTPPOST_DATALEN_MIN 1
|
||||
#define HTTPPOST_DATALEN_MAX 4096
|
||||
#define HTTPPOST_INPUTTIME_MIN 1
|
||||
#define HTTPPOST_INPUTTIME_MAX 65534
|
||||
#define HTTPPOST_INPUTTIME_DEF 60
|
||||
#define HTTPPOST_RSPTIME_MIN 1
|
||||
#define HTTPPOST_RSPTIME_MAX 65535
|
||||
#define HTTPPOST_RSPTIME_DEF 60
|
||||
|
||||
/* AT+HTTPREAD */
|
||||
#define HTTPREAD_WAIT_MIN 1
|
||||
#define HTTPREAD_WAIT_MAX 65535
|
||||
#define HTTPREAD_WAIT_DEF 60
|
||||
|
||||
/* AT+HTTFOTADL */
|
||||
#define HTTPFOTADL_URC_MIN 0
|
||||
#define HTTPFOTADL_URC_MAX 100
|
||||
#define HTTPFOTADL_URC_DEF 100
|
||||
|
||||
#define HTTPFILENAME_MAX_LEN 63
|
||||
enum HTTP_CHANNEL_STATUS
|
||||
{
|
||||
HTTP_URL_INPUT,
|
||||
HTTP_REQCONTENT_INPUT
|
||||
};
|
||||
|
||||
void httpTimerExpired(void);
|
||||
CmsRetId httpInputData(uint8_t chanId, uint8_t *pData, uint16_t dataLength);
|
||||
|
||||
CmsRetId httpCFG(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId httpURL(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId httpGET(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId httpGETEX(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId httpPOST(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId httpPOSTFILE(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId httpSTOP(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId httpREAD(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId httpFOTADL(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId httpREADFILE(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,253 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_mqtt.h
|
||||
*
|
||||
* Description:
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef _ATEC_MQTT_H
|
||||
#define _ATEC_MQTT_H
|
||||
|
||||
#include "at_util.h"
|
||||
|
||||
#define MQTT_ID_MIN 0
|
||||
#define MQTT_ID_MAX 3
|
||||
#define MQTT_ID_DEF 0xff
|
||||
#define MQTT_TCP_ID_MIN 0
|
||||
#define MQTT_TCP_ID_MAX 0
|
||||
#define MQTT_TCP_ID_DEF 0
|
||||
|
||||
/* AT+ECMTCFG */
|
||||
#define MQTTCFG_CFG_MAX_LEN 17
|
||||
#define MQTTCFG_CFG_STR_DEF NULL
|
||||
#define MQTTCFG_TCP_ID_MIN MQTT_TCP_ID_MIN
|
||||
#define MQTTCFG_TCP_ID_MAX MQTT_TCP_ID_MAX
|
||||
#define MQTTCFG_TCP_ID_DEF MQTT_TCP_ID_DEF
|
||||
|
||||
#define MQTTCFG_2_ECHO_MIN 0
|
||||
#define MQTTCFG_2_ECHO_MAX 1
|
||||
#define MQTTCFG_2_ECHO_DEF 0
|
||||
|
||||
#define MQTTCFG_2_TXFORMAT_MIN 0
|
||||
#define MQTTCFG_2_TXFORMAT_MAX 1
|
||||
#define MQTTCFG_2_TXFORMAT_DEF 0
|
||||
#define MQTTCFG_3_RXFORMAT_MIN 0
|
||||
#define MQTTCFG_3_RXFORMAT_MAX 1
|
||||
#define MQTTCFG_3_RXFORMAT_DEF 0
|
||||
|
||||
#define MQTTCFG_2_KEEPALIVE_MIN 0
|
||||
#define MQTTCFG_2_KEEPALIVE_MAX 3600
|
||||
#define MQTTCFG_2_KEEPALIVE_DEF 120
|
||||
|
||||
#define MQTTCFG_2_SESSION_MIN 0
|
||||
#define MQTTCFG_2_SESSION_MAX 1
|
||||
#define MQTTCFG_2_SESSION_DEF 0
|
||||
|
||||
#define MQTTCFG_2_PKT_MIN 1
|
||||
#define MQTTCFG_2_PKT_MAX 60
|
||||
#define MQTTCFG_2_PKT_DEF 10
|
||||
#define MQTTCFG_3_RETRY_MIN 1
|
||||
#define MQTTCFG_3_RETRY_MAX 10
|
||||
#define MQTTCFG_3_RETRY_DEF 3
|
||||
#define MQTTCFG_4_NOTICE_MIN 0
|
||||
#define MQTTCFG_4_NOTICE_MAX 1
|
||||
#define MQTTCFG_4_NOTICE_DEF 0
|
||||
|
||||
#define MQTTCFG_2_WILLFLAG_MIN 0
|
||||
#define MQTTCFG_2_WILLFLAG_MAX 1
|
||||
#define MQTTCFG_2_WILLFLAG_DEF 0
|
||||
#define MQTTCFG_3_WILLQOS_MIN 0
|
||||
#define MQTTCFG_3_WILLQOS_MAX 2
|
||||
#define MQTTCFG_3_WILLQOS_DEF 0
|
||||
#define MQTTCFG_4_WILLQRETAIN_MIN 0
|
||||
#define MQTTCFG_4_WILLQRETAIN_MAX 1
|
||||
#define MQTTCFG_4_WILLQRETAIN_DEF 0
|
||||
#define MQTTCFG_5_WILLTOPIC_MAX_LEN 256
|
||||
#define MQTTCFG_5_WILLTOPIC_STR_DEF NULL
|
||||
#define MQTTCFG_6_WILLMSG_MAX_LEN 256
|
||||
#define MQTTCFG_6_WILLMSG_STR_DEF NULL
|
||||
|
||||
#define MQTTCFG_2_VERSION_MIN 3
|
||||
#define MQTTCFG_2_VERSION_MAX 4
|
||||
#define MQTTCFG_2_VERSION_DEF 4
|
||||
|
||||
#define MQTTCFG_2_PRODKEY_MAX_LEN 33
|
||||
#define MQTTCFG_2_PRODKEY_STR_DEF NULL
|
||||
#define MQTTCFG_3_DEVICENAME_MAX_LEN 33
|
||||
#define MQTTCFG_3_DEVICENAME_STR_DEF NULL
|
||||
#define MQTTCFG_4_DEVICESECRET_MAX_LEN 65
|
||||
#define MQTTCFG_4_DEVICESECRET_STR_DEF NULL
|
||||
#define MQTTCFG_5_PRODNAME_MAX_LEN 65
|
||||
#define MQTTCFG_5_PRODNAME_STR_DEF NULL
|
||||
#define MQTTCFG_6_PRODSECRET_MAX_LEN 65
|
||||
#define MQTTCFG_6_PRODSECRET_STR_DEF NULL
|
||||
#define MQTTCFG_7_AUTHTYPE_MAX_LEN 33
|
||||
#define MQTTCFG_7_AUTHTYPE_STR_DEF NULL
|
||||
#define MQTTCFG_8_SIGNMETHOD_MAX_LEN 33
|
||||
#define MQTTCFG_8_SIGNMETHOD_STR_DEF NULL
|
||||
#define MQTTCFG_9_AUTHMODE_MAX_LEN 33
|
||||
#define MQTTCFG_9_AUTHMODE_STR_DEF NULL
|
||||
#define MQTTCFG_10_SECUREMODE_MAX_LEN 9
|
||||
#define MQTTCFG_10_SECUREMODE_STR_DEF NULL
|
||||
#define MQTTCFG_11_INSTANCEID_MAX_LEN 33
|
||||
#define MQTTCFG_11_INSTANCEID_STR_DEF NULL
|
||||
#define MQTTCFG_12_DYNREGUSED_MIN 0
|
||||
#define MQTTCFG_12_DYNREGUSED_MAX 8
|
||||
#define MQTTCFG_12_DYNREGUSED_DEF 0
|
||||
|
||||
#define MQTTCFG_1_SSL_MAX_LEN 9
|
||||
#define MQTTCFG_1_SSL_STR_DEF NULL
|
||||
|
||||
#define MQTTCFG_2_PSK_MAX_LEN 129
|
||||
#define MQTTCFG_2_PSK_STR_DEF NULL
|
||||
#define MQTTCFG_3_PSKID_MAX_LEN 256
|
||||
#define MQTTCFG_3_PSKID_STR_DEF NULL
|
||||
|
||||
#define MQTTCFG_2_ECC_MAX_LEN 4001
|
||||
#define MQTTCFG_2_ECC_STR_DEF NULL
|
||||
|
||||
#define MQTTCFG_2_CA_MAX_LEN 4001
|
||||
#define MQTTCFG_2_CA_STR_DEF NULL
|
||||
|
||||
#define MQTTCFG_3_NAME_MAX_LEN 65
|
||||
#define MQTTCFG_3_NAME_STR_DEF NULL
|
||||
|
||||
#define MQTTCFG_2_CLOUD_MIN 0
|
||||
#define MQTTCFG_2_CLOUD_MAX 255
|
||||
#define MQTTCFG_2_CLOUD_DEF 0
|
||||
#define MQTTCFG_3_PAYLOADTYPE_MIN 0
|
||||
#define MQTTCFG_3_PAYLOADTYPE_MAX 255
|
||||
#define MQTTCFG_3_PAYLOADTYPE_DEF 1
|
||||
|
||||
/* AT+ECMTOPEN */
|
||||
#define MQTTOPEN_TCP_ID_MIN MQTT_TCP_ID_MIN
|
||||
#define MQTTOPEN_TCP_ID_MAX MQTT_TCP_ID_MAX
|
||||
#define MQTTOPEN_TCP_ID_DEF MQTT_TCP_ID_DEF
|
||||
#define MQTTOPEN_1_HOST_MAX_LEN 128
|
||||
#define MQTTOPEN_1_HOST_STR_DEF NULL
|
||||
#define MQTTOPEN_2_PORT_MIN 1
|
||||
#define MQTTOPEN_2_PORT_MAX 65535
|
||||
#define MQTTOPEN_2_PORT_DEF 1883
|
||||
|
||||
/* AT+ECMTCLOSE */
|
||||
#define MQTTCLOSE_TCP_ID_MIN MQTT_TCP_ID_MIN
|
||||
#define MQTTCLOSE_TCP_ID_MAX MQTT_TCP_ID_MAX
|
||||
#define MQTTCLOSE_TCP_ID_DEF MQTT_TCP_ID_DEF
|
||||
|
||||
/* AT+ECMTCONN*/
|
||||
#define MQTTCONN_TCP_ID_MIN MQTT_TCP_ID_MIN
|
||||
#define MQTTCONN_TCP_ID_MAX MQTT_TCP_ID_MAX
|
||||
#define MQTTCONN_TCP_ID_DEF MQTT_TCP_ID_DEF
|
||||
#define MQTTCONN_1_CLIENTID_MAX_LEN 49//256
|
||||
#define MQTTCONN_1_CLIENTID_STR_DEF NULL
|
||||
#define MQTTCONN_2_USERNAME_MAX_LEN 49//256
|
||||
#define MQTTCONN_2_USERNAME_STR_DEF NULL
|
||||
#define MQTTCONN_3_PWD_MAX_LEN 129//256
|
||||
#define MQTTCONN_3_PWD_STR_DEF NULL
|
||||
|
||||
/* AT+ECMTDISC */
|
||||
#define MQTTDISC_TCP_ID_MIN MQTT_TCP_ID_MIN
|
||||
#define MQTTDISC_TCP_ID_MAX MQTT_TCP_ID_MAX
|
||||
#define MQTTDISC_TCP_ID_DEF MQTT_TCP_ID_DEF
|
||||
|
||||
/* AT+ECMTSUB */
|
||||
#define MQTTSUB_TCP_ID_MIN MQTT_TCP_ID_MIN
|
||||
#define MQTTSUB_TCP_ID_MAX MQTT_TCP_ID_MAX
|
||||
#define MQTTSUB_TCP_ID_DEF MQTT_TCP_ID_DEF
|
||||
#define MQTTSUB_1_MSGID_MIN 1
|
||||
#define MQTTSUB_1_MSGID_MAX 65535
|
||||
#define MQTTSUB_1_MSGID_DEF 10
|
||||
#define MQTTSUB_2_TOPIC_MAX_LEN 256
|
||||
#define MQTTSUB_2_TOPIC_STR_DEF NULL
|
||||
#define MQTTSUB_3_QOS_MIN 0
|
||||
#define MQTTSUB_3_QOS_MAX 2
|
||||
#define MQTTSUB_3_QOS_DEF 0
|
||||
|
||||
/* AT+ECMTUNSUB */
|
||||
#define MQTTUNSUB_TCP_ID_MIN MQTT_TCP_ID_MIN
|
||||
#define MQTTUNSUB_TCP_ID_MAX MQTT_TCP_ID_MAX
|
||||
#define MQTTUNSUB_TCP_ID_DEF MQTT_TCP_ID_DEF
|
||||
#define MQTTUNSUB_1_MSGID_MIN 1
|
||||
#define MQTTUNSUB_1_MSGID_MAX 65535
|
||||
#define MQTTUNSUB_1_MSGID_DEF 10
|
||||
#define MQTTUNSUB_2_TOPIC_MAX_LEN 256
|
||||
#define MQTTUNSUB_2_TOPIC_STR_DEF NULL
|
||||
|
||||
/* AT+ECMTPUB */
|
||||
#define MQTTPUB_TCP_ID_MIN MQTT_TCP_ID_MIN
|
||||
#define MQTTPUB_TCP_ID_MAX MQTT_TCP_ID_MAX
|
||||
#define MQTTPUB_TCP_ID_DEF MQTT_TCP_ID_DEF
|
||||
#define MQTTPUB_1_MSGID_MIN 0
|
||||
#define MQTTPUB_1_MSGID_MAX 65535
|
||||
#define MQTTPUB_1_MSGID_DEF 10
|
||||
#define MQTTPUB_2_QOS_MIN 0
|
||||
#define MQTTPUB_2_QOS_MAX 2
|
||||
#define MQTTPUB_2_QOS_DEF 1
|
||||
#define MQTTPUB_3_RETRAINED_MIN 0
|
||||
#define MQTTPUB_3_RETRAINED_MAX 40
|
||||
#define MQTTPUB_3_RETRAINED_DEF 0
|
||||
#define MQTTPUB_4_TOPIC_MAX_LEN 256
|
||||
#define MQTTPUB_4_TOPIC_STR_DEF NULL
|
||||
#define MQTTPUB_5_MSG_MAX_LEN 1027
|
||||
#define MQTTPUB_5_MSG_STR_DEF NULL
|
||||
#define MQTTPUB_6_CLOUD_MIN 0
|
||||
#define MQTTPUB_6_CLOUD_MAX 128
|
||||
#define MQTTPUB_6_CLOUD_DEF 0xff
|
||||
#define MQTTPUB_7_RETRAINED_MIN 0
|
||||
#define MQTTPUB_7_RETRAINED_MAX 1
|
||||
#define MQTTPUB_7_RETRAINED_DEF 0xff
|
||||
#define MQTTPUB_6_RAI_MIN 0
|
||||
#define MQTTPUB_6_RAI_MAX 128
|
||||
#define MQTTPUB_6_RAI_DEF 0
|
||||
|
||||
#define MQTT_DATA_FORMAT_TXT 0
|
||||
#define MQTT_DATA_FORMAT_HEX 1
|
||||
#define MQTT_TLS_CA_SUB_SEQ_LEN 64
|
||||
|
||||
typedef struct
|
||||
{
|
||||
UINT32 reqHandle;
|
||||
int tcpId;
|
||||
int msgId;
|
||||
int qos;
|
||||
int retained;
|
||||
int rai;
|
||||
char *mqttTopic;
|
||||
|
||||
}mqtt_pub_data;
|
||||
|
||||
CmsRetId mqttCFG(const AtCmdInputContext *AtCmdReqParaPtr);
|
||||
CmsRetId mqttOPEN(const AtCmdInputContext *AtCmdReqParaPtr);
|
||||
CmsRetId mqttCLOSE(const AtCmdInputContext *AtCmdReqParaPtr);
|
||||
CmsRetId mqttCONN(const AtCmdInputContext *AtCmdReqParaPtr);
|
||||
CmsRetId mqttDISC(const AtCmdInputContext *AtCmdReqParaPtr);
|
||||
CmsRetId mqttSUB(const AtCmdInputContext *AtCmdReqParaPtr);
|
||||
CmsRetId mqttUNS(const AtCmdInputContext *AtCmdReqParaPtr);
|
||||
CmsRetId mqttPUB(const AtCmdInputContext *AtCmdReqParaPtr);
|
||||
CmsRetId mqttPUBInputData(UINT8 chanId, UINT8 *pData, INT16 dataLength);
|
||||
CmsRetId mqttPUBCancel(void);
|
||||
|
||||
CmsRetId mqttOPENind(UINT16 primId, UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId mqttCLOSEind(UINT16 primId, UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId mqttCONNind(UINT16 primId, UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId mqttDISCind(UINT16 primId, UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId mqttSUBind(UINT16 primId, UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId mqttUNSind(UINT16 primId, UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId mqttPUBind(UINT16 primId, UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
|
||||
CmsRetId mqttSTATind(UINT16 primId, UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId mqttRECVind(UINT16 primId, UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -0,0 +1,283 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_plat_dev.h
|
||||
*
|
||||
* Description: Device debug related AT CMD
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef __ATEC_DEBUG_H__
|
||||
#define __ATEC_DEBUG_H__
|
||||
|
||||
#include "at_util.h"
|
||||
|
||||
#define EC_CMD_BUF_LEN 640
|
||||
#define EC_PRINT_BUF_LEN 128
|
||||
#define EC_DUMP_DATA_LEN 32
|
||||
#define EC_DUMP_DATA_BLOCK 8192
|
||||
#define ATC_ECRFTEST_STR_MAX_LEN 5000
|
||||
|
||||
|
||||
/* AT+ECUNITTEST */
|
||||
#define ATC_ECUNITTEST_0_VAL_MIN 0
|
||||
#define ATC_ECUNITTEST_0_VAL_MAX 16
|
||||
#define ATC_ECUNITTEST_0_VAL_DEFAULT 0 /* full functionality */
|
||||
|
||||
|
||||
|
||||
/*AT+ECRST*/
|
||||
#define ATC_ECRST_MAX_DELAY_MS 2000
|
||||
|
||||
/* AT+ECSYSTEST */
|
||||
#define ATC_SYSTEST_0_VAL_MIN 0
|
||||
#define ATC_SYSTEST_0_VAL_MAX 512
|
||||
#define ATC_SYSTEST_0_VAL_DEFAULT 0 /* full functionality */
|
||||
#define ATC_SYSTEST_0_STR_DEFAULT NULL
|
||||
#define ATC_SYSTEST_0_STR_MAX_LEN 256 /* */
|
||||
|
||||
/* AT+ECPMUCFG */
|
||||
#define ATC_ECPMUCFG_0_VAL_MIN 0
|
||||
#define ATC_ECPMUCFG_0_VAL_MAX 1
|
||||
#define ATC_ECPMUCFG_0_VAL_DEFAULT 0 /* full functionality */
|
||||
#define ATC_ECPMUCFG_1_VAL_MIN 0
|
||||
#define ATC_ECPMUCFG_1_VAL_MAX 5
|
||||
#define ATC_ECPMUCFG_1_VAL_DEFAULT 0 /* full functionality */
|
||||
|
||||
/* AT+ECPCFG */
|
||||
#define ATC_ECPCFG_MAX_PARM_STR_LEN 32
|
||||
#define ATC_ECPCFG_MAX_PARM_STR_DEFAULT NULL
|
||||
|
||||
#define ATC_ECPCFG_VAL_MIN 0
|
||||
#define ATC_ECPCFG_VAL_MAX 0xffff
|
||||
#define ATC_ECPCFG_VAL_DEFAULT 0 /* full functionality */
|
||||
|
||||
#define ATC_ECPCFG_WDT_VAL_MIN 0
|
||||
#define ATC_ECPCFG_WDT_VAL_MAX 1
|
||||
#define ATC_ECPCFG_WDT_VAL_DEFAULT 0 /* full functionality */
|
||||
|
||||
#define ATC_ECPCFG_UART_DUMP_PORT_VAL_MIN 0
|
||||
#define ATC_ECPCFG_UART_DUMP_PORT_VAL_MAX 255
|
||||
#define ATC_ECPCFG_UART_DUMP_PORT_VAL_DEFAULT 1 /* full functionality */
|
||||
|
||||
#define ATC_ECPCFG_UNI_CTRL_VAL_MIN 0
|
||||
#define ATC_ECPCFG_UNI_CTRL_VAL_MAX 2
|
||||
#define ATC_ECPCFG_UNI_CTRL_VAL_DEFAULT 2 /* full functionality */
|
||||
|
||||
#define ATC_ECPCFG_UNI_LEVEL_VAL_MIN 0
|
||||
#define ATC_ECPCFG_UNI_LEVEL_VAL_MAX 5
|
||||
#define ATC_ECPCFG_UNI_LEVEL_VAL_DEFAULT 0 /* full functionality */
|
||||
|
||||
#define ATC_ECPCFG_LOG_BAUDRATE_VAL_MIN 921600
|
||||
#define ATC_ECPCFG_LOG_BAUDRATE_VAL_MAX 6000001
|
||||
#define ATC_ECPCFG_LOG_BAUDRATE_VAL_DEFAULT 6000000 /* full functionality */
|
||||
|
||||
#define ATC_ECPCFG_SLEEP_VAL_MIN 0
|
||||
#define ATC_ECPCFG_SLEEP_VAL_MAX 0xffff
|
||||
#define ATC_ECPCFG_SLEEP_VAL_DEFAULT 0 /* full functionality */
|
||||
|
||||
#define ATC_ECPCFG_FAULT_VAL_MIN EXCEP_OPTION_DUMP_FLASH_EPAT_LOOP
|
||||
#define ATC_ECPCFG_FAULT_VAL_MAX (EXCEP_OPTION_MAX)
|
||||
#define ATC_ECPCFG_FAULT_VAL_DEFAULT EXCEP_OPTION_DUMP_FLASH_EPAT_LOOP /* full functionality */
|
||||
|
||||
#define ATC_ECPCFG_LOG_PORT_SEL_MIN 0
|
||||
#define ATC_ECPCFG_LOG_PORT_SEL_MAX 2
|
||||
#define ATC_ECPCFG_LOG_PORT_SEL_DEFAULT 0
|
||||
|
||||
|
||||
#define ATC_ECPCFG_USB_CTRL_VAL_MIN 0
|
||||
#define ATC_ECPCFG_USB_CTRL_VAL_MAX 2
|
||||
#define ATC_ECPCFG_USB_CTRL_VAL_DEFAULT 0
|
||||
|
||||
#define ATC_ECPCFG_USB_SW_TRACEFLAG_VAL_MIN 0
|
||||
#define ATC_ECPCFG_USB_SW_TRACEFLAG_VAL_MAX 0x0fffffff
|
||||
#define ATC_ECPCFG_USB_SW_TRACEFLAG_VAL_DEFAULT 0
|
||||
|
||||
|
||||
#define ATC_ECPCFG_USB_SLPMASK_VAL_MIN 0
|
||||
#define ATC_ECPCFG_USB_SLPMASK_VAL_MAX 1
|
||||
#define ATC_ECPCFG_USB_SLPMASK_VAL_DEFAULT 0
|
||||
|
||||
#define ATC_ECPCFG_USB_SLPTHD_VAL_MIN 0
|
||||
#define ATC_ECPCFG_USB_SLPTHD_VAL_MAX 0xFFFF
|
||||
#define ATC_ECPCFG_USB_SLPTHD_VAL_DEFAULT 0
|
||||
|
||||
#define ATC_ECPCFG_PWRKEY_MODE_VAL_MIN 0
|
||||
#define ATC_ECPCFG_PWRKEY_MODE_VAL_MAX 2
|
||||
#define ATC_ECPCFG_PWRKEY_MODE_VAL_DEFAULT 0
|
||||
|
||||
#define ATC_ECPCFG_USBNET_VAL_MIN 0
|
||||
#define ATC_ECPCFG_USBNET_VAL_MAX 1
|
||||
#define ATC_ECPCFG_USBNET_VAL_DEFAULT 0
|
||||
|
||||
#define ATC_ECPCFG_PMUINCDRX_VAL_MIN 0
|
||||
#define ATC_ECPCFG_PMUINCDRX_VAL_MAX 1
|
||||
#define ATC_ECPCFG_PMUINCDRX_VAL_DEFAULT 0
|
||||
|
||||
#define ATC_ECPCFG_FOTA_URC_PORT_TYPE_USB PLAT_CFG_FOTA_URC_PORT_USB
|
||||
#define ATC_ECPCFG_FOTA_URC_PORT_TYPE_UART PLAT_CFG_FOTA_URC_PORT_UART
|
||||
|
||||
#define ATC_ECPCFG_FOTA_URC_USB_PORT_IDX_MIN PLAT_CFG_FOTA_URC_USB_PORT_IDX_MIN
|
||||
#define ATC_ECPCFG_FOTA_URC_USB_PORT_IDX_MAX PLAT_CFG_FOTA_URC_USB_PORT_IDX_MAX
|
||||
|
||||
#define ATC_ECPCFG_FOTA_URC_UART_PORT_IDX_MIN PLAT_CFG_FOTA_URC_UART_PORT_IDX_MIN
|
||||
#define ATC_ECPCFG_FOTA_URC_UART_PORT_IDX_MAX PLAT_CFG_FOTA_URC_UART_PORT_IDX_MAX
|
||||
|
||||
#define ATC_ECPCFG_FOTA_URC_PORT_SEL_MIN ((ATC_ECPCFG_FOTA_URC_PORT_TYPE_USB << 4) | ATC_ECPCFG_FOTA_URC_USB_PORT_IDX_MIN)
|
||||
#define ATC_ECPCFG_FOTA_URC_PORT_SEL_MAX ((ATC_ECPCFG_FOTA_URC_PORT_TYPE_UART << 4) | ATC_ECPCFG_FOTA_URC_UART_PORT_IDX_MAX)
|
||||
#define ATC_ECPCFG_FOTA_URC_PORT_SEL_DEFAULT ((ATC_ECPCFG_FOTA_URC_PORT_TYPE_USB << 4) | 0)
|
||||
|
||||
/* AT+ECUSBSYS */
|
||||
#define ATC_ECUSBSYS_MAX_PARM_STR_LEN 32
|
||||
#define ATC_ECUSBSYS_MAX_PARM_STR_DEFAULT NULL
|
||||
|
||||
#define ATC_ECUSBSYS_VAL_MIN 0
|
||||
#define ATC_ECUSBSYS_VAL_MAX 0xffff
|
||||
#define ATC_ECUSBSYS_VAL_DEFAULT 0 /* full functionality */
|
||||
|
||||
#define ATC_ECUSBSYS_VBUS_MODE_EN_VAL_MIN 0
|
||||
#define ATC_ECUSBSYS_VBUS_MODE_EN_VAL_MAX 1
|
||||
#define ATC_ECUSBSYS_VBUS_MODE_EN_VAL_DEFAULT 0
|
||||
|
||||
#define ATC_ECUSBSYS_VBUS_WKUP_PAD_VAL_MIN 0
|
||||
#define ATC_ECUSBSYS_VBUS_WKUP_PAD_VAL_MAX 5
|
||||
#define ATC_ECUSBSYS_VBUS_WKUP_PAD_VAL_DEFAULT 1
|
||||
|
||||
|
||||
#define ATC_TASKINFO_LEN 64
|
||||
|
||||
/* AT+IPR */
|
||||
#define ATC_IPR_MAX_PARM_STR_LEN 32
|
||||
#define ATC_IPR_MAX_PARM_STR_DEFAULT NULL
|
||||
|
||||
/* AT+ECLEDMODE */
|
||||
#define ATC_ECLED_MODE_VAL_MIN 0
|
||||
#define ATC_ECLED_MODE_VAL_MAX 1
|
||||
#define ATC_ECLED_MODE_VAL_DEFAULT 0
|
||||
|
||||
/* AT+ECFLASHMONITORINFO */
|
||||
#define ATC_ECFLASHMONITORINFO_VAL_MIN 0
|
||||
#define ATC_ECFLASHMONITORINFO_VAL_MAX 3
|
||||
#define ATC_ECFLASHMONITORINFO_VAL_DEFAULT 1
|
||||
|
||||
/* AT+ECPURC */
|
||||
#define ATC_ECPURC_0_MAX_PARM_STR_LEN 16
|
||||
#define ATC_ECPURC_0_MAX_PARM_STR_DEFAULT NULL
|
||||
#define ATC_ECPURC_1_VAL_MIN 0
|
||||
#define ATC_ECPURC_1_VAL_MAX 1
|
||||
#define ATC_ECPURC_1_VAL_DEFAULT 0
|
||||
|
||||
/* AT+ECPALARM */
|
||||
#define ATC_ECPALARM_0_MAX_PARM_STR_LEN 8
|
||||
#define ATC_ECPALARM_0_MAX_PARM_STR_DEFAULT NULL
|
||||
#define ATC_ECPALARM_1_VAL_MIN 0
|
||||
#define ATC_ECPALARM_1_VAL_MAX 1
|
||||
#define ATC_ECPALARM_1_VAL_DEFAULT 0
|
||||
#define ATC_ECPALARM_VOLT_VAL_MIN 0
|
||||
#define ATC_ECPALARM_VOLT_VAL_MAX 25
|
||||
#define ATC_ECPALARM_VOLT_VAL_DEFAULT 0
|
||||
#define ATC_ECPALARM_THERM_VAL_MIN 0
|
||||
#define ATC_ECPALARM_THERM_VAL_MAX 3
|
||||
#define ATC_ECPALARM_THERM_VAL_DEFAULT 3
|
||||
#define ATC_ECPALARM_HYSTER_VAL_MIN 0
|
||||
#define ATC_ECPALARM_HYSTER_VAL_MAX 3
|
||||
#define ATC_ECPALARM_HYSTER_VAL_DEFAULT 3
|
||||
|
||||
/* AT+ICF */
|
||||
#define ATC_ICF_FORMAT_VAL_MIN 1
|
||||
#define ATC_ICF_FORMAT_VAL_MAX 6
|
||||
#define ATC_ICF_FORMAT_VAL_DEFAULT 3
|
||||
|
||||
#define ATC_ICF_PARITY_VAL_MIN 0
|
||||
#define ATC_ICF_PARITY_VAL_MAX 1
|
||||
#define ATC_ICF_PARITY_VAL_DEFAULT 0
|
||||
|
||||
/* AT+IFC */
|
||||
#define ATC_IFC_RTS_VAL_MIN 0
|
||||
#define ATC_IFC_RTS_VAL_MAX 2
|
||||
#define ATC_IFC_RTS_VAL_DEFAULT 0
|
||||
|
||||
#define ATC_IFC_CTS_VAL_MIN 0
|
||||
#define ATC_IFC_CTS_VAL_MAX 2
|
||||
#define ATC_IFC_CTS_VAL_DEFAULT 0
|
||||
|
||||
/* AT+ECSCLK */
|
||||
#define ATC_EC_SCLK_VAL_MIN 0
|
||||
#define ATC_EC_SCLK_VAL_MAX 1
|
||||
#define ATC_EC_SCLK_VAL_DEFAULT 0
|
||||
|
||||
/* AT+ECMEM32 */
|
||||
#define ATC_ECMEM32_OPMODE_VAL_READ 0
|
||||
#define ATC_ECMEM32_OPMODE_VAL_WRITE 1
|
||||
#define ATC_ECMEM32_OPMODE_VAL_DEFAULT 0
|
||||
|
||||
#define ATC_ECMEM32_ADDR_VAL_MIN 0x80000000
|
||||
#define ATC_ECMEM32_ADDR_VAL_MAX 0x7fffffff
|
||||
#define ATC_ECMEM32_ADDR_VAL_DEFAULT 0
|
||||
|
||||
|
||||
#define ATC_ECMEM32_VAL_MIN 0x80000000
|
||||
#define ATC_ECMEM32_VAL_MAX 0x7fffffff
|
||||
#define ATC_ECMEM32_VAL_DEFAULT 0
|
||||
|
||||
|
||||
/* AT+ECPOWD */
|
||||
#define ATC_ECPOWD_VAL_MIN 0
|
||||
#define ATC_ECPOWD_VAL_MAX 1
|
||||
#define ATC_ECPOWD_VAL_DEFAULT 1
|
||||
|
||||
/* AT+ECBTOFFSETDBG */
|
||||
#define ATC_ECBTOFFSETDBG_VAL_MIN 0x80000000
|
||||
#define ATC_ECBTOFFSETDBG_VAL_MAX 0x7fffffff
|
||||
#define ATC_ECBTOFFSETDBG_VAL_DEFAULT 0
|
||||
|
||||
#define PRINTF_BUF_LEN 512
|
||||
#define ECFSINFO_PRINT_BUF_LEN (256)
|
||||
|
||||
/* AT+RLCHK */
|
||||
#define ATC_RLCHK_MAX_PARM_STR_LEN 32
|
||||
#define ATC_RLCHK_MAX_PARM_STR_DEFAULT NULL
|
||||
|
||||
//CmsRetId pdevHELP(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevRST(const AtCmdInputContext *pAtCmdReq);
|
||||
//CmsRetId pdevPOWERON(const AtCmdInputContext *pAtCmdReq);
|
||||
//CmsRetId pdevPOWEROFF(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevECTASKINFO(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevECTASKHISTINFO(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevECSHOWMEM(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevECHEAPINFO(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevECDLFCMEM(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevECFSINFO(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevECFSFORMAT(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevECFMONITORINFO(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevSYSTEST(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevECSYSTEST(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevECLOGDBVER(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevECPCFG(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevECUSBSYS(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevECPMUCFG(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevECVOTECHK(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevIPR(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevNetLight(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevPMUSTATUS(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevECPURC(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevECPALARM(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevICF(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevIFC(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevECMEM32(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevECSCLK(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevECDUMPCHK(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevECPOWD(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevBTOFFSETDBG(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevRLCHK(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
#endif
|
||||
|
||||
/* END OF FILE */
|
||||
@@ -0,0 +1,155 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_plat_test.h
|
||||
*
|
||||
* Description: plat verification related AT CMD
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef __ATEC_PLAT_TEST_H__
|
||||
#define __ATEC_PLAT_TEST_H__
|
||||
|
||||
#include "at_util.h"
|
||||
|
||||
#define PRINTF_BUF_LEN 512
|
||||
#define ATC_MALLOC_MAGIN_32 32
|
||||
#define ATC_MALLOC_MAGIN_64 64
|
||||
|
||||
/* AT+ECPERTEST */
|
||||
#define ATC_ECPERTEST_MODULE_MAX_PARM_STR_LEN 16
|
||||
#define ATC_ECPERTEST_MODULE_MAX_PARM_STR_DEFAULT NULL
|
||||
|
||||
|
||||
#define ATC_ECPERTEST_CASENUM_VAL_MIN 0
|
||||
#define ATC_ECPERTEST_CASENUM_VAL_MAX 256
|
||||
#define ATC_ECPERTEST_CASENUM_VAL_DEFAULT 0
|
||||
|
||||
#define ATC_ECPERTEST_INSNUM_VAL_MIN 0
|
||||
#define ATC_ECPERTEST_INSNUM_VAL_MAX 256
|
||||
#define ATC_ECPERTEST_INSNUM_VAL_DEFAULT 0
|
||||
|
||||
|
||||
#define ATC_ECPERTEST_LOOPCNT_VAL_MIN 0
|
||||
#define ATC_ECPERTEST_LOOPCNT_VAL_MAX 0x7fffffff
|
||||
#define ATC_ECPERTEST_LOOPCNT_VAL_DEFAULT 0
|
||||
|
||||
#define ATC_ECPERTEST_WAKEUPNUM_VAL_MIN 0
|
||||
#define ATC_ECPERTEST_WAKEUPNUM_VAL_MAX 5
|
||||
#define ATC_ECPERTEST_WAKEUPNUM_VAL_DEFAULT 0
|
||||
|
||||
#define ATC_ECPERTEST_WAKEUPEN_VAL_MIN 0
|
||||
#define ATC_ECPERTEST_WAKEUPEN_VAL_MAX 1
|
||||
#define ATC_ECPERTEST_WAKEUPEN_VAL_DEFAULT 0
|
||||
|
||||
#define ATC_ECPERTEST_WAKEUPEDGE_VAL_MIN 0
|
||||
#define ATC_ECPERTEST_WAKEUPEDGE_VAL_MAX 1
|
||||
#define ATC_ECPERTEST_WAKEUPEDGE_VAL_DEFAULT 0
|
||||
|
||||
#define ATC_ECPERTEST_SLEEPMODE_VAL_MIN 0
|
||||
#define ATC_ECPERTEST_SLEEPMODE_VAL_MAX 9
|
||||
#define ATC_ECPERTEST_SLEEPMODE_VAL_DEFAULT 0
|
||||
|
||||
#define ATC_ECPERTEST_AONIOPWRCTRL_VAL_MIN 0
|
||||
#define ATC_ECPERTEST_AONIOPWRCTRL_VAL_MAX 1
|
||||
#define ATC_ECPERTEST_AONIOPWRCTRL_VAL_DEFAULT 0
|
||||
|
||||
#define ATC_ECPERTEST_AONIONUM_VAL_MIN 0
|
||||
#define ATC_ECPERTEST_AONIONUM_VAL_MAX 8
|
||||
#define ATC_ECPERTEST_AONIONUM_VAL_DEFAULT 0
|
||||
|
||||
#define ATC_ECPERTEST_AONIOLEVEL_VAL_MIN 0
|
||||
#define ATC_ECPERTEST_AONIOLEVEL_VAL_MAX 1
|
||||
#define ATC_ECPERTEST_AONIOLEVEL_VAL_DEFAULT 0
|
||||
|
||||
#define ATC_ECPERTEST_AONIOLATCH_VAL_MIN 0
|
||||
#define ATC_ECPERTEST_AONIOLATCH_VAL_MAX 1
|
||||
#define ATC_ECPERTEST_AONIOLATCH_VAL_DEFAULT 0
|
||||
|
||||
#define ATC_ECPERTEST_AONIOLDOCASENUM_VAL_MIN 0
|
||||
#define ATC_ECPERTEST_AONIOLDOCASENUM_VAL_MAX 2
|
||||
#define ATC_ECPERTEST_AONIOLDOCASENUM_VAL_DEFAULT 0
|
||||
|
||||
#define ATC_ECPERTEST_MCUMODECASENUM_VAL_MIN 0
|
||||
#define ATC_ECPERTEST_MCUMODECASENUM_VAL_MAX 1
|
||||
#define ATC_ECPERTEST_MCUMODECASENUM_VAL_DEFAULT 0
|
||||
|
||||
|
||||
/* AT+ECI2COPEN */
|
||||
#define ATC_I2C_INSTANCE_VAL_MIN 0
|
||||
#define ATC_I2C_INSTANCE_VAL_MAX 1
|
||||
#define ATC_I2C_INSTANCE_VAL_DEFAULT 0
|
||||
|
||||
#define ATC_I2C_SPEED_VAL_MIN 100
|
||||
#define ATC_I2C_SPEED_VAL_MAX 1000
|
||||
#define ATC_I2C_SPEED_VAL_DEFAULT 100
|
||||
|
||||
#define ATC_I2C_SLAVEADDRESS_VAL_MIN 0x1
|
||||
#define ATC_I2C_SLAVEADDRESS_VAL_MAX 0x3ff
|
||||
#define ATC_I2C_SLAVEADDRESS_VAL_DEFAULT 0x55
|
||||
|
||||
#define ATC_I2C_DATALEN_VAL_MIN 1
|
||||
#define ATC_I2C_DATALEN_VAL_MAX 511
|
||||
#define ATC_I2C_DATALEN_VAL_DEFAULT 1
|
||||
|
||||
/* AT+ECSPIOPEN */
|
||||
#define ATC_SPI_INSTANCE_VAL_MIN 0
|
||||
#define ATC_SPI_INSTANCE_VAL_MAX 1
|
||||
#define ATC_SPI_INSTANCE_VAL_DEFAULT 0
|
||||
|
||||
#define ATC_SPI_SPEED_VAL_MIN 1
|
||||
#define ATC_SPI_SPEED_VAL_MAX 10000000 // 10M
|
||||
#define ATC_SPI_SPEED_VAL_DEFAULT 100000
|
||||
|
||||
#define ATC_SPI_CPOL_VAL_MIN 0
|
||||
#define ATC_SPI_CPOL_VAL_MAX 1
|
||||
#define ATC_SPI_CPOL_VAL_DEFAULT 0
|
||||
|
||||
#define ATC_SPI_CPHA_VAL_MIN 0
|
||||
#define ATC_SPI_CPHA_VAL_MAX 1
|
||||
#define ATC_SPI_CPHA_VAL_DEFAULT 0
|
||||
|
||||
#define ATC_SPI_DATALEN_VAL_MIN 1
|
||||
#define ATC_SPI_DATALEN_VAL_MAX 1024
|
||||
#define ATC_SPI_DATALEN_VAL_DEFAULT 1
|
||||
|
||||
#define ATC_ECONEWREAD_ADDR_STR_LEN 10
|
||||
#define ATC_ECONEWREAD_ADDR_STR_DEFAULT NULL
|
||||
|
||||
#define ATC_ECREGWRITE_ADDR_STR_LEN 10
|
||||
#define ATC_ECREGWRITE_ADDR_STR_DEFAULT NULL
|
||||
|
||||
#define ATC_ECREGWRITE_VAL_STR_LEN 10
|
||||
#define ATC_ECREGWRITE_VAL_STR_DEFAULT NULL
|
||||
|
||||
CmsRetId pdevECPERTEST(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
CmsRetId pdevECI2COPEN(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevECI2CREAD(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevECI2CWRITE(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevECI2CCLOSE(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
CmsRetId pdevECONEWOPEN(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevECONEWREAD(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevECONEWWRITE(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
CmsRetId pdevECSPIOPEN(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevECSPIREAD(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevECSPIWRITE(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevECSPITRANSFER(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevECSPICLOSE(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
CmsRetId pdevECREGREAD(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevECREGWRITE(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdevECSWMODE(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
#endif
|
||||
|
||||
/* END OF FILE */
|
||||
@@ -0,0 +1,88 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_product.h
|
||||
*
|
||||
* Description: production related command
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef __ATEC_PRODUCT_H__
|
||||
#define __ATEC_PRODUCT_H__
|
||||
|
||||
#include "at_util.h"
|
||||
|
||||
|
||||
/* AT+ECSLEEP */
|
||||
#define ECSLEEP_HANDLE_CREATED 0x1
|
||||
#define ECSLEEP_HANDLE_NOT_CREATED 0x0
|
||||
|
||||
#define ECSLEEP_HIB2 0x0
|
||||
#define ECSLEEP_HIB1 0x1
|
||||
#define ECSLEEP_SLP2 0x2
|
||||
#define ECSLEEP_SLP1 0x3
|
||||
#define ECSLEEP_OFF 0x4
|
||||
|
||||
#define CC_ECSLEEP_VALUE_MIN 0
|
||||
#define CC_ECSLEEP_VALUE_MAX 4
|
||||
#define CC_ECSLEEP_VALUE_DEF 0
|
||||
|
||||
/* AT+ECSAVEFAC */
|
||||
#define SAVEFAC_0_STR_LEN 16
|
||||
#define SAVEFAC_0_STR_BUF_LEN (SAVEFAC_0_STR_LEN +1)
|
||||
#define SAVEFAC_0_STR_DEF NULL
|
||||
|
||||
/* AT+ECIPR */
|
||||
#define ATC_ECIPR_MAX_PARM_STR_LEN 32
|
||||
#define ATC_ECIPR_MAX_PARM_STR_DEFAULT NULL
|
||||
|
||||
/* AT+ECNPICFG */
|
||||
#define ATC_ECNPICFG_MAX_PARM_STR_LEN 32
|
||||
#define ATC_ECNPICFG_MAX_PARM_STR_DEFAULT NULL
|
||||
|
||||
#define ATC_ECNPICFG_RFCALI_VAL_MIN 0
|
||||
#define ATC_ECNPICFG_RFCALI_VAL_MAX 1
|
||||
#define ATC_ECNPICFG_RFCALI_VAL_DEFAULT 0 /* full functionality */
|
||||
|
||||
#define ATC_ECNPICFG_RFNST_VAL_MIN 0
|
||||
#define ATC_ECNPICFG_RFNST_VAL_MAX 1
|
||||
#define ATC_ECNPICFG_RFNST_VAL_DEFAULT 0 /* full functionality */
|
||||
|
||||
/* AT+ECPRODMODE */
|
||||
#define ATC_ECPRODMODE_MAX_PARM_STR_LEN 32
|
||||
|
||||
/* AT+ECATE */
|
||||
#define ATC_ECATE_0_VAL_MIN 0
|
||||
#define ATC_ECATE_0_VAL_MAX 1
|
||||
#define ATC_ECATE_0_VAL_DEFAULT 0
|
||||
|
||||
/* AT+ECVERSION */
|
||||
#define ATC_ECVERSION_0_VAL_MIN 0
|
||||
#define ATC_ECVERSION_0_VAL_MAX 0xffffffff
|
||||
#define ATC_ECVERSION_0_VAL_DEFAULT 0
|
||||
|
||||
/* AT+ECGMDATA */
|
||||
#define ATC_ECGMDATA_MAX_PARM_STR_LEN 2048
|
||||
#define ATC_ECGMDATA_MAX_PARM_STR_DEFAULT NULL
|
||||
|
||||
CmsRetId pdECRFTEST(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdECSLEEP(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdECSAVEFAC(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdECIPR(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdNPICFG(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdECRFSTAT(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdECPRODMODE(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdECATE(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdECGMDATA(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId pdECVERSION(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
#endif
|
||||
|
||||
/* END OF FILE */
|
||||
@@ -0,0 +1,87 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_http.h
|
||||
*
|
||||
* Description:
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef _ATEC_SSL_H
|
||||
#define _ATEC_SSL_H
|
||||
|
||||
#include "at_util.h"
|
||||
#include "at_ssl_task.h"
|
||||
|
||||
#define SSL_MAX_RSP_LEN 512
|
||||
/* AT+SSLCFG */
|
||||
#define SSLCFG_CONTEXTID_MIN 0
|
||||
#define SSLCFG_CONTEXTID_MAX 5
|
||||
#define SSLCFG_CONTEXTID_DEF 0
|
||||
#define SSLCFG_VERSION_MIN 0
|
||||
#define SSLCFG_VERSION_MAX 4
|
||||
#define SSLCFG_VERSION_DEF 4
|
||||
#define SSLCFG_CIPHSUIT_MAX_SIZE 7
|
||||
#define SSLCFG_CIPHSUIT_DEF 0xFFFF
|
||||
#define SSLCFG_DTLS_MIN 0
|
||||
#define SSLCFG_DTLS_MAX 1
|
||||
#define SSLCFG_DTLS_DEF 0
|
||||
#define SSLCFG_SECLEVEL_MIN 0
|
||||
#define SSLCFG_SECLEVEL_MAX 2
|
||||
#define SSLCFG_SECLEVEL_DEF 0
|
||||
#define SSLCFG_NEGOTIME_MIN 10
|
||||
#define SSLCFG_NEGOTIME_MAX 300
|
||||
#define SSLCFG_NEGOTIME_DEF 300
|
||||
#define SSLCFG_DTLSVER_MIN 0
|
||||
#define SSLCFG_DTLSVER_MAX 1
|
||||
#define SSLCFG_DTLSVER_DEF 0
|
||||
#define SSLCFG_CACHE_MIN 0
|
||||
#define SSLCFG_CACHE_MAX 1
|
||||
#define SSLCFG_CACHE_DEF 1
|
||||
#define SSLCFG_SNI_MIN 0
|
||||
#define SSLCFG_SNI_MAX 1
|
||||
#define SSLCFG_SNI_DEF 0
|
||||
#define SSLCFG_IGNORE_MIN 0
|
||||
#define SSLCFG_IGNORE_MAX 1
|
||||
#define SSLCFG_IGNORE_DEF 1
|
||||
|
||||
/* AT+SSLOPEN */
|
||||
#define SSLOPEN_PDPCXTID_MIN 1
|
||||
#define SSLOPEN_PDPCXTID_MAX 15
|
||||
#define SSLOPEN_PDPCXTID_DEF 0
|
||||
#define SSLOPEN_SSLCXTID_MIN 0
|
||||
#define SSLOPEN_SSLCXTID_MAX 5
|
||||
#define SSLOPEN_SSLCXTID_DEF 0
|
||||
#define SSLOPEN_CLIENTID_MIN 0
|
||||
#define SSLOPEN_CLIENTID_MAX MAX_SSL_CLIENT_INSTANCE-1
|
||||
#define SSLOPEN_CLIENTID_DEF 0
|
||||
#define SSLOPEN_URL_MAX_LEN SSL_URL_MAX_LEN
|
||||
#define SSLOPEN_PORT_MIN 0
|
||||
#define SSLOPEN_PORT_MAX 0xFFFF
|
||||
#define SSLOPEN_PORT_DEF 0
|
||||
#define SSLOPEN_ACCESS_MIN 0
|
||||
#define SSLOPEN_ACCESS_MAX 1
|
||||
#define SSLOPEN_ACCESS_DEF 0
|
||||
/* AT+SSLSEND */
|
||||
#define SSLOPEN_SENDLEN_MIN 1
|
||||
#define SSLOPEN_SENDLEN_MAX 1460
|
||||
#define SSLOPEN_SENDLEN_DEF 1
|
||||
|
||||
CmsRetId sslInputSendData(uint8_t chanId, uint8_t *pData, uint16_t dataLength);
|
||||
void sslSendCancel(void);
|
||||
|
||||
CmsRetId sslCFG(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId sslOPEN(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId sslSEND(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId sslCLOSE(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId sslSTATE(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,514 @@
|
||||
/******************************************************************************
|
||||
* (C) Copyright 2018 AirM2M International Ltd.
|
||||
* All Rights Reserved
|
||||
*******************************************************************************
|
||||
* Filename: atec_tcpip.h
|
||||
*
|
||||
* Description:
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef _ATEC_TCPIP_H
|
||||
#define _ATEC_TCPIP_H
|
||||
|
||||
#include "at_util.h"
|
||||
|
||||
|
||||
|
||||
/* AT+SKTCREATE */
|
||||
#define SKTCREATE_0_MIN 1
|
||||
#define SKTCREATE_0_MAX 2
|
||||
#define SKTCREATE_0_DEF 1
|
||||
#define SKTCREATE_1_MIN 1
|
||||
#define SKTCREATE_1_MAX 3
|
||||
#define SKTCREATE_1_DEF 1
|
||||
#define SKTCREATE_2_MIN 0
|
||||
#define SKTCREATE_2_MAX 0xff
|
||||
#define SKTCREATE_2_DEF 0
|
||||
|
||||
/* AT+SKTSEND */
|
||||
#define SKTSEND_0_MIN AT_SOC_FD_MIN
|
||||
#define SKTSEND_0_MAX AT_SOC_FD_MAX
|
||||
#define SKTSEND_0_DEF AT_SOC_FD_DEF
|
||||
#define SKTSEND_1_MIN 1
|
||||
#define SKTSEND_1_MAX SUPPORT_MAX_SOCKET_RAW_DATA_LENGTH
|
||||
#define SKTSEND_1_DEF 1
|
||||
#define SKTSEND_2_STR_MAX_LEN 6
|
||||
#define SKTSEND_2_STR_DEF NULL
|
||||
#define SKTSEND_3_MIN 0
|
||||
#define SKTSEND_3_MAX 2
|
||||
#define SKTSEND_3_DEF 0
|
||||
#define SKTSEND_4_MIN 0
|
||||
#define SKTSEND_4_MAX 1
|
||||
#define SKTSEND_4_DEF 0
|
||||
|
||||
#define SKTSENDT_0_MIN AT_SOC_FD_MIN
|
||||
#define SKTSENDT_0_MAX AT_SOC_FD_MAX
|
||||
#define SKTSENDT_0_DEF AT_SOC_FD_DEF
|
||||
#define SKTSENDT_1_MIN 1
|
||||
#define SKTSENDT_1_MAX SUPPORT_MAX_SOCKET_RAW_DATA_LENGTH
|
||||
#define SKTSENDT_1_DEF -1
|
||||
#define SKTSENDT_2_MIN 0
|
||||
#define SKTSENDT_2_MAX 2
|
||||
#define SKTSENDT_2_DEF 0
|
||||
#define SKTSENDT_3_MIN 0
|
||||
#define SKTSENDT_3_MAX 1
|
||||
#define SKTSENDT_3_DEF 0
|
||||
|
||||
/* AT+SKTCONNECT */
|
||||
#define SKTCONNECT_0_SEQ_MIN AT_SOC_FD_MIN
|
||||
#define SKTCONNECT_0_SEQ_MAX AT_SOC_FD_MAX//max socket fd
|
||||
#define SKTCONNECT_0_SEQ_DEF AT_SOC_FD_DEF
|
||||
#define SKTCONNECT_1_ADDR_STR_MAX_LEN AT_SOC_IP_ADDR_STRING_LENGTH_MAX
|
||||
#define SKTCONNECT_1_ADDR_STR_DEF NULL
|
||||
#define SKTCONNECT_2_PORT_MIN AT_SOC_PORT_MIN
|
||||
#define SKTCONNECT_2_PORT_MAX AT_SOC_PORT_MAX
|
||||
#define SKTCONNECT_2_PORT_DEF 0
|
||||
|
||||
/* AT+SKTBIND */
|
||||
#define SKTBIND_0_SEQ_MIN AT_SOC_FD_MIN
|
||||
#define SKTBIND_0_SEQ_MAX AT_SOC_FD_MAX//max socket fd
|
||||
#define SKTBIND_0_SEQ_DEF AT_SOC_FD_DEF
|
||||
#define SKTBIND_1_ADDR_STR_MAX_LEN AT_SOC_IP_ADDR_STRING_LENGTH_MAX
|
||||
#define SKTBIND_1_ADDR_STR_DEF NULL
|
||||
#define SKTBIND_2_PORT_MIN 0
|
||||
#define SKTBIND_2_PORT_MAX AT_SOC_PORT_MAX
|
||||
#define SKTBIND_2_PORT_DEF 0
|
||||
|
||||
/* AT+SKTSTATUS */
|
||||
#define SKTSTATUS_0_SEQ_MIN AT_SOC_FD_MIN
|
||||
#define SKTSTATUS_0_SEQ_MAX AT_SOC_FD_MAX//max socket fd
|
||||
#define SKTSTATUS_0_SEQ_DEF 0
|
||||
|
||||
/* AT+SKTDELETE */
|
||||
#define SKTDELETE_0_SEQ_MIN AT_SOC_FD_MIN
|
||||
#define SKTDELETE_0_SEQ_MAX AT_SOC_FD_MAX//max socket fd
|
||||
#define SKTDELETE_0_SEQ_DEF AT_SOC_FD_DEF
|
||||
|
||||
#define MAX_URL_IPADDR_LEN 255
|
||||
|
||||
|
||||
/*AT+ECSNTP*/
|
||||
#define SNTP_0_STR_MAX_LEN MAX_URL_IPADDR_LEN
|
||||
#define SNTP_0_STR_DEF NULL
|
||||
#define SNTP_DEC_1_MIN 0
|
||||
#define SNTP_DEC_1_MAX AT_SOC_PORT_MAX
|
||||
#define SNTP_DEC_1_DEF 0
|
||||
#define SNTP_DEC_2_MIN 0
|
||||
#define SNTP_DEC_2_MAX 1
|
||||
#define SNTP_DEC_2_DEF 0
|
||||
|
||||
/* AT+ECPING */
|
||||
#define PING_DEC_0_MIN 0
|
||||
#define PING_DEC_0_MAX 0
|
||||
#define PING_DEC_0_DEF 0
|
||||
#define PING_0_STR_MAX_LEN MAX_URL_IPADDR_LEN
|
||||
#define PING_0_STR_DEF NULL
|
||||
#define PING_1_COUNT_MIN 1
|
||||
#define PING_1_COUNT_MAX 255
|
||||
#define PING_1_COUNT_DEF 4
|
||||
#define PING_2_PAYLOAD_MIN 1
|
||||
#define PING_2_PAYLOAD_MAX 1500
|
||||
#define PING_2_PAYLOAD_DEF 32
|
||||
#define PING_3_TIMEOUT_MIN 1
|
||||
#define PING_3_TIMEOUT_MAX 10*60*1000
|
||||
#define PING_3_TIMEOUT_DEF 20000
|
||||
#define PING_4_RAI_FLAG_MIN 0
|
||||
#define PING_4_RAI_FLAG_MAX 1
|
||||
#define PING_4_RAI_FLAG_DEF 0
|
||||
|
||||
|
||||
/* AT+CMDNS */
|
||||
#define CMDNS_0_STR_MAX_LEN MAX_URL_IPADDR_LEN
|
||||
#define CMDNS_0_STR_DEF NULL
|
||||
|
||||
/* AT+ECIPERF */
|
||||
#define ECIPERF_0_ACT_MIN 0
|
||||
#define ECIPERF_0_ACT_MAX 5
|
||||
#define ECIPERF_0_ACT_DEF 0
|
||||
|
||||
#define ECIPERF_1_PROTO_MIN 0 //UDP
|
||||
#define ECIPERF_1_PROTO_MAX 1 //TCP
|
||||
#define ECIPERF_1_PROTO_DEF 0 //UDP
|
||||
|
||||
#define ECIPERF_2_PORT_MIN AT_SOC_PORT_MIN
|
||||
#define ECIPERF_2_PORT_MAX AT_SOC_PORT_MAX
|
||||
#define ECIPERF_2_PORT_DEF 5001
|
||||
|
||||
#define ECIPERF_3_STR_MAX_LEN 64
|
||||
#define ECIPERF_3_STR_DEF NULL
|
||||
|
||||
#define ECIPERF_4_TPT_MIN 1
|
||||
#define ECIPERF_4_TPT_MAX 12000000 //12M bps
|
||||
#define ECIPERF_4_TPT_DEF 20000 //20kbps
|
||||
|
||||
#define ECIPERF_5_PAYLOAD_MIN 36
|
||||
#define ECIPERF_5_PAYLOAD_MAX 1472
|
||||
#define ECIPERF_5_PAYLOAD_DEF 940
|
||||
|
||||
#define ECIPERF_6_PKG_NUM_MIN 1
|
||||
#define ECIPERF_6_PKG_NUM_MAX 65000
|
||||
#define ECIPERF_6_PKG_NUM_DEF 0
|
||||
|
||||
#define ECIPERF_7_DURATION_MIN 1
|
||||
#define ECIPERF_7_DURATION_MAX 65000
|
||||
#define ECIPERF_7_DURATION_DEF 65000
|
||||
|
||||
#define ECIPERF_8_RPT_INTERVAL_MIN 1
|
||||
#define ECIPERF_8_RPT_INTERVAL_MAX 65000
|
||||
#define ECIPERF_8_RPT_INTERVAL_DEF 10
|
||||
|
||||
/* AT+ECDNSCFG */
|
||||
#define ECDNSCFG_DNS_NUM 4
|
||||
|
||||
#define ECDNSCFG_DNS_STR_MAX_LEN 64
|
||||
#define ECDNSCFG_DNS_STR_DEF PNULL
|
||||
#define ATEC_ECDNSCFG_GET_CNF_STR_LEN 256
|
||||
#define ATEC_ECDNSCFG_GET_CNF_TMP_STR_LEN 50
|
||||
|
||||
/* AT+ECNETCFG */
|
||||
#define ECNETCFG_0_MAX_PARM_STR_LEN 32
|
||||
#define ECNETCFG_0_MAX_PARM_STR_DEFAULT NULL
|
||||
#define ECNETCFG_1_PPP_AUTH_SELECT_MIN 0
|
||||
#define ECNETCFG_1_PPP_AUTH_SELECT_MAX 1
|
||||
#define ECNETCFG_1_PPP_AUTH_SELECT_DEF 0
|
||||
#define ECNETCFG_1_NAT_MIN 0
|
||||
#define ECNETCFG_1_NAT_MAX 1
|
||||
#define ECNETCFG_1_NAT_DEF 0
|
||||
#define ECNETCFG_2_HOST_ADDR_STR_MAX_LEN 64
|
||||
#define ECNETCFG_2_HOST_ADDR_STR_DEFAULT NULL
|
||||
|
||||
/* AT+ECNETDEVCTL */
|
||||
#define ECNETDEVCTL_0_OP_MIN 0
|
||||
#define ECNETDEVCTL_0_OP_MAX 3
|
||||
#define ECNETDEVCTL_0_OP_DEF 0
|
||||
#define ECNETDEVCTL_1_CID_MIN 1
|
||||
#define ECNETDEVCTL_1_CID_MAX 15
|
||||
#define ECNETDEVCTL_1_CID_DEF 1
|
||||
#define ECNETDEVCTL_2_URCEN_MIN 0
|
||||
#define ECNETDEVCTL_2_URCEN_MAX 1
|
||||
#define ECNETDEVCTL_2_URCEN_DEF 0
|
||||
|
||||
|
||||
/* AT+ECSOCR*/
|
||||
#define ECSOCR_0_TYPE_STR_MAX_LEN 6
|
||||
#define ECSOCR_0_TYPE_STR_DEF NULL
|
||||
#define ECSOCR_1_PROTOCOL_MIN 6
|
||||
#define ECSOCR_1_PROTOCOL_MAX 17
|
||||
#define ECSOCR_1_PROTOCOL_DEF 17
|
||||
#define ECSOCR_2_LISTEN_PORT_MIN 0
|
||||
#define ECSOCR_2_LISTEN_PORT_MAX AT_SOC_PORT_MAX
|
||||
#define ECSOCR_2_LISTEN_PORT_DEF 0
|
||||
#define ECSOCR_3_RECEIVE_CONTROL_MIN 0
|
||||
#define ECSOCR_3_RECEIVE_CONTROL_MAX 1
|
||||
#define ECSOCR_3_RECEIVE_CONTROL_DEF 1
|
||||
#define ECSOCR_4_AF_TYPE_STR_MAX_LEN 8
|
||||
#define ECSOCR_4_AF_TYPE_STR_DEF NULL
|
||||
#define ECSOCR_5_IP_ADDR_STR_MAX_LEN AT_SOC_IP_ADDR_STRING_LENGTH_MAX
|
||||
#define ECSOCR_5_IP_ADDR_STR_DEF NULL
|
||||
|
||||
/*AT+ECSOST*/
|
||||
#define ECSOST_0_SOCKET_ID_MIN AT_SOC_FD_MIN
|
||||
#define ECSOST_0_SOCKET_ID_MAX AT_SOC_FD_MAX
|
||||
#define ECSOST_0_SOCKET_ID_DEF AT_SOC_FD_DEF
|
||||
#define ECSOST_1_IP_ADDR_STR_MAX_LEN AT_SOC_IP_ADDR_STRING_LENGTH_MAX
|
||||
#define ECSOST_1_IP_ADDR_STR_DEF NULL
|
||||
#define ECSOST_2_REMOTE_PORT_MIN AT_SOC_PORT_MIN
|
||||
#define ECSOST_2_REMOTE_PORT_MAX AT_SOC_PORT_MAX
|
||||
#define ECSOST_2_REMOTE_PORT_DEF 0
|
||||
#define ECSOST_3_LENGTH_MIN AT_SOC_UL_LENGTH_MIN
|
||||
#define ECSOST_3_LENGTH_MAX AT_SOC_UL_LENGTH_MAX
|
||||
#define ECSOST_3_LENGTH_DEF 0
|
||||
#define ECSOST_4_DATA_MAX_LEN AT_SOC_UL_LENGTH_MAX
|
||||
#define ECSOST_4_DATA_DEF NULL
|
||||
#define ECSOST_5_SEQUENCE_MIN AT_SOC_UL_DATA_SEQUENCE_MIN
|
||||
#define ECSOST_5_SEQUENCE_MAX AT_SOC_UL_DATA_SEQUENCE_MAX
|
||||
#define ECSOST_5_SEQUENCE_DEF 0
|
||||
#define ECSOST_6_SEGMENT_ID_MIN AT_SOC_UL_SEGMENT_ID_MIN
|
||||
#define ECSOST_6_SEGMENT_ID_MAX AT_SOC_UL_SEGMENT_ID_MAX
|
||||
#define ECSOST_6_SEGMENT_ID_DEF 0
|
||||
#define ECSOST_7_SEGMENT_NUM_MIN AT_SOC_UL_SEGMENT_NUM_MIN
|
||||
#define ECSOST_7_SEGMENT_NUM_MAX AT_SOC_UL_SEGMENT_NUM_MAX
|
||||
#define ECSOST_7_SEGMENT_NUM_DEF 0
|
||||
|
||||
#define ECSOSTT_0_SOCKET_ID_MIN AT_SOC_FD_MIN
|
||||
#define ECSOSTT_0_SOCKET_ID_MAX AT_SOC_FD_MAX
|
||||
#define ECSOSTT_0_SOCKET_ID_DEF AT_SOC_FD_DEF
|
||||
#define ECSOSTT_1_IP_ADDR_STR_MAX_LEN AT_SOC_IP_ADDR_STRING_LENGTH_MAX
|
||||
#define ECSOSTT_1_IP_ADDR_STR_DEF NULL
|
||||
#define ECSOSTT_2_REMOTE_PORT_MIN AT_SOC_PORT_MIN
|
||||
#define ECSOSTT_2_REMOTE_PORT_MAX AT_SOC_PORT_MAX
|
||||
#define ECSOSTT_2_REMOTE_PORT_DEF 0
|
||||
#define ECSOSTT_3_LENGTH_MIN AT_SOC_UL_LENGTH_MIN
|
||||
#define ECSOSTT_3_LENGTH_MAX AT_SOC_UL_LENGTH_MAX
|
||||
#define ECSOSTT_3_LENGTH_DEF -1
|
||||
#define ECSOSTT_4_SEQUENCE_MIN AT_SOC_UL_DATA_SEQUENCE_MIN
|
||||
#define ECSOSTT_4_SEQUENCE_MAX AT_SOC_UL_DATA_SEQUENCE_MAX
|
||||
#define ECSOSTT_4_SEQUENCE_DEF 0
|
||||
/*AT+ECSOSTF*/
|
||||
#define ECSOSTF_0_SOCKET_ID_MIN AT_SOC_FD_MIN
|
||||
#define ECSOSTF_0_SOCKET_ID_MAX AT_SOC_FD_MAX
|
||||
#define ECSOSTF_0_SOCKET_ID_DEF AT_SOC_FD_DEF
|
||||
#define ECSOSTF_1_IP_ADDR_STR_MAX_LEN AT_SOC_IP_ADDR_STRING_LENGTH_MAX
|
||||
#define ECSOSTF_1_IP_ADDR_STR_DEF NULL
|
||||
#define ECSOSTF_2_REMOTE_PORT_MIN AT_SOC_PORT_MIN
|
||||
#define ECSOSTF_2_REMOTE_PORT_MAX AT_SOC_PORT_MAX
|
||||
#define ECSOSTF_2_REMOTE_PORT_DEF 0
|
||||
#define ECSOSTF_3_FLAG_STR_MAX_LEN 5
|
||||
#define ECSOSTF_3_FLAG_STR_DEF NULL
|
||||
#define ECSOSTF_4_LENGTH_MIN AT_SOC_UL_LENGTH_MIN
|
||||
#define ECSOSTF_4_LENGTH_MAX AT_SOC_UL_LENGTH_MAX
|
||||
#define ECSOSTF_4_LENGTH_DEF 0
|
||||
#define ECSOSTF_5_DATA_MAX_LEN AT_SOC_UL_LENGTH_MAX
|
||||
#define ECSOSTF_5_DATA_DEF NULL
|
||||
#define ECSOSTF_6_SEQUENCE_MIN AT_SOC_UL_DATA_SEQUENCE_MIN
|
||||
#define ECSOSTF_6_SEQUENCE_MAX AT_SOC_UL_DATA_SEQUENCE_MAX
|
||||
#define ECSOSTF_6_SEQUENCE_DEF 0
|
||||
#define ECSOSTF_7_SEGMENT_ID_MIN AT_SOC_UL_SEGMENT_ID_MIN
|
||||
#define ECSOSTF_7_SEGMENT_ID_MAX AT_SOC_UL_SEGMENT_ID_MAX
|
||||
#define ECSOSTF_7_SEGMENT_ID_DEF 0
|
||||
#define ECSOSTF_8_SEGMENT_NUM_MIN AT_SOC_UL_SEGMENT_NUM_MIN
|
||||
#define ECSOSTF_8_SEGMENT_NUM_MAX AT_SOC_UL_SEGMENT_NUM_MAX
|
||||
#define ECSOSTF_8_SEGMENT_NUM_DEF 0
|
||||
#define ECSOSTFT_0_SOCKET_ID_MIN AT_SOC_FD_MIN
|
||||
#define ECSOSTFT_0_SOCKET_ID_MAX AT_SOC_FD_MAX
|
||||
#define ECSOSTFT_0_SOCKET_ID_DEF AT_SOC_FD_DEF
|
||||
#define ECSOSTFT_1_IP_ADDR_STR_MAX_LEN AT_SOC_IP_ADDR_STRING_LENGTH_MAX
|
||||
#define ECSOSTFT_1_IP_ADDR_STR_DEF NULL
|
||||
#define ECSOSTFT_2_REMOTE_PORT_MIN AT_SOC_PORT_MIN
|
||||
#define ECSOSTFT_2_REMOTE_PORT_MAX AT_SOC_PORT_MAX
|
||||
#define ECSOSTFT_2_REMOTE_PORT_DEF 0
|
||||
#define ECSOSTFT_3_FLAG_STR_MAX_LEN 5
|
||||
#define ECSOSTFT_3_FLAG_STR_DEF NULL
|
||||
#define ECSOSTFT_4_LENGTH_MIN AT_SOC_UL_LENGTH_MIN
|
||||
#define ECSOSTFT_4_LENGTH_MAX AT_SOC_UL_LENGTH_MAX
|
||||
#define ECSOSTFT_4_LENGTH_DEF -1
|
||||
#define ECSOSTFT_5_SEQUENCE_MIN AT_SOC_UL_DATA_SEQUENCE_MIN
|
||||
#define ECSOSTFT_5_SEQUENCE_MAX AT_SOC_UL_DATA_SEQUENCE_MAX
|
||||
#define ECSOSTFT_5_SEQUENCE_DEF 0
|
||||
|
||||
/*AT+ECQSOS*/
|
||||
#define ECQSOS_0_SOCKET1_ID_MIN AT_SOC_FD_MIN
|
||||
#define ECQSOS_0_SOCKET1_ID_MAX AT_SOC_FD_MAX
|
||||
#define ECQSOS_0_SOCKET1_ID_DEF AT_SOC_FD_DEF
|
||||
#define ECQSOS_1_SOCKET2_ID_MIN AT_SOC_FD_MIN
|
||||
#define ECQSOS_1_SOCKET2_ID_MAX AT_SOC_FD_MAX
|
||||
#define ECQSOS_1_SOCKET2_ID_DEF AT_SOC_FD_DEF
|
||||
#define ECQSOS_2_SOCKET3_ID_MIN AT_SOC_FD_MIN
|
||||
#define ECQSOS_2_SOCKET3_ID_MAX AT_SOC_FD_MAX
|
||||
#define ECQSOS_2_SOCKET3_ID_DEF AT_SOC_FD_DEF
|
||||
#define ECQSOS_3_SOCKET4_ID_MIN AT_SOC_FD_MIN
|
||||
#define ECQSOS_3_SOCKET4_ID_MAX AT_SOC_FD_MAX
|
||||
#define ECQSOS_3_SOCKET4_ID_DEF AT_SOC_FD_DEF
|
||||
#define ECQSOS_4_SOCKET5_ID_MIN AT_SOC_FD_MIN
|
||||
#define ECQSOS_4_SOCKET5_ID_MAX AT_SOC_FD_MAX
|
||||
#define ECQSOS_4_SOCKET5_ID_DEF AT_SOC_FD_DEF
|
||||
|
||||
/*AT+ECSORF*/
|
||||
#define ECSORF_0_SOCKET_ID_MIN AT_SOC_FD_MIN
|
||||
#define ECSORF_0_SOCKET_ID_MAX AT_SOC_FD_MAX
|
||||
#define ECSORF_0_SOCKET_ID_DEF AT_SOC_FD_DEF
|
||||
#define ECSORF_1_LENGTH_ID_MIN AT_SOC_DL_LENGTH_MIN
|
||||
#define ECSORF_1_LENGTH_ID_MAX AT_SOC_DL_LENGTH_MAX
|
||||
#define ECSORF_1_LENGTH_ID_DEF 0
|
||||
|
||||
/*AT+ECSOCO*/
|
||||
#define ECSOCO_0_SOCKET_ID_MIN AT_SOC_FD_MIN
|
||||
#define ECSOCO_0_SOCKET_ID_MAX AT_SOC_FD_MAX
|
||||
#define ECSOCO_0_SOCKET_ID_DEF AT_SOC_FD_DEF
|
||||
#define ECSOCO_1_IP_ADDR_STR_MAX_LEN AT_SOC_IP_ADDR_STRING_LENGTH_MAX
|
||||
#define ECSOCO_1_IP_ADDR_STR_DEF NULL
|
||||
#define ECSOCO_2_REMOTE_PORT_MIN AT_SOC_PORT_MIN
|
||||
#define ECSOCO_2_REMOTE_PORT_MAX AT_SOC_PORT_MAX
|
||||
#define ECSOCO_2_REMOTE_PORT_DEF 0
|
||||
|
||||
/*AT+ECSOSD*/
|
||||
#define ECSOSD_0_SOCKET_ID_MIN AT_SOC_FD_MIN
|
||||
#define ECSOSD_0_SOCKET_ID_MAX AT_SOC_FD_MAX
|
||||
#define ECSOSD_0_SOCKET_ID_DEF AT_SOC_FD_DEF
|
||||
#define ECSOSD_1_LENGTH_MIN AT_SOC_UL_LENGTH_MIN
|
||||
#define ECSOSD_1_LENGTH_MAX AT_SOC_UL_LENGTH_MAX
|
||||
#define ECSOSD_1_LENGTH_DEF 0
|
||||
#define ECSOSD_2_DATA_MAX_LEN AT_SOC_UL_LENGTH_MAX
|
||||
#define ECSOSD_2_DATA_DEF NULL
|
||||
#define ECSOSD_3_FLAG_STR_MAX_LEN 5
|
||||
#define ECSOSD_3_FLAG_STR_DEF NULL
|
||||
#define ECSOSD_3_FLAG_DEF 0
|
||||
#define ECSOSD_4_SEQUENCE_MIN AT_SOC_UL_DATA_SEQUENCE_MIN
|
||||
#define ECSOSD_4_SEQUENCE_MAX AT_SOC_UL_DATA_SEQUENCE_MAX
|
||||
#define ECSOSD_4_SEQUENCE_DEF 0
|
||||
|
||||
#define ECSOSDT_0_SOCKET_ID_MIN AT_SOC_FD_MIN
|
||||
#define ECSOSDT_0_SOCKET_ID_MAX AT_SOC_FD_MAX
|
||||
#define ECSOSDT_0_SOCKET_ID_DEF AT_SOC_FD_DEF
|
||||
#define ECSOSDT_1_LENGTH_MIN AT_SOC_UL_LENGTH_MIN
|
||||
#define ECSOSDT_1_LENGTH_MAX AT_SOC_UL_LENGTH_MAX
|
||||
#define ECSOSDT_1_LENGTH_DEF -1
|
||||
#define ECSOSDT_2_FLAG_STR_MAX_LEN 5
|
||||
#define ECSOSDT_2_FLAG_STR_DEF NULL
|
||||
#define ECSOSDT_2_FLAG_DEF 0
|
||||
#define ECSOSDT_3_SEQUENCE_MIN AT_SOC_UL_DATA_SEQUENCE_MIN
|
||||
#define ECSOSDT_3_SEQUENCE_MAX AT_SOC_UL_DATA_SEQUENCE_MAX
|
||||
#define ECSOSDT_3_SEQUENCE_DEF 0
|
||||
/*AT+ECSOCL*/
|
||||
#define ECSOCL_0_SOCKET_ID_MIN AT_SOC_FD_MIN
|
||||
#define ECSOCL_0_SOCKET_ID_MAX AT_SOC_FD_MAX
|
||||
#define ECSOCL_0_SOCKET_ID_DEF AT_SOC_FD_DEF
|
||||
|
||||
/*AT+ECSONMI*/
|
||||
#define ECSONMI_0_MODE_MIN AT_SOC_NOTIFY_MODE_MIN
|
||||
#define ECSONMI_0_MODE_MAX AT_SOC_NOTIFY_MODE_MAX
|
||||
#define ECSONMI_0_MODE_DEF AT_SOC_NOTIFY_MODE_IGNORE
|
||||
#define ECSONMI_1_DL_BUFFER_MAX AT_SOC_PUBLIC_DL_BUFFER_MAX
|
||||
#define ECSONMI_1_DL_BUFFER_MIN AT_SOC_PUBLIC_DL_BUFFER_MIN
|
||||
#define ECSONMI_1_DL_BUFFER_DEF AT_SOC_PUBLIC_DL_BUFFER_IGNORE
|
||||
#define ECSONMI_2_DL_PKG_NUM_MAX AT_SOC_PUBLIC_DL_PKG_NUM_MAX
|
||||
#define ECSONMI_2_DL_PKG_NUM_MIN AT_SOC_PUBLIC_DL_PKG_NUM_MIN
|
||||
#define ECSONMI_2_DL_PKG_NUM_DEF AT_SOC_PUBLIC_DL_PKG_NUM_IGNORE
|
||||
|
||||
/*AT+ECSONMIE*/
|
||||
#define ECSONMIE_0_SOCKET_ID_MIN AT_SOC_FD_MIN
|
||||
#define ECSONMIE_0_SOCKET_ID_MAX AT_SOC_FD_MAX
|
||||
#define ECSONMIE_0_SOCKET_ID_DEF AT_SOC_FD_DEF
|
||||
#define ECSONMIE_1_MODE_MIN AT_SOC_NOTIFY_MODE_MIN
|
||||
#define ECSONMIE_1_MODE_MAX AT_SOC_NOTIFY_MODE_PRIVATE_DISABLE
|
||||
#define ECSONMIE_1_MODE_DEF AT_SOC_NOTIFY_MODE_IGNORE
|
||||
#define ECSONMIE_2_DL_BUFFER_MAX AT_SOC_PRIVATE_DL_BUFFER_MAX
|
||||
#define ECSONMIE_2_DL_BUFFER_MIN AT_SOC_PRIVATE_DL_BUFFER_MIN
|
||||
#define ECSONMIE_2_DL_BUFFER_DEF AT_SOC_PRIVATE_DL_BUFFER_IGNORE
|
||||
#define ECSONMIE_3_DL_PKG_NUM_MAX AT_SOC_PRIVATE_DL_PKG_NUM_MAX
|
||||
#define ECSONMIE_3_DL_PKG_NUM_MIN AT_SOC_PRIVATE_DL_PKG_NUM_MIN
|
||||
#define ECSONMIE_3_DL_PKG_NUM_DEF AT_SOC_PRIVATE_DL_PKG_NUM_IGNORE
|
||||
|
||||
#define ECSOSTATUS_0_SOCKET_ID_MIN AT_SOC_FD_MIN
|
||||
#define ECSOSTATUS_0_SOCKET_ID_MAX AT_SOC_FD_MAX
|
||||
#define ECSOSTATUS_0_SOCKET_ID_DEF AT_SOC_FD_DEF
|
||||
#define ECSRVSOCRTCP_0_LISTEN_PORT_MIN 10000 // tcpip port manager limited
|
||||
#define ECSRVSOCRTCP_0_LISTEN_PORT_MAX 10015
|
||||
#define ECSRVSOCRTCP_0_LISTEN_PORT_DEF 10000
|
||||
#define ECSRVSOCRTCP_1_AF_TYPE_STR_MAX_LEN 8
|
||||
#define ECSRVSOCRTCP_1_AF_TYPE_STR_DEF NULL
|
||||
#define ECSRVSOCRTCP_2_IP_ADDR_STR_MAX_LEN AT_SOC_IP_ADDR_STRING_LENGTH_MAX
|
||||
#define ECSRVSOCRTCP_2_IP_ADDR_STR_DEF NULL
|
||||
#define ECSRVSOCLLISTEN_0_SERVER_FD_MIN AT_SOC_FD_MIN
|
||||
#define ECSRVSOCLLISTEN_0_SERVER_FD_MAX AT_SOC_FD_MAX
|
||||
#define ECSRVSOCLLISTEN_0_SERVER_FD_DEF AT_SOC_FD_DEF
|
||||
#define ECSRVSOCLCLIENT_0_SERVER_FD_MIN AT_SOC_FD_MIN
|
||||
#define ECSRVSOCLCLIENT_0_SERVER_FD_MAX AT_SOC_FD_MAX
|
||||
#define ECSRVSOCLCLIENT_0_SERVER_FD_DEF AT_SOC_FD_DEF
|
||||
#define ECSRVSOCLCLIENT_1_CLIENT_FD_MIN AT_SOC_FD_MIN
|
||||
#define ECSRVSOCLCLIENT_1_CLIENT_FD_MAX AT_SOC_FD_MAX
|
||||
#define ECSRVSOCLCLIENT_1_CLIENT_FD_DEF AT_SOC_FD_ALL
|
||||
#define ECCRVSOTCPSENDCLT_0_MIN AT_SOC_FD_MIN
|
||||
#define ECCRVSOTCPSENDCLT_0_MAX AT_SOC_FD_MAX
|
||||
#define ECCRVSOTCPSENDCLT_0_DEF AT_SOC_FD_DEF
|
||||
#define ECCRVSOTCPSENDCLT_1_MIN 1
|
||||
#define ECCRVSOTCPSENDCLT_1_MAX SUPPORT_MAX_SOCKET_RAW_DATA_LENGTH
|
||||
#define ECCRVSOTCPSENDCLT_1_DEF 1
|
||||
#define ECCRVSOTCPSENDCLT_2_STR_MAX_LEN 6
|
||||
#define ECCRVSOTCPSENDCLT_2_STR_DEF NULL
|
||||
#define ECCRVSOTCPSENDCLT_3_MIN 0
|
||||
#define ECCRVSOTCPSENDCLT_3_MAX 2
|
||||
#define ECCRVSOTCPSENDCLT_3_DEF 0
|
||||
#define ECCRVSOTCPSENDCLT_4_MIN 0
|
||||
#define ECCRVSOTCPSENDCLT_4_MAX 1
|
||||
#define ECCRVSOTCPSENDCLT_4_DEF 0
|
||||
#define ECSRVSOTCPLISTENSTATUS_0_SERVER_FD_MIN AT_SOC_FD_MIN
|
||||
#define ECSRVSOTCPLISTENSTATUS_0_SERVER_FD_MAX AT_SOC_FD_MAX
|
||||
#define ECSRVSOTCPLISTENSTATUS_0_SERVER_FD_DEF AT_SOC_FD_DEF
|
||||
#define ECCRVSOTCPSENDCLTT_0_MIN AT_SOC_FD_MIN
|
||||
#define ECCRVSOTCPSENDCLTT_0_MAX AT_SOC_FD_MAX
|
||||
#define ECCRVSOTCPSENDCLTT_0_DEF AT_SOC_FD_DEF
|
||||
#define ECCRVSOTCPSENDCLTT_1_MIN 1
|
||||
#define ECCRVSOTCPSENDCLTT_1_MAX SUPPORT_MAX_SOCKET_RAW_DATA_LENGTH
|
||||
#define ECCRVSOTCPSENDCLTT_1_DEF -1
|
||||
#define ECCRVSOTCPSENDCLTT_2_MIN 0
|
||||
#define ECCRVSOTCPSENDCLTT_2_MAX 2
|
||||
#define ECCRVSOTCPSENDCLTT_2_DEF 0
|
||||
#define ECCRVSOTCPSENDCLTT_3_MIN 0
|
||||
#define ECCRVSOTCPSENDCLTT_3_MAX 1
|
||||
#define ECCRVSOTCPSENDCLTT_3_DEF 0
|
||||
|
||||
#define ECSOCR_NAME "+ECSOCR"
|
||||
#define ECSOST_NAME "+ECSOST"
|
||||
#define ECSOSTT_NAME "+ECSOSTT"
|
||||
#define ECSOSTF_NAME "+ECSOSTF"
|
||||
#define ECSOSTFT_NAME "+ECSOSTFT"
|
||||
#define ECQSOS_NAME "+ECQSOS"
|
||||
#define ECSORF_NAME "+ECSORF"
|
||||
#define ECSOCO_NAME "+ECSOCO"
|
||||
#define ECSOSD_NAME "+ECSOSD"
|
||||
#define ECSOSDT_NAME "+ECSOSDT"
|
||||
#define ECSOCL_NAME "+ECSOCL"
|
||||
#define ECSONMI_NAME "+ECSONMI"
|
||||
#define ECSONMIE_NAME "+ECSONMIE"
|
||||
#define ECSOSTATUS_NAME "+ECSOSTATUS"
|
||||
#define ECSOCLI_NAME "+ECSOCLI"
|
||||
#define ECSOSTR_NAME "+ECSOSTR"
|
||||
#define ECQSOSR_NAME "+ECQSOSR"
|
||||
|
||||
//#else
|
||||
#if 0
|
||||
#define ECSOCR_NAME "+NSOCR"
|
||||
#define ECSOST_NAME "+NSOST"
|
||||
#define ECSOSTT_NAME "+NSOSTT"
|
||||
#define ECSOSTF_NAME "+NSOSTF"
|
||||
#define ECSOSTFT_NAME "+NSOSTFT"
|
||||
#define ECQSOS_NAME "+NQSOS"
|
||||
#define ECSORF_NAME "+NSORF"
|
||||
#define ECSOCO_NAME "+NSOCO"
|
||||
#define ECSOSD_NAME "+NSOSD"
|
||||
#define ECSOSDT_NAME "+NSOSDT"
|
||||
#define ECSOCL_NAME "+NSOCL"
|
||||
#define ECSONMI_NAME "+NSONMI"
|
||||
#define ECSONMIE_NAME "+NSONMIE"
|
||||
#define ECSOSTATUS_NAME "+NSOSTATUS"
|
||||
#define ECSOCLI_NAME "+NSOCLI"
|
||||
#define ECSOSTR_NAME "+NSOSTR"
|
||||
#define ECQSOSR_NAME "+NQSOSR"
|
||||
#endif
|
||||
CmsRetId nmSNTP(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmPING(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmECDNS(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmECIPERF(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmSKTCREATE(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmSKTSEND(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmSKTSENDT(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmSKTSTATUS(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmSKTCONNECT(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmSKTBIND(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmSKTDELETE(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
CmsRetId nmECSOCR(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmECSOST(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmECSOSTT(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmECSOSTF(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmECSOSTFT(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmECQSOS(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmECSORF(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmECSOCO(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmECSOSD(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmECSOSDT(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmECSOCL(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmECSONMI(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmECSONMIE(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
CmsRetId nmECSOSTATUS(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmECDNSCFG(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
CmsRetId nmECSRVSOCRTCP(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmECSRVSOCLLISTEN(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmECSRVSOCLCLIENT(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmECSRVSOTCPSENDCLT(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmECSRVSOTCPLISTENSTATUS(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmECSRVSOTCPSENDCLTT(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmSocketInputData(UINT8 chanId, UINT8 *pInput, UINT16 length);
|
||||
void nmSocketFreeSendInfo(void);
|
||||
CmsRetId nmECNETCFG(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmECNETDEVCTL(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename:
|
||||
*
|
||||
* Description:
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef __ATEC_ADC_CNF_IND_H__
|
||||
#define __ATEC_ADC_CNF_IND_H__
|
||||
|
||||
#include "at_util.h"
|
||||
|
||||
CmsRetId ecAdcCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
void atApplAdcProcCmsCnf(CmsApplCnf *pCmsCnf);
|
||||
|
||||
#endif
|
||||
|
||||
/* END OF FILE */
|
||||
@@ -0,0 +1,37 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_dm.h
|
||||
*
|
||||
* Description: Device manager
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef __ATEC_ALARM_H__
|
||||
#define __ATEC_ALARM_H__
|
||||
|
||||
#include "at_util.h"
|
||||
|
||||
|
||||
typedef enum applAlarmPrimId_Enum
|
||||
{
|
||||
APPL_ALARM_PRIM_ID_BASE = 0,
|
||||
|
||||
APPL_ALARM_VOLT_IND,
|
||||
APPL_ALARM_THERM_IND,
|
||||
APPL_ALARM_PRIM_ID_END = 0xFF
|
||||
}applAlarmPrimId;
|
||||
|
||||
|
||||
void atApplAlarmProcCmsInd(CmsApplInd *pCmsInd);
|
||||
|
||||
#endif
|
||||
|
||||
/* END OF FILE */
|
||||
@@ -0,0 +1,26 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_ctwing_cnf_ind.h
|
||||
*
|
||||
* Description: Process ctwing related AT commands
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef _ATEC_CTWING_CNF_IND_H_
|
||||
#define _ATEC_CTWING_CNF_IND_H_
|
||||
|
||||
#include "at_util.h"
|
||||
|
||||
void atApplCtwProcCmsCnf(CmsApplCnf *pCmsCnf);
|
||||
void atApplCtwProcCmsInd(CmsApplInd *pCmsInd);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename:
|
||||
*
|
||||
* Description:
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef __ATEC_DM_CNF_IND_H__
|
||||
#define __ATEC_DM_CNF_IND_H__
|
||||
|
||||
#include "at_util.h"
|
||||
|
||||
CmsRetId dmCtccRecvInd(UINT16 reqhandle, void *paras);
|
||||
CmsRetId dmCuccRecvInd(UINT16 reqhandle, void *paras);
|
||||
CmsRetId dmCmccRecvInd(UINT16 reqhandle, void *paras);
|
||||
|
||||
void atApplDmProcCmsInd(CmsApplInd *pCmsInd);
|
||||
|
||||
#endif
|
||||
|
||||
/* END OF FILE */
|
||||
@@ -0,0 +1,34 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename:
|
||||
*
|
||||
* Description:
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef __ATEC_EXAMPLE_CNF_IND_H__
|
||||
#define __ATEC_EXAMPLE_CNF_IND_H__
|
||||
|
||||
#include "at_util.h"
|
||||
|
||||
|
||||
CmsRetId ecTestbCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId ecTestcCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
|
||||
CmsRetId ecTestcInd(UINT16 indHandle, void *paras);
|
||||
|
||||
void atApplExampleProcCmsCnf(CmsApplCnf *pCmsCnf);
|
||||
void atApplExampleProcCmsInd(CmsApplInd *pCmsInd);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
/* END OF FILE */
|
||||
@@ -0,0 +1,42 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename:
|
||||
*
|
||||
* Description:
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef __ATEC_FILE_CNF_IND_H__
|
||||
#define __ATEC_FILE_CNF_IND_H__
|
||||
|
||||
#include "at_util.h"
|
||||
|
||||
CmsRetId fileOpenCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId fileReadCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId fileWriteCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId fileSeekCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId filePositionCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId fileTucatCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId fileCloseCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId fileRenameCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId fileEraseCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId fileDeleteCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId fileMsLdsCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId fileMsLstCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId fileMsDelCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId fileMsUplCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId fileMsDwlCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
|
||||
void atApplFileProcCmsCnf(CmsApplCnf *pCmsCnf);
|
||||
|
||||
#endif
|
||||
|
||||
/* END OF FILE */
|
||||
@@ -0,0 +1,26 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename:atec_fwupd_cnf_ind.h
|
||||
*
|
||||
* Description:
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef __ATEC_FWUPD_CNF_IND_H__
|
||||
#define __ATEC_FWUPD_CNF_IND_H__
|
||||
|
||||
#include "at_util.h"
|
||||
|
||||
void atApplFwupdProcCmsCnf(CmsApplCnf *pCmsCnf);
|
||||
|
||||
#endif
|
||||
|
||||
/* END OF FILE */
|
||||
@@ -0,0 +1,30 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_http_cnf_ind.h
|
||||
*
|
||||
* Description: Process http(s) client related AT commands
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef _ATEC_HTTP_CNF_IND_H_
|
||||
#define _ATEC_HTTP_CNF_IND_H_
|
||||
|
||||
#include "at_util.h"
|
||||
|
||||
//CmsRetId httpSendCnf(uint16_t reqHandle, uint16_t rc, void *paras);
|
||||
//CmsRetId httpReadCnf(uint16_t reqHandle, uint16_t rc, void *paras);
|
||||
//CmsRetId httpCloseCnf(uint16_t reqHandle, uint16_t rc, void *paras);
|
||||
|
||||
void atApplHttpProcCmsCnf(CmsApplCnf *pCmsCnf);
|
||||
void atApplHttpProcCmsInd(CmsApplInd *pCmsInd);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_mqtt_cnf_ind.h
|
||||
*
|
||||
* Description: Process MQTT related AT commands
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef _ATEC_MQTT_CNF_IND_H
|
||||
#define _ATEC_MQTT_CNF_IND_H
|
||||
|
||||
#include "at_util.h"
|
||||
#include "atec_mqtt.h"
|
||||
|
||||
CmsRetId mqttOpenInd(UINT16 indHandle, void *paras);
|
||||
CmsRetId mqttCloseInd(UINT16 indHandle, void *paras);
|
||||
CmsRetId mqttConnInd(UINT16 indHandle, void *paras);
|
||||
CmsRetId mqttDiscInd(UINT16 indHandle, void *paras);
|
||||
CmsRetId mqttSubInd(UINT16 indHandle, void *paras);
|
||||
CmsRetId mqttUnSubInd(UINT16 indHandle, void *paras);
|
||||
CmsRetId mqttPubInd(UINT16 indHandle, void *paras);
|
||||
|
||||
CmsRetId mqttStatInd(UINT16 indHandle, void *paras);
|
||||
CmsRetId mqttRecvInd(UINT16 indHandle, void *paras);
|
||||
|
||||
void atApplMqttProcCmsCnf(CmsApplCnf *pCmsCnf);
|
||||
void atApplMqttProcCmsInd(CmsApplInd *pCmsInd);
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_ssl_cnf_ind.h
|
||||
*
|
||||
* Description: Process ssl client related AT commands
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef _ATEC_SSL_CNF_IND_H_
|
||||
#define _ATEC_SSL_CNF_IND_H_
|
||||
|
||||
#include "at_util.h"
|
||||
|
||||
CmsRetId sslOpenCnf(uint16_t reqHandle, uint16_t rc, void *paras);
|
||||
CmsRetId httpReadCnf(uint16_t reqHandle, uint16_t rc, void *paras);
|
||||
CmsRetId httpCloseCnf(uint16_t reqHandle, uint16_t rc, void *paras);
|
||||
|
||||
void atApplSslProcCmsCnf(CmsApplCnf *pCmsCnf);
|
||||
void atApplSslProcCmsInd(CmsApplInd *pCmsInd);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_tcpip_cnf_ind.h
|
||||
*
|
||||
* Description: Process TCP/IP service related AT commands
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef _ATEC_TCPIP_CNF_IND_API_H
|
||||
#define _ATEC_TCPIP_CNF_IND_API_H
|
||||
|
||||
#include "at_util.h"
|
||||
|
||||
void atTcpIpProcNmApplCnf(CmsApplCnf *pApplCnf);
|
||||
void atTcpIpProcNmApplInd(CmsApplInd *pApplInd);
|
||||
|
||||
void atTcpIpProcSktApplCnf(CmsApplCnf *pApplCnf);
|
||||
void atTcpIpProcSktApplInd(CmsApplInd *pApplInd);
|
||||
|
||||
void atTcpIpProcSocApplCnf(CmsApplCnf *pApplCnf);
|
||||
void atTcpIpProcSocApplInd(CmsApplInd *pApplInd);
|
||||
|
||||
void atTcpIpProcSrvSocApplCnf(CmsApplCnf *pApplCnf);
|
||||
void atTcpIpProcSrvSocApplInd(CmsApplInd *pApplInd);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
at_cust_dev.c includes AT commands which may modifed by customer e.g. CGMR(set customer own version info)
|
||||
|
||||
at_product.c includes AT commands for prodcution
|
||||
|
||||
at_plat_dev.c in1udes AT commands defined by AirM2M for debug and misc purpose
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,41 @@
|
||||
#ifndef _AT_ADC_TASK_
|
||||
#define _AT_ADC_TASK_
|
||||
#include "FreeRTOS.h"
|
||||
#include "queue.h"
|
||||
|
||||
#define AT_ADC_TASK_STACK_SIZE (512)
|
||||
#define AT_ADC_MSG_TIMEOUT (1000)
|
||||
#define AT_ADC_GET_RESULT_TIMOUT (2000)
|
||||
#define AT_ADC_MSG_MAX_NUM (2)
|
||||
|
||||
#define AT_ADC_REQ_BITMAP_TEMP (0x1)
|
||||
#define AT_ADC_REQ_BITMAP_VBAT (0x2)
|
||||
|
||||
typedef enum applAdcPrimId_Enum
|
||||
{
|
||||
APPL_ADC_PRIM_ID_BASE = 0,
|
||||
|
||||
APPL_ADC_REQ,
|
||||
APPL_ADC_CNF,
|
||||
|
||||
APPL_ADC_PRIM_ID_END = 0xFF
|
||||
}applAdcPrimId;
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint32_t reqhandle;
|
||||
uint32_t request;
|
||||
}adcReqMsg;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint32_t ack;
|
||||
uint32_t data[2];
|
||||
}adcCnfMsg;
|
||||
|
||||
|
||||
int32_t adcSendMsg(uint32_t atHandle, QueueHandle_t msgHandle, uint32_t req);
|
||||
int32_t atAdcTaskInit(void);
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,254 @@
|
||||
/******************************************************************************
|
||||
* (C) Copyright 2018 AirM2M International Ltd.
|
||||
* All Rights Reserved
|
||||
*******************************************************************************
|
||||
* Filename: at_api.h
|
||||
*
|
||||
* Description: AT CMD entity/task (in CMS task) api
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes: All other tasks if need to use AT CMD functions, should ONLY include this header file
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef __AT_API_H__
|
||||
#define __AT_API_H__
|
||||
|
||||
#include "cms_api.h"
|
||||
#include "at_def.h"
|
||||
|
||||
/******************************************************************************
|
||||
*****************************************************************************
|
||||
* EXTERNAL COMMON MARCO
|
||||
*****************************************************************************
|
||||
******************************************************************************/
|
||||
#define AT_CHAN_NAME_SIZE 8
|
||||
#define AT_UART_PRINT_MAX 256
|
||||
|
||||
|
||||
#define UARTAT_CHAN_NAME "UARTAT"
|
||||
#define UARTAT_CHAN_NAME_LEN 6
|
||||
|
||||
#define USBAT_CHAN_NAME "USBAT"
|
||||
#define USBAT_CHAN_NAME_LEN 5
|
||||
|
||||
#define USBPPP_CHAN_NAME "USBPP"
|
||||
#define USBPPP_CHAN_NAME_LEN 5
|
||||
|
||||
/*
|
||||
* DEFAULT AT CHANNEL NAME, if registered, assign the fixed chanID: AT_CHAN_DEFAULT
|
||||
* USB AT is set to default channel
|
||||
*/
|
||||
#define AT_DEFAULT_CHAN_NAME USBAT_CHAN_NAME
|
||||
#define AT_DEFAULT_CHAN_NAME_LEN USBAT_CHAN_NAME_LEN
|
||||
|
||||
|
||||
/*
|
||||
* AT CMD MAC string size
|
||||
*/
|
||||
#define AT_CMD_STR_MAX_LEN 3072
|
||||
|
||||
/*
|
||||
* Return the succ sent length.
|
||||
* 1> if all sent to CCIO Tx task, return: strLen
|
||||
* 2> if failed, return < 0
|
||||
*/
|
||||
typedef INT32 (*AtRespFunctionP)(UINT8 chanId, const CHAR *pStr, UINT32 strLen, void *pArg);
|
||||
typedef INT32 (*AtUrcFunctionP)(UINT8 chanId, const CHAR *pStr, UINT32 strLen);
|
||||
|
||||
/*
|
||||
* AT resp and URC interface, the resp/urc string is carried in "DlPduBlock", and "DlPduBlock" should be freed in caller.
|
||||
* Return the succ sent length.
|
||||
* 1> if all sent to CCIO Tx task, return: DlPduBlock->length
|
||||
* 2> if failed, return < 0
|
||||
*/
|
||||
typedef INT32 (*AtRespPduFunctionP)(UINT8 chanId, DlPduBlock *pPdu, void *pArg);
|
||||
typedef INT32 (*AtUrcPduFunctionP)(UINT8 chanId, DlPduBlock *pPdu);
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
*****************************************************************************
|
||||
* EXTERNAL COMMON STRUCT
|
||||
*****************************************************************************
|
||||
******************************************************************************/
|
||||
|
||||
/*
|
||||
* SigId: SIG_AT_CMD_STR_REQ
|
||||
*/
|
||||
typedef struct AtCmdStrReq_Tag
|
||||
{
|
||||
UINT8 atChanId; //AT channel ID
|
||||
UINT8 rsvd0;
|
||||
|
||||
#if 0 //if AT STRING need to pass a copy in the signal, not suggest
|
||||
UINT16 atStrLen;
|
||||
UINT8 atStr[];
|
||||
#else
|
||||
UINT16 atStrLen;
|
||||
CHAR *pAtStr; //memory allocated in heap by OsaAllocateMemory()
|
||||
#endif
|
||||
}AtCmdStrReq;
|
||||
|
||||
|
||||
/*
|
||||
* SigId: SIG_AT_CMD_DATA_MODE_HS_CNF */
|
||||
typedef struct AtCmdDataModeHSCnf_Tag
|
||||
{
|
||||
UINT8 atChanId; //AT channel ID
|
||||
UINT8 rsvd[3];
|
||||
}AtCmdDataModeHSCnf;
|
||||
|
||||
|
||||
/*
|
||||
*/
|
||||
typedef struct AtChanRegInfo_tag
|
||||
{
|
||||
CHAR chanName[AT_CHAN_NAME_SIZE];
|
||||
|
||||
AtRespFunctionP atRespFunc;
|
||||
void *pRespArg; //passed in atRespFunc(chanId, str, pRespArg), or atRespPduFunc(chanId, pdu, pRespArg);
|
||||
|
||||
AtUrcFunctionP atUrcFunc;
|
||||
|
||||
/*
|
||||
* AT RESP/URC PDU mode, the resp/urc string is carried in "DlPduBlock", and "DlPduBlock" should be freed in caller
|
||||
* 1> "atRespFunc" & "atUrcFunc" is must, and "atRespPduFunc"/"atUrcPduFunc" is optional
|
||||
* 2> "atRespPduFunc"/"atUrcPduFunc" is more efficient, expecially for longer RESP/URC string
|
||||
* 3> "DlPduBlock" should be freed in caller via API: OsaFreeDlPduBlockList()
|
||||
*/
|
||||
AtRespPduFunctionP atRespPduFunc;
|
||||
AtUrcPduFunctionP atUrcPduFunc;
|
||||
}AtChanRegInfo; //28 bytes
|
||||
|
||||
|
||||
/*
|
||||
* SIGID: SIG_AT_CMD_CONTINUE_REQ
|
||||
*/
|
||||
typedef struct AtCmdContinueReq_tag
|
||||
{
|
||||
UINT8 atChanId; //AT channel ID
|
||||
UINT8 rsvd0;
|
||||
UINT16 rsvd1;
|
||||
}AtCmdContinueReq;
|
||||
|
||||
|
||||
/*
|
||||
*/
|
||||
typedef struct AtRilAtCmdReqData_Tag
|
||||
{
|
||||
CHAR *pCmdLine; /* memory alloacted in heap by: OsaAllocateMemory() */
|
||||
|
||||
UINT16 cmdLen;
|
||||
UINT16 rsvd;
|
||||
|
||||
AtRespFunctionP respCallback;
|
||||
void *respData;
|
||||
}AtRilAtCmdReqData; //16 bytes
|
||||
|
||||
/******************************************************************************
|
||||
*****************************************************************************
|
||||
* EXTERNAL API
|
||||
*****************************************************************************
|
||||
******************************************************************************/
|
||||
|
||||
/*
|
||||
* register a AT channel;
|
||||
* 1> if succ, return the "channId" (>=0);
|
||||
* 2> else, return "CmsRetId" (< 0)
|
||||
*/
|
||||
INT32 atRegisterAtChannel(AtChanRegInfo *pAtRegInfo);
|
||||
|
||||
/*
|
||||
* deregister AT channel by AT channel ID
|
||||
*/
|
||||
void atDeRegisterAtChannel(UINT8 atChanId);
|
||||
|
||||
/*
|
||||
* send the AT command to AT CMD task: CMS_TASK_ID
|
||||
*/
|
||||
void atSendAtcmdStrSig(UINT8 atChanId, const UINT8 *pCmdStr, UINT32 len);
|
||||
|
||||
/*
|
||||
* send the DATA MODE Handshake cnf to AT CMD task: CMS_TASK_ID
|
||||
*/
|
||||
void atSendAtcmdDataModeHSCnfSig(UINT8 atChanId);
|
||||
|
||||
/*
|
||||
* at UART print callback
|
||||
*/
|
||||
void atUartPrintCallback(UINT16 paramSize, void *pParam);
|
||||
|
||||
/*
|
||||
* print LOG to AT UART port
|
||||
*/
|
||||
#define atUartPrint(fmt, ...) \
|
||||
do { \
|
||||
CHAR *PSTRUARTPRINT = (CHAR *)OsaAllocMemory(AT_UART_PRINT_MAX); \
|
||||
if (PSTRUARTPRINT == PNULL) \
|
||||
{ \
|
||||
OsaDebugBegin(FALSE, AT_UART_PRINT_MAX, 0, 0); \
|
||||
OsaDebugEnd(); \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
snprintf(PSTRUARTPRINT, AT_UART_PRINT_MAX, fmt, ##__VA_ARGS__); \
|
||||
\
|
||||
cmsNonBlockApiCall(atUartPrintCallback, sizeof(void *), &PSTRUARTPRINT); \
|
||||
} \
|
||||
}while(FALSE)
|
||||
|
||||
|
||||
/*
|
||||
* AT RIL API
|
||||
*/
|
||||
CmsRetId atRilAtCmdReq(const CHAR *pAtCmdLine, UINT32 cmdLen, AtRespFunctionP respCallback, void *respData, UINT32 timeOutMs);
|
||||
|
||||
/*
|
||||
* register AT RIL URC callback
|
||||
*/
|
||||
CmsRetId atRilRegisterUrcCallback(AtUrcFunctionP urcCallback);
|
||||
|
||||
/*
|
||||
* unregister AT RIL URC callback
|
||||
*/
|
||||
CmsRetId atRilDeRegisterUrcCallback(void);
|
||||
|
||||
/*
|
||||
* get dtr (Data Terminal Ready) config: AT&D value
|
||||
* Comment: called by CCIO
|
||||
*/
|
||||
UINT8 atGetDtrCfg(UINT8 atChanId);
|
||||
|
||||
/*
|
||||
* get dcd (Data Carrier Detect) config: AT&C value
|
||||
* Comment: called by CCIO
|
||||
*/
|
||||
UINT8 atGetDcdCfg(UINT8 atChanId);
|
||||
|
||||
/*
|
||||
* get DCD (Data Carrier Detect) state: TRUE - DCD on (low level), FALSE - DCD off (High level)
|
||||
* Comment: called by CCIO
|
||||
*/
|
||||
BOOL atGetDcdState(UINT8 atChanId);
|
||||
|
||||
/*
|
||||
* whether there is an RI type is enablee : TRUE - At least one of the RI Type is not "off", FALSE - All RI Type is "off".
|
||||
* Comment: called by CCIO
|
||||
*/
|
||||
BOOL atIsRITypeEnable(UINT8 atChanId);
|
||||
|
||||
/*
|
||||
* Indicate the RING IND operation is done
|
||||
* Comment: called by CCIO
|
||||
*/
|
||||
void atRingIndDone(UINT8 atChanId);
|
||||
|
||||
/*
|
||||
* notify AT the DTR (Data Terminal Ready) event: on-to-off transition
|
||||
* Comment: called by CCIO
|
||||
*/
|
||||
void atDtrEventInd(UINT8 atChanId);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,92 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: at_http_task.h
|
||||
*
|
||||
* Description: Process http(s) client related AT commands
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef _AT_CTWING_TASK_H_
|
||||
#define _AT_CTWING_TASK_H_
|
||||
|
||||
#include "at_util.h"
|
||||
#include "ctw_tcp.h"
|
||||
|
||||
/*
|
||||
* APPL SGID: APPL_CTW, related PRIM ID
|
||||
*/
|
||||
enum applCtwPrimId_Enum
|
||||
{
|
||||
APPL_CTW_PRIM_ID_BASE = 0,
|
||||
|
||||
APPL_CTW_HTTP_REG_CNF,
|
||||
APPL_CTW_HTTP_SEND_CNF,
|
||||
APPL_CTW_TCP_REG_CNF,
|
||||
APPL_CTW_TCP_SEND_CNF,
|
||||
APPL_CTW_TCP_DEREG_CNF,
|
||||
APPL_CTW_TCP_DL_IND,
|
||||
APPL_CTW_MQTT_REG_CNF,
|
||||
APPL_CTW_MQTT_SEND_CNF,
|
||||
APPL_CTW_MQTT_DL_IND,
|
||||
APPL_CTW_MQTT_FOTA_IND,
|
||||
APPL_CTW_PRIM_ID_END = 0xFF
|
||||
};
|
||||
|
||||
enum CTW_CMD_TYPE
|
||||
{
|
||||
CTW_HTTP_REG_COMMAND,
|
||||
CTW_HTTP_SEND_COMMAND,
|
||||
CTW_TCP_REG_COMMAND,
|
||||
CTW_TCP_SEND_COMMAND,
|
||||
CTW_MQTT_REG_COMMAND,
|
||||
CTW_MQTT_SEND_COMMAND,
|
||||
CTW_MQTT_DEREG_COMMAND,
|
||||
|
||||
};
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint16_t athandle;
|
||||
uint8_t cmd_type;
|
||||
uint8_t Qos;
|
||||
char* topic;
|
||||
char* data;
|
||||
uint16_t datalen;
|
||||
uint16_t ackMode;
|
||||
uint16_t msgId;
|
||||
uint32_t port;
|
||||
uint32_t fotaFlag;
|
||||
} ctwCmdMsg_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint8_t ret;
|
||||
} ctwCnfCmdMsg_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
void *str;
|
||||
} ctwIndMsg_t;
|
||||
|
||||
CmsRetId ctwHttpRegReq(uint16_t athandle);
|
||||
CmsRetId ctwHttpSendReq(uint16_t athandle, char* topic, char* data);
|
||||
CmsRetId ctwTcpRegReq(uint16_t athandle);
|
||||
CmsRetId ctwTcpSendReq(uint16_t athandle, char* data, uint16_t len);
|
||||
uint8_t ctwTcpRegStatus(void);
|
||||
void ctwTcpSetRegStatus(uint8_t status);
|
||||
bool ctwTcpGetRecvTaskOut(void);
|
||||
CmsRetId ctwMqttRegReq(uint16_t athandle);
|
||||
CmsRetId ctwMqttSendReq(uint16_t athandle, uint8_t Qos, char* topic, char* data, uint16_t len);
|
||||
CmsRetId ctwMqttDeregReq(uint16_t athandle);
|
||||
CmsRetId ctwMqttFotaReq(uint16_t athandle, char* uri, uint32_t port);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,160 @@
|
||||
/******************************************************************************
|
||||
* (C) Copyright 2018 AirM2M International Ltd.
|
||||
* All Rights Reserved
|
||||
*******************************************************************************
|
||||
* Filename: at_def.h
|
||||
*
|
||||
* Description: AT common defination
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef __AT_DEF_H__
|
||||
#define __AT_DEF_H__
|
||||
|
||||
#include "cms_def.h"
|
||||
|
||||
/******************************************************************************
|
||||
*****************************************************************************
|
||||
* MARCO
|
||||
*****************************************************************************
|
||||
******************************************************************************/
|
||||
|
||||
/******************************************************************************
|
||||
* SRC HANDLER
|
||||
* 15 12 11 8 7 5 4 0
|
||||
* +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
|
||||
* | R | channel ID | SUB AT ID | TID |
|
||||
* +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
|
||||
* Note:
|
||||
* 1> Channel ID:
|
||||
* Channel ID 0, is reserved for internal.
|
||||
* Channel ID 1, used for AT CMD from UART (default).
|
||||
* 2> SUB AT ID
|
||||
* If several AT CMD correlated with same CMI REQ ID, this "AT ID" is used to distinguish
|
||||
* which AT CMD when CMI CNF comes; so MAX 8 AT CMD could use one same CMI REQ ID
|
||||
* 3> TID: AT Asynchronous Timer index
|
||||
* Used to index AT CMD guard timer
|
||||
******************************************************************************/
|
||||
#define AT_SET_SRC_HANDLER(TID, atId, chanId) CMS_SET_SRC_HANDLER(TID, atId, chanId)
|
||||
#define AT_GET_HANDLER_TID(srcHandler) CMS_GET_HANDLER_TID(srcHandler)
|
||||
#define AT_GET_HANDLER_SUB_ATID(srcHandler) CMS_GET_HANDLER_SUB_ATID(srcHandler)
|
||||
#define AT_GET_HANDLER_CHAN_ID(srcHandler) CMS_GET_HANDLER_CHAN_ID(srcHandler)
|
||||
#define AT_GET_UINT16_HANDLER(srcHandler) CMS_GET_UINT16_HANDLER(srcHandler)
|
||||
#define AT_MAX_ASYN_GUARD_TIMER_TID 31
|
||||
|
||||
|
||||
/*
|
||||
* 1> CMS task OSA timer ID defination:
|
||||
*
|
||||
* 16 bits timerID
|
||||
* 15 12 0
|
||||
* +-------+---------------------+
|
||||
* | modId | timerId in modId |
|
||||
* +-------+---------------------+
|
||||
* MSB 4 bits: use to distinguish which sub-module in CMS task, so MAX 16 sub-modes
|
||||
*
|
||||
* 2> AT timer sub-module ID: CMS_TIMER_AT_SUB_MOD_ID
|
||||
*
|
||||
* 3> AT sub timer ID defination:
|
||||
* 15 12 8 7 4 0
|
||||
* +-------+------+-----+-------+
|
||||
* | 0 | CID | R(0)| TID |
|
||||
* +-------+------+-----+-------+
|
||||
* CID: AT channel ID, 4 bits
|
||||
* R: reserved, 3 bits
|
||||
* TID: AT Asynchronous Timer index, 5 bits
|
||||
*
|
||||
* 4> AT URC delay timer:
|
||||
* 15 12 8 7 5 4 0
|
||||
* +-------+------+-----+-------+
|
||||
* | 0 | CID | 001 | 00000 |
|
||||
* +-------+------+-----+-------+
|
||||
*/
|
||||
#define AT_SET_ASYN_TIMER_ID(chanId, tid) (UINT16)((((CMS_TIMER_AT_SUB_MOD_ID)<<12)&0xF000) | (((chanId)<<8)&0x0F00) | ((tid)&0x1F))
|
||||
#define AT_GET_ASYN_TIMER_CHAN_ID(timerId) (((timerId)>>8)&0x0F)
|
||||
#define AT_GET_ASYN_TIMER_TID(timerId) ((timerId)&0x1F)
|
||||
|
||||
#define AT_SET_URC_DELAY_TIMER_ID(chanId) (UINT16)((((CMS_TIMER_AT_SUB_MOD_ID)<<12)&0xF000) | (((chanId)<<8)&0x0F00) | 0x20)
|
||||
#define AT_IS_URC_DELAY_TIMER(timerId) (((timerId)&0xF0FF) == 0x0020)
|
||||
#define AT_GET_URC_DELAY_TIMER_CHAN_ID(timerId) (((timerId)>>8)&0x0F)
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
* CMI REQ/CNF/IND ID:
|
||||
* 15 11 0
|
||||
* +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|
||||
* | SG ID | PRIM ID |
|
||||
* +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|
||||
*
|
||||
* CMI: CIOT Modem Interface
|
||||
******************************************************************************/
|
||||
#define AT_GET_CMI_SG_ID(reqId) CMS_GET_CMI_SG_ID(reqId)
|
||||
#define AT_GET_CMI_PRIM_ID(reqId) CMS_GET_CMI_PRIM_ID(reqId)
|
||||
#define AT_SET_CMI_REQ_CNF_ID(sgId, primId) CMS_SET_CMI_REQ_CNF_ID(sgId, primId)
|
||||
|
||||
|
||||
/*
|
||||
*/
|
||||
#define ATEC_IND_RESP_1024_STR_LEN 1024 //must using heap for this size
|
||||
#define ATEC_IND_RESP_512_STR_LEN 512 //must using heap for this size
|
||||
#define ATEC_IND_RESP_256_STR_LEN 256
|
||||
#define ATEC_IND_RESP_128_STR_LEN 128
|
||||
#define ATEC_IND_RESP_64_STR_LEN 64
|
||||
#define ATEC_IND_RESP_48_STR_LEN 48
|
||||
#define ATEC_IND_RESP_32_STR_LEN 32
|
||||
|
||||
#define AT_DEC_NUM_STR_MAX_LEN 11 //0xFFFFFFFF="4294967295", len("4294967295") = 10 + 1
|
||||
#define AT_HEX_NUM_STR_MAX_LEN 9 //FFFFFFFF, 8 + 1
|
||||
#define AT_BIN_NUM_STR_MAX_LEN 33 //len("11111111")*4 + 1
|
||||
|
||||
/*
|
||||
* CTRL-Z/ESC ASCI value
|
||||
*/
|
||||
#define AT_ASCI_CTRL_Z 0x1A
|
||||
#define AT_ASCI_ESC 0x1B
|
||||
|
||||
/*
|
||||
* AT CMD buffer size
|
||||
*/
|
||||
#define AT_CMD_BUF_MAX_LEN (1024 * 3)
|
||||
|
||||
|
||||
/*
|
||||
* Number of array
|
||||
*/
|
||||
#define AT_NUM_OF_ARRAY(array) (sizeof(array)/sizeof((array)[0]))
|
||||
|
||||
/*
|
||||
* typedef struct AtCmdPreDefInfo_Tag
|
||||
* {
|
||||
* const CHAR *pName; //AT name
|
||||
*
|
||||
* UINT16 timeOutS; //time out value in seconds
|
||||
* UINT8 cmdType; //AtCmdSyntaxType, basic/extended action command/extended parameter command
|
||||
* UINT8 paramMaxNum; //max parameters number
|
||||
*
|
||||
* const AtValueAttr *pParamList;
|
||||
*
|
||||
* const AtCallbackFunctionP atProcFunc;
|
||||
* }AtCmdPreDefInfo; //16 bytes
|
||||
*/
|
||||
#define AT_CMD_PRE_DEFINE(name, atProcFunc, paramAttrList, cmdType, timeOutS) \
|
||||
{name, (timeOutS), cmdType, (paramAttrList == PNULL ? 0 : (sizeof(paramAttrList)/sizeof(AtValueAttr))), paramAttrList, atProcFunc}
|
||||
|
||||
|
||||
|
||||
#if 0
|
||||
/* number of seconds between 1900 and 1970 (MSB=1)*/
|
||||
#define TIME_SEC_1900_1970 (2208988800UL)
|
||||
/* number of seconds between 1970 and Feb 7, 2036 (6:28:16 UTC) (MSB=0) */
|
||||
#define TIME_SEC_1970_2036 (2085978496UL)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
/******************************************************************************
|
||||
* (C) Copyright 2018 AirM2M International Ltd.
|
||||
* All Rights Reserved
|
||||
*******************************************************************************
|
||||
* Filename: at_entity.h
|
||||
*
|
||||
* Description: Entracne of AT CMD
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
#ifndef __AT_ENTITY_H__
|
||||
#define __AT_ENTITY_H__
|
||||
#include "osasys.h"
|
||||
#include "atc_decoder.h"
|
||||
|
||||
/******************************************************************************
|
||||
*****************************************************************************
|
||||
* MARCO
|
||||
*****************************************************************************
|
||||
******************************************************************************/
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
*****************************************************************************
|
||||
* ENUM
|
||||
*****************************************************************************
|
||||
******************************************************************************/
|
||||
|
||||
/*
|
||||
* AT APP to process the "SIG_CMS_APPL_CNF" signal
|
||||
*/
|
||||
typedef void (*AtProcApplCnfFunc)(CmsApplCnf *pApplCnf);
|
||||
|
||||
typedef struct AtApplCnfFuncTable_Tag
|
||||
{
|
||||
UINT32 appId;
|
||||
AtProcApplCnfFunc applCnfFunc;
|
||||
}AtApplCnfFuncTable;
|
||||
|
||||
/*
|
||||
* AT APP to process the "SIG_CMS_APPL_IND" signal
|
||||
*/
|
||||
typedef void (*AtProcApplIndFunc)(CmsApplInd *pApplInd);
|
||||
|
||||
typedef struct AtApplIndFuncTable_Tag
|
||||
{
|
||||
UINT32 appId;
|
||||
AtProcApplIndFunc applIndFunc;
|
||||
}AtApplIndFuncTable;
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
*****************************************************************************
|
||||
* API
|
||||
*****************************************************************************
|
||||
******************************************************************************/
|
||||
|
||||
/*
|
||||
* process signal
|
||||
*/
|
||||
void atProcSignal(const SignalBuf *pSig);
|
||||
|
||||
/*
|
||||
* AT module init
|
||||
*/
|
||||
void atInit(void);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,102 @@
|
||||
#ifndef _EXAMPLE_TASK_
|
||||
#define _EXAMPLE_TASK_
|
||||
#include "FreeRTOS.h"
|
||||
#include "queue.h"
|
||||
|
||||
#define EG_AT_DEMO_TASK_STACK_SIZE 512
|
||||
#define EG_MSG_TIMEOUT 1000
|
||||
#define EG_MSG_MAX_NUMB 10
|
||||
|
||||
typedef enum AT_EC_RET_TAG
|
||||
{
|
||||
EC_RET_SUCC = 0,
|
||||
EC_RET_FAIL = 1,
|
||||
EC_RET_END,
|
||||
}AT_EC_RET_TYPE;
|
||||
|
||||
typedef enum AT_EC_REQ_TYPE_TAG
|
||||
{
|
||||
// customer cmd param type
|
||||
AT_EC_REQ_TESTA = 1,
|
||||
AT_EC_REQ_TESTB,
|
||||
AT_EC_REQ_TESTC,
|
||||
|
||||
}AT_EG_REQ_TYPE;
|
||||
|
||||
typedef enum AT_EC_CNF_TYPE_TAG
|
||||
{
|
||||
// customer cmd param type
|
||||
AT_EC_CNF_TESTA = 1,
|
||||
AT_EC_CNF_TESTB,
|
||||
AT_EC_CNF_TESTC,
|
||||
|
||||
}AT_EC_CNF_TYPE;
|
||||
|
||||
typedef enum AT_EC_IND_TYPE_TAG
|
||||
{
|
||||
// customer cmd param type
|
||||
AT_EC_IND_TESTA = 1,
|
||||
AT_EC_IND_TESTB,
|
||||
AT_EC_IND_TESTC,
|
||||
|
||||
}AT_EC_IND_TYPE;
|
||||
|
||||
typedef enum applExamplePrimId_Enum
|
||||
{
|
||||
APPL_EXAMPLE_PRIM_ID_BASE = 0,
|
||||
|
||||
APPL_EXAMPLE_ECTESTB_REQ,
|
||||
APPL_EXAMPLE_ECTESTB_CNF,
|
||||
APPL_EXAMPLE_ECTESTB_IND,
|
||||
|
||||
APPL_EXAMPLE_ECTESTC_REQ,
|
||||
APPL_EXAMPLE_ECTESTC_CNF,
|
||||
APPL_EXAMPLE_ECTESTC_IND,
|
||||
|
||||
APPL_EXAMPLE_PRIM_ID_END = 0xFF
|
||||
}applExamplePrimId;
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char data_type;
|
||||
unsigned int data_value;
|
||||
char * data_ptr;
|
||||
int data_len;
|
||||
}EC_SEND_DATA_STRUCT;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int cmd_type;
|
||||
unsigned int reqhandle;
|
||||
EC_SEND_DATA_STRUCT send_data;
|
||||
}EC_SEND_Q_MSG;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int cmd_type;
|
||||
unsigned int data;
|
||||
}EC_CNF_MSG;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int cmd_type;
|
||||
unsigned int data;
|
||||
}EC_IND_MSG;
|
||||
|
||||
int ecFuncTestA(int input);
|
||||
int ecFuncTestB(int input);
|
||||
int ecFuncTestC(int input);
|
||||
|
||||
|
||||
int ecTestaApi(UINT32 atHandle, QueueHandle_t msgHandle, INT32 cmdType, UINT32 data, CHAR *dataPtr);
|
||||
int ecTestbApi(UINT32 atHandle, QueueHandle_t msgHandle, INT32 cmdType, UINT32 data, CHAR *dataPtr);
|
||||
int ecTestcApi(UINT32 atHandle, QueueHandle_t msgHandle, INT32 cmdType, UINT32 data, CHAR *dataPtr);
|
||||
INT32 ecHandleEGErrCode(UINT32 atHandle, UINT16 errCode);
|
||||
void ecExecuteRetAck(UINT16 atHandle, UINT16 ackType, AT_EC_RET_TYPE retCode, UINT8 sgId, UINT16 primId, UINT16 primSize, void *primBody);
|
||||
void ecSendMsg(UINT32 atHandle, QueueHandle_t msgHandle, INT32 cmdType, UINT32 data, CHAR *dataPtr);
|
||||
void ecFreeMsg(const EC_SEND_Q_MSG *ccMsg);
|
||||
|
||||
int custAtDemoTaskInit(void);
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,151 @@
|
||||
#ifndef _AT_FILE_TASK_
|
||||
#define _AT_FILE_TASK_
|
||||
#include "FreeRTOS.h"
|
||||
#include "queue.h"
|
||||
|
||||
#define FILE_SEMPHR_MAX_NUMB 4
|
||||
#define FILE_TASK_STACK_SIZE 1600
|
||||
#define FILE_INFO_MAX_NUMB 16
|
||||
#define FILE_MSG_TIMEOUT 2000
|
||||
#define FILE_TASK_CREATE 1
|
||||
#define FILE_TASK_DELETE 2
|
||||
#define FILE_READ_MAX_COUNT 4
|
||||
|
||||
#define FILE_READ_DEFAULT_LEN 0xffff
|
||||
|
||||
enum FILE_RET
|
||||
{
|
||||
FILE_OK = 200,
|
||||
FILE_ERR,
|
||||
FILE_CTRL_Z_OK,
|
||||
|
||||
FILE_MAX_ERR,
|
||||
};
|
||||
|
||||
enum FILE_MODE
|
||||
{
|
||||
FILE_MODE_0 = 0,
|
||||
FILE_MODE_1,
|
||||
FILE_MODE_2,
|
||||
};
|
||||
|
||||
enum FILE_STATUS
|
||||
{
|
||||
FILE_STATUS_RESERVE,
|
||||
FILE_STATUS_OPEN,
|
||||
FILE_STATUS_READ,
|
||||
FILE_STATUS_WRITE,
|
||||
FILE_STATUS_SEEK,
|
||||
FILE_STATUS_POSITION,
|
||||
FILE_STATUS_TUCAT,
|
||||
FILE_STATUS_CLOSE,
|
||||
FILE_STATUS_RENAME,
|
||||
FILE_STATUS_DELETE,
|
||||
FILE_STATUS_ERASE,
|
||||
FILE_STATUS_DELETE_ALL,
|
||||
|
||||
FILE_STATUS_MSLDS, /*memory space LDS*/
|
||||
FILE_STATUS_MSLST, /*memory space LST*/
|
||||
FILE_STATUS_MSDEL, /*memory space DEL*/
|
||||
FILE_STATUS_MSUPL, /*memory space UPL*/
|
||||
FILE_STATUS_MSDWL, /*memory space DWL*/
|
||||
FILE_STATUS_MOV,
|
||||
|
||||
};
|
||||
|
||||
enum FILE_MSG_CMD
|
||||
{
|
||||
FILE_MSG_RESERVE,
|
||||
FILE_MSG_OPEN,
|
||||
FILE_MSG_READ,
|
||||
FILE_MSG_WRITE,
|
||||
FILE_MSG_SEEK,
|
||||
FILE_MSG_POSITION,
|
||||
FILE_MSG_TUCAT,
|
||||
FILE_MSG_CLOSE,
|
||||
FILE_MSG_RENAME,
|
||||
FILE_MSG_DELETE,
|
||||
FILE_MSG_ERASE,
|
||||
FILE_MSG_DELETE_ALL,
|
||||
|
||||
FILE_MSG_MSLDS, /*memory space LDS*/
|
||||
FILE_MSG_MSLST, /*memory space LST*/
|
||||
FILE_MSG_MSDEL, /*memory space DEL*/
|
||||
FILE_MSG_MSUPL, /*memory space UPL*/
|
||||
FILE_MSG_MSDWL, /*memory space DWL*/
|
||||
FILE_MSG_MOV,
|
||||
|
||||
};
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char *fileName;
|
||||
char *fileSysHandle;
|
||||
int32_t flags;
|
||||
uint32_t fileHandler;
|
||||
uint32_t fileMode;
|
||||
uint32_t fileLen;
|
||||
uint32_t fileStatus;
|
||||
}fileInfo;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint32_t reqhandle;
|
||||
uint32_t cmdType;
|
||||
int32_t flags;
|
||||
char *fileName;
|
||||
char *filePattern;
|
||||
char *fileSysHandle;
|
||||
char *fileBuff;
|
||||
char *fileNameNew;
|
||||
uint32_t fileHandler;
|
||||
uint32_t mode;
|
||||
uint32_t length;
|
||||
uint32_t totalLength;
|
||||
uint32_t timeout;
|
||||
uint32_t offset;
|
||||
uint32_t position;
|
||||
uint32_t fileStatus;
|
||||
|
||||
}fileInfoPara;
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint32_t reqhandle;
|
||||
uint32_t cmdType;
|
||||
char *fileName;
|
||||
char *filePattern;
|
||||
char *fileNameNew;
|
||||
fileInfo *fileInfoPtr;
|
||||
uint32_t fileHandle;
|
||||
uint32_t mode;
|
||||
uint32_t length;
|
||||
uint32_t totalLength;
|
||||
uint32_t timeout;
|
||||
uint32_t offset;
|
||||
uint32_t position;
|
||||
char *reqBuff;
|
||||
}fileReqMsg;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint32_t reqhandle;
|
||||
char *fileName;
|
||||
char *filePattern;
|
||||
uint32_t fileHandle;
|
||||
uint32_t result;
|
||||
uint32_t ack;
|
||||
char *retBuff;
|
||||
INT32 retLen;
|
||||
INT32 retTotalLen;
|
||||
|
||||
}fileCnfMsg;
|
||||
|
||||
|
||||
fileInfo *fileFindExistFileByName(fileInfoPara fileInfo);
|
||||
fileInfo *fileFindExistFileByHandler(fileInfoPara fileInfo);
|
||||
int fileClientInterface(fileInfoPara fileReq);
|
||||
fileInfo *fileGetExistFile(uint32_t index);
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,113 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: at_fwupd_task.h
|
||||
*
|
||||
* Description:FW upgrade over serial port via AT command
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef __AT_FWUPD_TASK_H__
|
||||
#define __AT_FWUPD_TASK_H__
|
||||
|
||||
#include "at_util.h"
|
||||
|
||||
#define FWUPD_MQUE_MSG_MAXNUM 2
|
||||
#define FWUPD_MQUE_SEND_TIMEOUT 500
|
||||
#define FWUPD_TASK_STACK_SIZE 2048
|
||||
|
||||
#define FWUPD_RESP_BUF_MAXLEN 128
|
||||
|
||||
#define FWUPD_FW_VER_MAXLEN 32
|
||||
#define FWUPD_FW_NAME_MAXLEN 32
|
||||
#define FWUPD_FW_PSN_MINNUM 0
|
||||
#define FWUPD_FW_PSN_MAXNUM 65535
|
||||
#define FWUPD_DATA_BYTES_MAXNUM 256
|
||||
#define FWUPD_DATA_HEXSTR_MAXLEN FWUPD_HEXSTR_LEN(FWUPD_DATA_BYTES_MAXNUM)
|
||||
|
||||
#define FWUPD_HEXBYTE_NUM(strlen) ((strlen) >> 1)
|
||||
#define FWUPD_HEXSTR_LEN(nbytes) ((nbytes) << 1)
|
||||
#define FWUPD_HEXCHAR_TO_INTEGER(hex) ((hex >= '0' && hex <= '9') ? (hex - '0') : \
|
||||
((hex >= 'A' && hex <= 'F') ? (hex - 'A' + 10) : \
|
||||
((hex >= 'a' && hex <= 'f') ? (hex - 'a' + 10) : 0)))
|
||||
|
||||
#define FWUPD_REQMSG_INIT(msg) \
|
||||
do{\
|
||||
msg.atHandle = 0;\
|
||||
msg.cmdCode = FWUPD_CMD_CODE_MAXNUM;\
|
||||
msg.pkgSn = FWUPD_FW_PSN_MINNUM;\
|
||||
msg.strLen = 0;\
|
||||
msg.crc8 = 0;\
|
||||
memset(&msg.hexStr, '\0', (FWUPD_DATA_HEXSTR_MAXLEN + 1));\
|
||||
}while(0)
|
||||
|
||||
#define FWUPD_CNFMSG_INIT(msg) \
|
||||
do{\
|
||||
msg.errCode = FWUPD_EC_UNDEF_ERROR;\
|
||||
msg.strLen = 0;\
|
||||
memset(&msg.respStr, '\0', FWUPD_RESP_BUF_MAXLEN);\
|
||||
}while(0)
|
||||
|
||||
typedef enum
|
||||
{
|
||||
FWUPD_CMD_CODE_BEGIN = 0,
|
||||
FWUPD_CMD_CLEAR_FLASH = FWUPD_CMD_CODE_BEGIN,
|
||||
FWUPD_CMD_DOWNLOAD_FW,
|
||||
FWUPD_CMD_VERIFY_FW,
|
||||
FWUPD_CMD_QUERY_FWNAME,
|
||||
FWUPD_CMD_QUERY_FWVER,
|
||||
FWUPD_CMD_UPGRADE_FW,
|
||||
FWUPD_CMD_DOWNLOAD_OVER,
|
||||
FWUPD_CMD_DFU_STATUS,
|
||||
FWUPD_CMD_CODE_END = FWUPD_CMD_DFU_STATUS,
|
||||
|
||||
FWUPD_CMD_CODE_MAXNUM
|
||||
}FwupdCmdCode_e;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
APPL_FWUPD_PRIM_ID_BASE = 0,
|
||||
|
||||
APPL_FWUPD_REQ,
|
||||
APPL_FWUPD_CNF,
|
||||
|
||||
APPL_FWUPD_PRIM_ID_END = 0xFF
|
||||
}ApplFwupdPrimId;
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint32_t atHandle;
|
||||
uint16_t cmdCode;
|
||||
uint16_t pkgSn;
|
||||
uint16_t strLen;
|
||||
uint8_t hexStr[FWUPD_DATA_HEXSTR_MAXLEN + 1];
|
||||
uint8_t crc8;
|
||||
}FwupdReqMsg_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint8_t errCode;
|
||||
uint8_t rsvd;
|
||||
uint16_t strLen;
|
||||
uint8_t respStr[FWUPD_RESP_BUF_MAXLEN];
|
||||
}FwupdCnfMsg_t;
|
||||
|
||||
|
||||
|
||||
int32_t FWUPD_initTask(void);
|
||||
int32_t FWUPD_deinitTask(void);
|
||||
int32_t FWUPD_sendMsg(FwupdReqMsg_t *msg);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
/* END OF FILE */
|
||||
|
||||
@@ -0,0 +1,165 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: at_http_task.h
|
||||
*
|
||||
* Description: Process http(s) client related AT commands
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef _AT_HTTP_TASK_H_
|
||||
#define _AT_HTTP_TASK_H_
|
||||
|
||||
#include "at_util.h"
|
||||
#include "httpclient.h"
|
||||
|
||||
#define HTTP_RSP_HEAD_BUFFER_SIZE 800
|
||||
#define HTTP_RSP_CONTENT_BUFFER_SIZE 1501
|
||||
/*
|
||||
* APPL SGID: APPL_HTTP, related PRIM ID
|
||||
*/
|
||||
enum applHttpPrimId_Enum
|
||||
{
|
||||
APPL_HTTP_PRIM_ID_BASE = 0,
|
||||
|
||||
APPL_HTTP_SEND_CNF,
|
||||
APPL_HTTP_READ_CNF,
|
||||
APPL_HTTP_STOP_CNF,
|
||||
APPL_HTTP_FOTADL_CNF,
|
||||
APPL_HTTP_URC_IND,
|
||||
APPL_HTTP_READ_IND,
|
||||
|
||||
APPL_HTTP_PRIM_ID_END = 0xFF
|
||||
};
|
||||
|
||||
typedef enum {
|
||||
HTTPSTAT_CLOSE = 0,
|
||||
HTTPSTAT_CONNECT,
|
||||
HTTPSTAT_REQHANDL,
|
||||
}HTTPAtStatus_e;
|
||||
|
||||
enum HTTP_CMD_TYPE
|
||||
{
|
||||
HTTP_SEND_COMMAND,
|
||||
HTTP_STOP_COMMAND,
|
||||
HTTP_CLOSE_TCP_COMMAND,
|
||||
};
|
||||
|
||||
typedef enum AT_HTTP_ERROR
|
||||
{
|
||||
HTTPAT_OK = 0, //success
|
||||
HTTPAT_PARAM_ERROR = 1, //parameter error
|
||||
HTTPAT_INPUT_TIMEOUT = 2, //input timeout
|
||||
HTTPAT_NO_URL = 3, //not set url
|
||||
HTTPAT_OPERATION_NOT_SUPPORT = 4, //operation not support
|
||||
HTTPAT_NO_REQ = 5, //no request
|
||||
HTTPAT_REQ_PROCESSING = 6, //request processing
|
||||
HTTPAT_FILENAME_TOO_LONG = 7, //filename too long
|
||||
HTTPAT_NO_SUCH_FILE = 8, //no file or read nothing
|
||||
HTTPAT_MEMORY_NOT_ENOUGH = 9, //memory not enough
|
||||
HTTPAT_CONFIG_SSL_ERROR = 10, //ssl config error
|
||||
HTTPAT_URL_PARSE_ERROR = 11, //url parse error
|
||||
HTTPAT_DNS_FAILED = 12, //dns resolution failed
|
||||
HTTPAT_PRTCL_ERROR = 13, //decode http data failed
|
||||
HTTPAT_SOCKET_ERROR = 14, //create socket failed
|
||||
HTTPAT_BIND_FAILED = 15, //bind socket failed
|
||||
HTTPAT_CONNECT_TIMEOUT = 16, //connect timeout
|
||||
HTTPAT_CONNECT_ERROR = 17, //connect error
|
||||
HTTPAT_CONNECT_CLOSE = 18, //connect close by remote host
|
||||
HTTPAT_TLS_ERROR = 19, //meet tls error
|
||||
HTTPAT_REQ_TIMEOUT = 20, //http request timeout
|
||||
HTTPAT_INTERNAL = 21, //internal error
|
||||
HTTPAT_URL_ERROR = 22, //url error
|
||||
HTTPAT_NOT_SUPPORT_TLS = 23, //tls is not supported
|
||||
HTTPAT_RECV_COMP = 100, //receive complete
|
||||
}AtHttpError_e;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
HTTPFOTA_BEGIN = 0, //FOTA begin http download
|
||||
HTTPFOTA_DL_PROC = 1, //FOTA download progress
|
||||
HTTPFOTA_ERR = 2, //FOTA http error
|
||||
HTTPFOTA_DOWNLOADEND = 3, //FOTA http download end
|
||||
HTTPFOTA_PACKAGE_MISMATCH = 4 //FOTA http package mismatch
|
||||
}HTTPFotaUrc_e;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
HTTP_EN_SLEEP,
|
||||
HTTP_DIS_SLEEP
|
||||
}HTTPSleep_e;
|
||||
|
||||
typedef struct{
|
||||
uint8_t contextID;
|
||||
uint8_t requestHead;
|
||||
uint8_t responseHead;
|
||||
uint8_t sslctxID;
|
||||
uint8_t contentType;
|
||||
uint8_t bRestore;
|
||||
//uint8_t autoOutrsp;
|
||||
//uint8_t closedInd;
|
||||
}httpAtCfgParam_t;
|
||||
|
||||
typedef struct {
|
||||
HTTPAtStatus_e status;
|
||||
bool hasRequest;
|
||||
uint8_t method;
|
||||
char* url;
|
||||
HttpClientContext* clientContext;
|
||||
HttpClientData* clientData;
|
||||
uint32_t reqhandle;
|
||||
bool isRange;
|
||||
uint32_t startPos;
|
||||
int32_t endPos;
|
||||
bool isFota;
|
||||
uint8_t dlUrcRag;
|
||||
bool cache2flash;
|
||||
bool postfile;
|
||||
char* postfilename;
|
||||
bool readfile;
|
||||
char* respfilename;
|
||||
void* fp;
|
||||
} httpAtContext_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint8_t cmd_type;
|
||||
} httpCmdMsg_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint8_t ret;
|
||||
} httpCnfCmdMsg_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
void *pHttpInd;
|
||||
} httpIndMsg_t;
|
||||
|
||||
void httpSleepVote(HTTPSleep_e sleep);
|
||||
|
||||
bool httpClrCustNewContext(uint16_t datalen);
|
||||
void httpClearAtContext(httpAtContext_t* atContext);
|
||||
|
||||
bool httpCreateClientContext(httpAtContext_t* atContext);
|
||||
|
||||
CmsRetId httpStopReq(void);
|
||||
CmsRetId httpSendReq(void);
|
||||
CmsRetId httpReadReq(void);
|
||||
|
||||
void httpSaveUrltoNvm(void);
|
||||
void httpSaveConfigtoNvm(void);
|
||||
AtHttpError_e httpCheckRestore(void);
|
||||
|
||||
void httpEngineInit(void);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,376 @@
|
||||
/*
|
||||
* atec_mqtt_task.h
|
||||
*
|
||||
* Created on:
|
||||
* Author:
|
||||
*/
|
||||
#ifndef _MQTT_TASK_H
|
||||
#define _MQTT_TASK_H
|
||||
|
||||
#include "MQTTClient.h"
|
||||
#ifdef FEATURE_MQTT_TLS_ENABLE
|
||||
#include "mqtttls.h"
|
||||
#endif
|
||||
|
||||
#define MQTT_SEND_Q_LENGTH 7
|
||||
|
||||
#define MQTT_SEND_TIMEOUT 2000
|
||||
#define MQTT_RECV_TIMEOUT 5000
|
||||
#define MQTT_TASK_CREATE 1
|
||||
#define MQTT_TASK_DELETE 2
|
||||
|
||||
#define MQTT_SEMPHR_NOT_CREATE 1
|
||||
#define MQTT_SEMPHR_HAVE_CREATE 2
|
||||
|
||||
#define MQTT_SEMPHR_MAX_NUMB 6
|
||||
|
||||
#define MQTT_RECV_LOOP_TIMEOUT 2000
|
||||
|
||||
#define EC_TOPIC_LENGTH 128
|
||||
#define EC_BUFF_LENGTH 128
|
||||
|
||||
#define MQTT_CONTEXT_NUMB_MAX 1
|
||||
#define MQTT_ID_DEFAULT 0xff
|
||||
#define MQTT_CLOUD_DEFAULT 0xff
|
||||
#define MQTT_TCP_ID_DEFAULT 0xff
|
||||
|
||||
#define MQTT_CMD_TIMEOUT_DEFAULT 10000
|
||||
#define MQTT_CMD_TIMEOUT_TX_DEFAULT 2
|
||||
#define MQTT_CMD_TIMEOUT_RX_DEFAULT 20
|
||||
|
||||
#define MQTT_KEEPALIVE_DEFAULT 120
|
||||
|
||||
#define MQTT_TX_BUF_DEFAULT (4+128+1024) /*header+topic+payload*/
|
||||
#define MQTT_RX_BUF_DEFAULT (4+128+1024) /*header+topic+payload*/
|
||||
|
||||
#define MQTT_PORT_DEFAULT 1883
|
||||
|
||||
#define MQTT_MSG_TIMEOUT 1000
|
||||
|
||||
#define MQTT_ERR_ABRT (-13)
|
||||
#define MQTT_ERR_RST (-14)
|
||||
#define MQTT_ERR_CLSD (-15)
|
||||
#define MQTT_ERR_BADE (9)
|
||||
|
||||
#define MQTT_TAG_LEN 8
|
||||
#define KEEPALIVE_RETRY_MAX 3
|
||||
#define MQTT_RECONN_MAX 3
|
||||
|
||||
#define ALI_DYNAMIC_REGISTER_IS_NOT_USED 0
|
||||
#define ALI_DYNAMIC_REGISTER_IS_USED 1
|
||||
|
||||
enum MQTT_PUB_TYPE
|
||||
{
|
||||
MQTT_PUB_CTRLZ = 0,
|
||||
MQTT_PUB_AT = 1,
|
||||
};
|
||||
|
||||
enum MQTT_INT_RET
|
||||
{
|
||||
MQTTSUCCESS = 0,
|
||||
MQTTKEEPALIVE = 1
|
||||
};
|
||||
|
||||
enum MQTT_RET
|
||||
{
|
||||
MQTT_OK = 200,
|
||||
MQTT_ERR,
|
||||
MQTT_NETWORK_ERR,
|
||||
MQTT_CONTEXT_ERR,
|
||||
MQTT_PARAM_ERR,
|
||||
MQTT_SOCKET_ERR,
|
||||
MQTT_SOCKET_TIME_ERR,
|
||||
MQTT_MQTT_CONN_ERR,
|
||||
MQTT_TASK_ERR,
|
||||
MQTT_RECONNECT,
|
||||
MQTT_CLIENT_ERR,
|
||||
MQTT_ALI_ENCRYP_ERR,
|
||||
MQTT_BUSY_ERR,
|
||||
MQTT_CONTINUE,
|
||||
|
||||
MQTT_MAX_ERR,
|
||||
};
|
||||
|
||||
enum MQTT_CONTEXT
|
||||
{
|
||||
MQTT_CONTEXT_NOT_USED,
|
||||
MQTT_CONTEXT_USED,
|
||||
MQTT_CONTEXT_IS_CREATING,
|
||||
MQTT_CONTEXT_OPENED,
|
||||
MQTT_CONTEXT_CONFIGED,
|
||||
|
||||
};
|
||||
|
||||
enum MQTT_CONNECT
|
||||
{
|
||||
MQTT_CONN_DEFAULT,
|
||||
|
||||
MQTT_CONN_NOT_OPEN,
|
||||
MQTT_CONN_IS_OPENING,
|
||||
MQTT_CONN_OPENED,
|
||||
MQTT_CONN_OPEN_FAIL,
|
||||
|
||||
MQTT_CONN_IS_CONNECTING,
|
||||
MQTT_CONN_CONNECTED,
|
||||
MQTT_CONN_CONNECT_FAIL,
|
||||
|
||||
MQTT_CONN_IS_CLOSING,
|
||||
MQTT_CONN_CLOSED,
|
||||
MQTT_CONN_CLOSED_FAIL,
|
||||
|
||||
MQTT_CONN_IS_DISCONNECTING,
|
||||
MQTT_CONN_DISCONNECTED,
|
||||
MQTT_CONN_DISCONNECTED_FAIL,
|
||||
|
||||
MQTT_CONN_RECONNECTING,
|
||||
MQTT_CONN_RECONNECTING_FAIL,
|
||||
|
||||
};
|
||||
|
||||
enum MQTT_MSG_CMD
|
||||
{
|
||||
MSG_RESERVE,
|
||||
MQTT_MSG_OPEN,
|
||||
MQTT_MSG_CONNECT,
|
||||
MQTT_MSG_CLOSE,
|
||||
MQTT_MSG_DISCONNECT,
|
||||
MQTT_MSG_CREATE_CLINET,
|
||||
MQTT_MSG_KEEPALIVE,
|
||||
MQTT_MSG_RECONNECT,
|
||||
MQTT_MSG_DELETE_CLINET,
|
||||
MQTT_MSG_PUBLISH,
|
||||
MQTT_MSG_PUBLISH_REC,
|
||||
MQTT_MSG_PUBLISH_REL,
|
||||
MQTT_MSG_PUBLISH_ACK,
|
||||
MQTT_MSG_PUBLISH_COMP,
|
||||
MQTT_MSG_SUB,
|
||||
MQTT_MSG_UNSUB,
|
||||
MQTT_MSG_CONNECT_DOWN,
|
||||
MQTT_MSG_ALI_DYN_CONNECT,
|
||||
|
||||
};
|
||||
|
||||
enum MQTT_CMD
|
||||
{
|
||||
ONENET_CMD,
|
||||
ALI_CMD,
|
||||
};
|
||||
enum MQTT_DATA_TYPE
|
||||
{
|
||||
MQTT_DATA_JSON = 0,
|
||||
MQTT_DATA_STR = 1,
|
||||
MQTT_DATA_HEX = 2,
|
||||
|
||||
ONENET_DATA_TYPE1 = 1,
|
||||
ONENET_DATA_TYPE2 = 2,
|
||||
ONENET_DATA_TYPE3 = 3,
|
||||
ONENET_DATA_TYPE4 = 4,
|
||||
ONENET_DATA_TYPE5 = 5,
|
||||
ONENET_DATA_TYPE6 = 6,
|
||||
ONENET_DATA_TYPE7 = 7,
|
||||
ONENET_DATA_TYPE8 = 8, //customer define data type
|
||||
ONENET_DATA_TYPE9 = 9, //customer define data type
|
||||
|
||||
MQTT_DATA_DEFAULT = 0xFF,
|
||||
};
|
||||
|
||||
enum MQTT_CLOUD_TYPE
|
||||
{
|
||||
CLOUD_TYPE_ONENET = 1,
|
||||
CLOUD_TYPE_ALI,
|
||||
CLOUD_TYPE_ECLIPSE, /*not use client id, user name, passwd*/
|
||||
CLOUD_TYPE_NORMAL, /*need client id, user name, passwd*/
|
||||
CLOUD_TYPE_MAX
|
||||
};
|
||||
|
||||
enum MQTT_CONFIG_TYPE
|
||||
{
|
||||
MQTT_CONFIG_BASE = 0,
|
||||
MQTT_CONFIG_ECHOMODE,
|
||||
MQTT_CONFIG_DATAFORMAT,
|
||||
MQTT_CONFIG_KEEPALIVE,
|
||||
MQTT_CONFIG_SEESION,
|
||||
MQTT_CONFIG_KEEPALIVE_CMD_TIMEOUT,
|
||||
MQTT_CONFIG_KEEPALIVE_CONN_TIMEOUT,
|
||||
MQTT_CONFIG_TIMEOUT,
|
||||
MQTT_CONFIG_CMD_TIMEOUT,
|
||||
MQTT_CONFIG_CONN_TIMEOUT,
|
||||
MQTT_CONFIG_WILL,
|
||||
MQTT_CONFIG_VERSION,
|
||||
MQTT_CONFIG_ALIAUTH,
|
||||
MQTT_CONFIG_OPEN,
|
||||
MQTT_CONFIG_CLOUD,
|
||||
MQTT_CONFIG_SSL,
|
||||
|
||||
MQTT_CONFIG_MAX
|
||||
};
|
||||
|
||||
enum MQTT_SSL_TYPE
|
||||
{
|
||||
MQTT_SSL_NONE = 0,
|
||||
MQTT_SSL_HAVE = 1,
|
||||
MQTT_SSL_PSK = 2,
|
||||
MQTT_SSL_ECC,
|
||||
MQTT_SSL_CA,
|
||||
};
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int decParam1;
|
||||
int decParam2;
|
||||
int decParam3;
|
||||
char *strParam1;
|
||||
char *strParam2;
|
||||
char *strParam3;
|
||||
char *strParam4;
|
||||
char *strParam5;
|
||||
char *strParam6;
|
||||
char *strParam7;
|
||||
char *strParam8;
|
||||
char *strParam9;
|
||||
char *strParam10;
|
||||
}mqtt_cfg_data;
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int cmd_type;
|
||||
unsigned int reqhandle;
|
||||
void * context_ptr;
|
||||
void * client_ptr;
|
||||
int tcp_id;
|
||||
int msg_id;
|
||||
int pub_mode;
|
||||
int server_ack_mode;
|
||||
char *sub_topic;
|
||||
char *unsub_topic;
|
||||
char *topic;
|
||||
int qos;
|
||||
int rai;
|
||||
MQTTMessage message;
|
||||
}mqtt_send_msg;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int mqtt_id;
|
||||
char *mqtt_topic;
|
||||
int mqtt_topic_len;
|
||||
char *mqtt_payload;
|
||||
int mqtt_payload_len;
|
||||
int tcp_id;
|
||||
int msg_id;
|
||||
int ret;
|
||||
int conn_ret_code;
|
||||
int sub_ret_value;
|
||||
int pub_ret_value;
|
||||
}mqtt_message;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char *product_name;
|
||||
char *product_key;
|
||||
char *product_secret;
|
||||
char *device_name;
|
||||
char *device_secret;
|
||||
char *device_token;
|
||||
char *auth_type; /*register, regnwl*/
|
||||
char *sign_method; /*hmac_sha1, hmac_sha256, hmac_md5*/
|
||||
char *auth_mode; /*tls-psk, tls-ca*/
|
||||
char *secure_mode; /*-2, 2*/
|
||||
char *instance_id; /* */
|
||||
char *client_id; /*for regnwl */
|
||||
int dynamic_register_used;
|
||||
}ali_auth;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int is_used;
|
||||
int is_connected;
|
||||
int is_mqtts;
|
||||
int cloud_type;
|
||||
int tcp_id;
|
||||
int mqtt_id;
|
||||
UINT32 reqHandle;
|
||||
char *mqtt_uri;
|
||||
unsigned int port;
|
||||
char *mqtt_send_buf;
|
||||
int mqtt_send_buf_len;
|
||||
char *mqtt_read_buf;
|
||||
int mqtt_read_buf_len;
|
||||
|
||||
int reconnect_count;
|
||||
int (*reconnect) (void *c);
|
||||
MQTTPacket_connectData mqtt_connect_data;
|
||||
Network* mqtt_network;
|
||||
MQTTClient *mqtt_client;
|
||||
messageHandler mqtt_msg_handler;
|
||||
#ifdef FEATURE_MQTT_TLS_ENABLE
|
||||
mqttsClientContext* mqtts_client;
|
||||
#endif
|
||||
int echomode;
|
||||
int send_data_format;
|
||||
int recv_data_format;
|
||||
int keepalive;
|
||||
int session;
|
||||
int timeout;
|
||||
int version;
|
||||
int pkt_timeout;
|
||||
int retry_time;
|
||||
int timeout_notice;
|
||||
ali_auth aliAuth;
|
||||
|
||||
char *sub_topic;
|
||||
char *unsub_topic;
|
||||
int qos;
|
||||
int retained;
|
||||
int payloadType;
|
||||
int ssl_type;
|
||||
char *ecc_key;
|
||||
char *ca_key;
|
||||
char *host_name;
|
||||
|
||||
}mqtt_context;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
unsigned char cleansession;
|
||||
unsigned char willFlag;
|
||||
MQTTPacket_willOptions will;
|
||||
}mqtt_option;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int dec_param1; /**/
|
||||
int dec_param2; /**/
|
||||
int dec_param3; /**/
|
||||
int dec_param4; /**/
|
||||
char *str_param1; /**/
|
||||
char *str_param2; /**/
|
||||
char *str_param3; /**/
|
||||
char *str_param4; /**/
|
||||
|
||||
}MQTT_CNF_STRUCT;
|
||||
|
||||
void check_tcpip_ready(void);
|
||||
int mqttReconnect(void *v);
|
||||
void MQTT_messageArrived(MessageData* data);
|
||||
mqtt_context *mqttFindContext(int tcpId);
|
||||
|
||||
int mqtt_client_config(int cnfType, int tcpId, mqtt_cfg_data *cfgData);
|
||||
int mqtt_client_open(UINT32 reqHandle, int tcpId, char *mqttUri, int mqttPort);
|
||||
int mqtt_client_close(UINT32 reqHandle, int tcpId);
|
||||
int mqtt_client_connect(UINT32 reqHandle, int tcpId, char *clientId, char *userName, char *passWord);
|
||||
int mqtt_client_disconnect(UINT32 reqHandle, int tcpId);
|
||||
int mqtt_client_sub(UINT32 reqHandle, int tcpId, int msgId, char *mqttSubTopic, int qos);
|
||||
int mqtt_client_unsub(UINT32 reqHandle, int tcpId, int msgId, char *mqttSubTopic);
|
||||
int mqtt_client_pub(UINT32 reqHandle, int tcpId, int msgId, int qos, int retained, int pubMode, char *mqttPubTopic, int msgLen, char *message, int cloudType, int msgType, int rai);
|
||||
|
||||
int mqtt_recv_task_Init(void);
|
||||
int mqttCycle(mqtt_context* context, Timer* timer);
|
||||
void mqttCloseSession(MQTTClient* c);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,202 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: at_ssl_task.h
|
||||
*
|
||||
* Description: Process tls client related AT commands
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef _AT_SSL_TASK_H
|
||||
#define _AT_SSL_TASK_H
|
||||
#ifdef __USER_CODE__
|
||||
#else
|
||||
#include "at_util.h"
|
||||
#include "atc_decoder.h"
|
||||
|
||||
#include "mbedtls/net.h"
|
||||
#include "mbedtls/ssl.h"
|
||||
#include "mbedtls/certs.h"
|
||||
#include "mbedtls/entropy.h"
|
||||
#include "mbedtls/ctr_drbg.h"
|
||||
|
||||
#define MAX_SSL_CLIENT_INSTANCE 12
|
||||
|
||||
typedef enum
|
||||
{
|
||||
SSL3_0 = 0,
|
||||
TLS1_0,
|
||||
TLS1_1,
|
||||
TLS1_2,
|
||||
SSL_VERSION_ALL,
|
||||
}sslVersion_e;
|
||||
|
||||
typedef enum AT_SSL_ERROR
|
||||
{
|
||||
SSLAT_OK = 0, //success
|
||||
SSLAT_PARAM_ERROR = 1, //parameter error
|
||||
SSLAT_CONFIG_SSL_ERROR = 2, //ssl config error
|
||||
SSLAT_MBEDTLS_ERROR = 3, //mbedtls error
|
||||
SSLAT_CONN_ERROR = 4, //connect error
|
||||
SSLAT_HAS_CONNENT = 5, //already has a connect
|
||||
SSLAT_NO_CONNENT = 6, //has no open connect
|
||||
SSLAT_INTERNAL = 7, //internal error, for example can't restore from deep sleep
|
||||
SSLAT_MEM_NOT_ENOUGH = 8 //memory not enough
|
||||
}AtSslError_e;
|
||||
|
||||
enum SSL_CMD_TYPE
|
||||
{
|
||||
SSL_OPEN_COMMAND,
|
||||
SSL_OPEN_DONE_COMMAND,
|
||||
SSL_SEND_COMMAND,
|
||||
SSL_CLOSE_TCP_COMMAND,
|
||||
SSL_CLOSE_COMMAND,
|
||||
SSL_STATE_COMMAND,
|
||||
SSL_DISCON_COMMAND,
|
||||
SSL_SEND_PT_DATA
|
||||
};
|
||||
|
||||
/*
|
||||
* APPL SGID: APPL_SSL, related PRIM ID
|
||||
*/
|
||||
enum applSslPrimId_Enum
|
||||
{
|
||||
APPL_SSL_PRIM_ID_BASE = 0,
|
||||
|
||||
APPL_SSL_OPEN_CNF,
|
||||
APPL_SSL_SEND_CNF,
|
||||
APPL_SSL_CLOSE_CNF,
|
||||
APPL_SSL_STATE_CNF,
|
||||
APPL_SSL_URC_IND,
|
||||
APPL_SSL_OUTPUT_IND,
|
||||
APPL_SSL_PASSOUT_IND,
|
||||
APPL_SSL_PRIM_ID_END = 0xFF
|
||||
};
|
||||
|
||||
typedef enum {
|
||||
SSLSTAT_INIT = 0,
|
||||
SSLSTAT_CONNECT,
|
||||
SSLSTAT_DISCONN,
|
||||
SSLSTAT_CLOSE
|
||||
}SSLAtStatus_e;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
SSL_EN_SLEEP,
|
||||
SSL_DIS_SLEEP
|
||||
}SSLSleep_e;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint8_t cmd_type;
|
||||
uint32_t reqHandle;
|
||||
uint8_t clientId;
|
||||
uint8_t channelId;
|
||||
void* ptr;
|
||||
} sslCmdMsg_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
void *pInd;
|
||||
} sslIndMsg_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint8_t ret;
|
||||
uint8_t accessMode;
|
||||
uint8_t chanId;
|
||||
char rspbuf[60];
|
||||
} sslCnfCmdMsg_t;
|
||||
|
||||
typedef struct sslContextTag
|
||||
{
|
||||
mbedtls_ssl_context sslContext;
|
||||
mbedtls_net_context netContext;
|
||||
mbedtls_ssl_config sslConfig;
|
||||
mbedtls_entropy_context entropyContext;
|
||||
mbedtls_ctr_drbg_context ctrDrbgContext;
|
||||
mbedtls_x509_crt_profile crtProfile;
|
||||
mbedtls_x509_crt caCert;
|
||||
mbedtls_x509_crt clientCert;
|
||||
mbedtls_pk_context pkContext;
|
||||
}sslContext;
|
||||
|
||||
typedef struct _sslPTUlDataNode
|
||||
{
|
||||
struct _sslPTUlDataNode *next;
|
||||
uint16_t dataLen; /*the send raw datalength*/
|
||||
uint8_t* pData;
|
||||
}sslPTUlDataNode;
|
||||
|
||||
typedef struct _ssl_list_t
|
||||
{
|
||||
struct _ssl_list_t * next;
|
||||
} ssl_list_t;
|
||||
|
||||
typedef struct sslPTUlPendingList_Tag
|
||||
{
|
||||
ssl_list_t *head;
|
||||
ssl_list_t *tail;
|
||||
uint8_t nodeCount;
|
||||
uint8_t maxNodeNum;
|
||||
osMutexId_t mut;
|
||||
}sslPTUlPendingList;
|
||||
|
||||
|
||||
typedef struct sslClientContextTag
|
||||
{
|
||||
bool isUsed;
|
||||
uint8_t pdpId;
|
||||
uint8_t clientId;
|
||||
uint8_t sslCxtId;
|
||||
uint32_t reqhandle;
|
||||
uint16_t pid;
|
||||
int socket;
|
||||
char* serverAddr;
|
||||
uint16_t serverPort;
|
||||
uint8_t status;
|
||||
int timeout_s;
|
||||
int timeout_r;
|
||||
uint8_t* sendData;
|
||||
uint16_t sendDataLen;
|
||||
sslContext * ssl;
|
||||
char *caCert;
|
||||
char *clientCert;
|
||||
char *clientPk;
|
||||
int32_t caCertLen;
|
||||
int32_t clientCertLen;
|
||||
int32_t clientPkLen;
|
||||
uint8_t seclevel;//0:no verify; 1:verify server; 2:both verify
|
||||
int32_t ciphersuite[2];//just like 0x0035 TLS_RSA_WITH_AES_256_CBC_SHA,ciphersuite[1] must NULL
|
||||
uint8_t cache;//0:no session resumption; 1:session resumption
|
||||
uint8_t sni;//0:no sni; 1:has sni
|
||||
uint8_t accessMode;//0:direct mode; 1:passthrough
|
||||
uint8_t ignore;//0:not ignore; 1:ignore
|
||||
uint8_t channelState;
|
||||
}sslClientContext;
|
||||
|
||||
void sslSaveCxtList(void);
|
||||
void sslEngineInit(void);
|
||||
CmsRetId sslClientOpen(uint32_t reqHandle, uint8_t clientId, uint8_t channelId);
|
||||
CmsRetId sslClientSend(uint8_t clientId);
|
||||
CmsRetId sslClientClose(uint32_t reqHandle, uint8_t clientId);
|
||||
CmsRetId sslClientState(uint32_t reqHandle, uint8_t clientId);
|
||||
|
||||
void sslDisableSleep(void);
|
||||
|
||||
AtSslError_e sslCheckRestore(void);
|
||||
void sslNewClientContext(sslClientContext* context, uint8_t pdpId, uint8_t clientId, uint8_t sslCxtId, char* pServer, uint16_t port, uint8_t accessMode);
|
||||
|
||||
CmsRetId sslPSTHAndOnlineCmdCallback(UINT8 chanId, UINT8 curChanState, AtDataAndOnlineCmdSEvt eventId, void *pArg);
|
||||
bool sslQueryClientIdIsActivated(UINT8 clientId);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
@@ -0,0 +1,199 @@
|
||||
/******************************************************************************
|
||||
* (C) Copyright 2018 AirM2M International Ltd.
|
||||
* All Rights Reserved
|
||||
*******************************************************************************
|
||||
* Filename: at_util.h
|
||||
*
|
||||
* Description: AT utility
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
#ifndef __AT_UTIL_H__
|
||||
#define __AT_UTIL_H__
|
||||
|
||||
#include "cms_util.h"
|
||||
#include "cms_comm.h"
|
||||
#include "at_def.h"
|
||||
#include "atc_reply.h"
|
||||
#include "atc_decoder.h"
|
||||
|
||||
#define ALI_SHA1_KEY_IOPAD_SIZE (64)
|
||||
#define ALI_SHA1_DIGEST_SIZE (20)
|
||||
|
||||
#define ALI_SHA256_KEY_IOPAD_SIZE (64)
|
||||
#define ALI_SHA256_DIGEST_SIZE (32)
|
||||
|
||||
#define ALI_MD5_KEY_IOPAD_SIZE (64)
|
||||
#define ALI_MD5_DIGEST_SIZE (16)
|
||||
|
||||
#define ALI_HMAC_USED (1)
|
||||
#define ALI_HMAC_NOT_USED (0)
|
||||
|
||||
typedef enum
|
||||
{
|
||||
AT_PARA_OK = 0,
|
||||
AT_PARA_ERR,
|
||||
AT_PARA_DEFAULT,
|
||||
AT_PARA_MAX,
|
||||
}_AtParaRet;
|
||||
|
||||
typedef INT32 AtParaRet;
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
*****************************************************************************
|
||||
* STRUCT
|
||||
*****************************************************************************
|
||||
******************************************************************************/
|
||||
|
||||
/******************************************************************************
|
||||
* CmiCnfFuncMapList
|
||||
* "CamCmiCnf" handler table
|
||||
******************************************************************************/
|
||||
typedef CmsRetId (*CmiCnfHandler)(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
typedef struct CmiCnfFuncMapList_Tag
|
||||
{
|
||||
UINT16 primId;
|
||||
CmiCnfHandler cmiCnfHdr;
|
||||
}CmiCnfFuncMapList;
|
||||
|
||||
/******************************************************************************
|
||||
* CmiIndFuncMapList
|
||||
* "CamCmiInd" handler table
|
||||
******************************************************************************/
|
||||
typedef void (*CmiIndHandler)(void *paras);
|
||||
typedef struct CmiIndFuncMapList_Tag
|
||||
{
|
||||
UINT16 primId;
|
||||
CmiIndHandler cmiIndHdr;
|
||||
}CmiIndFuncMapList;
|
||||
|
||||
/******************************************************************************
|
||||
* ApplCnfFuncMapList
|
||||
* "applCmsCnf" handler table
|
||||
******************************************************************************/
|
||||
typedef CmsRetId (*ApplCnfHandler)(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
typedef struct CmsCnfFuncMapList_Tag
|
||||
{
|
||||
UINT16 primId;
|
||||
ApplCnfHandler applCnfHdr;
|
||||
}ApplCnfFuncMapList;
|
||||
|
||||
/******************************************************************************
|
||||
* ApplIndFuncMapList
|
||||
* "applCmsInd" handler table
|
||||
******************************************************************************/
|
||||
typedef CmsRetId (*ApplIndHandler)(UINT16 indHandle, void *paras);
|
||||
typedef struct CmsIndFuncMapList_Tag
|
||||
{
|
||||
UINT16 primId;
|
||||
ApplIndHandler applIndHdr;
|
||||
}ApplIndFuncMapList;
|
||||
|
||||
/******************************************************************************
|
||||
*****************************************************************************
|
||||
* FUNCTION/API
|
||||
*****************************************************************************
|
||||
******************************************************************************/
|
||||
void atByteToBitString(UINT8 *outString, UINT8 n, UINT8 strlen);
|
||||
BOOL atDataToHexString(UINT8* outString, UINT8* rawData, INT32 rawDataLen);
|
||||
void atDataToDecString(UINT8 *outString, UINT8 outStringLen, INT64 rawData);
|
||||
|
||||
AtParaRet atGetNumValue(AtParamValueCP pAtParaList,
|
||||
UINT32 index,
|
||||
INT32 *pOutValue,
|
||||
INT32 minValue,
|
||||
INT32 maxValue,
|
||||
INT32 defaultValue);
|
||||
|
||||
AtParaRet atGetStrValue(AtParamValueCP pAtParaList,
|
||||
UINT32 index,
|
||||
UINT8 *pOutStr,
|
||||
UINT16 maxOutBufLen,
|
||||
UINT16 *pOutStrLen,
|
||||
const CHAR *pDefaultStr);
|
||||
|
||||
BOOL atBeEmptyStrParam(AtParamValueCP pAtParaList, UINT32 index);
|
||||
|
||||
AtParaRet atGetJsonStrValue(AtParamValueCP pAtParaList,
|
||||
UINT32 index,
|
||||
UINT8 *pOutStr,
|
||||
UINT16 maxOutBufLen,
|
||||
UINT16 *pOutStrLen,
|
||||
const CHAR *pDefaultStr);
|
||||
|
||||
AtParaRet atGetMixValue(AtParamValueCP pAtParaList,
|
||||
UINT32 index,
|
||||
UINT32 *extValType,
|
||||
UINT8 *pOutStr,
|
||||
UINT16 maxOutBufLen,
|
||||
UINT16 *pOutStrLen,
|
||||
const CHAR *pDefaultStr,
|
||||
INT32 *pOutValue,
|
||||
INT32 minValue,
|
||||
INT32 maxValue,
|
||||
INT32 defaultValue);
|
||||
|
||||
AtParaRet atGetLastMixStrValue(AtParamValueCP pAtParaList,
|
||||
UINT32 index,
|
||||
UINT8 *pOutStr,
|
||||
UINT16 maxOutBufLen,
|
||||
UINT16 *pOutStrLen,
|
||||
const CHAR *pDefaultStr);
|
||||
|
||||
AtParaRet atGetStrLength(AtParamValueCP pAtParaList,
|
||||
UINT32 index,
|
||||
UINT16 *pOutStrLen);
|
||||
|
||||
BOOL atBeNumericString(const UINT8 *password);
|
||||
|
||||
AtParaRet atCheckParaDefaultFlag(const AtCmdInputContext *pAtCmdReqParaPtr, UINT32 index);
|
||||
|
||||
BOOL atCheckBitFormat(const UINT8 *input);
|
||||
|
||||
/*
|
||||
* safe strncat
|
||||
*/
|
||||
BOOL atStrnCat(CHAR *pDest, UINT32 destBufSize, CHAR *pNew, UINT32 catLen);
|
||||
|
||||
void atSha256(const unsigned char *input, int ilen, unsigned char *output);
|
||||
|
||||
void atAliHmacSha1(const unsigned char *input, int ilen, unsigned char *output,const unsigned char *key, int keylen);
|
||||
void atAliHmacSha256(const unsigned char *input, int ilen, unsigned char *output,const unsigned char *key, int keylen);
|
||||
void atAliHmacMd5(const unsigned char *input, int ilen, unsigned char *output,const unsigned char *key, int keylen);
|
||||
BOOL atCheckApnName(UINT8 *apn,UINT16 len);
|
||||
|
||||
/*
|
||||
*
|
||||
*/
|
||||
BOOL atPduInit(AtOutPdu *pAtPdu, UINT16 outSize);
|
||||
|
||||
/*
|
||||
*
|
||||
*/
|
||||
BOOL atPduInitTryHeap(AtOutPdu *pAtPdu, UINT16 outSize);
|
||||
|
||||
|
||||
/*
|
||||
*/
|
||||
void atPduPrintf(AtOutPdu *pAtPdu, const CHAR *fmt, ...);
|
||||
|
||||
/*
|
||||
*
|
||||
*/
|
||||
void atPduMemcat(AtOutPdu *pAtPdu, const UINT8 *pData, UINT16 dataLen);
|
||||
|
||||
|
||||
|
||||
AtParaRet atGetDynamicHexStrValue(AtParamValueCP pAtParaList,
|
||||
UINT32 index,
|
||||
UINT8 **pOutStr,
|
||||
UINT16 *OutLen);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename:
|
||||
*
|
||||
* Description:
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef _ATEC_CONTROLLER_H
|
||||
#define _ATEC_CONTROLLER_H
|
||||
#include "at_util.h"
|
||||
|
||||
|
||||
AtCmdPreDefInfoC* atcGetATCommandsSeqPointer(void);
|
||||
UINT32 atcGetATCommandsSeqNumb(void);
|
||||
|
||||
#endif
|
||||
|
||||
/* END OF FILE */
|
||||
@@ -0,0 +1,416 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename:
|
||||
*
|
||||
* Description:
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef _ATEC__DEV_H
|
||||
#define _ATEC__DEV_H
|
||||
|
||||
#include "at_util.h"
|
||||
|
||||
/* AT+CFUN */
|
||||
#define ATC_CFUN_0_FUN_VAL_MIN 0
|
||||
#define ATC_CFUN_0_FUN_VAL_MAX 4
|
||||
#define ATC_CFUN_0_FUN_VAL_DEFAULT 1
|
||||
#define ATC_CFUN_1_RST_VAL_MIN 0
|
||||
#define ATC_CFUN_1_RST_VAL_MAX 1
|
||||
#define ATC_CFUN_1_RST_VAL_DEFAULT 0
|
||||
|
||||
|
||||
/* AT+ECBAND */
|
||||
#define ATC_ECBAND_0_NW_MODE_VAL_DEFAULT 2
|
||||
#define ATC_ECBAND_1_BAND_VAL_MIN 0
|
||||
#define ATC_ECBAND_1_BAND_VAL_MAX 85
|
||||
#define ATC_ECBAND_1_BAND_VAL_DEFAULT 0
|
||||
|
||||
/* AT+ECFREQ */
|
||||
#define ATC_ECFREQ_0_NW_MODE_VAL_MIN 0
|
||||
#define ATC_ECFREQ_0_NW_MODE_VAL_MAX 3
|
||||
#define ATC_ECFREQ_0_NW_MODE_VAL_DEFAULT 0
|
||||
#define ATC_ECFREQ_1_EARFCN_VAL_MIN 0
|
||||
#define ATC_ECFREQ_1_EARFCN_VAL_MAX 0x7FFFFFFF
|
||||
#define ATC_ECFREQ_1_EARFCN_VAL_DEFAULT 0
|
||||
#define ATC_ECFREQ_2_PHYCELL_VAL_MIN 0
|
||||
#define ATC_ECFREQ_2_PHYCELL_VAL_MAX 503
|
||||
#define ATC_ECFREQ_2_PHYCELL_VAL_DEFAULT 0
|
||||
|
||||
/* AT+ECCGSN */
|
||||
#define ATC_CGSN_0_MAX_PARM_STR_LEN 16
|
||||
#define ATC_CGSN_0_MAX_PARM_STR_DEFAULT NULL
|
||||
#define ATC_CGSN_1_MAX_PARM_STR_LEN 32
|
||||
#define ATC_CGSN_1_MAX_PARM_STR_DEFAULT NULL
|
||||
|
||||
/* AT+ECCGSNLOCK */
|
||||
#define ATC_ECCGSNLOCK_0_IMEI_STR_LEN 16
|
||||
#define ATC_ECCGSNLOCK_0_IMEI_STR_DEFAULT "imeiLock"
|
||||
#define ATC_ECCGSNLOCK_0_SN_STR_LEN 16
|
||||
#define ATC_ECCGSNLOCK_0_SN_STR_DEFAULT "snLock"
|
||||
|
||||
|
||||
/* AT+CIOTPOWER */
|
||||
#define ATC_CIOTPOWER_0_VAL_MIN 0
|
||||
#define ATC_CIOTPOWER_0_VAL_MAX 2
|
||||
#define ATC_CIOTPOWER_0_VAL_DEFAULT 0
|
||||
|
||||
|
||||
/* AT+ECCFG */
|
||||
#define ATC_ECCFG_0_MAX_PARM_STR_LEN 32
|
||||
#define ATC_ECCFG_0_MAX_PARM_STR_DEFAULT NULL
|
||||
#define ATC_ECCFG_1_GCFTEST_VAL_MIN 0
|
||||
#define ATC_ECCFG_1_GCFTEST_VAL_MAX 1
|
||||
#define ATC_ECCFG_1_GCFTEST_VAL_DEFAULT (-1)
|
||||
#define ATC_ECCFG_1_AUTOAPN_VAL_MIN 0
|
||||
#define ATC_ECCFG_1_AUTOAPN_VAL_MAX 1
|
||||
#define ATC_ECCFG_1_AUTOAPN_VAL_DEFAULT (-1)
|
||||
#define ATC_ECCFG_1_SUPPORTSMS_VAL_MIN 0
|
||||
#define ATC_ECCFG_1_SUPPORTSMS_VAL_MAX 1
|
||||
#define ATC_ECCFG_1_SUPPORTSMS_VAL_DEFAULT (-1)
|
||||
#define ATC_ECCFG_1_TAUFORSMS_VAL_MIN 0
|
||||
#define ATC_ECCFG_1_TAUFORSMS_VAL_MAX 1
|
||||
#define ATC_ECCFG_1_TAUFORSMS_VAL_DEFAULT (-1)
|
||||
#define ATC_ECCFG_1_T3324_VAL_MIN 0
|
||||
#define ATC_ECCFG_1_T3324_VAL_MAX 0xFFFFFF
|
||||
#define ATC_ECCFG_1_T3324_VAL_DEFAULT 0xFFFFFF
|
||||
#define ATC_ECCFG_1_BAR_VAL_MIN 1
|
||||
#define ATC_ECCFG_1_BAR_VAL_MAX 600
|
||||
#define ATC_ECCFG_1_BAR_VAL_DEFAULT 120
|
||||
#define ATC_ECCFG_1_SIMTEST_VAL_MIN 0
|
||||
#define ATC_ECCFG_1_SIMTEST_VAL_MAX 1
|
||||
#define ATC_ECCFG_1_SIMTEST_VAL_DEFAULT (-1)
|
||||
#define ATC_ECCFG_1_USIMSIMULATOR_VAL_MIN 0
|
||||
#define ATC_ECCFG_1_USIMSIMULATOR_VAL_MAX 1
|
||||
#define ATC_ECCFG_1_USIMSIMULATOR_VAL_DEFAULT (-1)
|
||||
#define ATC_ECCFG_1_SUPPORTUPRAI_VAL_MIN 0
|
||||
#define ATC_ECCFG_1_SUPPORTUPRAI_VAL_MAX 1
|
||||
#define ATC_ECCFG_1_SUPPORTUPRAI_VAL_DEFAULT (-1)
|
||||
#define ATC_ECCFG_1_DIT_VAL_MIN 0
|
||||
#define ATC_ECCFG_1_DIT_VAL_MAX 0xff
|
||||
#define ATC_ECCFG_1_DIT_VAL_DEFAULT (-1)
|
||||
#define ATC_ECCFG_1_RMD_VAL_MIN 0
|
||||
#define ATC_ECCFG_1_RMD_VAL_MAX 17
|
||||
#define ATC_ECCFG_1_RMD_VAL_DEFAULT (-1)
|
||||
#define ATC_ECCFG_1_POWERLEVEL_VAL_MIN 0
|
||||
#define ATC_ECCFG_1_POWERLEVEL_VAL_MAX 4
|
||||
#define ATC_ECCFG_1_POWERLEVEL_VAL_DEFAULT (-1)
|
||||
#define ATC_ECCFG_1_REL_VERSION_VAL_MIN 13
|
||||
#define ATC_ECCFG_1_REL_VERSION_VAL_MAX 14
|
||||
#define ATC_ECCFG_1_REL_VERSION_VAL_DEFAULT 13
|
||||
#define ATC_ECCFG_1_ROHC_VAL_MIN 0
|
||||
#define ATC_ECCFG_1_ROHC_VAL_MAX 1
|
||||
#define ATC_ECCFG_1_ROHC_VAL_DEFAULT (-1)
|
||||
#define ATC_ECCFG_1_EPCO_VAL_MIN 0
|
||||
#define ATC_ECCFG_1_EPCO_VAL_MAX 1
|
||||
#define ATC_ECCFG_1_EPCO_VAL_DEFAULT (-1)
|
||||
#define ATC_ECCFG_1_MULTICARRIER_VAL_MIN 0
|
||||
#define ATC_ECCFG_1_MULTICARRIER_VAL_MAX 1
|
||||
#define ATC_ECCFG_1_MULTICARRIER_VAL_DEFAULT (-1)
|
||||
#define ATC_ECCFG_1_MULTITONE_VAL_MIN 0
|
||||
#define ATC_ECCFG_1_MULTITONE_VAL_MAX 1
|
||||
#define ATC_ECCFG_1_MULTITONE_VAL_DEFAULT (-1)
|
||||
#define ATC_ECCFG_1_IPV6RSFORTESTSIM_VAL_MIN 0
|
||||
#define ATC_ECCFG_1_IPV6RSFORTESTSIM_VAL_MAX 1
|
||||
#define ATC_ECCFG_1_IPV6RSFORTESTSIM_VAL_DEFAULT (-1)
|
||||
#define ATC_ECCFG_1_POWERCFUN_VAL_MIN 0
|
||||
#define ATC_ECCFG_1_POWERCFUN_VAL_MAX 4
|
||||
#define ATC_ECCFG_1_POWERCFUN_VAL_DEFAULT 1 //CFUN1
|
||||
#define ATC_ECCFG_1_PSPOWERONMAXDEALY_VAL_MIN 0
|
||||
#define ATC_ECCFG_1_PSPOWERONMAXDEALY_VAL_MAX 0xFFFF
|
||||
#define ATC_ECCFG_1_PSPOWERONMAXDEALY_VAL_DEFAULT 0
|
||||
#define ATC_ECCFG_1_IPV6RSDELAY_VAL_MIN 0
|
||||
#define ATC_ECCFG_1_IPV6RSDELAY_VAL_MAX 65535
|
||||
#define ATC_ECCFG_1_IPV6RSDELAY_VAL_DEFAULT (15)
|
||||
#define ATC_ECCFG_1_DISABLENCELLMEAS_VAL_MIN (0)
|
||||
#define ATC_ECCFG_1_DISABLENCELLMEAS_VAL_MAX (1)
|
||||
#define ATC_ECCFG_1_DISABLENCELLMEAS_VAL_DEFAULT (0)
|
||||
#define ATC_ECCFG_1_UECATEGORY_VAL_MIN (1)
|
||||
#define ATC_ECCFG_1_UECATEGORY_VAL_MAX (2) //1 - CAT1, 2 - CAT1 bis
|
||||
#define ATC_ECCFG_1_UECATEGORY_VAL_DEFAULT (1)
|
||||
|
||||
#define ATC_ECCFG_1_PSSOFTRESET_VAL_MIN (0)
|
||||
#define ATC_ECCFG_1_PSSOFTRESET_VAL_MAX (1)
|
||||
#define ATC_ECCFG_1_PSSOFTRESET_VAL_DEFAULT (0)
|
||||
|
||||
#define ATC_ECCFG_1_ENABLEEAB_VAL_MIN (0)
|
||||
#define ATC_ECCFG_1_ENABLE_VAL_MAX (1)
|
||||
#define ATC_ECCFG_1_ENABLE_VAL_DEFAULT (1)
|
||||
|
||||
#define ATC_ECCFG_1_ENABLEABCHECK_VAL_MIN (0)
|
||||
#define ATC_ECCFG_1_ENABLEABCHECK_VAL_MAX (1)
|
||||
#define ATC_ECCFG_1_ENABLEABCHECK_VAL_DEFAULT (0)
|
||||
|
||||
#define ATC_ECCFG_1_WEAKCELLOPT_VAL_MIN (0)
|
||||
#define ATC_ECCFG_1_WEAKCELLOPT_VAL_MAX (1)
|
||||
#define ATC_ECCFG_1_WEAKCELLOPT_VAL_DEFAULT (0)
|
||||
|
||||
#define ATC_ECCFG_1_QRXLEVMIN_VAL_MIN (-156)
|
||||
#define ATC_ECCFG_1_QRXLEVMIN_VAL_MAX (0)
|
||||
#define ATC_ECCFG_1_QRXLEVMIN_VAL_DEFAULT (0)
|
||||
|
||||
#define ATC_ECCFG_1_RESELTOWEAKNCELLOPT_VAL_MIN (0)
|
||||
#define ATC_ECCFG_1_RESELTOWEAKNCELLOPT_VAL_MAX (100)
|
||||
#define ATC_ECCFG_1_RESELTOWEAKNCELLOPT_VAL_DEFAULT (0)
|
||||
|
||||
#define ATC_ECCFG_1_ATTACHBEARERCID_VAL_MIN (1)
|
||||
#define ATC_ECCFG_1_ATTACHBEARERCID_VAL_MAX (15)
|
||||
#define ATC_ECCFG_1_ATTACHBEARERCID_VAL_DEFAULT (1)
|
||||
|
||||
#define ATC_ECCFG_1_TCPTPTOPT_VAL_MIN 0
|
||||
#define ATC_ECCFG_1_TCPTPTOPT_VAL_MAX 2
|
||||
#define ATC_ECCFG_1_TCPTPTOPT_VAL_DEFAULT (0)
|
||||
|
||||
#define ATC_ECCFG_1_ATTACH_WITH_IMSI_CONTROL_VAL_MIN (0)
|
||||
#define ATC_ECCFG_1_ATTACH_WITH_IMSI_CONTROL_VAL_MAX (2)
|
||||
#define ATC_ECCFG_1_ATTACH_WITH_IMSI_CONTROL_VAL_DEFAULT (1)
|
||||
|
||||
#define ATC_ECCFG_1_POWER_ATTACH_WITHOUT_EIA_VAL_MIN (0)
|
||||
#define ATC_ECCFG_1_POWER_ATTACH_WITHOUT_EIA_VAL_MAX (1)
|
||||
#define ATC_ECCFG_1_POWER_ATTACH_WITHOUT_EIA_VAL_DEFAULT (1)
|
||||
|
||||
|
||||
#define ATC_ECCFG_1_DATACOUNTER_VAL_MIN (0)
|
||||
#define ATC_ECCFG_1_DATACOUNTER_VAL_MAX (1)
|
||||
#define ATC_ECCFG_1_DATACOUNTER_VAL_DEFAULT (0)
|
||||
|
||||
#define ATC_ECCFG_1_UPDATE_LOCI_CTRL_VAL_MIN (0)
|
||||
#define ATC_ECCFG_1_UPDATE_LOCI_CTRL_VAL_MAX (1)
|
||||
#define ATC_ECCFG_1_UPDATE_LOCI_CTRL_VAL_DEFAULT (0)
|
||||
|
||||
#define ATC_ECCFG_1_ROAM_MODE_VAL_MIN (1)
|
||||
#define ATC_ECCFG_1_ROAM_MODE_VAL_MAX (255)
|
||||
#define ATC_ECCFG_1_ROAM_MODE_VAL_DEFAULT (2)
|
||||
#define ATC_ECCFG_2_ROAM_MODE_EFFECT_VAL_MIN (0)
|
||||
#define ATC_ECCFG_2_ROAM_MODE_EFFECT_VAL_MAX (1)
|
||||
#define ATC_ECCFG_2_ROAM_MODE_EFFECT_VAL_DEFAULT (1)
|
||||
|
||||
#define ATC_ECCFG_1_SAVE_PLMN_SEL_MODE_VAL_MIN (0)
|
||||
#define ATC_ECCFG_1_SAVE_PLMN_SEL_MODE_VAL_MAX (1)
|
||||
#define ATC_ECCFG_1_SAVE_PLMN_SEL_MODE_VAL_DEFAULT (1)
|
||||
|
||||
#define ATC_ECCFG_1_EMERGENCY_CAMP_VAL_MIN (0)
|
||||
#define ATC_ECCFG_1_EMERGENCY_CAMP_VAL_MAX (1)
|
||||
#define ATC_ECCFG_1_EMERGENCY_CAMP_VAL_DEFAULT (0)
|
||||
|
||||
#define ATC_ECCFG_1_ACL_VAL_MIN (0)
|
||||
#define ATC_ECCFG_1_ACL_VAL_MAX (1)
|
||||
#define ATC_ECCFG_1_ACL_VAL_DEF (0)
|
||||
|
||||
#define ATC_ECCFG_1_PDPREMAP_VAL_MIN (0)
|
||||
#define ATC_ECCFG_1_PDPREMAP_VAL_MAX (2)
|
||||
#define ATC_ECCFG_1_PDPREMAP_VAL_DEF (0)
|
||||
|
||||
#define ATC_ECCFG_1_PDPREACT_VAL_MIN (0)
|
||||
#define ATC_ECCFG_1_PDPREACT_VAL_MAX (1)
|
||||
#define ATC_ECCFG_1_PDPREACT_VAL_DEF (0)
|
||||
|
||||
#define ATC_ECCFG_1_UPDATE_FREQ_CTRL_VAL_MIN (0)
|
||||
#define ATC_ECCFG_1_UPDATE_FREQ_CTRL_VAL_MAX (1)
|
||||
#define ATC_ECCFG_1_UPDATE_FREQ_CTRL_VAL_DEF (0)
|
||||
|
||||
#define ATC_ECCFG_1_QUALITY_FIRST_VAL_MIN (0)
|
||||
#define ATC_ECCFG_1_QUALITY_FIRST_VAL_MAX (1)
|
||||
#define ATC_ECCFG_1_QUALITY_FIRST_VAL_DEFAULT (0)
|
||||
|
||||
#define ATC_ECCFG_1_STATIC_CONFIG_VAL_MIN (0)
|
||||
#define ATC_ECCFG_1_STATIC_CONFIG_VAL_MAX (1)
|
||||
#define ATC_ECCFG_1_STATIC_CONFIG_VAL_DEFAULT (0)
|
||||
|
||||
|
||||
#define ATEC_ECCFG_GET_RSP_STR_LEN 512
|
||||
|
||||
/* AT+ECSTATUS */
|
||||
#define ATC_ECSTATUS_0_MAX_PARM_STR_LEN 16
|
||||
#define ATC_ECSTATUS_0_MAX_PARM_STR_DEFAULT NULL
|
||||
|
||||
|
||||
/* AT+ECRMFPLMN */
|
||||
#define ATC_ECRMFPLMN_0_VAL_MIN 0
|
||||
#define ATC_ECRMFPLMN_0_VAL_MAX 2
|
||||
#define ATC_ECRMFPLMN_0_VAL_DEFAULT 0
|
||||
|
||||
/*AT+ECBCINFO*/
|
||||
#define ATC_ECBCINFO_0_VAL_MIN 0
|
||||
#define ATC_ECBCINFO_0_VAL_MAX 2
|
||||
#define ATC_ECBCINFO_0_VAL_DEFAULT 0
|
||||
|
||||
#define ATC_ECBCINFO_1_VAL_MIN 4
|
||||
#define ATC_ECBCINFO_1_VAL_MAX 300 /*timeout, MAX: 5 mins*/
|
||||
#define ATC_ECBCINFO_1_VAL_DEFAULT 8 /*default: 8s*/
|
||||
|
||||
#define ATC_ECBCINFO_2_VAL_MIN 0
|
||||
#define ATC_ECBCINFO_2_VAL_MAX 1 /*save_for_later*/
|
||||
#define ATC_ECBCINFO_2_VAL_DEFAULT 0 /*not need to save*/
|
||||
|
||||
#define ATC_ECBCINFO_3_VAL_MIN 1 /*max_cell_number*/
|
||||
#define ATC_ECBCINFO_3_VAL_MAX 7 /*max_cell_number, 1 serving cell + 6 neighber cell */
|
||||
#define ATC_ECBCINFO_3_VAL_DEFAULT 7
|
||||
|
||||
#define ATC_ECBCINFO_4_VAL_MIN 0 /*report mode, 0 - report in AT response */
|
||||
#define ATC_ECBCINFO_4_VAL_MAX 1 /*report mode, 1 - report in URC response */
|
||||
#define ATC_ECBCINFO_4_VAL_DEFAULT 0
|
||||
|
||||
|
||||
|
||||
/* AT+CMAR */
|
||||
#define ATC_CMAR_0_VAL_MIN 0
|
||||
#define ATC_CMAR_0_VAL_MAX 2
|
||||
#define ATC_CMAR_0_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CMOLR */
|
||||
#define ATC_CMOLR_0_ENABLE_VAL_MIN 0
|
||||
#define ATC_CMOLR_0_ENABLE_VAL_MAX 3
|
||||
#define ATC_CMOLR_0_ENABLE_VAL_DEFAULT 0
|
||||
#define ATC_CMOLR_1_METHOD_VAL_MIN 0
|
||||
#define ATC_CMOLR_1_METHOD_VAL_MAX 6
|
||||
#define ATC_CMOLR_1_METHOD_VAL_DEFAULT 0
|
||||
#define ATC_CMOLR_2_HORACCSET_VAL_MIN 0
|
||||
#define ATC_CMOLR_2_HORACCSET_VAL_MAX 1
|
||||
#define ATC_CMOLR_2_HORACCSET_VAL_DEFAULT 0
|
||||
#define ATC_CMOLR_3_HORACC_VAL_MIN 0
|
||||
#define ATC_CMOLR_3_HORACC_VAL_MAX 127
|
||||
#define ATC_CMOLR_3_HORACC_VAL_DEFAULT 0
|
||||
#define ATC_CMOLR_4_VERREQ_VAL_MIN 0
|
||||
#define ATC_CMOLR_4_VERREQ_VAL_MAX 1
|
||||
#define ATC_CMOLR_4_VERREQ_VAL_DEFAULT 0
|
||||
#define ATC_CMOLR_5_VERACCSET_VAL_MIN 0
|
||||
#define ATC_CMOLR_5_VERACCSET_VAL_MAX 1
|
||||
#define ATC_CMOLR_5_VERACCSET_VAL_DEFAULT 0
|
||||
#define ATC_CMOLR_6_VERACC_VAL_MIN 0
|
||||
#define ATC_CMOLR_6_VERACC_VAL_MAX 127
|
||||
#define ATC_CMOLR_6_VERACC_VAL_DEFAULT 0
|
||||
#define ATC_CMOLR_7_VELREQ_VAL_MIN 0
|
||||
#define ATC_CMOLR_7_VELREQ_VAL_MAX 4
|
||||
#define ATC_CMOLR_7_VELREQ_VAL_DEFAULT 0
|
||||
#define ATC_CMOLR_8_REQMODE_VAL_MIN 0
|
||||
#define ATC_CMOLR_8_REQMODE_VAL_MAX 1
|
||||
#define ATC_CMOLR_8_REQMODE_VAL_DEFAULT 0
|
||||
#define ATC_CMOLR_9_TIMEOUT_VAL_MIN 0
|
||||
#define ATC_CMOLR_9_TIMEOUT_VAL_MAX 65535
|
||||
#define ATC_CMOLR_9_TIMEOUT_VAL_DEFAULT 0
|
||||
#define ATC_CMOLR_10_INTERVAL_VAL_MIN 0
|
||||
#define ATC_CMOLR_10_INTERVAL_VAL_MAX 65535
|
||||
#define ATC_CMOLR_10_INTERVAL_VAL_DEFAULT 0
|
||||
#define ATC_CMOLR_11_SHAPEREQ_VAL_MIN 1
|
||||
#define ATC_CMOLR_11_SHAPEREQ_VAL_MAX 64
|
||||
#define ATC_CMOLR_11_SHAPEREQ_VAL_DEFAULT 0
|
||||
#define ATC_CMOLR_12_PLANE_VAL_MIN 0
|
||||
#define ATC_CMOLR_12_PLANE_VAL_MAX 1
|
||||
#define ATC_CMOLR_12_PLANE_VAL_DEFAULT 0
|
||||
#define ATC_CMOLR_13_NMEAREQ_STR_DEFAULT NULL
|
||||
#define ATC_CMOLR_13_NMEAREQ_STR_MAX_LEN 16
|
||||
#define ATC_CMOLR_14_THIRDPARTYADDR_STR_DEFAULT NULL
|
||||
#define ATC_CMOLR_14_THIRDPARTYADDR_STR_MAX_LEN 16
|
||||
|
||||
/* AT+CMTLR */
|
||||
#define ATC_CMTLR_0_VAL_MIN 0
|
||||
#define ATC_CMTLR_0_VAL_MAX 3
|
||||
#define ATC_CMTLR_0_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CMTLRA */
|
||||
#define ATC_CMTLRA_0_VAL_MIN 0
|
||||
#define ATC_CMTLRA_0_VAL_MAX 1
|
||||
#define ATC_CMTLRA_0_VAL_DEFAULT 0
|
||||
#define ATC_CMTLRA_1_VAL_MIN 0
|
||||
#define ATC_CMTLRA_1_VAL_MAX 255
|
||||
#define ATC_CMTLRA_1_VAL_DEFAULT 0
|
||||
|
||||
/*AT+ECSTATIS*/
|
||||
#define ATC_ESTATIS_0_VAL_MIN 0
|
||||
#define ATC_ESTATIS_0_VAL_MAX 600
|
||||
#define ATC_ESTATIS_0_VAL_DEFAULT 0
|
||||
|
||||
/*AT+ECCGSN*/
|
||||
#define ATC_ECCGSN_MAX_PARM_STR_LEN 8
|
||||
#define ATC_ECCGSN_MAX_PARM_STR_DEFAULT NULL
|
||||
|
||||
/* AT+ECPSTEST */
|
||||
#define ATC_ECPSTEST_VAL_MIN 0
|
||||
#define ATC_ECPSTEST_VAL_MAX 1
|
||||
#define ATC_ECPSTEST_VAL_DEFAULT 0
|
||||
|
||||
/* AT+ECPOWERCLASS */
|
||||
#define ATC_ECPOWERCLASS_1_VAL_MIN 0
|
||||
#define ATC_ECPOWERCLASS_1_VAL_MAX 85
|
||||
#define ATC_ECPOWERCLASS_1_VAL_DEFAULT 0
|
||||
|
||||
#define ATC_ECPOWERCLASS_2_VAL_MIN 3
|
||||
#define ATC_ECPOWERCLASS_2_VAL_MAX 6
|
||||
#define ATC_ECPOWERCLASS_2_VAL_DEFAULT 3
|
||||
|
||||
/* AT+ECEVENTSTATIS */
|
||||
#define ATC_ECEVENTSTATIS_1_VAL_MIN 0
|
||||
#define ATC_ECEVENTSTATIS_1_VAL_MAX 2
|
||||
#define ATC_ECEVENTSTATIS_1_VAL_DEFAULT 0
|
||||
|
||||
/* AT+ECNASTCFG */
|
||||
#define ATC_ECNASTCFG_0_VAL_MIN 0
|
||||
#define ATC_ECNASTCFG_0_VAL_MAX 2
|
||||
#define ATC_ECNASTCFG_0_VAL_DEF (ATC_ECNASTCFG_0_VAL_MIN)
|
||||
|
||||
#define ATC_ECNASTCFG_1_VAL_MIN 0
|
||||
#define ATC_ECNASTCFG_1_VAL_MAX 0xFFFFF
|
||||
#define ATC_ECNASTCFG_1_VAL_DEF 0
|
||||
|
||||
#define ATC_ECNASTCFG_2_VAL_MIN 0
|
||||
#define ATC_ECNASTCFG_2_VAL_MAX 255
|
||||
#define ATC_ECNASTCFG_2_VAL_DEF 0
|
||||
|
||||
/* AT+ECWIFISCAN */
|
||||
#define ATC_ECWIFISCAN_0_TIME_VAL_MIN 4000
|
||||
#define ATC_ECWIFISCAN_0_TIME_VAL_MAX 255000
|
||||
#define ATC_ECWIFISCAN_0_TIME_VAL_DEF 12000
|
||||
|
||||
#define ATC_ECWIFISCAN_1_ROUND_VAL_MIN 1
|
||||
#define ATC_ECWIFISCAN_1_ROUND_VAL_MAX 3
|
||||
#define ATC_ECWIFISCAN_1_ROUND_VAL_DEF 1
|
||||
|
||||
#define ATC_ECWIFISCAN_2_MAXBSSIDNUM_VAL_MIN 4
|
||||
#define ATC_ECWIFISCAN_2_MAXBSSIDNUM_VAL_MAX 10
|
||||
#define ATC_ECWIFISCAN_2_MAXBSSIDNUM_VAL_DEF 5
|
||||
|
||||
#define ATC_ECWIFISCAN_3_SCANTIMEOUT_VAL_MIN 1
|
||||
#define ATC_ECWIFISCAN_3_SCANTIMEOUT_VAL_MAX 255
|
||||
#define ATC_ECWIFISCAN_3_SCANTIMEOUT_VAL_DEF 5
|
||||
|
||||
#define ATC_ECWIFISCAN_4_PRIORITY_VAL_MIN 0 //data preferred
|
||||
#define ATC_ECWIFISCAN_4_PRIORITY_VAL_MAX 1 //wifiscan preferred
|
||||
#define ATC_ECWIFISCAN_4_PRIORITY_VAL_DEF 0
|
||||
|
||||
|
||||
CmsRetId devCFUN(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId devECBAND(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId devECFREQ(const AtCmdInputContext *pAtCmdReq);
|
||||
//CmsRetId devCGSN(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId devECCGSN(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId devECCGSNLOCK(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId devECCFG(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId devECRMFPLMN(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId devCMAR(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId devCMOLR(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId devCMTLR(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId devCMTLRA(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId devECSTATUS(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId devECSTATIS(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId devECBCINFO(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId devECWIFISCAN(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId devECPSTEST(const AtCmdInputContext *pAtCmdReq);
|
||||
//CmsRetId devECPOWERCLASS(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId devECEVENTSTATIS(const AtCmdInputContext *pAtCmdReq);
|
||||
//extern void atCmdResetSystem(uint8_t atCid, uint32_t delayMs);
|
||||
|
||||
|
||||
CmsRetId devECNASTCFG(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,167 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_general.h
|
||||
*
|
||||
* Description:
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef __ATEC_PLAT_H__
|
||||
#define __ATEC_PLAT_H__
|
||||
|
||||
|
||||
#include <stdint.h>
|
||||
#include "at_util.h"
|
||||
|
||||
#include DEBUG_LOG_HEADER_FILE
|
||||
#include "debug_trace.h"
|
||||
|
||||
/* ATE */
|
||||
#define ATC_E_0_VAL_MIN 0
|
||||
#define ATC_E_0_VAL_MAX 1
|
||||
#define ATC_E_0_VAL_DEFAULT 0
|
||||
|
||||
/* ATQ */
|
||||
#define ATC_Q_0_VAL_MIN 0
|
||||
#define ATC_Q_0_VAL_MAX 1
|
||||
#define ATC_Q_0_VAL_DEFAULT 0
|
||||
|
||||
/* ATV */
|
||||
#define ATC_V_0_VAL_MIN 1
|
||||
#define ATC_V_0_VAL_MAX 1
|
||||
#define ATC_V_0_VAL_DEFAULT 1
|
||||
|
||||
/* ATL */
|
||||
#define ATC_L_0_VAL_MIN 0
|
||||
#define ATC_L_0_VAL_MAX 3
|
||||
#define ATC_L_0_VAL_DEFAULT 0
|
||||
|
||||
/* ATM */
|
||||
#define ATC_M_0_VAL_MIN 0
|
||||
#define ATC_M_0_VAL_MAX 2
|
||||
#define ATC_M_0_VAL_DEFAULT 0
|
||||
|
||||
/* ATS0 */
|
||||
#define ATC_S0_0_VAL_MIN 0
|
||||
#define ATC_S0_0_VAL_MAX 255
|
||||
#define ATC_S0_0_VAL_DEFAULT 0
|
||||
|
||||
/* AT&C */
|
||||
#define ATC_AND_C_0_VAL_MIN 0
|
||||
#define ATC_AND_C_0_VAL_MAX 1
|
||||
#define ATC_AND_C_0_VAL_DEFAULT 1
|
||||
|
||||
/* AT&D */
|
||||
#define ATC_AND_D_0_VAL_MIN 0
|
||||
#define ATC_AND_D_0_VAL_MAX 2
|
||||
#define ATC_AND_D_0_VAL_DEFAULT 2
|
||||
|
||||
|
||||
/* ATD */
|
||||
#define ATC_D_ALL_STR_MAX_LEN 64
|
||||
#define ATC_D_GPRS_SC_STR_MAX_LEN 2
|
||||
#define ATC_D_CALLED_ADDR_STR_MAX_LEN 15
|
||||
#define ATC_D_L2P_STR_MAX_LEN 3
|
||||
#define ATC_D_CID_STR_MAX_LEN 2
|
||||
#define ATC_D_STR_DEFAULT NULL
|
||||
|
||||
/* ATO */
|
||||
#define ATC_O_0_VAL_MIN 0
|
||||
#define ATC_O_0_VAL_MAX 0
|
||||
#define ATC_O_0_VAL_DEFAULT 0
|
||||
|
||||
/* ATH */
|
||||
#define ATC_H_0_VAL_MIN 0
|
||||
#define ATC_H_0_VAL_MAX 0
|
||||
#define ATC_H_0_VAL_DEFAULT 0
|
||||
|
||||
|
||||
/* AT+CGMI */
|
||||
#define ATC_CGMI_0_VAL_MIN 0
|
||||
#define ATC_CGMI_0_VAL_MAX 2
|
||||
#define ATC_CGMI_0_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CGMM */
|
||||
#define ATC_CGMM_0_VAL_MIN 0
|
||||
#define ATC_CGMM_0_VAL_MAX 2
|
||||
#define ATC_CGMM_0_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CSCS */
|
||||
#define ATC_CSCS_0_VAL_MIN 0
|
||||
#define ATC_CSCS_0_VAL_MAX 2
|
||||
#define ATC_CSCS_0_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CMUX */
|
||||
#define ATC_CMUX_0_VAL_MIN 0
|
||||
#define ATC_CMUX_0_VAL_MAX 2
|
||||
#define ATC_CMUX_0_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CMEE */
|
||||
#define ATC_CMEE_0_VAL_MIN 0
|
||||
#define ATC_CMEE_0_VAL_MAX 2
|
||||
#define ATC_CMEE_0_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CSCS */
|
||||
#define ATC_CSCS_0_STR_MAX_LEN 10
|
||||
#define ATC_CSCS_0_STR_DEFAULT NULL
|
||||
|
||||
/* AT+ECURC */
|
||||
#define ATC_ECURC_0_MAX_PARM_STR_LEN 16
|
||||
#define ATC_ECURC_0_MAX_PARM_STR_DEFAULT NULL
|
||||
#define ATC_ECURC_1_VAL_MIN 0
|
||||
#define ATC_ECURC_1_VAL_MAX 1
|
||||
#define ATC_ECURC_1_VAL_DEFAULT 0
|
||||
#define ATC_ECURC_GET_RSP_STR_LEN 128
|
||||
|
||||
/* AT+ECURCCFG */
|
||||
#define ATC_ECURCCFG_0_MAX_PARM_STR_LEN 32
|
||||
#define ATC_ECURCCFG_0_MAX_PARM_STR_DEFAULT NULL
|
||||
#define ATC_ECURCCFG_1_TYPE_VAL_MIN 0
|
||||
#define ATC_ECURCCFG_1_TYPE_VAL_MAX 1
|
||||
#define ATC_ECURCCFG_1_TYPE_VAL_DEFAULT 1
|
||||
#define ATC_ECURCCFG_1_DELAY_VAL_MIN 0
|
||||
#define ATC_ECURCCFG_1_DELAY_VAL_MAX 10000
|
||||
#define ATC_ECURCCFG_1_DELAY_VAL_DEFAULT 0
|
||||
#define ATC_ECURCCFG_1_CACHE_VAL_MIN 0
|
||||
#define ATC_ECURCCFG_1_CACHE_VAL_MAX 1
|
||||
#define ATC_ECURCCFG_1_CACHE_VAL_DEFAULT 0
|
||||
#define ATC_ECURCCFG_2_PULSE_DURATION_VAL_MIN 1
|
||||
#define ATC_ECURCCFG_2_PULSE_DURATION_VAL_MAX 2000
|
||||
#define ATC_ECURCCFG_2_PULSE_DURATION_VAL_DEFAULT 120
|
||||
#define ATC_ECURCCFG_3_PULSE_COUNT_VAL_MIN 1
|
||||
#define ATC_ECURCCFG_3_PULSE_COUNT_VAL_MAX 5
|
||||
#define ATC_ECURCCFG_3_PULSE_COUNT_VAL_DEFAULT 1
|
||||
|
||||
|
||||
CmsRetId gcAT(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId gcATE(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId gcATQ(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId gcATT(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId gcATV(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId gcATL(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId gcATM(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId gcATS0(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId gcCGMI(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId gcCGMM(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId gcCSCS(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId gcCMUX(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId gcCMEE(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId gcATANDC(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId gcATANDD(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId gcECURC(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId gcECURCCFG(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId gcATD(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId gcATO(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId gcATH(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
#endif
|
||||
|
||||
/* END OF FILE */
|
||||
@@ -0,0 +1,257 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_mm.h
|
||||
*
|
||||
* Description: Macro definition for network service related AT commands
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
#ifndef _ATEC_MM_H
|
||||
#define _ATEC_MM_H
|
||||
|
||||
/* AT+CREG */
|
||||
#define ATC_CREG_0_VAL_MIN 0
|
||||
#define ATC_CREG_0_VAL_MAX 3
|
||||
#define ATC_CREG_0_VAL_DEFAULT 0
|
||||
|
||||
|
||||
/* AT+CSQ */
|
||||
#define ATC_CSQ_0_VAL_MIN 0
|
||||
#define ATC_CSQ_0_VAL_MAX 2
|
||||
#define ATC_CSQ_0_VAL_DEFAULT 0
|
||||
|
||||
/* AT+COPS */
|
||||
#define ATC_COPS_0_MODE_VAL_MIN 0
|
||||
#define ATC_COPS_0_MODE_VAL_MAX 4
|
||||
#define ATC_COPS_0_MODE_VAL_DEFAULT 0 /* auto */
|
||||
#define ATC_COPS_1_FORMAT_VAL_MIN 0
|
||||
#define ATC_COPS_1_FORMAT_VAL_MAX 2
|
||||
#define ATC_COPS_1_FORMAT_VAL_DEFAULT 3 /* invalid */
|
||||
#define ATC_COPS_2_OPER_STR_DEFAULT NULL
|
||||
#define ATC_COPS_2_OPER_STR_MAX_LEN 16
|
||||
#define ATC_COPS_3_ACT_VAL_MIN 7
|
||||
#define ATC_COPS_3_ACT_VAL_MAX 7
|
||||
#define ATC_COPS_3_ACT_VAL_DEFAULT 7 /* E-UTRAN */
|
||||
#define ATC_COPS_GUARD_TIMER 60 /* second */
|
||||
|
||||
/* save parameters for Manual PLMN select: AT+COPS=<mode>,<format>,<plmnName>,<act> */
|
||||
typedef struct AtcCopsManulSelectInfo_Tag
|
||||
{
|
||||
UINT8 mode;
|
||||
UINT8 format;
|
||||
UINT8 act;
|
||||
UINT8 plmnName[ATC_COPS_2_OPER_STR_MAX_LEN + CMS_NULL_CHAR_LEN];
|
||||
}AtcCopsManulSelectInfo;
|
||||
|
||||
typedef struct AtcCopsInfo_Tag
|
||||
{
|
||||
UINT8 plmnNum;
|
||||
BOOL bPendingManulPlmnSelect;
|
||||
AtcCopsManulSelectInfo manulSelectInfo;
|
||||
CmiNumericPlmn *plmnList;
|
||||
}AtcCopsInfo;
|
||||
|
||||
/* AT+CESQ */
|
||||
#define ATC_CESQ_0_VAL_MIN 0
|
||||
#define ATC_CESQ_0_VAL_MAX 2
|
||||
#define ATC_CESQ_0_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CPSMS */
|
||||
#define ATC_CPSMS_0_MODE_VAL_MIN 0
|
||||
#define ATC_CPSMS_0_MODE_VAL_MAX 2
|
||||
#define ATC_CPSMS_0_MODE_VAL_DEFAULT 0
|
||||
#define ATC_CPSMS_1_PRAU_STR_DEFAULT NULL
|
||||
#define ATC_CPSMS_1_PRAU_STR_MAX_LEN 8
|
||||
#define ATC_CPSMS_2_GPRS_STR_DEFAULT NULL
|
||||
#define ATC_CPSMS_2_GPRS_STR_MAX_LEN 8
|
||||
#define ATC_CPSMS_3_PTAU_STR_DEFAULT "00110100" /* default 20 hours */
|
||||
#define ATC_CPSMS_3_PTAU_STR_MAX_LEN 8
|
||||
#define ATC_CPSMS_4_ACT_STR_DEFAULT "00100101" /* default 5 minutes */
|
||||
#define ATC_CPSMS_4_ACT_STR_MAX_LEN 8
|
||||
|
||||
/* AT+CEDRXS */
|
||||
#define ATC_CEDRXS_0_MODE_VAL_MIN 0
|
||||
#define ATC_CEDRXS_0_MODE_VAL_MAX 3
|
||||
#define ATC_CEDRXS_0_MODE_VAL_DEFAULT 0
|
||||
#define ATC_CEDRXS_1_VAL_MIN 0
|
||||
#define ATC_CEDRXS_1_VAL_MAX 4
|
||||
#define ATC_CEDRXS_1_VAL_DEFAULT 4
|
||||
#define ATC_CEDRXS_2_STR_DEFAULT NULL
|
||||
#define ATC_CEDRXS_2_STR_MAX_LEN 4
|
||||
|
||||
/* AT+CEDRXRDP */
|
||||
#define ATC_CEDRXRDP_0_VAL_MIN 0
|
||||
#define ATC_CEDRXRDP_0_VAL_MAX 2
|
||||
#define ATC_CEDRXRDP_0_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CCIOTOPT */
|
||||
#define ATC_CCIOTOPT_0_VAL_MIN 0
|
||||
#define ATC_CCIOTOPT_0_VAL_MAX 3
|
||||
#define ATC_CCIOTOPT_0_VAL_DEFAULT 7 //CMI_MM_CIOT_OPT_RPT_MODE_NOT_PRESENT
|
||||
#define ATC_CCIOTOPT_1_VAL_MIN 0 /* 0 - NO OPT, 1- CP, 2 - UP, 3-UP&CP */
|
||||
#define ATC_CCIOTOPT_1_VAL_MAX 3
|
||||
#define ATC_CCIOTOPT_1_VAL_DEFAULT 0
|
||||
#define ATC_CCIOTOPT_2_VAL_MIN 0
|
||||
#define ATC_CCIOTOPT_2_VAL_MAX 2
|
||||
#define ATC_CCIOTOPT_2_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CCLK */
|
||||
#define ATC_CCLK_0_STR_DEFAULT NULL
|
||||
#define ATC_CCLK_0_STR_MAX_LEN 32
|
||||
|
||||
/* AT+CTZR */
|
||||
#define ATC_CTZR_0_VAL_MIN 0
|
||||
#define ATC_CTZR_0_VAL_MAX 3
|
||||
#define ATC_CTZR_0_VAL_DEFAULT 0
|
||||
|
||||
/*
|
||||
* 0 disable time zone change event reporting.
|
||||
* 1 Enable time zone change event reporting by unsolicited result code +CTZV: <tz>.
|
||||
* 2 Enable extended time zone and local time reporting by unsolicited result code
|
||||
* +CTZE: <tz>,<dst>,[<time>].
|
||||
* 3 Enable extended time zone and universal time reporting by unsolicited result code
|
||||
* +CTZEU: <tz>,<dst>,[<utime>].
|
||||
*/
|
||||
typedef enum AtcCTZRRptValue_Enum
|
||||
{
|
||||
ATC_CTZR_DISABLE_RPT = 0,
|
||||
ATC_CTZR_RPT_TZ,
|
||||
ATC_CTZR_RPT_LOCAL_TIME,
|
||||
ATC_CTZR_RPT_UTC_TIME
|
||||
}AtcCTZRRptValue;
|
||||
|
||||
/* AT+CTZU */
|
||||
#define ATC_CTZU_0_VAL_MIN 0
|
||||
#define ATC_CTZU_0_VAL_MAX 1
|
||||
#define ATC_CTZU_0_VAL_DEFAULT 0
|
||||
|
||||
/*
|
||||
* <onoff>: integer type value indicating
|
||||
* 0 Disable automatic time zone update via NITZ.
|
||||
* 1 Enable automatic time zone update via NITZ.
|
||||
*/
|
||||
typedef enum AtcCTZUUpdateValue_Enum
|
||||
{
|
||||
ATC_CTZU_DISABLE_UPDATE_TZ_VIA_NITZ = 0,
|
||||
ATC_CTZU_ENABLE_UPDATE_TZ_VIA_NITZ
|
||||
}AtcCTZUUpdateValue;
|
||||
|
||||
/*AT+ECCESQ*/
|
||||
#define ATC_ECCESQ_0_VAL_MIN 0
|
||||
#define ATC_ECCESQ_0_VAL_MAX 2
|
||||
#define ATC_ECCESQ_0_VAL_DEFAULT 0
|
||||
|
||||
/*
|
||||
* AT+ECCESQ=<n>
|
||||
* <n>, report level
|
||||
* 0: disable URC (unsolicited result code)
|
||||
* 1: report, +CESQ: <rxlev>,<ber>,<rscp>,<ecno>,<rsrq>,<rsrp>, as 27.007
|
||||
* 2: report, +ECCESQ: RSRP,<rsrp>,RSRQ,<rsrq>,SNR,<snr>
|
||||
*/
|
||||
typedef enum AtcECCESQRptValue_Enum
|
||||
{
|
||||
ATC_ECCESQ_DISABLE_RPT = 0,
|
||||
ATC_ECCESQ_RPT_CESQ,
|
||||
ATC_ECCESQ_RPT_ECCESQ
|
||||
}AtcECCESQRptValue;
|
||||
|
||||
|
||||
/*AT+ECPSMR*/
|
||||
#define ATC_ECPSMR_0_VAL_MIN 0
|
||||
#define ATC_ECPSMR_0_VAL_MAX 1
|
||||
#define ATC_ECPSMR_0_VAL_DEFAULT 0
|
||||
|
||||
/*
|
||||
* AT+ECPSMR=<n>
|
||||
* <n>, bitmap of report level
|
||||
* bit[0]: 1 enable unsolicited result code +ECPSMR
|
||||
* 0 disable unsolicited result code
|
||||
*/
|
||||
typedef enum AtcECPSMRValue_Enum
|
||||
{
|
||||
ATC_ECPSMR_DISABLE = 0,
|
||||
ATC_ECPSMR_ENABLE,
|
||||
}AtcECPSMRValue;
|
||||
|
||||
/*
|
||||
* AT+ECPTWEDRXS=2,XX,XX
|
||||
* <n>, bitmap of report level
|
||||
* bit[0]: 1 enable unsolicited result code +ECPTWEDRXP
|
||||
* 0 disable unsolicited result code
|
||||
*/
|
||||
typedef enum AtcECPTWEDRXSValue_Enum
|
||||
{
|
||||
ATC_ECPTWEDRXS_DISABLE = 0,
|
||||
ATC_ECPTWEDRXS_ENABLE
|
||||
}AtcNPTWEDRXSValue;
|
||||
|
||||
|
||||
/*AT+ECEMMTIME*/
|
||||
#define ATC_ECEMMTIME_0_VAL_MIN 0
|
||||
#define ATC_ECEMMTIME_0_VAL_MAX 7
|
||||
#define ATC_ECEMMTIME_VAL_DEFAULT 0
|
||||
|
||||
/*
|
||||
* AT+ECEMMTIME=<n>
|
||||
* <n>, bitmap of report level
|
||||
* bit[0]: 1 enable unsolicited result code T3346
|
||||
* 0 disable unsolicited result code T3346
|
||||
* bit[1]: 1 enable unsolicited result code T3448
|
||||
* 0 disable unsolicited result code T3448
|
||||
* bit[2]: 1 enable unsolicited result code T3412&extT3412
|
||||
* 0 disable unsolicited result code T3412&extT3412
|
||||
*/
|
||||
#define ATC_ECEMMTIME_T3346_BIT_OFFSET 0
|
||||
#define ATC_ECEMMTIME_T3448_BIT_OFFSET 1
|
||||
#define ATC_ECEMMTIME_T3412_BIT_OFFSET 2
|
||||
|
||||
|
||||
|
||||
/* AT+ECPTWEDRXS */
|
||||
#define ATC_ECPTWEDRXS_0_MODE_VAL_MIN 0
|
||||
#define ATC_ECPTWEDRXS_0_MODE_VAL_MAX 3
|
||||
#define ATC_ECPTWEDRXS_0_MODE_VAL_DEFAULT 0
|
||||
#define ATC_ECPTWEDRXS_1_VAL_MIN 0
|
||||
#define ATC_ECPTWEDRXS_1_VAL_MAX 5
|
||||
#define ATC_ECPTWEDRXS_1_VAL_DEFAULT 4
|
||||
#define ATC_ECPTWEDRXS_2_STR_DEFAULT NULL
|
||||
#define ATC_ECPTWEDRXS_2_STR_MAX_LEN 4
|
||||
#define ATC_ECPTWEDRXS_3_STR_DEFAULT NULL
|
||||
#define ATC_ECPTWEDRXS_3_STR_MAX_LEN 4
|
||||
|
||||
|
||||
|
||||
|
||||
CmsRetId mmCREG(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId mmCOPS(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId mmCSQ(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId mmCESQ(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId mmCPSMS(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId mmCEDRXS(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId mmCEDRXRDP(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId mmCCIOTOPT(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId mmCCIOTOPTI(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId mmCRCES(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId mmCCLK(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId mmCTZR(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId mmCTZU(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId mmECPLMNS(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId mmECCESQS(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId mmECPSMR(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId mmECPTWEDRXS(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId mmECEMMTIME(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId mmECPLMNRESELECT(const AtCmdInputContext *pAtCmdReq);
|
||||
AtcCopsInfo *mmGetCopsInfo(void);
|
||||
CmsRetId mmGetPlmnNumericStr(UINT8 plmnFormat, UINT8 *plmnName, UINT8 *plmnNumericStr);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename:
|
||||
*
|
||||
* Description:
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef _ATEC_PHY_H
|
||||
#define _ATEC_PHY_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include "at_util.h"
|
||||
|
||||
#include DEBUG_LOG_HEADER_FILE
|
||||
#include "debug_trace.h"
|
||||
|
||||
/* AT^PHYDEBUG */
|
||||
#define ATC_PHYDBG_0_STR_DEFAULT NULL
|
||||
#define ATC_PHYDBG_0_STR_MAX_LEN 16
|
||||
#define ATC_PHYDBG_1_VAL_MIN 0
|
||||
#define ATC_PHYDBG_1_VAL_MAX 2
|
||||
#define ATC_PHYDBG_1_VAL_DEFAULT 0
|
||||
#define ATC_PHYDBG_2_VAL_MIN -70
|
||||
#define ATC_PHYDBG_2_VAL_MAX 23
|
||||
#define ATC_PHYDBG_2_VAL_DEFAULT 0
|
||||
#define ATC_PHYDBG_3_VAL_MIN -70
|
||||
#define ATC_PHYDBG_3_VAL_MAX 23
|
||||
#define ATC_PHYDBG_3_VAL_DEFAULT 0
|
||||
#define ATC_PHYDBG_VAL_MIN 0
|
||||
#define ATC_PHYDBG_VAL_MAX 255
|
||||
#define ATC_PHYDBG_VAL_DEFAULT 0x7f
|
||||
|
||||
|
||||
CmsRetId phyECPHYCFG(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
#endif
|
||||
|
||||
/* END OF FILE */
|
||||
@@ -0,0 +1,375 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_ps.h
|
||||
*
|
||||
* Description: Macro definition for packet switched service related AT commands
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef _ATEC_PS_H
|
||||
#define _ATEC_PS_H
|
||||
|
||||
#define ATC_CID_VAL_MIN 1
|
||||
#define ATC_CID_VAL_MAX 15
|
||||
#define ATC_CID_VAL_DEFAULT 1
|
||||
|
||||
|
||||
/* AT+CGCMOD */
|
||||
#define ATC_CGCMOD_0_CID_VAL_MIN ATC_CID_VAL_MIN
|
||||
#define ATC_CGCMOD_0_CID_VAL_MAX ATC_CID_VAL_MAX
|
||||
#define ATC_CGCMOD_0_CID_VAL_DEFAULT ATC_CID_VAL_DEFAULT
|
||||
|
||||
/* AT+CGREG */
|
||||
#define ATC_CGREG_0_VAL_MIN 0
|
||||
#define ATC_CGREG_0_VAL_MAX 2
|
||||
#define ATC_CGREG_0_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CGATT */
|
||||
#define ATC_CGATT_0_STATE_VAL_MIN 0
|
||||
#define ATC_CGATT_0_STATE_VAL_MAX 1
|
||||
#define ATC_CGATT_0_STATE_VAL_DEFAULT 1 /* attached */
|
||||
|
||||
/* AT+CGACT */
|
||||
#define ATC_CGACT_0_STATE_VAL_MIN 0
|
||||
#define ATC_CGACT_0_STATE_VAL_MAX 1
|
||||
#define ATC_CGACT_0_STATE_VAL_DEFAULT 1 /* activated */
|
||||
#define ATC_CGACT_1_CID_VAL_MIN ATC_CID_VAL_MIN
|
||||
#define ATC_CGACT_1_CID_VAL_MAX ATC_CID_VAL_MAX
|
||||
#define ATC_CGACT_1_CID_VAL_DEFAULT ATC_CID_VAL_DEFAULT
|
||||
|
||||
/* AT+CGDATA */
|
||||
#define ATC_CGDATA_0_L2P_STR_DEFAULT "M-PT"
|
||||
#define ATC_CGDATA_0_L2P_STR_MAX_LEN 16
|
||||
#define ATC_CGDATA_1_CID_VAL_MIN ATC_CID_VAL_MIN
|
||||
#define ATC_CGDATA_1_CID_VAL_MAX ATC_CID_VAL_MAX
|
||||
#define ATC_CGDATA_1_CID_VAL_DEFAULT ATC_CID_VAL_DEFAULT
|
||||
|
||||
/* AT+CGDCONT */
|
||||
#define ATC_CGDCONT_0_CID_VAL_MIN ATC_CID_VAL_MIN
|
||||
#define ATC_CGDCONT_0_CID_VAL_MAX ATC_CID_VAL_MAX
|
||||
#define ATC_CGDCONT_0_CID_VAL_DEFAULT ATC_CID_VAL_DEFAULT
|
||||
#define ATC_CGDCONT_1_PDPTYPE_STR_DEFAULT "IP"
|
||||
#define ATC_CGDCONT_2_APN_STR_DEFAULT NULL
|
||||
#define ATC_CGDCONT_2_APN_STR_MAX_LEN 99 /* readable APN should limited in 99 bytes, as encoded APN max: 100 bytes */
|
||||
#define ATC_CGDCONT_6_IPV4ADDRALLOC_VAL_MIN 0
|
||||
#define ATC_CGDCONT_6_IPV4ADDRALLOC_VAL_MAX 0
|
||||
#define ATC_CGDCONT_6_IPV4ADDRALLOC_VAL_DEFAULT 0
|
||||
#define ATC_CGDCONT_7_PARA_VAL_MIN 0
|
||||
#define ATC_CGDCONT_7_PARA_VAL_MAX 2
|
||||
#define ATC_CGDCONT_7_PARA_VAL_DEFAULT 0
|
||||
#define ATC_CGDCONT_8_PARA_VAL_MIN 0
|
||||
#define ATC_CGDCONT_8_PARA_VAL_MAX 0
|
||||
#define ATC_CGDCONT_8_PARA_VAL_DEFAULT 0
|
||||
#define ATC_CGDCONT_9_PARA_VAL_MIN 0
|
||||
#define ATC_CGDCONT_9_PARA_VAL_MAX 0
|
||||
#define ATC_CGDCONT_9_PARA_VAL_DEFAULT 0
|
||||
#define ATC_CGDCONT_10_PARA_VAL_MIN 0
|
||||
#define ATC_CGDCONT_10_PARA_VAL_MAX 1
|
||||
#define ATC_CGDCONT_10_PARA_VAL_DEFAULT 0
|
||||
#define ATC_CGDCONT_11_PARA_VAL_MIN 0
|
||||
#define ATC_CGDCONT_11_PARA_VAL_MAX 1
|
||||
#define ATC_CGDCONT_11_PARA_VAL_DEFAULT 0
|
||||
#define ATC_CGDCONT_12_PARA_VAL_MIN 0
|
||||
#define ATC_CGDCONT_12_PARA_VAL_MAX 1
|
||||
#define ATC_CGDCONT_12_PARA_VAL_DEFAULT 0
|
||||
#define ATC_CGDCONT_13_PARA_VAL_MIN 0
|
||||
#define ATC_CGDCONT_13_PARA_VAL_MAX 1
|
||||
#define ATC_CGDCONT_13_PARA_VAL_DEFAULT 0
|
||||
#define ATC_CGDCONT_14_PARA_VAL_MIN 0
|
||||
#define ATC_CGDCONT_14_PARA_VAL_MAX 1
|
||||
#define ATC_CGDCONT_14_PARA_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CGDSCONT */
|
||||
#define ATC_CGDSCONT_0_CID_MIN ATC_CID_VAL_MIN
|
||||
#define ATC_CGDSCONT_0_CID_MAX ATC_CID_VAL_MAX
|
||||
#define ATC_CGDSCONT_0_CID_DEFAULT ATC_CID_VAL_DEFAULT
|
||||
#define ATC_CGDSCONT_1_PRIM_CID_MIN ATC_CID_VAL_MIN
|
||||
#define ATC_CGDSCONT_1_PRIM_CID_MAX ATC_CID_VAL_MAX
|
||||
#define ATC_CGDSCONT_1_PRIM_CID_DEFAULT ATC_CID_VAL_DEFAULT
|
||||
#define ATC_CGDSCONT_2_PRIM_DCOMP_MIN 0
|
||||
#define ATC_CGDSCONT_2_PRIM_DCOMP_MAX 3
|
||||
#define ATC_CGDSCONT_2_PRIM_DCOMP_DEFAULT 0
|
||||
#define ATC_CGDSCONT_3_PRIM_HCOMP_MIN 0
|
||||
#define ATC_CGDSCONT_3_PRIM_HCOMP_MAX 4
|
||||
#define ATC_CGDSCONT_3_PRIM_HCOMP_DEFAULT 0
|
||||
#define ATC_CGDSCONT_4_PRIM_IMS_SIG_IND_MIN 0
|
||||
#define ATC_CGDSCONT_4_PRIM_IMS_SIG_IND_MAX 1
|
||||
#define ATC_CGDSCONT_4_PRIM_IMS_SIG_IND_DEFAULT 0
|
||||
|
||||
|
||||
/* AT+CGEQOS */
|
||||
#define ATC_CGEQOS_0_CID_VAL_MIN ATC_CID_VAL_MIN
|
||||
#define ATC_CGEQOS_0_CID_VAL_MAX ATC_CID_VAL_MAX
|
||||
#define ATC_CGEQOS_0_CID_VAL_DEFAULT ATC_CID_VAL_DEFAULT
|
||||
#define ATC_CGEQOS_1_QCI_VAL_MIN 0
|
||||
#define ATC_CGEQOS_1_QCI_VAL_MAX 79
|
||||
#define ATC_CGEQOS_1_QCI_VAL_DEFAULT 0
|
||||
#define ATC_CGEQOS_2_DLGBR_VAL_MIN 0
|
||||
#define ATC_CGEQOS_2_DLGBR_VAL_MAX 256000
|
||||
#define ATC_CGEQOS_2_DLGBR_VAL_DEFAULT 0
|
||||
#define ATC_CGEQOS_3_ULGBR_VAL_MIN 0
|
||||
#define ATC_CGEQOS_3_ULGBR_VAL_MAX 256000
|
||||
#define ATC_CGEQOS_3_ULGBR_VAL_DEFAULT 0
|
||||
#define ATC_CGEQOS_4_DLMBR_VAL_MIN 0
|
||||
#define ATC_CGEQOS_4_DLMBR_VAL_MAX 256000
|
||||
#define ATC_CGEQOS_4_DLMBR_VAL_DEFAULT 0
|
||||
#define ATC_CGEQOS_5_ULMBR_VAL_MIN 0
|
||||
#define ATC_CGEQOS_5_ULMBR_VAL_MAX 256000
|
||||
#define ATC_CGEQOS_5_ULMBR_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CGEQOSRDP */
|
||||
#define ATC_CGEQOSRDP_0_CID_VAL_MIN ATC_CID_VAL_MIN
|
||||
#define ATC_CGEQOSRDP_0_CID_VAL_MAX ATC_CID_VAL_MAX
|
||||
#define ATC_CGEQOSRDP_0_CID_VAL_DEFAULT ATC_CID_VAL_DEFAULT
|
||||
|
||||
/* AT+CGCONTRDP */
|
||||
#define ATC_CGCONTRDP_0_CID_VAL_MIN ATC_CID_VAL_MIN
|
||||
#define ATC_CGCONTRDP_0_CID_VAL_MAX ATC_CID_VAL_MAX
|
||||
#define ATC_CGCONTRDP_0_CID_VAL_DEFAULT ATC_CID_VAL_DEFAULT
|
||||
|
||||
/* AT+CGSCONTRDP */
|
||||
#define ATC_CGSCONTRDP_0_CID_VAL_MIN ATC_CID_VAL_MIN
|
||||
#define ATC_CGSCONTRDP_0_CID_VAL_MAX ATC_CID_VAL_MAX
|
||||
#define ATC_CGSCONTRDP_0_CID_VAL_DEFAULT ATC_CID_VAL_DEFAULT
|
||||
|
||||
|
||||
/* AT+CEREG */
|
||||
#define ATC_CEREG_0_VAL_MIN 0
|
||||
#define ATC_CEREG_0_VAL_MAX 5
|
||||
#define ATC_CEREG_0_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CSCON */
|
||||
#define ATC_CSCON_0_VAL_MIN 0
|
||||
#define ATC_CSCON_0_VAL_MAX 2
|
||||
#define ATC_CSCON_0_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CGTFT */
|
||||
#define ATC_CGTFT_0_CID_VAL_MIN ATC_CID_VAL_MIN
|
||||
#define ATC_CGTFT_0_CID_VAL_MAX ATC_CID_VAL_MAX
|
||||
#define ATC_CGTFT_0_CID_VAL_DEFAULT ATC_CID_VAL_DEFAULT
|
||||
#define ATC_CGTFT_1_PF_ID_VAL_MIN 1
|
||||
#define ATC_CGTFT_1_PF_ID_VAL_MAX 16
|
||||
#define ATC_CGTFT_1_PF_ID_VAL_DEFAULT 1
|
||||
#define ATC_CGTFT_2_EP_INDEX_VAL_MIN 0
|
||||
#define ATC_CGTFT_2_EP_INDEX_VAL_MAX 255
|
||||
#define ATC_CGTFT_2_EP_INDEX_VAL_DEFAULT 0
|
||||
#define ATC_CGTFT_4_PROTO_ID_VAL_MIN 0
|
||||
#define ATC_CGTFT_4_PROTO_ID_VAL_MAX 255
|
||||
#define ATC_CGTFT_4_PROTO_ID_VAL_DEFAULT 0
|
||||
#define ATC_CGTFT_10_DIRECTION_VAL_MIN 0
|
||||
#define ATC_CGTFT_10_DIRECTION_VAL_MAX 3
|
||||
#define ATC_CGTFT_10_DIRECTION_VAL_DEFAULT 0
|
||||
|
||||
|
||||
/* AT+CGTFTRDP */
|
||||
#define ATC_CGTFTRDP_0_CID_VAL_MIN ATC_CID_VAL_MIN
|
||||
#define ATC_CGTFTRDP_0_CID_VAL_MAX ATC_CID_VAL_MAX
|
||||
#define ATC_CGTFTRDP_0_CID_VAL_DEFAULT ATC_CID_VAL_DEFAULT
|
||||
|
||||
/* AT+CSODCP */
|
||||
#define ATC_CSODCP_0_CID_VAL_MIN 0 /* as some equipment send CID = 0, which act as the initial PDP */
|
||||
#define ATC_CSODCP_0_CID_VAL_MAX ATC_CID_VAL_MAX
|
||||
#define ATC_CSODCP_0_CID_VAL_DEFAULT ATC_CID_VAL_DEFAULT
|
||||
#define ATC_CSODCP_1_CPD_VAL_MIN 1
|
||||
#define ATC_CSODCP_1_CPD_VAL_MAX 950
|
||||
#define ATC_CSODCP_1_CPD_VAL_DEFAULT 24
|
||||
#define ATC_CSODCP_2_CPDATA_STR_MAX_LEN (ATC_CSODCP_1_CPD_VAL_MAX*2+1)
|
||||
#define ATC_CSODCP_2_CPDATA_STR_DEFAULT NULL
|
||||
#define ATC_CSODCP_3_RAI_VAL_MIN 0
|
||||
#define ATC_CSODCP_3_RAI_VAL_MAX 2
|
||||
#define ATC_CSODCP_3_RAI_VAL_DEFAULT 0 /*RAI: No information available*/
|
||||
#define ATC_CSODCP_4_TYPE_VAL_MIN 0
|
||||
#define ATC_CSODCP_4_TYPE_VAL_MAX 1 /*Regular data*/
|
||||
#define ATC_CSODCP_4_TYPE_VAL_DEFAULT 0
|
||||
|
||||
/* AT+ECATTBEARER */
|
||||
|
||||
|
||||
/* AT+CRTDCP */
|
||||
#define ATC_CRTDCP_0_VAL_MIN 0
|
||||
#define ATC_CRTDCP_0_VAL_MAX 2
|
||||
#define ATC_CRTDCP_0_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CGAUTH */
|
||||
#define ATC_CGAUTH_0_CID_VAL_MIN ATC_CID_VAL_MIN
|
||||
#define ATC_CGAUTH_0_CID_VAL_MAX ATC_CID_VAL_MAX
|
||||
#define ATC_CGAUTH_0_CID_VAL_DEFAULT ATC_CID_VAL_DEFAULT
|
||||
#define ATC_CGAUTH_1_AUTHPROT_VAL_MIN 0
|
||||
#define ATC_CGAUTH_1_AUTHPROT_VAL_MAX 2
|
||||
#define ATC_CGAUTH_1_AUTHPROT_VAL_DEFAULT 0
|
||||
#define ATC_CGAUTH_2_USER_STR_MAX_LEN 64
|
||||
#define ATC_CGAUTH_2_USER_STR_DEFAULT NULL
|
||||
#define ATC_CGAUTH_3_PASSWD_STR_MAX_LEN 64
|
||||
#define ATC_CGAUTH_3_PASSWD_STR_DEFAULT NULL
|
||||
|
||||
/* AT+CIPCA */
|
||||
#define ATC_CIPCA_0_VAL_MIN 3
|
||||
#define ATC_CIPCA_0_VAL_MAX 3
|
||||
#define ATC_CIPCA_0_VAL_DEFAULT 3
|
||||
#define ATC_CIPCA_1_ATT_VAL_MIN 0
|
||||
#define ATC_CIPCA_1_ATT_VAL_MAX 1
|
||||
#define ATC_CIPCA_1_ATT_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CGAPNRC */
|
||||
#define ATC_CGAPNRC_0_CID_VAL_MIN ATC_CID_VAL_MIN
|
||||
#define ATC_CGAPNRC_0_CID_VAL_MAX ATC_CID_VAL_MAX
|
||||
#define ATC_CGAPNRC_0_CID_VAL_DEFAULT ATC_CID_VAL_DEFAULT
|
||||
|
||||
/* AT+CGEREP */
|
||||
#define ATC_CGEREP_0_VAL_MIN 0
|
||||
#define ATC_CGEREP_0_VAL_MAX 1
|
||||
#define ATC_CGEREP_0_VAL_DEFAULT 0
|
||||
#define ATC_CGEREP_1_VAL_MIN 0
|
||||
#define ATC_CGEREP_1_VAL_MAX 0
|
||||
#define ATC_CGEREP_1_VAL_DEFAULT 0
|
||||
|
||||
|
||||
/* AT+ECSENDDATA */
|
||||
#define ATC_ECSENDDATA_0_CID_VAL_MIN ATC_CID_VAL_MIN
|
||||
#define ATC_ECSENDDATA_0_CID_VAL_MAX ATC_CID_VAL_MAX
|
||||
#define ATC_ECSENDDATA_0_CID_VAL_DEFAULT ATC_CID_VAL_DEFAULT
|
||||
#define ATC_ECSENDDATA_1_DATALEN_VAL_MIN 1
|
||||
#define ATC_ECSENDDATA_1_DATALEN_VAL_MAX 950
|
||||
#define ATC_ECSENDDATA_1_DATALEN_VAL_DEFAULT 24
|
||||
#define ATC_ECSENDDATA_2_DATA_STR_MAX_LEN (ATC_ECSENDDATA_1_DATALEN_VAL_MAX*2+1)
|
||||
#define ATC_ECSENDDATA_2_DATA_STR_DEFAULT NULL
|
||||
#define ATC_ECSENDDATA_3_RAI_VAL_MIN 0
|
||||
#define ATC_ECSENDDATA_3_RAI_VAL_MAX 2
|
||||
#define ATC_ECSENDDATA_3_RAI_VAL_DEFAULT 0 /*RAI: No information available*/
|
||||
#define ATC_ECSENDDATA_4_TYPE_VAL_MIN 0
|
||||
#define ATC_ECSENDDATA_4_TYPE_VAL_MAX 1
|
||||
#define ATC_ECSENDDATA_4_TYPE_VAL_DEFAULT 0 /*Regular data*/
|
||||
|
||||
/* AT+ECCIOTPLANE */
|
||||
#define ATC_ECCIOTPLANE_0_PLANE_VAL_MIN 0
|
||||
#define ATC_ECCIOTPLANE_0_PLANE_VAL_MAX 2
|
||||
#define ATC_ECCIOTPLANE_0_PLANE_VAL_DEFAULT 0
|
||||
|
||||
/* AT+ECNBIOTRAI */
|
||||
#define ATC_ECNBIOTRAI_0_RAI_VAL_MIN 0
|
||||
#define ATC_ECNBIOTRAI_0_RAI_VAL_MAX 1
|
||||
#define ATC_ECNBIOTRAI_0_RAI_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CGPADDR */
|
||||
#define ATC_CGPADDR_0_CID_VAL_MIN ATC_CID_VAL_MIN
|
||||
#define ATC_CGPADDR_0_CID_VAL_MAX ATC_CID_VAL_MAX
|
||||
#define ATC_CGPADDR_0_CID_VAL_DEFAULT ATC_CID_VAL_DEFAULT
|
||||
|
||||
/* AT+CSCON */
|
||||
#define ATC_CSCON_0_STATE_VAL_MIN 0
|
||||
#define ATC_CSCON_0_STATE_VAL_MAX 1
|
||||
#define ATC_CSCON_0_STATE_VAL_DEFAULT 0 /* disable indication */
|
||||
|
||||
/* AT+CEMODE */
|
||||
#define ATC_CEMODE_VAL_MIN 0
|
||||
#define ATC_CEMODE_VAL_MAX 3
|
||||
#define ATC_CEMODE_VAL_DEFAULT 0
|
||||
|
||||
|
||||
/* AT+CPSDO */
|
||||
#define ATC_CPSDO_VAL_MIN 0
|
||||
#define ATC_CPSDO_VAL_MAX 1
|
||||
#define ATC_CPSDO_VAL_DEFAULT 0
|
||||
|
||||
|
||||
/* AT+ECGDCNT */
|
||||
#define ATC_ECGDCNT_0_VAL_MIN 0
|
||||
#define ATC_ECGDCNT_0_VAL_MAX 1
|
||||
#define ATC_ECGDCNT_0_VAL_DEFAULT 0
|
||||
|
||||
/* AT+ECAUGDCNT */
|
||||
#define ATC_ECAUGDCNT_0_VAL_MIN 0
|
||||
#define ATC_ECAUGDCNT_0_VAL_MAX 65535
|
||||
#define ATC_ECAUGDCNT_0_VAL_DEFAULT 0
|
||||
|
||||
/* AT+ECSCLKEX */
|
||||
#define ATC_ECSCLKEX_0_VAL_MIN 0
|
||||
#define ATC_ECSCLKEX_0_VAL_MAX 1
|
||||
#define ATC_ECSCLKEX_0_VAL_DEFAULT 0
|
||||
#define ATC_ECSCLKEX_1_VAL_MIN 1
|
||||
#define ATC_ECSCLKEX_1_VAL_MAX 50
|
||||
#define ATC_ECSCLKEX_1_VAL_DEFAULT 3
|
||||
#define ATC_ECSCLKEX_2_VAL_MIN 1
|
||||
#define ATC_ECSCLKEX_2_VAL_MAX 600
|
||||
#define ATC_ECSCLKEX_2_VAL_DEFAULT 30
|
||||
|
||||
|
||||
/*
|
||||
* +CGEREP=[<mode>[,<bfr>]]
|
||||
* <mode>: integer type
|
||||
* 0 buffer unsolicited result codes in the MT; if MT result code buffer is full, the oldest ones can be discarded.
|
||||
* No codes are forwarded to the TE.
|
||||
* 1 discard unsolicited result codes when MT-TE link is reserved (e.g. in on-line data mode); otherwise forward
|
||||
* them directly to the TE
|
||||
* 2 buffer unsolicited result codes in the MT when MT-TE link is reserved (e.g. in on-line data mode) and flush
|
||||
* them to the TE when MT-TE link becomes available; otherwise forward them directly to the TE; - NOT SUPPORT
|
||||
*/
|
||||
typedef enum AtcCGEREPMode_Enum
|
||||
{
|
||||
ATC_CGEREP_DISCARD_OLD_CGEV = 0,
|
||||
ATC_CGEREP_FWD_CGEV
|
||||
}AtcCGEREPMode;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* <n>: integer type
|
||||
* 0 disable unsolicited result code
|
||||
* 1 enable unsolicited result code +CSCON: <mode>
|
||||
* 2 enable unsolicited result code +CSCON: <mode>[,<state>]
|
||||
* 3 enable unsolicited result code +CSCON: <mode>[,<state>[,<access>]]
|
||||
*/
|
||||
typedef enum AtcCSCONRptLevel_Enum
|
||||
{
|
||||
ATC_DISABLE_CSCON_RPT = 0,
|
||||
ATC_CSCON_RPT_MODE,
|
||||
ATC_CSCON_RPT_MODE_STATE,
|
||||
ATC_CSCON_RPT_MODE_STATE_ACCESS
|
||||
}AtcCSCONRptLevel;
|
||||
|
||||
|
||||
CmsRetId psCGDCONT(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId psCGATT(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId psCGACT(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId psCGDATA(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId psCGDSCONT(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId psCGCMOD(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId psCGEQOS(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId psCGEQOSRDP(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId psCGCONTRDP(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId psCEREG(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId psCSCON(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId psCGTFT(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId psCSODCP(const AtCmdInputContext *pAtCmdReq);
|
||||
//CmsRetId psECATTBEARER(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId psCRTDCP(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId psCGAUTH(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId psCIPCA(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId psCGEREP(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId psCGAPNRC(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId psECSENDDATA(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId psECCIOTPLANE(const AtCmdInputContext *pAtCmdReq);
|
||||
//CmsRetId psECNBIOTRAI(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId psCGPADDR(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId psCNMPSD(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId psCEER(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId psCEMODE(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId psCGTFTRDP(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId psCPSDO(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId psCGSCONTRDP(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId psECGDCNT(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId psECAUGDCNT(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId psECSCLKEX(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename:
|
||||
*
|
||||
* Description:
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef _ATEC_RF_H
|
||||
#define _ATEC_RF_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include "at_util.h"
|
||||
|
||||
#include DEBUG_LOG_HEADER_FILE
|
||||
#include "debug_trace.h"
|
||||
|
||||
|
||||
/*********************************************************************************
|
||||
* Defines
|
||||
*********************************************************************************/
|
||||
extern uint32_t ShareInfoAPSetPhyCaliMem(void);
|
||||
#define RF_NST_A2C_BUFF_ADDR ShareInfoAPSetPhyCaliMem() // 0xC800 : 50K
|
||||
#define RF_NST_C2A_BUFF_ADDR (RF_NST_A2C_BUFF_ADDR+0xC800)
|
||||
#define RF_NST_TEMP_BUFF_ADDR1 (RF_NST_C2A_BUFF_ADDR+0x3C00)
|
||||
#define RF_NST_TEMP_BUFF_ADDR2 (RF_NST_TEMP_BUFF_ADDR1+0x7800)
|
||||
#define RF_NST_TABLE_BUFF_ADDR (RF_NST_TEMP_BUFF_ADDR2+0x3C00)
|
||||
|
||||
|
||||
#define ATC_ECRFTEST_0_STR_MAX_LEN 8000 /* */
|
||||
#define ATC_ECRFNST_0_STR_MAX_LEN 8000 /* */
|
||||
|
||||
#define RF_CALNST_PREHANDLE_CRC_ERROR (-2) // preHandle error
|
||||
#define RF_CALNST_TRANSDATABLOCK_INDEX_ERROR (-3)
|
||||
|
||||
// rf Antenna Tuner
|
||||
#define RF_ANTENNA_TUNER_BAND_NUM_MAX_ONEGROUP 14
|
||||
#define RF_ANTENNA_TUNER_GROUP_NUM_MAX 4
|
||||
|
||||
/*********************************************************************************
|
||||
* Enums
|
||||
*********************************************************************************/
|
||||
|
||||
|
||||
/*********************************************************************************
|
||||
* struct
|
||||
*********************************************************************************/
|
||||
typedef struct
|
||||
{
|
||||
UINT8 bandNum[RF_ANTENNA_TUNER_BAND_NUM_MAX_ONEGROUP]; // the max band num in one group is 14
|
||||
UINT8 gpioBitMask; // fem gpio bits mask, 1- this gpio is used, 0- this gpio is not used. FemGpio0 corresponds to bit0...FemGpio7 corresponds to bit7
|
||||
UINT8 gpioBitVal; // fem gpio bits vaule, 0- this gpio is low level, 1- this gpio is high level. FemGpio0 corresponds to bit0...FemGpio7 corresponds to bit7
|
||||
}RfAtnTunerOneGroupCfg; // 16 bytes
|
||||
|
||||
typedef union
|
||||
{
|
||||
RfAtnTunerOneGroupCfg antTunerCfg[RF_ANTENNA_TUNER_GROUP_NUM_MAX];
|
||||
|
||||
UINT8 u8[64];
|
||||
}RfOflAtnTunerCfg; // 64 bytes
|
||||
|
||||
CmsRetId phyECRFNST(const AtCmdInputContext *pAtCmdReq);
|
||||
BOOL phyECRFOpenApiDcDcVpaCfg(UINT8 ena, UINT8 voltage);
|
||||
|
||||
#endif
|
||||
|
||||
/* END OF FILE */
|
||||
@@ -0,0 +1,200 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_sim.h
|
||||
*
|
||||
* Description: Process SIM related AT commands
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef _ATEC_SIM_H
|
||||
#define _ATEC_SIM_H
|
||||
|
||||
/* AT+CRSM */
|
||||
#define ATC_CRSM_0_CMD_VAL_MIN 0
|
||||
#define ATC_CRSM_0_CMD_VAL_MAX 255
|
||||
#define ATC_CRSM_0_CMD_VAL_DEFAULT 0
|
||||
#define ATC_CRSM_1_FILEID_VAL_MIN 0
|
||||
#define ATC_CRSM_1_FILEID_VAL_MAX 0x7FFF
|
||||
#define ATC_CRSM_1_FILEID_VAL_DEFAULT 0
|
||||
#define ATC_CRSM_2_P1_VAL_MIN 0
|
||||
#define ATC_CRSM_2_P1_VAL_MAX 255
|
||||
#define ATC_CRSM_2_P1_VAL_DEFAULT 0
|
||||
#define ATC_CRSM_3_P2_VAL_MIN 0
|
||||
#define ATC_CRSM_3_P2_VAL_MAX 255
|
||||
#define ATC_CRSM_3_P2_VAL_DEFAULT 0
|
||||
#define ATC_CRSM_4_P3_VAL_MIN 0
|
||||
#define ATC_CRSM_4_P3_VAL_MAX 255
|
||||
#define ATC_CRSM_4_P3_VAL_DEFAULT 0
|
||||
#define ATC_CRSM_5_DATA_STR_MAX_LEN 512
|
||||
#define ATC_CRSM_5_DATA_STR_DEFAULT NULL
|
||||
#define ATC_CRSM_6_PATH_STR_MAX_LEN 8
|
||||
#define ATC_CRSM_6_PATH_STR_DEFAULT NULL
|
||||
|
||||
/* AT+CSIM */
|
||||
#define ATC_CSIM_0_VAL_MIN 8
|
||||
#define ATC_CSIM_0_VAL_MAX 522
|
||||
#define ATC_CSIM_0_VAL_DEFAULT 0
|
||||
#define ATC_CSIM_1_CMD_STR_MAX_LEN 522
|
||||
#define ATC_CSIM_1_CMD_STR_DEFAULT NULL
|
||||
|
||||
/* AT+CPIN */
|
||||
#define ATC_CPIN_0_PIN_STR_MAX_LEN 8
|
||||
#define ATC_CPIN_0_PIN_STR_MIN_LEN 4
|
||||
#define ATC_CPIN_0_PIN_STR_DEFAULT NULL
|
||||
#define ATC_CPIN_1_NEWPIN_STR_MAX_LEN 8
|
||||
#define ATC_CPIN_1_NEWPIN_STR_MIN_LEN 4
|
||||
#define ATC_CPIN_1_NEWPIN_STR_DEFAULT NULL
|
||||
|
||||
/* AT+CPWD */
|
||||
#define ATC_CPWD_0_FAC_STR_MAX_LEN 2
|
||||
#define ATC_CPWD_0_FAC_STR_DEFAULT NULL
|
||||
#define ATC_CPWD_1_OLDPIN_STR_MAX_LEN 8
|
||||
#define ATC_CPWD_1_OLDPIN_STR_MIN_LEN 4
|
||||
#define ATC_CPWD_1_OLDPIN_STR_DEFAULT NULL
|
||||
#define ATC_CPWD_2_NEWPIN_STR_MAX_LEN 8
|
||||
#define ATC_CPWD_2_NEWPIN_STR_MIN_LEN 4
|
||||
#define ATC_CPWD_2_NEWPIN_STR_DEFAULT NULL
|
||||
|
||||
/* AT+CLCK */
|
||||
#define ATC_CLCK_0_FAC_STR_MAX_LEN 2
|
||||
#define ATC_CLCK_0_FAC_STR_DEFAULT NULL
|
||||
#define ATC_CLCK_1_MODE_VAL_MIN 0
|
||||
#define ATC_CLCK_1_MODE_VAL_MAX 2
|
||||
#define ATC_CLCK_1_MODE_VAL_DEFAULT 0
|
||||
#define ATC_CLCK_2_PIN_STR_MAX_LEN 8
|
||||
#define ATC_CLCK_2_PIN_STR_MIN_LEN 4
|
||||
#define ATC_CLCK_2_PIN_STR_DEFAULT NULL
|
||||
|
||||
/* AT+CPINR */
|
||||
#define ATC_CPINR_0_MAX_PARM_STR_LEN 16
|
||||
#define ATC_CPINR_0_MAX_PARM_STR_DEFAULT NULL
|
||||
|
||||
/* AT+CSUS */
|
||||
#define ATC_CSUS_0_VAL_MIN 0
|
||||
#define ATC_CSUS_0_VAL_MAX 2
|
||||
#define ATC_CSUS_0_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CCHO */
|
||||
#define ATC_CCHO_0_STR_MAX_LEN 32
|
||||
#define ATC_CCHO_0_STR_DEFAULT NULL
|
||||
|
||||
/* AT+CCHC */
|
||||
#define ATC_CCHC_0_VAL_MIN 1
|
||||
#define ATC_CCHC_0_VAL_MAX 19
|
||||
#define ATC_CCHC_0_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CGLA */
|
||||
#define ATC_CGLA_0_VAL_MIN 1
|
||||
#define ATC_CGLA_0_VAL_MAX 19
|
||||
#define ATC_CGLA_0_VAL_DEFAULT 0
|
||||
#define ATC_CGLA_1_VAL_MIN 8
|
||||
#define ATC_CGLA_1_VAL_MAX 522
|
||||
#define ATC_CGLA_1_VAL_DEFAULT 0
|
||||
#define ATC_CGLA_2_STR_MAX_LEN 522
|
||||
#define ATC_CGLA_2_STR_DEFAULT NULL
|
||||
|
||||
/* AT+ECSIMSLEEP */
|
||||
#define ATC_ECSIMSLEEP_0_VAL_MIN 0
|
||||
#define ATC_ECSIMSLEEP_0_VAL_MAX 1
|
||||
#define ATC_ECSIMSLEEP_0_VAL_DEFAULT 1
|
||||
|
||||
/* AT+ECSWC */
|
||||
#define ATC_ECSWC_0_VAL_MIN 0
|
||||
#define ATC_ECSWC_0_VAL_MAX 3
|
||||
#define ATC_ECSWC_0_VAL_DEFAULT 0
|
||||
|
||||
/* AT+ECSIMPD */
|
||||
#define ATC_ECSIMPD_0_VAL_MIN 0
|
||||
#define ATC_ECSIMPD_0_VAL_MAX 1
|
||||
#define ATC_ECSIMPD_0_VAL_DEFAULT 0
|
||||
|
||||
/* AT+ECUSATP */
|
||||
#define ATC_ECUSATP_0_VAL_MIN 64
|
||||
#define ATC_ECUSATP_0_VAL_MAX 78
|
||||
#define ATC_ECUSATP_0_VAL_DEFAULT 0
|
||||
#define ATC_ECUSATP_1_CMD_STR_MAX_LEN 78
|
||||
#define ATC_ECUSATP_1_CMD_STR_DEFAULT NULL
|
||||
|
||||
/* AT+ECSIMCFG */
|
||||
#define ECSIMCFG_MAX_SET_PARAMS_NUM 16 //limit input parameter number <= 16
|
||||
#define ATC_ECSIMCFG_0_MAX_PARM_STR_LEN 32
|
||||
#define ATC_ECSIMCFG_0_MAX_PARM_STR_DEFAULT NULL
|
||||
#define ATC_ECSIMCFG_1_SIMSIMULATOR_VAL_MIN 0
|
||||
#define ATC_ECSIMCFG_1_SIMSIMULATOR_VAL_MAX 1
|
||||
#define ATC_ECSIMCFG_1_SIMSIMULATOR_VAL_DEFAULT (-1)
|
||||
#define ATC_ECSIMCFG_1_SOFTSIM_VAL_MIN 0
|
||||
#define ATC_ECSIMCFG_1_SOFTSIM_VAL_MAX 1
|
||||
#define ATC_ECSIMCFG_1_SOFTSIM_VAL_DEFAULT (-1)
|
||||
#define ATC_ECSIMCFG_1_SIMPOWERSAVE_VAL_MIN 0
|
||||
#define ATC_ECSIMCFG_1_SIMPOWERSAVE_VAL_MAX 1
|
||||
#define ATC_ECSIMCFG_1_SIMPOWERSAVE_VAL_DEFAULT (-1)
|
||||
#define ATC_ECSIMCFG_1_SIMPRESENCEDETECT_VAL_MIN 0
|
||||
#define ATC_ECSIMCFG_1_SIMPRESENCEDETECT_VAL_MAX 1
|
||||
#define ATC_ECSIMCFG_1_SIMPRESENCEDETECT_VAL_DEFAULT (-1)
|
||||
#define ATC_ECSIMCFG_1_SIMSLOT_VAL_MIN 0
|
||||
#define ATC_ECSIMCFG_1_SIMSLOT_VAL_MAX 1
|
||||
#define ATC_ECSIMCFG_1_SIMSLOT_VAL_DEFAULT 0
|
||||
|
||||
|
||||
/* AT+CPOL */
|
||||
#define ATC_CPOL_0_INDEX_VAL_MIN 1
|
||||
#define ATC_CPOL_0_INDEX_VAL_MAX 500
|
||||
#define ATC_CPOL_0_INDEX_VAL_DEFAULT 0
|
||||
#define ATC_CPOL_1_FORMAT_VAL_MIN 0
|
||||
#define ATC_CPOL_1_FORMAT_VAL_MAX 2
|
||||
#define ATC_CPOL_1_FORMAT_VAL_DEFAULT 0xFF
|
||||
#define ATC_CPOL_2_OPERN_STR_MAX_LEN 16
|
||||
#define ATC_CPOL_2_OPERN_STR_DEFAULT NULL
|
||||
#define ATC_CPOL_3_GSMACT_VAL_MIN 0
|
||||
#define ATC_CPOL_3_GSMACT_VAL_MAX 1
|
||||
#define ATC_CPOL_3_GSMACT_VAL_DEFAULT 0
|
||||
#define ATC_CPOL_4_GSMCACT_VAL_MIN 0
|
||||
#define ATC_CPOL_4_GSMCACT_VAL_MAX 1
|
||||
#define ATC_CPOL_4_GSMCACT_VAL_DEFAULT 0
|
||||
#define ATC_CPOL_5_UTRANACT_VAL_MIN 0
|
||||
#define ATC_CPOL_5_UTRANACT_VAL_MAX 1
|
||||
#define ATC_CPOL_5_UTRANACT_VAL_DEFAULT 0
|
||||
#define ATC_CPOL_6_EUTRANACT_VAL_MIN 0
|
||||
#define ATC_CPOL_6_EUTRANACT_VAL_MAX 1
|
||||
#define ATC_CPOL_6_EUTRANACT_VAL_DEFAULT 0
|
||||
|
||||
|
||||
/* AT+CPLS */
|
||||
#define ATC_CPLS_0_LIST_VAL_MIN 0
|
||||
#define ATC_CPLS_0_LIST_VAL_MAX 2
|
||||
#define ATC_CPLS_0_LIST_VAL_DEFAULT 0
|
||||
|
||||
|
||||
CmsRetId simCPIN(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId simCPWD(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId simCSIM(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId simCRSM(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId simCIMI(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId simECICCID(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId simCLCK(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId simCPINR(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId simCSUS(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId simCCHO(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId simCCHC(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId simCGLA(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId simECSIMSLEEP(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId simECSWC(const AtCmdInputContext *pAtCmdReq);
|
||||
//CmsRetId simECSIMPD(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId simCNUM(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId simECUSATP(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId simECSIMCFG(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId simECSIMRM(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId simCPOL(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId simCPLS(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,301 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_sms.h
|
||||
*
|
||||
* Description: SMS AT commands implementation
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef _ATEC_SMS_H
|
||||
#define _ATEC_SMS_H
|
||||
|
||||
#include "commontypedef.h"
|
||||
#include "ps_sms_if.h"
|
||||
|
||||
/******************************************************************************
|
||||
*****************************************************************************
|
||||
* AT SMS COMMON MARCO
|
||||
*****************************************************************************
|
||||
******************************************************************************/
|
||||
#define ATC_MAX_SMS_TDPU_SIZE (232)
|
||||
#define ATC_SMS_RECORD_MAX_NUMBER 254 /* The total number of the saved SMS message in SIM */
|
||||
|
||||
|
||||
typedef enum atecMtSmsType_enum
|
||||
{
|
||||
ATEC_MT_DELIVER_SMS = 0,
|
||||
ATEC_MT_SUBMIT_REPORT_SMS = 1,
|
||||
ATEC_MT_STATUS_REPORT_SMS = 2
|
||||
}atecMtSmsType;
|
||||
|
||||
typedef enum atecMoSmsType_enum
|
||||
{
|
||||
ATEC_MO_DELIVER_REPORT_SMS = 0,
|
||||
ATEC_MO_SUBMIT_SMS = 1,
|
||||
ATEC_MO_COMMAND_SMS = 2,
|
||||
}atecMoSmsType;
|
||||
|
||||
|
||||
#define ATEC_MT_SMS_TYPE_MASK 0x03 /* SMS MT Message-Type Indicator mask */
|
||||
#define ATEC_M0_SMS_TYPE_MASK 0x03 /* SMS MO Message-Type Indicator mask */
|
||||
|
||||
|
||||
/* AT+CSMS */
|
||||
#define ATC_CSMS_0_SERVICE_VAL_MIN 0
|
||||
#define ATC_CSMS_0_SERVICE_VAL_MAX 127
|
||||
#define ATC_CSMS_0_SERVICE_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CPMS */
|
||||
#define ATC_CPMS_0_MEM1_STR_MAX_LEN 3
|
||||
#define ATC_CPMS_0_MEM1_STR_DEFAULT NULL
|
||||
#define ATC_CPMS_1_MEM2_STR_MAX_LEN 3
|
||||
#define ATC_CPMS_1_MEM2_STR_DEFAULT NULL
|
||||
#define ATC_CPMS_2_MEM3_STR_MAX_LEN 3
|
||||
#define ATC_CPMS_2_MEM3_STR_DEFAULT NULL
|
||||
|
||||
/* Ref TS-27.005, 3.1 parameter Definitions for <mem1>/<mem2>/<mem3> */
|
||||
#define ATC_CPMS_PARAM_STR_BM "BM"
|
||||
#define ATC_CPMS_PARAM_STR_ME "ME"
|
||||
#define ATC_CPMS_PARAM_STR_MT "MT"
|
||||
#define ATC_CPMS_PARAM_STR_SM "SM"
|
||||
#define ATC_CPMS_PARAM_STR_TA "TA"
|
||||
#define ATC_CPMS_PARAM_STR_SR "SR"
|
||||
|
||||
/* AT+CSCA */
|
||||
#define ATC_CSCA_0_ADDR_STR_MAX_LEN ((CMI_SMS_MAX_LENGTH_OF_ADDRESS_VALUE + 1) * 4)
|
||||
#define ATC_CSCA_0_ADDR_STR_DEFAULT NULL
|
||||
#define ATC_CSCA_1_TYPE_VAL_MIN 0
|
||||
#define ATC_CSCA_1_TYPE_VAL_MAX 255
|
||||
#define ATC_CSCA_1_TYPE_VAL_DEFAULT PSIL_SMS_TOA_NUMBER_INTERNATIONAL
|
||||
|
||||
/* AT+CNMI */
|
||||
#define ATC_CNMI_0_MODE_VAL_MIN 0
|
||||
#define ATC_CNMI_0_MODE_VAL_MAX 3
|
||||
#define ATC_CNMI_0_MODE_VAL_DEFAULT 0
|
||||
#define ATC_CNMI_1_MT_VAL_MIN 0
|
||||
#define ATC_CNMI_1_MT_VAL_MAX 3
|
||||
#define ATC_CNMI_1_MT_VAL_DEFAULT 0
|
||||
#define ATC_CNMI_2_BM_VAL_MIN 0
|
||||
#define ATC_CNMI_2_BM_VAL_MAX 3
|
||||
#define ATC_CNMI_2_BM_VAL_DEFAULT 0
|
||||
#define ATC_CNMI_3_DS_VAL_MIN 0
|
||||
#define ATC_CNMI_3_DS_VAL_MAX 2
|
||||
#define ATC_CNMI_3_DS_VAL_DEFAULT 0
|
||||
#define ATC_CNMI_4_BFR_VAL_MIN 0
|
||||
#define ATC_CNMI_4_BFR_VAL_MAX 1
|
||||
#define ATC_CNMI_4_BFR_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CMGF */
|
||||
#define ATC_CMGF_0_MODE_VAL_MIN 0
|
||||
#define ATC_CMGF_0_MODE_VAL_MAX 1
|
||||
#define ATC_CMGF_0_MODE_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CMGL */
|
||||
#define ATC_CMGL_0_MODE_STR_MAX_LEN 11
|
||||
#define ATC_CMGL_0_MODE_STR_DEFAULT "REC UNREAD"
|
||||
#define ATC_CMGL_0_STATE_VAL_MIN 0
|
||||
#define ATC_CMGL_0_STATE_VAL_MAX 4
|
||||
#define ATC_CMGL_0_STATE_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CMGR */
|
||||
#define ATC_CMGR_0_MSG_VAL_MIN 0
|
||||
#define ATC_CMGR_0_MSG_VAL_MAX ATC_SMS_RECORD_MAX_NUMBER
|
||||
#define ATC_CMGR_0_MSG_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CMGS */
|
||||
#define ATC_CMGS_0_PDU_LENGTH_MIN 1
|
||||
#define ATC_CMGS_0_PDU_LENGTH_MAX PSIL_SMS_MAX_PDU_SIZE
|
||||
#define ATC_CMGS_0_PDU_LENGTH_DEFAULT 1
|
||||
|
||||
|
||||
#define ATC_ADDR_STR_MAX_LEN ((CMI_SMS_MAX_LENGTH_OF_ADDRESS_VALUE + 1) * 4)
|
||||
#define ATC_ADDR_STR_DEFAULT PNULL
|
||||
#define ATC_ADDR_TYPE_OCT_MIN 0
|
||||
#define ATC_ADDR_TYPE_OCT_MAX 255
|
||||
#define ATC_ADDR_TYPE_OCT_DEFAULT PSIL_SMS_TOA_NUMBER_UNKNOWN
|
||||
|
||||
/* AT+CMGW for PDU mode */
|
||||
#define ATC_CMGW_0_PDU_LENGTH_MIN 1
|
||||
#define ATC_CMGW_0_PDU_LENGTH_MAX PSIL_SMS_MAX_PDU_SIZE
|
||||
#define ATC_CMGW_0_PDU_LENGTH_DEFAULT 1
|
||||
#define ATC_CMGW_1_STAT_VAL_MIN CMI_SMS_STOR_STATUS_REC_UNREAD
|
||||
#define ATC_CMGW_1_STAT_VAL_MAX CMI_SMS_STOR_STATUS_STO_SENT
|
||||
#define ATC_CMGW_1_STAT_VAL_DEFAULT CMI_SMS_STOR_STATUS_STO_UNSENT
|
||||
/* AT+CMGW for Text mode */
|
||||
#define ATC_CMGW_0_ADDR_LENGTH_MAX ATC_ADDR_STR_MAX_LEN
|
||||
#define ATC_CMGW_0_ADDR_LENGTH_DEFAULT ATC_ADDR_STR_DEFAULT
|
||||
#define ATC_CMGW_1_STAT_STR_MAX_LEN 20
|
||||
#define ATC_CMGW_1_STAT_STR_DEFAULT PSIL_SMS_STATUS_STRING_STO_UNSENT
|
||||
|
||||
/* AT+CMGD */
|
||||
#define ATC_CMGD_0_DEL_INDEX_MIN 0
|
||||
#define ATC_CMGD_0_DEL_INDEX_MAX (ATC_SMS_RECORD_MAX_NUMBER - 1)
|
||||
#define ATC_CMGD_0_DEL_INDEX_DEFAULT 0
|
||||
#define ATC_CMGD_1_DEL_STATE_MIN 0
|
||||
#define ATC_CMGD_1_DEL_STATE_MAX 4
|
||||
#define ATC_CMGD_1_DEL_STATE_DEFAULT 0
|
||||
|
||||
/* AT+CMMS */
|
||||
#define ATC_CMMS_0_MODE_VAL_MIN 0
|
||||
#define ATC_CMMS_0_MODE_VAL_MAX 2
|
||||
#define ATC_CMMS_0_MODE_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CNMA */
|
||||
#define ATC_CNMA_0_REPLY_VAL_MIN 0
|
||||
#define ATC_CNMA_0_REPLY_VAL_MAX 2
|
||||
#define ATC_CNMA_0_REPLY_VAL_DEFAULT 0
|
||||
|
||||
#define ATC_CNMA_1_REPLY_VAL_MIN 0
|
||||
#define ATC_CNMA_1_REPLY_VAL_MAX PSIL_SMS_MAX_PDU_SIZE_OF_DELIVER_REPORT
|
||||
#define ATC_CNMA_1_REPLY_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CSMP */
|
||||
#define ATC_CSMP_0_FO_VAL_MIN 0
|
||||
#define ATC_CSMP_0_FO_VAL_MAX 255
|
||||
#define ATC_CSMP_1_VP_RELATIVE_VAL_MIN 0
|
||||
#define ATC_CSMP_1_VP_RELATIVE_VAL_MAX 255
|
||||
#define ATC_CSMP_1_VP_RELATIVE_VAL_DEFAULT PSIL_MSG_VP_DEFAULT
|
||||
#define ATC_CSMP_1_VP_ABSOLUTE_STR_MAX_LEN 22 /* Time string:yy/MM/dd/,hh:mm:ss+zz */
|
||||
#define ATC_CSMP_1_VP_ABSOLUTE_STR_DEFAULT NULL
|
||||
#define ATC_CSMP_1_VP_ENHANCED_STR_MAX_LEN 15 /* (PSIL_SMS_VP_OCTET_MAX_LENGTH *2) + 1 */
|
||||
#define ATC_CSMP_1_VP_ENHANCED_STR_DEFAULT NULL
|
||||
#define ATC_CSMP_2_PID_VAL_MIN 0
|
||||
#define ATC_CSMP_2_PID_VAL_MAX 1
|
||||
#define ATC_CSMP_2_PID_VAL_DEFAULT 0
|
||||
#define ATC_CSMP_3_DCS_VAL_MIN 0
|
||||
#define ATC_CSMP_3_DCS_VAL_MAX 255
|
||||
#define ATC_CSMP_3_DCS_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CSDH */
|
||||
#define ATC_CSDH_0_SHOW_VAL_MIN 0
|
||||
#define ATC_CSDH_0_SHOW_VAL_MAX 1
|
||||
#define ATC_CSDH_0_SHOW_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CSAS */
|
||||
#define ATC_CSAS_0_PROFILE_VAL_MIN 0
|
||||
#define ATC_CSAS_0_PROFILE_VAL_MAX 255
|
||||
#define ATC_CSAS_0_PROFILE_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CRES */
|
||||
#define ATC_CRES_0_PROFILE_VAL_MIN 0
|
||||
#define ATC_CRES_0_PROFILE_VAL_MAX 255
|
||||
#define ATC_CRES_0_PROFILE_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CMSS */
|
||||
#define ATC_CMSS_0_INDEX_VAL_MIN 0
|
||||
#define ATC_CMSS_0_INDEX_VAL_MAX (ATC_SMS_RECORD_MAX_NUMBER - 1)
|
||||
#define ATC_CMSS_0_INDEX_VAL_DEFAULT 0
|
||||
#define ATC_CMSS_1_ADDR_LENGTH_MIN ATC_ADDR_STR_MAX_LEN
|
||||
#define ATC_CMSS_1_ADDR_LENGTH_MAX ATC_ADDR_STR_MAX_LEN
|
||||
#define ATC_CMSS_1_ADDR_LENGTH_DEFAULT 0
|
||||
#define ATC_CMSS_2_TODA_VAL_MIN ATC_ADDR_TYPE_OCT_MIN
|
||||
#define ATC_CMSS_2_TODA_VAL_MAX ATC_ADDR_TYPE_OCT_MAX
|
||||
#define ATC_CMSS_2_TODA_VAL_DEFAULT ATC_ADDR_TYPE_OCT_DEFAULT
|
||||
|
||||
/* AT+ECSMSSEND */
|
||||
#define ATC_ECSMSSEND_0_MODE_VAL_MIN 0
|
||||
#define ATC_ECSMSSEND_0_MODE_VAL_MAX 1
|
||||
#define ATC_ECSMSSEND_0_MODE_VAL_DEFAULT 0
|
||||
|
||||
/* AT+CSCB */
|
||||
#define ATC_CSCB_0_MODE_VAL_MIN 0
|
||||
#define ATC_CSCB_0_MODE_VAL_MAX 1
|
||||
#define ATC_CSCB_0_MODE_VAL_DEFAULT 0
|
||||
#define ATC_CSCB_STR_LEN 100
|
||||
|
||||
/* AT+ECCMGS */
|
||||
#define ATC_ECCMGS_2_MSG_ID_VAL_MIN 0
|
||||
#define ATC_ECCMGS_2_MSG_ID_VAL_MAX 255
|
||||
#define ATC_ECCMGS_2_MSG_ID_VAL_DEFAULT 0
|
||||
#define ATC_ECCMGS_3_MSG_PARTS_VAL_MIN 0
|
||||
#define ATC_ECCMGS_3_MSG_PARTS_VAL_MAX 255
|
||||
#define ATC_ECCMGS_3_MSG_PARTS_VAL_DEFAULT 0
|
||||
#define ATC_ECCMGS_4_MSG_PART_NUM_VAL_MIN 0
|
||||
#define ATC_ECCMGS_4_MSG_PART_NUM_VAL_MAX 255
|
||||
#define ATC_ECCMGS_4_MSG_PART_NUM_VAL_DEFAULT 0
|
||||
|
||||
/******************************************************************************
|
||||
*****************************************************************************
|
||||
* STRUCT
|
||||
*****************************************************************************
|
||||
******************************************************************************/
|
||||
typedef struct AtecSmsCMSSinfo_TAG
|
||||
{
|
||||
UINT8 sendIndex;
|
||||
UINT8 mem2Type;
|
||||
PsilSmsStoreItemInfo *pReadSmsInfo;
|
||||
BOOL isSmsSendPending;
|
||||
CmiSmsAddressInfo *pDestAddrInfo;
|
||||
}AtecSmsCMSSinfo;
|
||||
|
||||
#define CONCAT_SMS_MAX_BUFFER_SIZE 5
|
||||
|
||||
typedef struct AtecConcatSmsSegment_TAG
|
||||
{
|
||||
UINT8 seqNum; /* Sequence number of the current segment */
|
||||
CHAR *strBuf; /* Buffered +CMT report */
|
||||
struct AtecConcatSmsSegment_TAG *next; /* Pointer to the next segment*/
|
||||
}AtecConcatSmsSegment;
|
||||
|
||||
typedef struct AtecConcatSmsBuf_TAG
|
||||
{
|
||||
UINT8 refNum; /* Concatenated SMS reference number */
|
||||
UINT8 maxNum; /* Maximum number of segments */
|
||||
UINT8 lastSeqNumRpt; /* Last sequence number of segment reported */
|
||||
UINT8 segmentCount; /* Count of segments bufferted */
|
||||
AtecConcatSmsSegment *segmentListHead; /* Head of buffered SMS segments list */
|
||||
}AtecConcatSmsBuf;
|
||||
|
||||
/******************************************************************************
|
||||
*****************************************************************************
|
||||
* API
|
||||
*****************************************************************************
|
||||
******************************************************************************/
|
||||
CmsRetId smsCSCA(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId smsCMGS(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId smsCMGC(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId smsCMGF(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId smsCMGW(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId smsCMGR(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId smsCMGL(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId smsCMGD(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId smsCMSS(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId smsECSMSSEND(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId smsCSMP(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId smsCSMS(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId smsCSDH(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId smsCPMS(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId smsCNMA(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId smsCNMAInputData(UINT8 chanId, UINT8 *pInput, UINT16 length);
|
||||
void smsCNMACancel(void);
|
||||
CmsRetId smsCNMI(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId smsECCMGS(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId smsECCMGR(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId smsCMGSCMGCInputData(UINT8 chanId, UINT8 *pInput, UINT16 length);
|
||||
void smsCMGSCMGCCancel(void);
|
||||
CmsRetId smsCMGWInputData(UINT8 chanId, UINT8 * pInput, UINT16 length);
|
||||
void smsCMGWCancel(void);
|
||||
|
||||
CmsRetId smsCMMS(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId smsCSCB(const AtCmdInputContext *pAtCmdReq);
|
||||
BOOL smsCPMSPrefMemIntConvStr( UINT8 perfMemInt, CHAR *pPerfMemString);
|
||||
BOOL smsCPMSPrefMemStrConvInt(CHAR *pPerfMemString, UINT8 *pPrefMemInt);
|
||||
|
||||
BOOL SmsDeliverDisplayFormat(UINT8 chanId, UINT8 smsFormat, CmiSmsDisplayCmd showCmd, PsilSmsStoreItemInfo *pSmsReadInfo, AtOutPdu *pAtRspPdu);
|
||||
BOOL SmsSubmitDisplayFormat(UINT8 chanId, UINT8 smsFormat, CmiSmsDisplayCmd showCmd, PsilSmsStoreItemInfo *pSmsReadInfo, AtOutPdu *pAtRspPdu);
|
||||
|
||||
BOOL *smsECCMGRWaitSimFlag(void);
|
||||
|
||||
BOOL SmsCbmDisplayFormat(UINT8 chanId, UINT8 smsFormat, CmiSmsDisplayCmd showCmd, PsilSmsStoreItemInfo *pSmsReadInfo, AtOutPdu *pAtRspPdu);
|
||||
BOOL SmsStatusRptDisplayFormat(UINT8 chanId, UINT8 smsFormat, CmiSmsDisplayCmd showCmd, PsilSmsStoreItemInfo *pSmsReadInfo, AtOutPdu *pAtRspPdu);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_dev_cnf_ind.h
|
||||
*
|
||||
* Description: Process dev related AT commands
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifdef FEATURE_PS_DEV_AT_ENABLE
|
||||
|
||||
#ifndef __ATEC_DEV_CNF_IND_H__
|
||||
#define __ATEC_DEV_CNF_IND_H__
|
||||
|
||||
#include <stdio.h>
|
||||
#include "cmsis_os2.h"
|
||||
#include "at_util.h"
|
||||
#include "cmidev.h"
|
||||
#include "atec_dev.h"
|
||||
#include "ps_dev_if.h"
|
||||
|
||||
|
||||
void atDevProcCmiCnf(CamCmiCnf *pCmiCnf);
|
||||
void atDevProcCmiInd(CamCmiInd *pCmiInd);
|
||||
|
||||
|
||||
#endif
|
||||
#endif
|
||||
@@ -0,0 +1,28 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_mm_cnf_ind.h
|
||||
*
|
||||
* Description: Process Network related AT commands
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef _ATEC_MM_CNF_IND_API_H
|
||||
#define _ATEC_MM_CNF_IND_API_H
|
||||
|
||||
#include "at_util.h"
|
||||
|
||||
#define CPSMS_BUF_LEN 64
|
||||
|
||||
void atMmProcCmiCnf(CamCmiCnf *pCmiCnf);
|
||||
void atMmProcCmiInd(CamCmiInd *pCmiInd);
|
||||
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,35 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_phy_cnf_ind.h
|
||||
*
|
||||
* Description:
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef __ATEC_PHY_CNF_IND_H__
|
||||
#define __ATEC_PHY_CNF_IND_H__
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "cmsis_os2.h"
|
||||
#include "at_util.h"
|
||||
#include "atec_phy.h"
|
||||
#include "ctype.h"
|
||||
#include "cmicomm.h"
|
||||
#include "atc_reply.h"
|
||||
#include "ps_phy_if.h"
|
||||
|
||||
|
||||
void atPhyProcCmiCnf(PhyCmiCnf *pCmiCnf);
|
||||
void atPhyProcCmiInd(PhyCmiInd *pCmiInd);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_ps_cnf_ind.h
|
||||
*
|
||||
* Description: Process packet switched service related AT commands
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef __ATEC_PS_CNF_IND_H__
|
||||
#define __ATEC_PS_CNF_IND_H__
|
||||
|
||||
#include <stdio.h>
|
||||
#include "cmsis_os2.h"
|
||||
#include "at_util.h"
|
||||
#include "cmips.h"
|
||||
#include "atec_ps.h"
|
||||
#include "ps_ps_if.h"
|
||||
|
||||
#define ATEC_CGCONTRDP_RESP_BUF_SIZE 1280
|
||||
|
||||
/*
|
||||
* Cause ID -> Cause STRING mapping
|
||||
*/
|
||||
typedef struct AtcCeerCauseMapping_Tag
|
||||
{
|
||||
UINT16 causeId;
|
||||
const CHAR *pStr;
|
||||
}AtcCeerCauseMapping;
|
||||
|
||||
|
||||
void atPsProcCmiCnf(CamCmiCnf *pCmiCnf);
|
||||
void atPsProcCmiInd(CamCmiInd *pCmiInd);
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,32 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_sim_cnf_ind.h
|
||||
*
|
||||
* Description: The header file of atec_sim_cnf_ind
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef __ATEC_SIM_CNF_IND_H__
|
||||
#define __ATEC_SIM_CNF_IND_H__
|
||||
|
||||
#include <stdio.h>
|
||||
#include "cmsis_os2.h"
|
||||
#include "at_util.h"
|
||||
//#include "atec_controller.h"
|
||||
#include "cmisim.h"
|
||||
#include "atec_sim.h"
|
||||
#include "ps_sim_if.h"
|
||||
|
||||
|
||||
void atSimProcCmiCnf(CamCmiCnf *pCmiCnf);
|
||||
void atSimProcCmiInd(CamCmiInd *pCmiInd);
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,61 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_sms_cnf_ind.h
|
||||
*
|
||||
* Description: Process SMS related AT commands
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifdef FEATURE_PS_SMS_AT_ENABLE
|
||||
|
||||
#ifndef __ATEC_SMS_CNF_IND_H__
|
||||
#define __ATEC_SMS_CNF_IND_H__
|
||||
|
||||
#include "at_util.h"
|
||||
#include "atec_sms.h"
|
||||
#include "ps_sms_if.h"
|
||||
|
||||
|
||||
|
||||
CmsRetId smsNewMsgAck(UINT32 reqHandle, UINT32 reply, UINT16 ackPduLen, UINT8 *ackPdu);
|
||||
CmsRetId smsCMGSCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId smsCMSSCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId smsCSCAGetCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId smsCSCACSMPSetCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId smsCSMSCurrentGetCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId smsCSMSSetCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId smsCSMSSupportedGetCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId smsCMMSSetCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId smsCMMSGetCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId smsCSCBGetCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId smsCSCBSetCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId smsCMGRCMSSGetSmsMsgRecordCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId smsCMGWSetSmsMsgRecordCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId smsCMGDDelSmsMsgRecordCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId smsCMGLSmsMsgRecordCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
CmsRetId smsCPMSGetStorStatusCnf(UINT16 reqHandle, UINT16 rc, void *paras);
|
||||
|
||||
CmsRetId smsNewSMSRptUrc(CmiSmsNewMsgInd *pCmiMsgInd);
|
||||
CmsRetId smsProcNewSMSInd(void * paras);
|
||||
CmsRetId smsNewMessageMemoryLocationInd(void *paras);
|
||||
|
||||
CmsRetId smsCMGRGetSmsMsgCnf(UINT16 reqHandle, PsilSmsStoreItemInfo *pGetSmsInfo);
|
||||
CmsRetId smsCMSSGetSmsMsgCnf(UINT16 reqHandle, PsilSmsStoreItemInfo *pGetSmsInfo);
|
||||
|
||||
CmiSmsAccMemRet smsStoreNewMsgToStorage(UINT32 atHandle, CmiSmsNewMsgInd *pCmiMsgInd, UINT8 saveMode, UINT8* pMemIndex);
|
||||
|
||||
|
||||
void atSmsProcCmiCnf(CamCmiCnf *pCmiCnf);
|
||||
void atSmsProcCmiInd(CamCmiInd *pCmiInd);
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,53 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: at_ref_entity.h
|
||||
*
|
||||
* Description: Process protocol related AT CMD
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef __AT_REF_ENTITY_H__
|
||||
#define __AT_REF_ENTITY_H__
|
||||
|
||||
#include "at_util.h"
|
||||
#include "cmicomm.h"
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
*****************************************************************************
|
||||
* EXTERNAL API
|
||||
*****************************************************************************
|
||||
******************************************************************************/
|
||||
|
||||
|
||||
/*
|
||||
* process: SIG_CAM_CMI_CNF
|
||||
*/
|
||||
CmsRetId atRefProcCmiCnf(CamCmiCnf *pCmiCnf);
|
||||
|
||||
/*
|
||||
* process: SIG_CAM_CMI_IND
|
||||
*/
|
||||
CmsRetId atRefProcCmiInd(CamCmiInd *pCmiInd);
|
||||
|
||||
/*
|
||||
* process: SIG_CMS_APPL_CNF
|
||||
*/
|
||||
CmsRetId atRefProcApplCnf(CmsApplCnf *pApplCnf);
|
||||
|
||||
/*
|
||||
* process: SIG_CMS_APPL_IND
|
||||
*/
|
||||
CmsRetId atRefProcApplInd(CmsApplInd *pApplInd);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_ref_cmd_table.h
|
||||
*
|
||||
* Description:
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef _ATEC_REF_CMD_TABLE_H
|
||||
#define _ATEC_REF_CMD_TABLE_H
|
||||
|
||||
#include "at_util.h"
|
||||
|
||||
/******************************************************************************
|
||||
*****************************************************************************
|
||||
* MARCO
|
||||
*****************************************************************************
|
||||
******************************************************************************/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
*****************************************************************************
|
||||
* ENUM
|
||||
*****************************************************************************
|
||||
******************************************************************************/
|
||||
|
||||
/*
|
||||
* REF AT CMD table
|
||||
*/
|
||||
AtCmdPreDefInfoC* atcGetRefAtCmdSeqPointer(void);
|
||||
|
||||
/*
|
||||
* REF AT CMD number
|
||||
*/
|
||||
UINT32 atcGetRefAtCmdSeqNumb(void);
|
||||
|
||||
#endif
|
||||
|
||||
/* END OF FILE */
|
||||
@@ -0,0 +1,143 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_ref_ps.h
|
||||
*
|
||||
* Description: Process protocol related AT CMD
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef _ATEC_REF_PS_H_
|
||||
#define _ATEC_REF_PS_H_
|
||||
|
||||
#include "at_util.h"
|
||||
|
||||
/* AT+QENG */
|
||||
#define MAX_QENG_PARA_LEN 20
|
||||
#define ATC_QENG_STR_DEFAULT NULL
|
||||
|
||||
/* AT+QICSGP */
|
||||
#define ATC_QICSGP_0_CONTEXTID_VAL_MIN 1
|
||||
#define ATC_QICSGP_0_CONTEXTID_VAL_MAX 15
|
||||
#define ATC_QICSGP_0_CONTEXTID_VAL_DEF 1
|
||||
|
||||
#define ATC_QICSGP_1_CONTEXTTYPE_VAL_MIN 1
|
||||
#define ATC_QICSGP_1_CONTEXTTYPE_VAL_MAX 3
|
||||
#define ATC_QICSGP_1_CONTEXTTYPE_VAL_DEF 1
|
||||
|
||||
#define ATC_QICSGP_2_APN_VAL_DEF PNULL
|
||||
#define ATC_QICSGP_2_APN_STR_MAX_LEN 100
|
||||
|
||||
#define ATC_QICSGP_3_UNAME_VAL_DEF PNULL
|
||||
#define ATC_QICSGP_3_UNAME_STR_MAX_LEN (CMI_PS_MAX_AUTH_STR_LEN)
|
||||
|
||||
#define ATC_QICSGP_4_UPSWD_VAL_DEF PNULL
|
||||
#define ATC_QICSGP_4_UPSWD_STR_MAX_LEN (CMI_PS_MAX_AUTH_STR_LEN)
|
||||
|
||||
#define ATC_QICSGP_5_AUTHTYPE_VAL_MIN 0
|
||||
#define ATC_QICSGP_5_AUTHTYPE_VAL_MAX 3
|
||||
#define ATC_QICSGP_5_AUTHTYPE_VAL_DEF 0
|
||||
|
||||
/* AT+QIACT */
|
||||
#define ATC_QIACT_0_CONTEXTID_VAL_MIN 1
|
||||
#define ATC_QIACT_0_CONTEXTID_VAL_MAX 15
|
||||
#define ATC_QIACT_0_CONTEXTID_VAL_DEF 1
|
||||
|
||||
/* AT+QIDEACT */
|
||||
#define ATC_QIDEACT_0_CONTEXTID_VAL_MIN 1
|
||||
#define ATC_QIDEACT_0_CONTEXTID_VAL_MAX 15
|
||||
#define ATC_QIDEACT_0_CONTEXTID_VAL_DEF 1
|
||||
|
||||
/* AT+QWIFISCAN */
|
||||
#define ATC_QWIFISCAN_0_TIME_VAL_MIN 4000
|
||||
#define ATC_QWIFISCAN_0_TIME_VAL_MAX 255000
|
||||
#define ATC_QWIFISCAN_0_TIME_VAL_DEF 12000
|
||||
|
||||
#define ATC_QWIFISCAN_1_ROUND_VAL_MIN 1
|
||||
#define ATC_QWIFISCAN_1_ROUND_VAL_MAX 3
|
||||
#define ATC_QWIFISCAN_1_ROUND_VAL_DEF 1
|
||||
|
||||
#define ATC_QWIFISCAN_2_MAXBSSIDNUM_VAL_MIN 4
|
||||
#define ATC_QWIFISCAN_2_MAXBSSIDNUM_VAL_MAX 10
|
||||
#define ATC_QWIFISCAN_2_MAXBSSIDNUM_VAL_DEF 5
|
||||
|
||||
#define ATC_QWIFISCAN_3_SCANTIMEOUT_VAL_MIN 1
|
||||
#define ATC_QWIFISCAN_3_SCANTIMEOUT_VAL_MAX 255
|
||||
#define ATC_QWIFISCAN_3_SCANTIMEOUT_VAL_DEF 5
|
||||
|
||||
#define ATC_QWIFISCAN_4_PRIORITY_VAL_MIN 0 //data preferred
|
||||
#define ATC_QWIFISCAN_4_PRIORITY_VAL_MAX 1 //wifiscan preferred
|
||||
#define ATC_QWIFISCAN_4_PRIORITY_VAL_DEF 0
|
||||
|
||||
/* AT+QPOWD */
|
||||
#define ATC_QPOWD_0_CONTEXTID_VAL_MIN 0
|
||||
#define ATC_QPOWD_0_CONTEXTID_VAL_MAX 1
|
||||
#define ATC_QPOWD_0_CONTEXTID_VAL_DEF 0
|
||||
|
||||
|
||||
/* AT+QIREGAPP */
|
||||
#define ATC_QIREGAPP_0_APN_VAL_DEF PNULL
|
||||
#define ATC_QIREGAPP_0_APN_VAL_MAX_LEN 100
|
||||
|
||||
#define ATC_QIREGAPP_1_UNAME_VAL_DEF PNULL
|
||||
#define ATC_QIREGAPP_1_UNAME_STR_MAX_LEN (CMI_PS_MAX_AUTH_STR_LEN)
|
||||
|
||||
#define ATC_QIREGAPP_2_UPSWD_VAL_DEF PNULL
|
||||
#define ATC_QIREGAPP_3_UPSWD_STR_MAX_LEN (CMI_PS_MAX_AUTH_STR_LEN)
|
||||
|
||||
/* AT+QGDCNT */
|
||||
#define ATC_QGDCNT_0_VAL_MIN 0
|
||||
#define ATC_QGDCNT_0_VAL_MAX 1
|
||||
#define ATC_QGDCNT_0_VAL_DEFAULT 0
|
||||
|
||||
|
||||
/* AT+QAUGDCNT */
|
||||
#define ATC_QAUGDCNT_0_VAL_MIN 0
|
||||
#define ATC_QAUGDCNT_0_VAL_MAX 65535
|
||||
#define ATC_QAUGDCNT_0_VAL_DEFAULT 0
|
||||
|
||||
/* AT+QCFG */
|
||||
#define QCFG_0_TYPE_STR_MAX_LEN 32
|
||||
#define QCFG_0_TYPE_STR_DEF_VAL NULL
|
||||
|
||||
#define QCFG_1_TYPE_VAL_MIN 0
|
||||
#define QCFG_1_TYPE_VAL_MAX 1
|
||||
#define QCFG_1_TYPE_VAL_DEF (QCFG_1_TYPE_VAL_MIN)
|
||||
|
||||
|
||||
|
||||
typedef enum QCFG_URCCACHE_STATE_Enum
|
||||
{
|
||||
QCFG_URCCACHE_DISABLE = 0,
|
||||
QCFG_URCCACHE_ENABLE = 1,
|
||||
}QCFG_URCCACHE_STATE;
|
||||
|
||||
|
||||
CmsRetId refPsQCCID(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
CmsRetId refPsQENG(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId refPsQCELL(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId refPsQWIFISCAN(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId refPsQPOWD(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
CmsRetId refPsACT(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId refPsDEACT(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId refPsQGDCNT(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId refPsQAUGDCNT(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
CmsRetId refPsREGAPP(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId refPsCSGP(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
CmsRetId refPsQSPN(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
CmsRetId refPsQCFG(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,324 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_ref_tcpip.h
|
||||
*
|
||||
* Description: Process TCP/IP related AT CMD
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef _ATEC_REF_TCP_IP_H_
|
||||
#define _ATEC_REF_TCP_IP_H_
|
||||
|
||||
#include "at_util.h"
|
||||
#include "at_sock_entity.h"
|
||||
|
||||
|
||||
|
||||
#define MAX_REF_URL_IPADDR_LEN 255
|
||||
#define MAX_REF_IPADDR_LEN 64
|
||||
|
||||
#define QISOCKET_CONNECT_ID_INVALID 255
|
||||
/* AT+QIOPEN*/
|
||||
#define QIOPEN_0_CID_MIN 1
|
||||
#define QIOPEN_0_CID_MAX 15
|
||||
#define QIOPEN_0_CID_DEF 1
|
||||
#define QIOPEN_1_CONNECT_ID_MIN 0
|
||||
#define QIOPEN_1_CONNECT_ID_MAX 11
|
||||
#define QIOPEN_1_CONNECT_ID_DEF 0
|
||||
#define QIOPEN_2_TYPE_STR_MAX_LEN 12
|
||||
#define QIOPEN_2_TYPE_STR_DEF NULL
|
||||
#define QIOPEN_3_REMOTE_ADDR_STR_MAX_LEN MAX_REF_URL_IPADDR_LEN
|
||||
#define QIOPEN_3_REMOTE_ADDR_STR_DEF NULL
|
||||
#define QIOPEN_4_REMOTE_PORT_MIN 0
|
||||
#define QIOPEN_4_REMOTE_PORT_MAX 65535
|
||||
#define QIOPEN_4_REMOTE_PORT_DEF 0
|
||||
#define QIOPEN_5_LOCAL_PORT_MIN 0
|
||||
#define QIOPEN_5_LOCAL_PORT_MAX 65535
|
||||
#define QIOPEN_5_LOCAL_PORT_DEF 0
|
||||
#define QIOPEN_6_ACCESS_MODE_MIN 0
|
||||
#define QIOPEN_6_ACCESS_MODE_MAX 2
|
||||
#define QIOPEN_6_ACCESS_MODE_DEF 1
|
||||
|
||||
#define QIOPEN_SERVER_MODE_LOCAL_PORT_MIN 10000
|
||||
#define QIOPEN_SERVER_MODE_LOCAL_PORT_MAX 10015
|
||||
|
||||
|
||||
/* AT+QICLOSE*/
|
||||
#define QICLOSE_0_CONNECT_ID_MIN 0
|
||||
#define QICLOSE_0_CONNECT_ID_MAX 11
|
||||
#define QICLOSE_0_CONNECT_ID_DEF 0
|
||||
#define QICLOSE_1_TIME_OUT_MIN 0
|
||||
#define QICLOSE_1_TIME_OUT_MAX 65535
|
||||
#define QICLOSE_1_TIME_OUT_DEF 10
|
||||
|
||||
|
||||
/*AT+QIRD*/
|
||||
#define AT_QIRD_0_CONNECTID_MIN (0)
|
||||
#define AT_QIRD_0_CONNECTID_MAX (11)
|
||||
#define AT_QIRD_0_CONNECTID_DEF (-1)
|
||||
|
||||
#define AT_QIRD_1_READ_LENGTH_MIN (0)
|
||||
#define AT_QIRD_1_READ_LENGTH_MAX (1500)
|
||||
#define AT_QIRD_1_READ_LENGTH_DEF (0)
|
||||
|
||||
/* AT+QICFG */
|
||||
#define ATC_QICFG_0_MAX_PARM_STR_LEN 32
|
||||
#define ATC_QICFG_0_MAX_PARM_STR_DEFAULT NULL
|
||||
|
||||
#define AT_QICFG_1_TRANS_PKT_SIZE_MIN (1)
|
||||
#define AT_QICFG_1_TRANS_PKT_SIZE_MAX (1460)
|
||||
#define AT_QICFG_1_TRANS_PKT_SIZE_DEF (0)
|
||||
|
||||
#define AT_QICFG_2_TRANS_WAIT_TM_MIN (0)
|
||||
#define AT_QICFG_2_TRANS_WAIT_TM_MAX (20)
|
||||
#define AT_QICFG_2_TRANS_WAIT_TM_DEF (0)
|
||||
|
||||
#define AT_QICFG_3_SEND_DATA_FORMAT_MIN (0)
|
||||
#define AT_QICFG_3_SEND_DATA_FORMAT_MAX (1)
|
||||
#define AT_QICFG_3_SEND_DATA_FORMAT_DEF (0)
|
||||
|
||||
#define AT_QICFG_4_RECV_DATA_FORMAT_MIN (0)
|
||||
#define AT_QICFG_4_RECV_DATA_FORMAT_MAX (1)
|
||||
#define AT_QICFG_4_RECV_DATA_FORMAT_DEF (0)
|
||||
|
||||
#define AT_QICFG_5_VIEW_MODE_MIN (0)
|
||||
#define AT_QICFG_5_VIEW_MODE_MAX (1)
|
||||
#define AT_QICFG_5_VIEW_MODE_DEF (0)
|
||||
|
||||
#define AT_QICFG_6_PASSIVE_CLOSE_MIN (0)
|
||||
#define AT_QICFG_6_PASSIVE_CLOSE_MAX (1)
|
||||
#define AT_QICFG_6_PASSIVE_CLOSE_DEF (0)
|
||||
|
||||
#define AT_QICFG_7_UDP_READ_MODE_MIN (0)
|
||||
#define AT_QICFG_7_UDP_READ_MODE_MAX (1)
|
||||
#define AT_QICFG_7_UDP_READ_MODE_DEF (0)
|
||||
|
||||
#define AT_QICFG_8_UDP_SEND_MODE_MIN (0)
|
||||
#define AT_QICFG_8_UDP_SEND_MODE_MAX (1)
|
||||
#define AT_QICFG_8_UDP_SEND_MODE_DEF (0)
|
||||
|
||||
#define AT_QICFG_9_TCP_KEEPALIVE_ENABLE_MIN (0)
|
||||
#define AT_QICFG_9_TCP_KEEPALIVE_ENABLE_MAX (1)
|
||||
#define AT_QICFG_9_TCP_KEEPALIVE_ENABLE_DEF (0)
|
||||
|
||||
#define AT_QICFG_10_TCP_KEEPALIVE_IDLE_TIME_MIN (0)
|
||||
#define AT_QICFG_10_TCP_KEEPALIVE_IDLE_TIME_MAX (1800)
|
||||
#define AT_QICFG_10_TCP_KEEPALIVE_IDLE_TIME_DEF (0)
|
||||
|
||||
#define AT_QICFG_11_TCP_KEEPALIVE_INT_TIME_MIN (24)
|
||||
#define AT_QICFG_11_TCP_KEEPALIVE_INT_TIME_MAX (100)
|
||||
#define AT_QICFG_11_TCP_KEEPALIVE_INT_TIME_DEF (0)
|
||||
|
||||
#define AT_QICFG_12_TCP_KEEPALIVE_PROBE_CNT_MIN (3)
|
||||
#define AT_QICFG_12_TCP_KEEPALIVE_PROBE_CNT_MAX (10)
|
||||
#define AT_QICFG_12_TCP_KEEPALIVE_PROBE_CNT_DEF (0)
|
||||
|
||||
#define AT_QICFG_13_RECV_IND_MIN (0)
|
||||
#define AT_QICFG_13_RECV_IND_MAX (1)
|
||||
#define AT_QICFG_13_RECV_IND_DEF (0)
|
||||
|
||||
#define AT_QICFG_14_TCP_ACCEPT_MIN (0)
|
||||
#define AT_QICFG_14_TCP_ACCEPT_MAX (1)
|
||||
#define AT_QICFG_14_TCP_ACCEPT_DEF (0)
|
||||
|
||||
#define AT_QICFG_15_SENDINFO_MIN (0)
|
||||
#define AT_QICFG_15_SENDINFO_MAX (1)
|
||||
#define AT_QICFG_15_SENDINFO_DEF (0)
|
||||
|
||||
|
||||
/*AT+QISDE*/
|
||||
#define AT_QISDE_0_ECHO_MIN (0)
|
||||
#define AT_QISDE_0_ECHO_MAX (1)
|
||||
#define AT_QISDE_0_ECHO_DEF (0)
|
||||
|
||||
|
||||
/*AT+QISWTMD parameters defined*/
|
||||
#define AT_QISWTMD_0_CONNECTID_MIN (0)
|
||||
#define AT_QISWTMD_0_CONNECTID_MAX (11)
|
||||
#define AT_QISWTMD_0_CONNECTID_DEF (-1)
|
||||
|
||||
#define AT_QISWTMD_1_ACCMODE_MIN (0)
|
||||
#define AT_QISWTMD_1_ACCMODE_MAX (2)
|
||||
#define AT_QISWTMD_1_ACCMODE_DEF (0)
|
||||
|
||||
|
||||
/*AT+QISTATE*/
|
||||
#define AT_QISTATE_0_SERVICETYPE_MIN (0)
|
||||
#define AT_QISTATE_0_SERVICETYPE_MAX (1)
|
||||
#define AT_QISTATE_0_SERVICETYPE_DEF (0)
|
||||
|
||||
#define AT_QISTATE_1_CONTEXTID_MIN (1)
|
||||
#define AT_QISTATE_1_CONTEXTID_MAX (15)
|
||||
#define AT_QISTATE_1_CONTEXTID_DEF (1)
|
||||
|
||||
#define AT_QISTATE_1_CONNECTID_MIN (0)
|
||||
#define AT_QISTATE_1_CONNECTID_MAX (11)
|
||||
#define AT_QISTATE_1_CONNECTID_DEF (0)
|
||||
|
||||
|
||||
/*AT+QISENDEX parameters defined*/
|
||||
#define AT_QISENDEX_0_CONNECTID_MIN (0)
|
||||
#define AT_QISENDEX_0_CONNECTID_MAX (11)
|
||||
#define AT_QISENDEX_0_CONNECTID_DEF (-1)
|
||||
#define QISENDEX_SEND_HEX_MAX (512)
|
||||
|
||||
#define AT_QISENDEX_1_SENDHEXDATA_DEF (PNULL)
|
||||
|
||||
/*AT+QISEND parameters defined*/
|
||||
#define AT_QISEND_0_CONNECTID_MIN (0)
|
||||
#define AT_QISEND_0_CONNECTID_MAX (11)
|
||||
#define AT_QISEND_0_CONNECTID_DEF (-1)
|
||||
|
||||
#define AT_QISEND_1_SENDLEN_MIN (0)
|
||||
#define AT_QISEND_1_SENDLEN_MAX (1460)
|
||||
#define AT_QISEND_1_SENDLEN_DEF (0)
|
||||
|
||||
#define AT_QISEND_2_REMOTE_IP_DEF (PNULL)
|
||||
|
||||
#define AT_QISEND_3_REMOTE_PORT_MIN (0)
|
||||
#define AT_QISEND_3_REMOTE_PORT_MAX (65535)
|
||||
#define AT_QISEND_3_REMOTE_PORT_DEF (0)
|
||||
|
||||
/* AT+QPING */
|
||||
#define QPING_DEFAULT_PAYLOAD_SIZE 35
|
||||
|
||||
#define QPING_0_CID_MIN 1
|
||||
#define QPING_0_CID_MAX 15
|
||||
#define QPING_0_CID_DEF 1
|
||||
#define QPING_1_STR_MAX_LEN MAX_REF_URL_IPADDR_LEN
|
||||
#define QPING_1_STR_DEF NULL
|
||||
#define QPING_2_TIMEOUT_MIN 1
|
||||
#define QPING_2_TIMEOUT_MAX 255
|
||||
#define QPING_2_TIMEOUT_DEF 4
|
||||
#define QPING_3_PING_NUM_MIN 1
|
||||
#define QPING_3_PING_NUM_MAX 10
|
||||
#define QPING_3_PING_NUM_DEF 4
|
||||
|
||||
|
||||
/*AT +QSNTP*/
|
||||
#define QSNTP_0_CID_MIN 1
|
||||
#define QSNTP_0_CID_MAX 15
|
||||
#define QSNTP_0_CID_DEF 1
|
||||
#define QSNTP_1_STR_MAX_LEN MAX_REF_URL_IPADDR_LEN
|
||||
#define QSNTP_1_STR_DEF NULL
|
||||
#define QSNTP_2_PORT_MIN 1
|
||||
#define QSNTP_2_PORT_MAX 65535
|
||||
#define QSNTP_2_PORT_DEF 123
|
||||
#define QSNTP_3_AUTO_MIN 0
|
||||
#define QSNTP_3_AUTO_MAX 1
|
||||
#define QSNTP_3_AUTO_DEF 0
|
||||
#define QSNTP_GET_STATUS_CNF_STR_LEN 312
|
||||
|
||||
/*AT+QIDNSCFG*/
|
||||
#define QIDNSCFG_DNS_NUM 2
|
||||
|
||||
#define QIDNSCFG_GET_CNF_STR_LEN 256
|
||||
#define QIDNSCFG_GET_CNF_TMP_STR_LEN 64
|
||||
|
||||
#define QIDNSCFG_0_CID_MIN 1
|
||||
#define QIDNSCFG_0_CID_MAX 15
|
||||
#define QIDNSCFG_0_CID_DEF 1
|
||||
#define QIDNSCFG_1_DNS_MAX_LEN MAX_REF_IPADDR_LEN
|
||||
#define QIDNSCFG_1_DNS_DEF NULL
|
||||
|
||||
|
||||
/* AT+QIDNSGIP */
|
||||
#define QIDNSGIP_0_CID_MIN 1
|
||||
#define QIDNSGIP_0_CID_MAX 15
|
||||
#define QIDNSGIP_0_CID_DEF 1
|
||||
#define QIDNSGIP_1_STR_MAX_LEN MAX_REF_URL_IPADDR_LEN
|
||||
#define QIDNSGIP_1_STR_DEF NULL
|
||||
|
||||
/* AT+ECNETDEVCTL */
|
||||
#define QNETDEVCTL_0_OP_MIN 0
|
||||
#define QNETDEVCTL_0_OP_MAX 3
|
||||
#define QNETDEVCTL_0_OP_DEF 0
|
||||
#define QNETDEVCTL_1_CID_MIN 1
|
||||
#define QNETDEVCTL_1_CID_MAX 15
|
||||
#define QNETDEVCTL_1_CID_DEF 1
|
||||
#define QNETDEVCTL_2_URCEN_MIN 0
|
||||
#define QNETDEVCTL_2_URCEN_MAX 1
|
||||
#define QNETDEVCTL_2_URCEN_DEF 0
|
||||
|
||||
|
||||
/**********************macro define****************************************/
|
||||
#define NM_TRANS_IPV4ADDR_TO_BYTE(ipAddr ,ipAddrCfg ) \
|
||||
do{ \
|
||||
ipAddrCfg.ipAddr[0] = ip4_addr1(&(ipAddr.u_addr.ip4)); \
|
||||
ipAddrCfg.ipAddr[1] = ip4_addr2(&(ipAddr.u_addr.ip4)); \
|
||||
ipAddrCfg.ipAddr[2] = ip4_addr3(&(ipAddr.u_addr.ip4)); \
|
||||
ipAddrCfg.ipAddr[3] = ip4_addr4(&(ipAddr.u_addr.ip4)); \
|
||||
}while(0)
|
||||
|
||||
|
||||
#define NM_TRANS_IPV6ADDR_TO_BYTE(ipAddr ,ipAddrCfg ) \
|
||||
do{ \
|
||||
UINT16 ipv6U16 = 0; \
|
||||
ipv6U16 = IP6_ADDR_BLOCK1(&(ipAddr.u_addr.ip6)); \
|
||||
ipAddrCfg.ipAddr[0] = (UINT8)((ipv6U16 >> 8)&0xFF); \
|
||||
ipAddrCfg.ipAddr[1] = (UINT8)(ipv6U16 & 0xFF); \
|
||||
ipv6U16 = IP6_ADDR_BLOCK2(&(ipAddr.u_addr.ip6)); \
|
||||
ipAddrCfg.ipAddr[2] = (UINT8)((ipv6U16 >> 8)&0xFF); \
|
||||
ipAddrCfg.ipAddr[3] = (UINT8)(ipv6U16 & 0xFF); \
|
||||
ipv6U16 = IP6_ADDR_BLOCK3(&(ipAddr.u_addr.ip6)); \
|
||||
ipAddrCfg.ipAddr[4] = (UINT8)((ipv6U16 >> 8)&0xFF); \
|
||||
ipAddrCfg.ipAddr[5] = (UINT8)(ipv6U16 & 0xFF); \
|
||||
ipv6U16 = IP6_ADDR_BLOCK4(&(ipAddr.u_addr.ip6)); \
|
||||
ipAddrCfg.ipAddr[6] = (UINT8)((ipv6U16 >> 8)&0xFF); \
|
||||
ipAddrCfg.ipAddr[7] = (UINT8)(ipv6U16 & 0xFF); \
|
||||
ipv6U16 = IP6_ADDR_BLOCK5(&(ipAddr.u_addr.ip6)); \
|
||||
ipAddrCfg.ipAddr[8] = (UINT8)((ipv6U16 >> 8)&0xFF); \
|
||||
ipAddrCfg.ipAddr[9] = (UINT8)(ipv6U16 & 0xFF); \
|
||||
ipv6U16 = IP6_ADDR_BLOCK6(&(ipAddr.u_addr.ip6)); \
|
||||
ipAddrCfg.ipAddr[10] = (UINT8)((ipv6U16 >> 8)&0xFF); \
|
||||
ipAddrCfg.ipAddr[11] = (UINT8)(ipv6U16 & 0xFF); \
|
||||
ipv6U16 = IP6_ADDR_BLOCK7(&(ipAddr.u_addr.ip6)); \
|
||||
ipAddrCfg.ipAddr[12] = (UINT8)((ipv6U16 >> 8)&0xFF); \
|
||||
ipAddrCfg.ipAddr[13] = (UINT8)(ipv6U16 & 0xFF); \
|
||||
ipv6U16 = IP6_ADDR_BLOCK8(&(ipAddr.u_addr.ip6)); \
|
||||
ipAddrCfg.ipAddr[14] = (UINT8)((ipv6U16 >> 8)&0xFF); \
|
||||
ipAddrCfg.ipAddr[15] = (UINT8)(ipv6U16 & 0xFF); \
|
||||
}while(0)
|
||||
|
||||
|
||||
|
||||
/**********************function api define****************************************/
|
||||
CmsRetId nmQIOPEN(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmQICLOSE(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmQIPING(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmQINTP(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmQIDNSCFG(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmQIDNSGIP(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmQIRD(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmQICFG(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmQISDE(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmQIGETERROR(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmQISTATE(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmQISEND(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmQISENDEX(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmQISWTMD(const AtCmdInputContext *pAtCmdReq);
|
||||
CmsRetId nmQISocInputData(UINT8 chanId, UINT8 *pInput, UINT16 length);
|
||||
void nmQISocFreeDataInfo(void);
|
||||
void nmQISocFreeDataBody(void);
|
||||
CmsRetId nmQISocInputPSTHData(UINT8 chanId, UINT8 *pInput, UINT16 length);
|
||||
void nmQISocPSTHdataInit(UINT8 connectId, UINT16 reqHander);
|
||||
void nmQISocPSTHdataDeInit(void);
|
||||
void nmQISocEnableUlfc(UINT8 chanId);
|
||||
void nmQISocDisableUlfc(UINT8 chanId);
|
||||
CmsRetId nmQNETDEVCTL(const AtCmdInputContext *pAtCmdReq);
|
||||
|
||||
AtRefSocketSendInfo *nmQISocGetSendMsgHander(void);
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_ref_ps_cnf_ind.h
|
||||
*
|
||||
* Description:
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef __ATEC_REF_PS_CNF_IND_H__
|
||||
#define __ATEC_REF_PS_CNF_IND_H__
|
||||
|
||||
#include "cmicomm.h"
|
||||
|
||||
void atRefDevProcCmiCnf(CamCmiCnf *pCmiCnf);
|
||||
void atRefSimProcCmiCnf(CamCmiCnf *pCmiCnf);
|
||||
void atRefPsProcCmiCnf(CamCmiCnf *pCmiCnf);
|
||||
void atRefPsProcCmiInd(CamCmiInd *pCmiInd);
|
||||
CmsRetId refPsProcDeactInd(UINT16 reqHandle,void *paras);
|
||||
void atRefMmProcCmiCnf(CamCmiCnf *pCmiCnf);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename: atec_ref_tcpip_cnf_ind.h
|
||||
*
|
||||
* Description:Process TCP/IP service related AT commands
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef __ATEC_REF_TCPIP_CNF_IND_H__
|
||||
#define __ATEC_REF_TCPIP_CNF_IND_H__
|
||||
#include "at_util.h"
|
||||
|
||||
void atTcpIpProcRefNmApplCnf(CmsApplCnf *pApplCnf);
|
||||
void atTcpIpProcRefNmApplInd(CmsApplInd *pApplInd);
|
||||
void atTcpIpProcRefSoclCnf(CmsApplCnf *pApplCnf);
|
||||
void atTcpIpProcRefSoclInd(CmsApplInd *pApplInd);
|
||||
|
||||
/*
|
||||
* When AT channel enter: ATC_REF_SOCKET_PASSTHROUGH_STATE/ATC_ONLINE_COMMAND_STATE, the AT channel data/Event callback API
|
||||
*/
|
||||
CmsRetId nmRefSockPSTHAndOnlineCmdCallback(UINT8 chanId, UINT8 curChanState, AtDataAndOnlineCmdSEvt eventId, void *pArg);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,365 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename:
|
||||
*
|
||||
* Description:
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef __ATC_REPLY_H__
|
||||
#define __ATC_REPLY_H__
|
||||
|
||||
#include "commontypedef.h"
|
||||
#include "atc_decoder.h"
|
||||
#include "pspdu.h"
|
||||
|
||||
/******************************************************************************
|
||||
* +-----+ +-----+
|
||||
* | DTE | --> AT CMD --> | DCE |
|
||||
* +-----+ +-----+
|
||||
*
|
||||
* V.250: Table 3/V.250 <20>C Effect of V parameter on response formats
|
||||
* 1> Two types of responses: "information text" and "result codes"
|
||||
* A) "information text" three parts: a header, text, and a trailer
|
||||
* a> ATV0: <text><S3><S4> (normal: <text>\r\n)
|
||||
* b> ATV1: <S3><S4><text><S3><S4> (normal: \r\n<text>\r\n)
|
||||
* c> information text returned in response to manufacturer-specific commands
|
||||
* may contain multiple lines, may therefore include: CR,LF (\r\n)
|
||||
*
|
||||
* B) "result codes" three parts: a header, the result text, and a trailer
|
||||
* a> ATV0: <numeric code><S3> (normal: <numeric code>\r)
|
||||
* example: 0\r (OK)
|
||||
*
|
||||
* b> ATV1: <S3><S4><verbose code><S3><S4> (normal: \r\n<verbose code>\r\n)
|
||||
* example: \r\nOK\r\n
|
||||
*
|
||||
* c> Three types of result codes: "final", "intermediate", and "unsolicited".
|
||||
* i> "final": indicates the completion of a full DCE action and a willingness
|
||||
* to accept new commands from the DTE
|
||||
* ii> "intermediate": suc as: the DCE moves from "command state" to
|
||||
* "online data state", and issues a: "CONNECT"
|
||||
* iii> "Unsolicited": URC
|
||||
*
|
||||
* C) "Extended syntax result codes"
|
||||
* a> "extended syntax result codes" format is the same as "result codes" regard to
|
||||
* headers and trailers; (Note: also controlled by ATV)
|
||||
* b> "extended syntax result codes" have no numeric equivalent,
|
||||
* and are always issued in alphabetic form, so only: === ATV1 ===?
|
||||
* c> "Extended syntax result codes" may be:
|
||||
* "final", "intermediate", "unsolicited"
|
||||
* d> "Extended syntax result codes" shall be prefixed by the "+" character
|
||||
* example: \r\n+<name>\r\n => \r\n+CME ERROR: <err>\r\n
|
||||
*
|
||||
* D) "Information text formats for test commands"
|
||||
* example:
|
||||
* a> (0)
|
||||
* b> (0,1,4)
|
||||
* c> (1-5)
|
||||
* d> (0,4-6,9,11-12)
|
||||
******************************************************************************/
|
||||
|
||||
/******************************************************************************
|
||||
* 1. Additional commands may follow an extended syntax command on the same command line if a
|
||||
* semicolon (";", IA5 3/11) is inserted after the preceding extended command as a separator.
|
||||
* 2. Extended syntax commands may appear on the same command line after a basic syntax command
|
||||
* without a separator
|
||||
* 3. So whether a basic syntax command could be following after an command? - maybe can't --TBD
|
||||
*
|
||||
* Example:
|
||||
* AT command:
|
||||
* ATCMD1 CMD2=12; +CMD1; +CMD2=,,15; +CMD2?; +CMD2=?<CR>
|
||||
* ^basic| | ^
|
||||
* ^ ^ |
|
||||
* ================================================================
|
||||
* Information responses and result codes:
|
||||
* A) If ATV1 (default)
|
||||
* <CR><LF>+CMD2: 3,0,15,"GSM"<CR><LF> --> information text
|
||||
* <CR><LF>+CMD2: (0-3),(0,1),(0-12,15),("GSM","IRA")<CR><LF> --> information text
|
||||
* <CR><LF>OK<CR><LF> --> final result code
|
||||
* B) If ATV0
|
||||
* +CMD2: 3,0,15,"GSM"<CR><LF> --> information text
|
||||
* +CMD2: (0-3),(0,1),(0-12,15),("GSM","IRA")<CR><LF> --> information text
|
||||
* 0<CR> --> final result code
|
||||
*
|
||||
* =============================================================
|
||||
* Error command, or process error, response:
|
||||
* A) If command is not accepted/right, such cases:
|
||||
* a> command itself is invalid, as: ATBCDFG
|
||||
* b> command cannot be performed for some reasons, such as:
|
||||
* i> one or more mandatory values are omitted, or
|
||||
* ii> one or more values are of the wrong type or
|
||||
* iii> outside the permitted range.
|
||||
* if AT1:
|
||||
* <CR><LF>ERROR<CR><LF> --> final result code
|
||||
* if AT0
|
||||
* 4<CR> --> final result code
|
||||
* B) If command was not processed due to an error related to MT operation,
|
||||
* response (no matter the ATV value):
|
||||
* <CR><LF>+CME ERROR: <err><CR><LF>
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
*****************************************************************************
|
||||
* MARCO
|
||||
*****************************************************************************
|
||||
******************************************************************************/
|
||||
//basicResultStr
|
||||
#define ATC_BASIC_RESULT_STR_LEN 64
|
||||
#define ATC_EXTENDED_RESULT_STR_LEN 128
|
||||
#define ATC_IND_RESP_MAX_STR_LEN 8192
|
||||
|
||||
|
||||
#define ATC_SUCC_CODE 0
|
||||
|
||||
/******************************************************************************
|
||||
*****************************************************************************
|
||||
* Enum & structure
|
||||
*****************************************************************************
|
||||
******************************************************************************/
|
||||
/*
|
||||
* <n>: integer type.
|
||||
* 0 disable +CME ERROR: <err> result code and use ERROR instead
|
||||
* 1 enable +CME ERROR: <err> result code and use numeric <err> values (refer subclause 9.2)
|
||||
* 2 enable +CME ERROR: <err> result code and use verbose <err> values (refer subclause 9.2)
|
||||
*/
|
||||
typedef enum AtcCMEERetType_Enum
|
||||
{
|
||||
ATC_CMEE_DISABLE_ERROR_CODE = 0,
|
||||
ATC_CMEE_NUM_ERROR_CODE,
|
||||
ATC_CMEE_VERBOSE_ERROR_CODE
|
||||
}AtcCMEERetType;
|
||||
|
||||
|
||||
/*
|
||||
* REFER: V.250, 5.7.1, Table 1/V.250 esult codes
|
||||
*/
|
||||
typedef enum AtResultCode_Tag
|
||||
{
|
||||
AT_RC_OK = 0, /* 1> AT command done/acknowledged, guard timer should stop
|
||||
* 2> add "\r\n" at start&end of response
|
||||
* 3> add "\r\nOK\r\n" after response
|
||||
*/
|
||||
AT_RC_CONNECT = 1, /* A connection has been established;
|
||||
the DCE is moving from command state to online data state */
|
||||
AT_RC_RING = 2, /* An incoming call signal from the network, -- not used now */
|
||||
AT_RC_NO_CARRIER = 3, /* The connection has been terminated or the attempt to establish
|
||||
a connection failed*/
|
||||
AT_RC_ERROR = 4, /* Command not recognized, command line maximum length exceeded,
|
||||
parameter value invalid, or other problem with processing the command line*/
|
||||
AT_RC_NO_DIALTONE = 6, /* No dial tone detected, -- not used now*/
|
||||
AT_RC_BUSY = 7, /* Engaged (busy) signal detected -- not used now*/
|
||||
|
||||
AT_RC_NO_ANSWER = 8, /* (Wait for Quiet Answer) dial modifier was used, but
|
||||
remote ringing followed by five seconds of silence was not
|
||||
detected before expiration of the connection timer -- not used now */
|
||||
|
||||
/*
|
||||
* Extended syntax result codes:
|
||||
*/
|
||||
AT_RC_CONTINUE = 10, /* 1> AT procedure not finished/continued, guard timer should not stop
|
||||
* 2> only add: "\r\n" at start of response
|
||||
* example: <CR><LF>+CGPADDR: <cid>[,<PDP_addr_1>[,<PDP_addr_2>]] ==> AT_RC_CONTINUE
|
||||
* <CR><LF>+CGPADDR: <cid>,[<PDP_addr_1>[,<PDP_addr_2>]]<S3><S4> ==> AT_RC_OK
|
||||
*/
|
||||
AT_RC_NO_RESULT = 11, /* 1> AT command done, guard timer should stop,
|
||||
* 2> but no "result code" ("\r\nOK\r\n") replied/printed
|
||||
* 3> add "\r\n" at start&end of response
|
||||
*/
|
||||
AT_RC_RAW_INFO, /* 1> AT command done, guard timer should stop
|
||||
* 2> but no "result code" ("\r\nOK\r\n") replied/printed
|
||||
* 3> not add "\r\n"
|
||||
*/
|
||||
AT_RC_RAW_INFO_CONTINUE,/* 1> AT procedure not finished/continued, guard timer should not stop,
|
||||
* 2> not add "\r\n"
|
||||
*/
|
||||
|
||||
AT_RC_CME_ERROR, /* +CME ERROR */
|
||||
AT_RC_CMS_ERROR, /* +CMS ERROR */
|
||||
|
||||
|
||||
|
||||
AT_RC_CUSTOM_ERROR = 20,
|
||||
AT_RC_HTTP_ERROR, //Timer will Stop, +HTTP ERROR
|
||||
AT_RC_SOCKET_ERROR, //Timer will Stop, +SOCKET ERROR
|
||||
AT_RC_MQTT_ERROR, //Timer will Stop, +MQTT ERROR
|
||||
AT_RC_DM_ERROR, //DM ERROR
|
||||
AT_RC_ADC_ERROR, //ADC ERROR
|
||||
AT_RC_EXAMPLE_ERROR, //EC ERROR
|
||||
AT_RC_ECSOC_ERROR, //Timer will Stop, +CME ERROR
|
||||
AT_RC_ECSRVSOC_ERROR, //EC server soc error
|
||||
AT_RC_REFSOC_ERROR, //Timer will Stop, ERROR
|
||||
AT_RC_REFPS_ERROR = AT_RC_REFSOC_ERROR, //Timer will Stop, ERROR
|
||||
AT_RC_FILE_ERROR, //File ERROR
|
||||
AT_RC_SSL_ERROR, //Timer will Stop, +SSL ERROR
|
||||
AT_RC_FWUPD_ERROR, //FWUPD ERROR
|
||||
AT_RC_CTW_ERROR, //CTW ERROR
|
||||
}AtResultCode;
|
||||
|
||||
|
||||
/*
|
||||
* AT URC type
|
||||
*/
|
||||
typedef enum AtUrcType_enum
|
||||
{
|
||||
AT_OTHER_URC = 0,
|
||||
AT_SMS_URC,
|
||||
AT_RING_URC
|
||||
}AtUrcType;
|
||||
|
||||
/*
|
||||
* AT reply/URC PDU mode
|
||||
*/
|
||||
typedef struct AtOutPdu_Tag
|
||||
{
|
||||
DlPduBlock *pPdu;
|
||||
|
||||
/*
|
||||
* |<---------------- pPdu->length ----------------->|
|
||||
* +-+-+---------------+-----------------------+-+-+-+
|
||||
* | | |+CEREG: 2,0\r\n | | | |
|
||||
* +-+-+---------------+-----------------------+-+-+-+
|
||||
* ^ ^ ^ ^
|
||||
* | |startOffset |inOffset |endOffset
|
||||
* |pPdu->pPdu
|
||||
*
|
||||
* Note:
|
||||
* 1> Two bytes reserved in header for "\r\n"
|
||||
* 2> Three bytes reserved at end for "\r\n\0"
|
||||
*/
|
||||
BOOL bFail; /* whether AT out PDU print OK */
|
||||
UINT8 rsvd;
|
||||
|
||||
UINT16 startOffset;
|
||||
UINT16 inOffset;
|
||||
UINT16 endOffset;
|
||||
}AtOutPdu; // 12 bytes
|
||||
|
||||
/******************************************************************************
|
||||
*****************************************************************************
|
||||
* external API
|
||||
*****************************************************************************
|
||||
******************************************************************************/
|
||||
|
||||
/*
|
||||
* AT REPLY
|
||||
*/
|
||||
CmsRetId atcReply(UINT16 srcHandle, AtResultCode resCode, UINT32 errCode, const CHAR *pRespInfo);
|
||||
|
||||
/*
|
||||
* AT URC
|
||||
* Note:
|
||||
* 1> In this API, will add: "\r\n" at start/end of URC string.
|
||||
*/
|
||||
CmsRetId atcURC(UINT32 chanId, const CHAR *pUrcStr);
|
||||
|
||||
/*
|
||||
* AT SMS MT URC
|
||||
* Note:
|
||||
* 1> In this API, will add: "\r\n" at start/end of URC string.
|
||||
* 2> MT SMS URC: +CMTI, +CMT, +CDS, +CBM
|
||||
*/
|
||||
CmsRetId atcSmsURC(UINT32 chanId, const CHAR *pUrcStr);
|
||||
|
||||
|
||||
/*
|
||||
* send the result code string
|
||||
*/
|
||||
CmsRetId atcSendResultCode(AtChanEntity *pAtChanEty, AtResultCode resCode, const CHAR *pResultStr);
|
||||
|
||||
/*
|
||||
* send echo string
|
||||
*/
|
||||
CmsRetId atcEchoString(AtChanEntityP pAtChanEty, const CHAR *pStr, UINT32 strLen);
|
||||
|
||||
/*
|
||||
* Send response string: "pStr" via AT channel, without any modification, or suppression
|
||||
*/
|
||||
CmsRetId atcSendRawRespStr(AtChanEntity *pAtChanEty, const CHAR *pStr, UINT32 strLen);
|
||||
|
||||
/*
|
||||
* whether URC API configured
|
||||
*/
|
||||
BOOL atcBeURCConfiged(UINT32 chanId);
|
||||
|
||||
/*
|
||||
* AT REPLY in PDU.
|
||||
* Note: pAtPdu will send to Tx task in this API, if want to re-use, need to call: atPduInit() to init again.
|
||||
*/
|
||||
CmsRetId atcPduReply(UINT16 srcHandler, AtResultCode resCode, UINT32 errCode, AtOutPdu *pAtPdu);
|
||||
|
||||
/*
|
||||
* AT URC in PDU
|
||||
* Note:
|
||||
* 1> pAtPdu will send to Tx task in this API, if want to re-use, need to call: atPduInit() to init again.
|
||||
* 2> In this API, will add: "\r\n" at start/end of URC string.
|
||||
*/
|
||||
CmsRetId atcPduURC(UINT32 chanId, AtOutPdu *pAtPdu);
|
||||
|
||||
|
||||
/*
|
||||
* 1> "DlPduBlock" not changed any in this API, only send the "DlPduBlock"
|
||||
* to Tx task (or RIL APP task) transparently
|
||||
* 2> As the "DlPduBlock" is sent, tha caller can't use it anymore
|
||||
*/
|
||||
CmsRetId atcRawPduURC(UINT32 chanId, DlPduBlock *pPdu);
|
||||
|
||||
/*
|
||||
* Diff with atcURC():
|
||||
* a) URC maybe pended in URC list when AT channel in data state, but not in this API
|
||||
* b) URC maybe pended when one AT command is ongoing (not replied), but not in this API
|
||||
* c) "\r\n" will be added at the beginning\ending of URC in API: atcURC(), but not in this API
|
||||
*/
|
||||
CmsRetId atcPassThrough(UINT32 chanId, const UINT8 *pData, UINT32 length);
|
||||
|
||||
/*
|
||||
* Diff with atcRawPduURC():
|
||||
* a) URC maybe pended in URC list when AT channel in data state,
|
||||
* b) URC maybe pended when one AT command is ongoing (not replied), but
|
||||
* c) this API no such limitions, just pass the PDU to Tx task
|
||||
*/
|
||||
CmsRetId atcPduPassThrough(UINT32 chanId, DlPduBlock *pPdu);
|
||||
|
||||
/*
|
||||
* AT action, after one AT line done
|
||||
*/
|
||||
CmsRetId atcLineEndProc(UINT32 chanId, AtResultCode resCode);
|
||||
|
||||
/**
|
||||
\brief Only used in case of sending "OK"/etc, when exist online data state
|
||||
\Note:
|
||||
\ 1> Example: when in PPP online data state, if recv '+++'(or DTR event),
|
||||
\ AT channel should enter: ATC_ONLINE_COMMAND_STATE. and reply "OK".
|
||||
\ 2> Why not using "atcURC()"? as the string result "OK" should be changed to numeric format: 0 if ATV0 configed
|
||||
\ and URC maybe cached/delayed, so involved this new API
|
||||
*/
|
||||
CmsRetId atcResultCode(UINT32 chanId, AtResultCode resCode);
|
||||
|
||||
/*
|
||||
* check whether any URC need to flush to send out
|
||||
* API called in CMS task
|
||||
*/
|
||||
void atcCheckFlushUrc(UINT8 chanId);
|
||||
|
||||
/*
|
||||
* URC RI done callback
|
||||
*/
|
||||
void atcUrcRiDoneCallback(UINT16 paramSize, void *pParam);
|
||||
|
||||
/*
|
||||
* AT URC delaty timer expiry, URC could be flush/Tx
|
||||
*/
|
||||
void atcUrcDelayTimerExpiry(UINT16 timeId);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
/******************************************************************************
|
||||
|
||||
*(C) Copyright 2018 AirM2M International Ltd.
|
||||
|
||||
* All Rights Reserved
|
||||
|
||||
******************************************************************************
|
||||
* Filename:
|
||||
*
|
||||
* Description:
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef __ATC_REPLY_ERR_MAP_H__
|
||||
#define __ATC_REPLY_ERR_MAP_H__
|
||||
|
||||
#include "CommonTypedef.h"
|
||||
|
||||
/*
|
||||
* ERROR CODE ID -> ERROR STRING mapping
|
||||
*/
|
||||
typedef struct AtcErrStrMapping_Tag
|
||||
{
|
||||
UINT32 errId;
|
||||
const CHAR *pStr;
|
||||
}AtcErrStrMapping;
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
*****************************************************************************
|
||||
* external API
|
||||
*****************************************************************************
|
||||
******************************************************************************/
|
||||
|
||||
/*
|
||||
* AT REPLY
|
||||
*/
|
||||
const CHAR* atcGetCMEEStr(const UINT32 errId);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user