123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625 |
- /* Copyright (C) 2018 RDA Technologies Limited and/or its affiliates("RDA").
- * All rights reserved.
- *
- * This software is supplied "AS IS" without any warranties.
- * RDA assumes no responsibility or liability for the use of the software,
- * conveys no license or title under any patent, copyright, or mask work
- * right to the product. RDA reserves the right to make changes in the
- * software without notification. RDA also make no representation or
- * warranty that such application will be suitable for the specified use
- * without further testing or modification.
- */
- #ifndef __AT_RESPONSE_H__
- #define __AT_RESPONSE_H__
- #include <stdint.h>
- #include <stdbool.h>
- #include "at_engine.h"
- #include "osi_compiler.h"
- //OSI_EXTERN_C_BEGIN
- #include "quec_proj_config.h"
- #include "quec_proj_config_at.h"
- #ifndef DOXYGEN
- #define RETURN_CMS_ERR(engine, err) OSI_DO_WHILE0(atCmdRespCmsError(engine, err); return;)
- #define RETURN_CME_ERR(engine, err) OSI_DO_WHILE0(atCmdRespCmeError(engine, err); return;)
- #define RETURN_OK(engine) OSI_DO_WHILE0(atCmdRespOK(engine); return;)
- #define RETURN_OK_CME_ERR(engine, res) OSI_DO_WHILE0(int _c = (res); atCmdEngine_t *_e = (engine); if (_c == 0) atCmdRespOK(_e); else atCmdRespCmeError(_e, _c); return;)
- #define RETURN_FOR_ASYNC() OSI_DO_WHILE0(return;)
- //adjusted by kevin.wang 20220126 move it to quec_atc_common.h
- #ifdef CONFIG_QUEC_PROJECT_FEATURE_ATC_PARSE
- #include "quec_atc_common.h"
- #else
- // DCE Result code
- #define CMD_RC_OK 0 ///< "OK"
- #define CMD_RC_CONNECT 1 ///< "CONNECT"
- #define CMD_RC_RING 2 ///< "RING/CRING"
- #define CMD_RC_NOCARRIER 3 ///< "NO CARRIER"
- #define CMD_RC_ERROR 4 ///< "ERROR"
- #define CMD_RC_NOTSUPPORT 5 ///< "NOT SUPPORT"
- #define CMD_RC_NODIALTONE 6 ///< "NO DIALTONE"
- #define CMD_RC_BUSY 7 ///< "BUSY"
- #define CMD_RC_NOANSWER 8 ///< "NO ANSWER"
- #define CMD_RC_INVCMDLINE 9 ///< "INVALID COMMAND LINE"
- #define CMD_RC_CR 10 ///< "\r\n"
- #define CMD_RC_SIMDROP 11 ///< "Sim drop"
- #define ERR_AT_UNKNOWN ERR_AT_CME_EXE_FAIL
- // CME error code define start
- #define ERR_AT_CME_PHONE_FAILURE 0
- #define ERR_AT_CME_NO_CONNECT_PHONE 1
- #define ERR_AT_CME_PHONE_ADAPTER_LINK_RESERVED 2
- #define ERR_AT_CME_OPERATION_NOT_ALLOWED 3
- #define ERR_AT_CME_OPERATION_NOT_SUPPORTED 4
- #define ERR_AT_CME_PHSIM_PIN_REQUIRED 5
- #define ERR_AT_CME_PHFSIM_PIN_REQUIRED 6
- #define ERR_AT_CME_PHFSIM_PUK_REQUIRED 7
- #define ERR_AT_CME_SIM_NOT_INSERTED 10
- #define ERR_AT_CME_SIM_PIN_REQUIRED 11
- #define ERR_AT_CME_SIM_PUK_REQUIRED 12
- #define ERR_AT_CME_SIM_FAILURE 13
- #define ERR_AT_CME_SIM_BUSY 14
- #define ERR_AT_CME_SIM_WRONG 15
- #define ERR_AT_CME_INCORRECT_PASSWORD 16
- #define ERR_AT_CME_SIM_PIN2_REQUIRED 17
- #define ERR_AT_CME_SIM_PUK2_REQUIRED 18
- #define ERR_AT_CME_MEMORY_FULL 20
- #define ERR_AT_CME_INVALID_INDEX 21
- #define ERR_AT_CME_NOT_FOUND 22
- #define ERR_AT_CME_MEMORY_FAILURE 23
- #define ERR_AT_CME_TEXT_LONG 24
- #define ERR_AT_CME_INVALID_CHAR_INTEXT 25
- #define ERR_AT_CME_DAIL_STR_LONG 26
- #define ERR_AT_CME_INVALID_CHAR_INDIAL 27
- #define ERR_AT_CME_NO_NET_SERVICE 30
- #define ERR_AT_CME_NETWORK_TIMOUT 31
- #define ERR_AT_CME_NOT_ALLOW_EMERGENCY 32
- #define ERR_AT_CME_NET_PER_PIN_REQUIRED 40
- #define ERR_AT_CME_NET_PER_PUK_REQUIRED 41
- #define ERR_AT_CME_NET_SUB_PER_PIN_REQ 42
- #define ERR_AT_CME_NET_SUB_PER_PUK_REQ 43
- #define ERR_AT_CME_SERVICE_PROV_PER_PIN_REQ 44
- #define ERR_AT_CME_SERVICE_PROV_PER_PUK_REQ 45
- #define ERR_AT_CME_CORPORATE_PER_PIN_REQ 46
- #define ERR_AT_CME_CORPORATE_PER_PUK_REQ 47
- #define ERR_AT_CME_PHSIM_PBK_REQUIRED 48
- // extern errocode
- #define ERR_AT_CME_EXE_NOT_SURPORT 49
- #define ERR_AT_CME_EXE_FAIL 50
- #define ERR_AT_CME_NO_MEMORY 51
- #define ERR_AT_CME_OPTION_NOT_SURPORT 52
- #define ERR_AT_CME_PARAM_INVALID 53
- #define ERR_AT_CME_EXT_REG_NOT_EXIT 54
- #define ERR_AT_CME_EXT_SMS_NOT_EXIT 55
- #define ERR_AT_CME_EXT_PBK_NOT_EXIT 56
- #define ERR_AT_CME_EXT_FFS_NOT_EXIT 57
- #define ERR_AT_CME_INVALID_COMMAND_LINE 58
- #define ERR_AT_CME_ITF_DIFFERENT 59
- #define ERR_AT_CME_BURN_FLASH_FAIL 60
- #define ERR_AT_CME_TFLASH_NOT_EXIST 61
- #define ERR_AT_CME_FILE_NOT_EXIST 62
- #define ERR_AT_CME_FILE_TOO_LARGE 63
- #define ERR_AT_CME_INVALID_DATE_OR_TIME 96
- #define ERR_AT_CME_DIR_CREATE_FAIL 97
- #define ERR_AT_CME_DIR_NOT_EXIST 98
- #define ERR_AT_CME_NOT_IMPLEMENTED 99
- //
- // GPRS-related errors.
- // Errors related to a failure to perform an Attach.(Values in parentheses are GSM 04.08 cause codes.)
- //
- #define ERR_AT_CME_GPRS_ILLEGAL_MS_3 103 // Illegal MS (#3)
- #define ERR_AT_CME_GPRS_ILLEGAL_MS_6 106 // Illegal ME (#6)
- #define ERR_AT_CME_GPRS_SVR_NOT_ALLOWED 107 // GPRS services not allowed (#7)
- #define ERR_AT_CME_GPRS_PLMN_NOT_ALLOWED 111 // PLMN not allowed (#11)
- #define ERR_AT_CME_GPRS_LOCATION_AREA_NOT_ALLOWED 112 // Location area not allowed (#12)
- #define ERR_AT_CME_GPRS_ROAMING_NOT_ALLOWED 113 // Roaming not allowed in this location area (#13)
- //
- // Errors related to a failure to Activate a Context
- //
- #define ERR_AT_CME_GPRS_OPTION_NOT_SUPPORTED 132 // service option not supported (#32)
- #define ERR_AT_CME_GPRS_OPTION_NOT_SUBSCRIBED 133 // requested service option not subscribed (#33)
- #define ERR_AT_CME_GPRS_OPTION_TEMP_ORDER_OUT 134 // service option temporarily out of order (#34)
- #define ERR_AT_CME_GPRS_PDP_AUTHENTICATION_FAILURE 149 // PDP authentication failure
- //
- // Other GPRS errors
- // Other values in the range 101 - 150 are reserved for use by GPRS
- //
- #define ERR_AT_CME_GPRS_INVALID_MOBILE_CLASS 150 // invalid mobile class
- #define ERR_AT_CME_GPRS_UNSPECIFIED_GPRS_ERROR 148 // unspecified GPRS error
- #define ERR_AT_CME_GPRS_UNSUPPORTED_QCI_VALUE 181
- //
- // GPRS-related errors end.
- //
- // AT_20071024_CAOW_B
- // updated error code
- #define ERR_AT_CME_SIM_VERIFY_FAIL 264
- #define ERR_AT_CME_SIM_UNBLOCK_FAIL 265
- #define ERR_AT_CME_SIM_CONDITION_NO_FULLFILLED 266
- #define ERR_AT_CME_SIM_UNBLOCK_FAIL_NO_LEFT 267
- #define ERR_AT_CME_SIM_VERIFY_FAIL_NO_LEFT 268
- #define ERR_AT_CME_SIM_INVALID_PARAMETER 269
- #define ERR_AT_CME_SIM_UNKNOW_COMMAND 270
- #define ERR_AT_CME_SIM_WRONG_CLASS 271
- #define ERR_AT_CME_SIM_TECHNICAL_PROBLEM 272
- #define ERR_AT_CME_SIM_CHV_NEED_UNBLOCK 273
- #define ERR_AT_CME_SIM_NOEF_SELECTED 274
- #define ERR_AT_CME_SIM_FILE_UNMATCH_COMMAND 275
- #define ERR_AT_CME_SIM_CONTRADICTION_CHV 276
- #define ERR_AT_CME_SIM_CONTRADICTION_INVALIDATION 277
- #define ERR_AT_CME_SIM_MAXVALUE_REACHED 278
- #define ERR_AT_CME_SIM_PATTERN_NOT_FOUND 279
- #define ERR_AT_CME_SIM_FILEID_NOT_FOUND 280
- #define ERR_AT_CME_SIM_STK_BUSY 281
- #define ERR_AT_CME_SIM_UNKNOW 282
- #define ERR_AT_CME_SIM_PROFILE_ERROR 283
- //add for HTTP AT COMMAND
- #define ERR_AT_CME_HTTP_NETIF_NULL 300
- #define ERR_AT_CME_HTTP_ACTION_NEED 301
- #define ERR_AT_CME_HTTP_INIT_NEED 302
- #define ERR_AT_CME_HTTP_PARA_CID_INVALID 303
- #define ERR_AT_CME_SNTP_SYNCING 320
- //add for MYNET AT COMMAND
- #define ERR_AT_CME_NETWORK_REFUSED 900
- #define ERR_AT_CME_PDP_DEACTIVED 901
- #define ERR_AT_CME_PDP_ACTIVED 902
- #define ERR_AT_CME_TCPIP_PEER_REFUSED 910
- #define ERR_AT_CME_TCPIP_CONNECT_TIMEOUT 911 //IP OR PORT IS NOT CORRECT
- #define ERR_AT_CME_TCPIP_ALREADY_CONNECTED 912
- #define ERR_AT_CME_TCPIP_NOT_CONNECTED 913
- #define ERR_AT_CME_BUFFER_FULL 914
- #define ERR_AT_CME_SEND_TIMEOUT 915
- #define ERR_AT_CME_DNS_FAILED 916
- #define ERR_AT_CME_DNS_TIMEOUT 917
- #define ERR_AT_CME_DNS_UNKNOW_ERROR 918
- #define ERR_AT_CME_PARAM_ERROR 980
- #define ERR_AT_CME_UNKNOWN_ERROR 981
- // AT_20071024_CAOW_E
- // CME define end
- // CMS error code define start
- #define ERR_AT_CMS_UNASSIGNED_NUM 1
- #define ERR_AT_CMS_OPER_DETERM_BARR 8
- #define ERR_AT_CMS_CALL_BARRED 10
- #define ERR_AT_CMS_SM_TRANS_REJE 21
- #define ERR_AT_CMS_DEST_OOS 27
- #define ERR_AT_CMS_UNINDENT_SUB 28
- #define ERR_AT_CMS_FACILIT_REJE 29
- #define ERR_AT_CMS_UNKONWN_SUB 30
- #define ERR_AT_CMS_NW_OOO 38
- #define ERR_AT_CMS_TMEP_FAIL 41
- #define ERR_AT_CMS_CONGESTION 42
- #define ERR_AT_CMS_RES_UNAVAILABLE 47
- #define ERR_AT_CMS_REQ_FAC_NOT_SUB 50
- #define ERR_AT_CMS_RFQ_FAC_NOT_IMP 69
- #define ERR_AT_CMS_INVALID_SM_TRV 81
- #define ERR_AT_CMS_INVALID_MSG 95
- #define ERR_AT_CMS_INVALID_MAND_INFO 96
- #define ERR_AT_CMS_MSG_TYPE_ERROR 97
- #define ERR_AT_CMS_MSG_NOT_COMP 98
- #define ERR_AT_CMS_INFO_ELEMENT_ERROR 99
- #define ERR_AT_CMS_PROT_ERROR 111
- #define ERR_AT_CMS_IW_UNSPEC 127
- #define ERR_AT_CMS_TEL_IW_NOT_SUPP 128
- #define ERR_AT_CMS_SMS_TYPE0_NOT_SUPP 129
- #define ERR_AT_CMS_CANNOT_REP_SMS 130
- #define ERR_AT_CMS_UNSPEC_TP_ERROR 143
- #define ERR_AT_CMS_DCS_NOT_SUPP 144
- #define ERR_AT_CMS_MSG_CLASS_NOT_SUPP 145
- #define ERR_AT_CMS_UNSPEC_TD_ERROR 159
- #define ERR_AT_CMS_CMD_CANNOT_ACT 160
- #define ERR_AT_CMS_CMD_UNSUPP 161
- #define ERR_AT_CMS_UNSPEC_TC_ERROR 175
- #define ERR_AT_CMS_TPDU_NOT_SUPP 176
- #define ERR_AT_CMS_SC_BUSY 192
- #define ERR_AT_CMS_NO_SC_SUB 193
- #define ERR_AT_CMS_SC_SYS_FAIL 194
- #define ERR_AT_CMS_INVALID_SME_ADDR 195
- #define ERR_AT_CMS_DEST_SME_BARR 196
- #define ERR_AT_CMS_SM_RD_SM 197
- #define ERR_AT_CMS_TP_VPF_NOT_SUPP 198
- #define ERR_AT_CMS_TP_VP_NOT_SUPP 199
- #define ERR_AT_CMS_D0_SIM_SMS_STO_FULL 208
- #define ERR_AT_CMS_NO_SMS_STO_IN_SIM 209
- #define ERR_AT_CMS_ERR_IN_MS 210
- #define ERR_AT_CMS_MEM_CAP_EXCCEEDED 211
- #define ERR_AT_CMS_SIM_APP_TK_BUSY 212
- #define ERR_AT_CMS_SIM_DATA_DL_ERROR 213
- #define ERR_AT_CMS_UNSPEC_ERRO_CAUSE 255
- #define ERR_AT_CMS_ME_FAIL 300
- #define ERR_AT_CMS_SMS_SERVIEC_RESERVED 301
- #define ERR_AT_CMS_OPER_NOT_ALLOWED 302
- #define ERR_AT_CMS_OPER_NOT_SUPP 303
- #define ERR_AT_CMS_INVALID_PDU_PARAM 304
- #define ERR_AT_CMS_INVALID_TXT_PARAM 305
- #define ERR_AT_CMS_SIM_NOT_INSERT 310
- #define ERR_AT_CMS_SIM_PIN_REQUIRED 311
- #define ERR_AT_CMS_PH_SIM_PIN_REQUIRED 312
- #define ERR_AT_CMS_SIM_FAIL 313
- #define ERR_AT_CMS_SIM_BUSY 314
- #define ERR_AT_CMS_SIM_WRONG 315
- #define ERR_AT_CMS_SIM_PUK_REQUIRED 316
- #define ERR_AT_CMS_SIM_PIN2_REQUIRED 317
- #define ERR_AT_CMS_SIM_PUK2_REQUIRED 318
- #define ERR_AT_CMS_MEM_FAIL 320
- #define ERR_AT_CMS_INVALID_MEM_INDEX 321
- #define ERR_AT_CMS_MEM_FULL 322
- #define ERR_AT_CMS_SCA_ADDR_UNKNOWN 330
- #define ERR_AT_CMS_NO_NW_SERVICE 331
- #define ERR_AT_CMS_NW_TIMEOUT 332
- #define ERR_AT_CMS_NO_CNMA_ACK_EXPECTED 340
- #define ERR_AT_CMS_UNKNOWN_ERROR 500
- #define ERR_AT_CMS_USER_ABORT 512
- #define ERR_AT_CMS_UNABLE_TO_STORE 513
- #define ERR_AT_CMS_INVALID_STATUS 514
- #define ERR_AT_CMS_INVALID_ADDR_CHAR 515
- #define ERR_AT_CMS_INVALID_LEN 516
- #define ERR_AT_CMS_INVALID_PDU_CHAR 517
- #define ERR_AT_CMS_INVALID_PARA 518
- #define ERR_AT_CMS_INVALID_LEN_OR_CHAR 519
- #define ERR_AT_CMS_INVALID_TXT_CHAR 520
- #define ERR_AT_CMS_TIMER_EXPIRED 521
- #define ERR_AT_CMS_SMS_SEND_FAIL 530
- #endif
- #endif /* CONFIG_QUEC_PROJECT_FEATURE_ATC_PARSE */
- /**
- * response info text
- *
- * Event info text is empty, it will be regarded as one line of info text.
- * And then \c \\r\\n will be output still.
- *
- * @param engine AT command engine, can't be NULL
- * @param text info text, can't be NULL
- */
- void atCmdRespInfoText(atCmdEngine_t *engine, const char *text);
- /**
- * response info text with length
- *
- * @param engine AT command engine, can't be NULL
- * @param text info text, can't be NULL if length is not zero
- * @param length info text length
- */
- void atCmdRespInfoNText(atCmdEngine_t *engine, const char *text, size_t length);
- /**
- * response OK
- *
- * This is final result. When it is called, AT engine will finish current
- * command. So, don't access current command pointer after this is called.
- *
- * @param engine AT command engine, can't be NULL
- */
- void atCmdRespOK(atCmdEngine_t *engine);
- /**
- * response ERROR (code 4)
- *
- * This is final result. When it is called, AT engine will finish current
- * command. So, don't access current command pointer after this is called.
- *
- * @param engine AT command engine, can't be NULL
- */
- void atCmdRespError(atCmdEngine_t *engine);
- /**
- * response error with specified code
- *
- * This is final result. When it is called, AT engine will finish current
- * command. So, don't access current command pointer after this is called.
- *
- * @param engine AT command engine, can't be NULL
- * @param code error code
- */
- void atCmdRespErrorCode(atCmdEngine_t *engine, int code);
- /**
- * response intermediate code
- *
- * @param engine AT command engine
- * @param code intermediate code
- */
- void atCmdRespIntermCode(atCmdEngine_t *engine, int code);
- /**
- * response finish the command without response
- *
- * @param engine AT command engine
- */
- void atCmdRespFinish(atCmdEngine_t *engine);
- /**
- * response URC code
- *
- * @param engine AT command engine, can't be NULL
- * @param code URC code
- */
- void atCmdRespUrcCode(atCmdEngine_t *engine, int code);
- /**
- * response CME error
- *
- * This is final result. When it is called, AT engine will finish current
- * command. So, don't access current command pointer after this is called.
- *
- * @param engine AT command engine, can't be NULL
- * @param errcode CME error code
- */
- void atCmdRespCmeError(atCmdEngine_t *engine, int errcode);
- /**
- * response CMS error
- *
- * This is final result. When it is called, AT engine will finish current
- * command. So, don't access current command pointer after this is called.
- *
- * @param engine AT command engine
- * @param errcode CMS error code
- */
- void atCmdRespCmsError(atCmdEngine_t *engine, int errcode);
- /**
- * response URC text to specified engine
- *
- * @param engine AT command engine, can't be NULL
- * @param text URC text, can't be NULL
- */
- void atCmdRespUrcText(atCmdEngine_t *engine, const char *text);
- /**
- * response URC text with length to specified engine
- *
- * @param engine AT command engine, can't be NULL
- * @param text URC text, can't be NULL if length is not zero
- * @param length URC text length
- */
- void atCmdRespUrcNText(atCmdEngine_t *engine, const char *text, size_t length);
- /**
- * response intermediate text
- *
- * @param engine AT command engine, can't be NULL
- * @param text intermediate text, can't be NULL
- */
- void atCmdRespIntermText(atCmdEngine_t *engine, const char *text);
- /**
- * response URC code to default engine(s)
- *
- * This is called to report event not related to specifed channel.
- * And it will be output to all channels in command state.
- *
- * @param code URC code
- */
- void atCmdRespDefUrcCode(int code);
- /**
- * response URC text to default engine(s)
- *
- * This is called to report event not related to specifed channel.
- * And it will be output to all channels in command state.
- *
- * @param text URC text, can't be NULL
- */
- void atCmdRespDefUrcText(const char *text);
- /**
- * response URC text with length to default engine(s)
- *
- * This is called to report event not related to specifed channel.
- * And it will be output to all channels in command state.
- *
- * @param text URC text, can't be NULL if length is not zero
- * @param length URC text length
- */
- void atCmdRespDefUrcNText(const char *text, size_t length);
- /**
- * response SIM related URC code
- *
- * This is called to report event not related to specifed channel,
- * but related to SIM. And it will be output to all channels in
- * command state, and bind to the SIM.
- *
- * @param sim SIM number
- * @param code URC code
- */
- #ifdef CONFIG_QUEC_PROJECT_FEATURE_ATC_PARSE
- void quec_urc_at_code_send(uint8_t sim, int code);
- #else
- void atCmdRespSimUrcCode(uint8_t sim, int code);
- #endif
- /**
- * response SIM related URC text
- *
- * This is called to report event not related to specifed channel,
- * but related to SIM. And it will be output to all channels in
- * command state, and bind to the SIM.
- *
- * @param sim SIM number
- * @param text URC text, can't be NULL
- */
- void atCmdRespSimUrcText(uint8_t sim, const char *text);
- /**
- * response SIM related URC text with length
- *
- * This is called to report event not related to specifed channel,
- * but related to SIM. And it will be output to all channels in
- * command state, and bind to the SIM.
- *
- * @param sim SIM number
- * @param text URC text, can't be NULL if length is not zero
- * @param length URC text length
- * @return
- * - if the text send to channels
- */
- bool atCmdRespSimUrcNText(uint8_t sim, const char *text, size_t length);
- /**
- * response info text, start of line
- *
- * When it is hard to combine all data of one info text line, the
- * following sequence can be used:
- * - \p atCmdRespInfoTextBegin
- * - \p atCmdRespOutputText, multiple calls are allowed
- * - \p atCmdRespInfoTextEnd
- *
- * @param engine AT command engine, can't be NULL
- * @param text output text, can't be NULL
- */
- void atCmdRespInfoTextBegin(atCmdEngine_t *engine, const char *text);
- /**
- * response info text with length, start of line
- *
- * @param engine AT command engine, can't be NULL
- * @param text output text, can't be NULL if length is non zero
- * @param length output text length
- */
- void atCmdRespInfoNTextBegin(atCmdEngine_t *engine, const char *text, size_t length);
- /**
- * response info text, end of line
- *
- * When it is hard to combine all data of one info text line, the
- * following sequence can be used:
- * - \p atCmdRespInfoTextBegin
- * - \p atCmdRespOutputText, multiple calls are allowed
- * - \p atCmdRespInfoTextEnd
- *
- * @param engine AT command engine, can't be NULL
- * @param text output text, can't be NULL
- */
- void atCmdRespInfoTextEnd(atCmdEngine_t *engine, const char *text);
- /**
- * response info text with length, end of line
- *
- * @param engine AT command engine, can't be NULL
- * @param text output text, can't be NULL if length is non zero
- * @param length output text length
- */
- void atCmdRespInfoNTextEnd(atCmdEngine_t *engine, const char *text, size_t length);
- /**
- * output text
- *
- * When it is hard to combine all data of one info text line, the
- * following sequence can be used:
- * - \p atCmdRespInfoTextBegin
- * - \p atCmdRespOutputText, multiple calls are allowed
- * - \p atCmdRespInfoTextEnd
- *
- * Though it is possible to output arbitrary text with this function, and
- * AT engine won't prepend or append \c \\r\\n, it is not recommended.
- * V.250 has detailed requirement for all kinds of response.
- *
- * @param engine AT command engine, can't be NULL
- * @param text output text, can't be NULL
- */
- void atCmdRespOutputText(atCmdEngine_t *engine, const char *text);
- /**
- * output text with length
- *
- * @param engine AT command engine, can't be NULL
- * @param text output text, can't be NULL if length is non zero
- * @param length output text length
- */
- void atCmdRespOutputNText(atCmdEngine_t *engine, const char *text, size_t length);
- /**
- * output prompt
- *
- * The prompt is <tt>\\r\\n> </tt>.
- *
- * @param engine AT command engine, can't be NULL
- */
- void atCmdRespOutputPrompt(atCmdEngine_t *engine);
- /**
- * response OK with non-standard text
- *
- * This is final result. When it is called, AT engine will finish current
- * command. So, don't access current command pointer after this is called.
- *
- * @param engine AT command engine, can't be NULL
- * @param text non-standard OK text, can't be NULL
- */
- void atCmdRespOKText(atCmdEngine_t *engine, const char *text);
- /**
- * response ERROR with non-standard text
- *
- * This is final result. When it is called, AT engine will finish current
- * command. So, don't access current command pointer after this is called.
- *
- * @param engine AT command engine, can't be NULL
- * @param text non-standard OK text, can't be NULL
- */
- void atCmdRespErrorText(atCmdEngine_t *engine, const char *text);
- /**
- * ring indicate
- *
- * It shall be called when there is an incoming call. The detailed output
- * is affected by various AT settings.
- *
- * Due to incoming call is bind to one SIM, the output will be send to all
- * channels in command state, and bind with the SIM.
- *
- * @param sim SIM number
- */
- void atCmdRingInd(uint8_t sim);
- /**
- * convert CFW error code to CME error code
- *
- * @param result CFW error code
- * @return
- * - CME error code
- */
- uint32_t atCfwToCmeError(uint32_t result);
- /**
- * convert CFW error code to CMS error code
- *
- * @param result CFW error code
- * @return
- * - CMS error code
- */
- uint32_t atCfwToCmsError(uint32_t result);
- /**
- * After release call, it need to save the release code for AT+CEER
- * @param code Release code text information
- */
- const char *_getCCresultCodeText(int code);
- //OSI_EXTERN_C_END
- #endif
|