66 lines
2.6 KiB
C
66 lines
2.6 KiB
C
//
|
|
// Created by xemon on 07.09.22.
|
|
//
|
|
|
|
#ifndef GSMCOMMONAT_GSMCOMMONATPRIVATE_H
|
|
#define GSMCOMMONAT_GSMCOMMONATPRIVATE_H
|
|
|
|
#include "AtCmdCommon.h"
|
|
#include "AsciiStringAssmeblingUtils.h"
|
|
|
|
void AtCmdPrepare(tAtCmd *env);
|
|
|
|
#define AtCmdSendStatic(env, STR) SerialPortTransmit((env)->io, (uint8_t *) (STR), sizeof (STR)-1, (env)->stdTxTimeout)
|
|
#define AtCmdSend(env, STR, LEN) SerialPortTransmit((env)->io, (uint8_t *) (STR), LEN, (env)->stdTxTimeout)
|
|
|
|
|
|
//tx buffer operations
|
|
#define AtCmdTxPrint(ENV, FMT, ...) debug_printf((ENV)->io, FMT, ##__VA_ARGS__);
|
|
|
|
#define AtCmdTxClear(env) vAsciiStringClean((env)->txBuffer.data, &(env)->txBuffer.len)
|
|
#define AtCmdTxAdd(env, STR, LEN) vAsciiStringAdd((env)->txBuffer.data, &(env)->txBuffer.len, STR,LEN)
|
|
#define AtCmdTxAddStatic(env, STR) vAsciiStringAddStatic((env)->txBuffer.data, &(env)->txBuffer.len, STR)
|
|
#define AtCmdTxAddByteHex(env, BYTE) vAsciiStringAddByteAsHex((env)->txBuffer.data, &(env)->txBuffer.len, BYTE)
|
|
#define AtCmdTxAddChar(env, CHAR) vAsciiStringAddChar((env)->txBuffer.data, &(env)->txBuffer.len, CHAR)
|
|
#define AtCmdTxAddDecimalInt(env, INT, DIGITS) vAsciiStringAddDecimalInt((env)->txBuffer.data, &(env)->txBuffer.len, INT,DIGITS)
|
|
#define AtCmdTxAddDecimalIntWithLimit(env, INT, DIGITS) vAsciiStringAddDecimalIntWithLimit((env)->txBuffer.data, &(env)->txBuffer.len, INT,DIGITS)
|
|
|
|
void AtCmdTxSendLn(tAtCmd *env);
|
|
|
|
|
|
//rx methods
|
|
#define AtCmdRxClear(env) vAsciiStringClean((env)->rxBuffer.data, &(env)->rxBuffer.len)
|
|
|
|
#define AtCmdRxReadRAW(ENV, BUF, LEN, TIMEOUT) SerialPortReceive((env)->io, BUF, LEN, TIMEOUT)
|
|
|
|
bool AtBufferBeginWith(tAtBuffer *env, char *str, size_t strLen);
|
|
|
|
#define AtBufferBeginWithStatic(ENV, STR) AtBufferBeginWith(ENV,STR,sizeof(STR)-1)
|
|
|
|
bool AtCmdRxBeginWith(tAtCmd *env, char *str, size_t strLen);
|
|
|
|
#define AtCmdRxBeginWithStatic(ENV, STR) AtCmdRxBeginWith(ENV,STR,sizeof(STR)-1)
|
|
|
|
bool AtCmdRxIsCompleteLine(tAtCmd *env);
|
|
|
|
//complex rx methods
|
|
AtCommandResult AtCmdReceiveNextLine(tAtCmd *env, uint16_t timeout);
|
|
|
|
AtCommandResult AtCmdOkErrAnswer(tAtCmd *env, uint16_t timeout);
|
|
|
|
AtCommandResult AtCmdReceiveNextChar(tAtCmd *env, uint16_t timeout);
|
|
|
|
AtCommandResult AtCmdReceiveChar(tAtCmd *env, uint16_t timeout);
|
|
|
|
AtCommandResult AtGsmTelitLe910_SIMCardDetect(tAtCmd *env);
|
|
|
|
AtCommandResult AtGsmTelitLe910_SIMCardNoDetect(tAtCmd *env);
|
|
|
|
extern const char AT_ESC_STR[2];
|
|
|
|
//if not ok return - если не все хорошо возвращаем результат от FUNC
|
|
#define AT_INOKR(FUNC) { AtCommandResult result = FUNC; if(result != AT_OK) return result; }
|
|
|
|
|
|
#endif //GSMCOMMONAT_GSMCOMMONATPRIVATE_H
|