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.
Dependencies: WNC14A2AInterface
Dependents: http-example-wnc http-example-wnc-modified
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 17:40:27 by
 1.7.2
 1.7.2