Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
ATCmdParser Class Reference
[ATCmdParser class]
Parser class for parsing AT commands. More...
#include <ATCmdParser.h>
Inherits NonCopyable< ATCmdParser >.
Public Member Functions | |
ATCmdParser (FileHandle *fh, const char *output_delimiter="\r", int buffer_size=256, int timeout=8000, bool debug=false) | |
Constructor. | |
~ATCmdParser () | |
Destructor. | |
void | set_timeout (int timeout) |
Allows timeout to be changed between commands. | |
MBED_DEPRECATED_SINCE ("mbed-os-5.5.0","Replaced with set_timeout for consistency") void setTimeout(int timeout) | |
For backwards compatibility. | |
void | set_delimiter (const char *output_delimiter) |
Sets string of characters to use as line delimiters. | |
MBED_DEPRECATED_SINCE ("mbed-os-5.5.0","Replaced with set_delimiter for consistency") void setDelimiter(const char *output_delimiter) | |
For backwards compatibility. | |
void | debug_on (uint8_t on) |
Allows traces from modem to be turned on or off. | |
MBED_DEPRECATED_SINCE ("mbed-os-5.5.0","Replaced with debug_on for consistency") void debugOn(uint8_t on) | |
For backwards compatibility. | |
bool | send (const char *command,...) MBED_PRINTF_METHOD(1 |
Sends an AT command. | |
bool | recv (const char *response,...) MBED_SCANF_METHOD(1 |
Receive 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,...) MBED_PRINTF_METHOD(1 |
Direct printf to underlying stream. | |
int | scanf (const char *format,...) MBED_SCANF_METHOD(1 |
Direct scanf on underlying stream. | |
void | oob (const char *prefix, mbed::Callback< void()> func) |
Attach a callback for out-of-band data. | |
void | flush () |
Flushes the underlying stream. | |
void | abort () |
Abort current recv. | |
bool | process_oob (void) |
Process out-of-band data. | |
Private Member Functions | |
MBED_DEPRECATED ("Invalid copy construction of a NonCopyable resource.") NonCopyable(const NonCopyable &) | |
NonCopyable copy constructor. | |
MBED_DEPRECATED ("Invalid copy assignment of a NonCopyable resource.") NonCopyable &operator | |
NonCopyable copy assignment operator. |
Detailed Description
Parser class for parsing AT commands.
Here are some examples:
UARTSerial serial = UARTSerial(D1, D0); ATCmdParser at = ATCmdParser(&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 55 of file platform/ATCmdParser.h.
Constructor & Destructor Documentation
ATCmdParser | ( | FileHandle * | fh, |
const char * | output_delimiter = "\r" , |
||
int | buffer_size = 256 , |
||
int | timeout = 8000 , |
||
bool | debug = false |
||
) |
Constructor.
- Parameters:
-
fh A FileHandle to a digital interface to use for AT commands output_delimiter end of command line termination buffer_size size of internal buffer for transaction timeout timeout of the connection debug turns on/off debug output for AT commands
Definition at line 92 of file platform/ATCmdParser.h.
~ATCmdParser | ( | ) |
Destructor.
Definition at line 105 of file platform/ATCmdParser.h.
Member Function Documentation
void abort | ( | ) |
Abort current recv.
Can be called from oob handler to interrupt the current recv operation.
void debug_on | ( | uint8_t | on ) |
Allows traces from modem to be turned on or off.
- Parameters:
-
on set as 1 to turn on traces and vice versa.
Definition at line 169 of file platform/ATCmdParser.h.
void flush | ( | ) |
Flushes the underlying stream.
int getc | ( | ) |
Get a single byte from the underlying stream.
- Returns:
- The byte that was read or -1 during a timeout
MBED_DEPRECATED_SINCE | ( | "mbed-os-5.5.0" | , |
"Replaced with set_timeout for consistency" | |||
) |
For backwards compatibility.
Please use set_timeout(int) API only from now on. Allows timeout to be changed between commands
- Parameters:
-
timeout timeout of the connection
Definition at line 133 of file platform/ATCmdParser.h.
MBED_DEPRECATED_SINCE | ( | "mbed-os-5.5.0" | , |
"Replaced with set_delimiter for consistency" | |||
) | const |
For backwards compatibility.
Please use set_delimiter(const char *) API only from now on. Sets string of characters to use as line delimiters
- Parameters:
-
output_delimiter string of characters to use as line delimiters
Definition at line 158 of file platform/ATCmdParser.h.
MBED_DEPRECATED_SINCE | ( | "mbed-os-5.5.0" | , |
"Replaced with debug_on for consistency" | |||
) |
For backwards compatibility.
Allows traces from modem to be turned on or off
- Parameters:
-
on set as 1 to turn on traces and vice versa.
Definition at line 181 of file platform/ATCmdParser.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
bool process_oob | ( | void | ) |
Process out-of-band data.
Process out-of-band data in the receive buffer. This function returns immediately if there is no data to process.
- Returns:
- true if oob data processed, false otherwise
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
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
bool recv | ( | const char * | response, |
... | |||
) |
Receive an AT response.
Receives a formatted response using scanf style formatting
- See also:
- scanf
Responses are parsed line at a time. Any received 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
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
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 a newline ... all printf-like arguments to insert into command
- Returns:
- true only if command is successfully sent
void set_delimiter | ( | const char * | output_delimiter ) |
Sets string of characters to use as line delimiters.
- Parameters:
-
output_delimiter string of characters to use as line delimiters
Definition at line 144 of file platform/ATCmdParser.h.
void set_timeout | ( | int | timeout ) |
Allows timeout to be changed between commands.
- Parameters:
-
timeout timeout of the connection
Definition at line 120 of file platform/ATCmdParser.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
Generated on Tue Jul 12 2022 12:22:55 by
