at.h¶
AT (Hayes) library interface.
-
AT_SEND_EOL¶ End of line character to send after the AT command.
1
"\r"
-
AT_SEND_ECHO¶ Enable/disable the expected echo after an AT command is sent.
1
1
-
AT_SEND_EOL_LEN¶ Shortcut for getting send end of line length.
1
(sizeof(AT_SEND_EOL) - 1)
-
AT_RECV_EOL_1¶ 1st end of line character received (S3 aka CR character for a modem)
1
"\r"
-
AT_RECV_EOL_2¶ 1st end of line character received (S4 aka LF character for a modem)
1
"\n"
-
AT_RECV_OK¶ default OK reply of an AT device
1
"OK"
-
AT_RECV_ERROR¶ default ERROR reply of an AT device
1
"ERROR"
-
AT_BUF_SIZE¶ Internal buffer size used to process unsolicited result code data.
1
(128)
-
void(*
at_urc_cb_t()¶ Unsolicited result code callback.
Parameters
arg: optional argument code: urc string received from the device
-
int
at_dev_init(at_dev_t * dev,uart.h::uart_tuart, uint32_t baudrate, char * buf,msp430_types.h::size_tbufsize)¶ Initialize AT device struct.
Parameters
dev: struct to initialize uart: UART the device is connected to baudrate: baudrate of the device buf: input buffer bufsize: size of bufReturn values
- 0 on success
- <0 otherwise
-
int
at_send_cmd_wait_ok(at_dev_t * dev, const char * command, uint32_t timeout)¶ Simple command helper.
This function sends an AT command to the device and waits for “OK”.
Parameters
dev: device to operate on command: command string to send timeout: timeout (in usec) Return values
- 0 when device answers “OK”
- <0 otherwise
-
int
at_send_cmd_wait_prompt(at_dev_t * dev, const char * command, uint32_t timeout)¶ Send AT command, wait for a prompt.
This function sends the supplied
command, then waits for the prompt (>) character and returnsParameters
dev: device to operate on command: command string to send timeout: timeout (in usec) Return values
- 0 when prompt is received
- <0 otherwise
-
msp430_types.h::ssize_tat_send_cmd_get_resp(at_dev_t * dev, const char * command, char * resp_buf,msp430_types.h::size_tlen, uint32_t timeout)¶ Send AT command, wait for response.
This function sends the supplied
command, then waits and returns one line of response.A possible empty line will be skipped.
Parameters
dev: device to operate on command: command to send resp_buf: buffer for storing response len: len of buffertimeout: timeout (in usec) Return values
- length of response on success
- <0 on error
-
msp430_types.h::ssize_tat_send_cmd_get_lines(at_dev_t * dev, const char * command, char * resp_buf,msp430_types.h::size_tlen, bool keep_eol, uint32_t timeout)¶ Send AT command, wait for multiline response.
This function sends the supplied
command, then returns all response lines until the device sends “OK”.If a line starts with “ERROR” or “+CME ERROR:”, or the buffer is full, the function returns -1.
Parameters
dev: device to operate on command: command to send resp_buf: buffer for storing response len: len of resp_bufkeep_eol: true to keep the CR character in the response timeout: timeout (in usec) Return values
- length of response on success
- <0 on error
-
int
at_expect_bytes(at_dev_t * dev, const char * bytes, uint32_t timeout)¶ Expect bytes from device.
Parameters
dev: device to operate on bytes: buffer containing bytes to expect (NULL-terminated) timeout: timeout (in usec) Return values
- 0 on success
- <0 otherwise
-
void
at_send_bytes(at_dev_t * dev, const char * bytes,msp430_types.h::size_tlen)¶ Send raw bytes to a device.
Parameters
dev: device to operate on bytes: buffer containing bytes to send len: number of bytes to send
-
int
at_send_cmd(at_dev_t * dev, const char * command, uint32_t timeout)¶ Send command to device.
Parameters
dev: device to operate on command: command to send timeout: timeout (in usec) Return values
- 0 on success
- <0 otherwise
-
msp430_types.h::ssize_tat_readline(at_dev_t * dev, char * resp_buf,msp430_types.h::size_tlen, bool keep_eol, uint32_t timeout)¶ Read a line from device.
Parameters
dev: device to operate on resp_buf: buffer to store line len: size of resp_bufkeep_eol: true to keep the CR character in the response timeout: timeout (in usec) Return values
- line length on success
- <0 on error
-
void
at_drain(at_dev_t * dev)¶ Drain device input buffer.
This function drains any possible bytes waiting in the device’s input buffer.
Parameters
dev: device to operate on
-
void
at_add_urc(at_dev_t * dev, at_urc_t * urc)¶ Add a callback for an unsolicited response code.
Parameters
dev: device to operate on urc: unsolicited result code to register
-
void
at_remove_urc(at_dev_t * dev, at_urc_t * urc)¶ Remove an unsolicited response code from the list.
Parameters
dev: device to operate on urc: unsolicited result code to remove
-
void
at_process_urc(at_dev_t * dev, uint32_t timeout)¶ Process out-of-band data received from the device.
Parameters
dev: device to operate on timeout: timeout (in usec)
-
struct
at_urc_t¶ Unsolicited result code data structure.
-
clist.h::clist_node_tlist_node¶ node list
-
at.h::at_urc_cb_tcb¶ callback
-
const char *
code¶ URC string which must match.
-
void *
arg¶ optional argument
-
-
struct
at_dev_t¶ AT device structure.
-
uart.h::uart_tuart¶ UART device where the AT device is attached.
-