Added support for the WNC M14A2A Cellular LTE Data Module.
Dependencies: WNC14A2AInterface
ATParser Class Reference
Parser class for parsing AT commands. More...
#include <ATParser.h>
Public Member Functions | |
ATParser (BufferedSerial &serial, const char *delimiter="\r\n", int buffer_size=256, int timeout=8000, bool debug=false) | |
Constructor. | |
~ATParser () | |
Destructor. | |
void | setTimeout (int timeout) |
Allows timeout to be changed between commands. | |
void | setDelimiter (const char *delimiter) |
Sets string of characters to use as line delimiters. | |
void | debugOn (uint8_t on) |
Allows echo to be on or off. | |
bool | send (const char *command,...) |
Sends an AT command. | |
bool | recv (const char *response,...) |
Recieve an AT response. | |
int | putc (char c) |
Write a single byte to the underlying stream. | |
int | getc () |
Get a single byte from the underlying stream. | |
int | write (const char *data, int size) |
Write an array of bytes to the underlying stream. | |
int | read (char *data, int size) |
Read an array of bytes from the underlying stream. | |
int | printf (const char *format,...) |
Direct printf to underlying stream. | |
int | scanf (const char *format,...) |
Direct scanf on underlying stream. | |
void | oob (const char *prefix, mbed::Callback< void()> func) |
Attach a callback for out-of-band data. | |
template<typename T , typename M > | |
void | oob (const char *prefix, T *obj, M method) |
Attach a callback for out-of-band data. | |
void | flush () |
Flushes the underlying stream. |
Detailed Description
Parser class for parsing AT commands.
Here are some examples:
ATParser at = ATParser(serial, "\r\n"); int value; char buffer[100]; at.send("AT") && at.recv("OK"); at.send("AT+CWMODE=%d", 3) && at.recv("OK"); at.send("AT+CWMODE?") && at.recv("+CWMODE:%d\r\nOK", &value); at.recv("+IPD,%d:", &value); at.read(buffer, value); at.recv("OK");
Definition at line 47 of file ATParser.h.
Constructor & Destructor Documentation
ATParser | ( | BufferedSerial & | serial, |
const char * | delimiter = "\r\n" , |
||
int | buffer_size = 256 , |
||
int | timeout = 8000 , |
||
bool | debug = false |
||
) |
Constructor.
- Parameters:
-
serial serial interface to use for AT commands buffer_size size of internal buffer for transaction timeout timeout of the connection delimiter string of characters to use as line delimiters
Definition at line 77 of file ATParser.h.
~ATParser | ( | ) |
Destructor.
Definition at line 89 of file ATParser.h.
Member Function Documentation
void debugOn | ( | uint8_t | on ) |
Allows echo to be on or off.
- Parameters:
-
echo 1 for echo and 0 turns it off
Definition at line 117 of file ATParser.h.
void flush | ( | ) |
Flushes the underlying stream.
Definition at line 56 of file ATParser.cpp.
int getc | ( | ) |
Get a single byte from the underlying stream.
- Returns:
- The byte that was read or -1 during a timeout
Definition at line 41 of file ATParser.cpp.
void oob | ( | const char * | prefix, |
T * | obj, | ||
M | method | ||
) |
Attach a callback for out-of-band data.
- Parameters:
-
prefix string on when to initiate callback obj pointer to object to call member function on method callback to call when string is read
- Note:
- out-of-band data is only processed during a scanf call
Definition at line 225 of file ATParser.h.
void oob | ( | const char * | prefix, |
mbed::Callback< void()> | func | ||
) |
Attach a callback for out-of-band data.
- Parameters:
-
prefix string on when to initiate callback func callback to call when string is read
- Note:
- out-of-band data is only processed during a scanf call
int printf | ( | const char * | format, |
... | |||
) |
Direct printf to underlying stream.
- See also:
- printf
- Parameters:
-
format format string to pass to printf ... arguments to printf
- Returns:
- number of bytes written or -1 on failure
Definition at line 288 of file ATParser.cpp.
int putc | ( | char | c ) |
Write a single byte to the underlying stream.
- Parameters:
-
c The byte to write
- Returns:
- The byte that was written or -1 during a timeout
Definition at line 26 of file ATParser.cpp.
int read | ( | char * | data, |
int | size | ||
) |
Read an array of bytes from the underlying stream.
- Parameters:
-
data the destination for the read bytes size number of bytes to read
- Returns:
- number of bytes read or -1 on failure
Definition at line 76 of file ATParser.cpp.
bool recv | ( | const char * | response, |
... | |||
) |
Recieve an AT response.
Recieves a formatted response using scanf style formatting
- See also:
- scanf
Responses are parsed line at a time using the specified delimiter. Any recieved data that does not match the response is ignored until a timeout occurs.
- Parameters:
-
response scanf-like format string of response to expect ... all scanf-like arguments to extract from response
- Returns:
- true only if response is successfully matched
Definition at line 315 of file ATParser.cpp.
int scanf | ( | const char * | format, |
... | |||
) |
Direct scanf on underlying stream.
- See also:
- scanf
- Parameters:
-
format format string to pass to scanf ... arguments to scanf
- Returns:
- number of bytes read or -1 on failure
Definition at line 297 of file ATParser.cpp.
bool send | ( | const char * | command, |
... | |||
) |
Sends an AT command.
Sends a formatted command using printf style formatting
- See also:
- printf
- Parameters:
-
command printf-like format string of command to send which is appended with the specified delimiter ... all printf-like arguments to insert into command
- Returns:
- true only if command is successfully sent
Definition at line 306 of file ATParser.cpp.
void setDelimiter | ( | const char * | delimiter ) |
Sets string of characters to use as line delimiters.
- Parameters:
-
delimiter string of characters to use as line delimiters
Definition at line 107 of file ATParser.h.
void setTimeout | ( | int | timeout ) |
Allows timeout to be changed between commands.
- Parameters:
-
timeout timeout of the connection
Definition at line 98 of file ATParser.h.
int write | ( | const char * | data, |
int | size | ||
) |
Write an array of bytes to the underlying stream.
- Parameters:
-
data the array of bytes to write size number of bytes to write
- Returns:
- number of bytes written or -1 on failure
Definition at line 65 of file ATParser.cpp.
Generated on Tue Jul 12 2022 19:09:06 by 1.7.2