Go to the documentation of this file.
28 #if !defined(_SPANDSP_AT_INTERPRETER_H_)
29 #define _SPANDSP_AT_INTERPRETER_H_
41 AT_MODE_ONHOOK_COMMAND,
42 AT_MODE_OFFHOOK_COMMAND,
51 AT_CALL_EVENT_ALERTING = 1,
52 AT_CALL_EVENT_CONNECTED,
53 AT_CALL_EVENT_ANSWERED,
55 AT_CALL_EVENT_NO_DIALTONE,
56 AT_CALL_EVENT_NO_ANSWER,
88 AT_MODEM_CONTROL_RESTART,
89 AT_MODEM_CONTROL_DTE_TIMEOUT
94 AT_RESPONSE_CODE_OK = 0,
95 AT_RESPONSE_CODE_CONNECT,
96 AT_RESPONSE_CODE_RING,
97 AT_RESPONSE_CODE_NO_CARRIER,
98 AT_RESPONSE_CODE_ERROR,
100 AT_RESPONSE_CODE_NO_DIALTONE,
101 AT_RESPONSE_CODE_BUSY,
102 AT_RESPONSE_CODE_NO_ANSWER,
103 AT_RESPONSE_CODE_FCERROR,
104 AT_RESPONSE_CODE_FRH3
109 typedef int (at_modem_control_handler_t)(
at_state_t *s,
void *user_data,
int op,
const char *num);
110 typedef int (at_tx_handler_t)(
at_state_t *s,
void *user_data,
const uint8_t *buf,
size_t len);
111 typedef int (at_class1_handler_t)(
at_state_t *s,
void *user_data,
int direction,
int operation,
int val);
134 #if defined(__cplusplus)
139 SPAN_DECLARE(
void) at_set_at_rx_mode(
at_state_t *s,
int new_mode);
141 SPAN_DECLARE(
void) at_put_response(
at_state_t *s,
const char *t);
143 SPAN_DECLARE(
void) at_put_numeric_response(
at_state_t *s,
int val);
145 SPAN_DECLARE(
void) at_put_response_code(
at_state_t *s,
int code);
147 SPAN_DECLARE(
void) at_reset_call_info(
at_state_t *s);
156 SPAN_DECLARE(
void) at_display_call_info(
at_state_t *s);
158 SPAN_DECLARE(
int) at_modem_control(
at_state_t *s,
int op,
const char *num);
160 SPAN_DECLARE(
void) at_call_event(
at_state_t *s,
int event);
162 SPAN_DECLARE(
void) at_interpreter(
at_state_t *s,
const char *cmd,
int len);
164 SPAN_DECLARE(
void) at_set_class1_handler(
at_state_t *s, at_class1_handler_t handler,
void *user_data);
175 at_tx_handler_t *at_tx_handler,
176 void *at_tx_user_data,
177 at_modem_control_handler_t *modem_control_handler,
178 void *modem_control_user_data);
192 #if defined(__cplusplus)
int parity_errors
Definition: private/async.h:83
int dte_inactivity_action
Definition: private/at_interpreter.h:52
int at_release(at_state_t *s)
Release an AT interpreter context.
Definition: at_interpreter.c:5530
int rx_signal_present
TRUE if a carrier is presnt. Otherwise FALSE.
Definition: private/at_interpreter.h:108
int verbose
Definition: at_interpreter.h:121
@ AT_MODEM_CONTROL_ANSWER
Definition: at_interpreter.h:65
int pulse_dial
Definition: at_interpreter.h:125
Definition: at_interpreter.h:116
@ AT_MODEM_CONTROL_CAR
Definition: at_interpreter.h:79
@ AT_MODEM_CONTROL_RNG
Definition: at_interpreter.h:81
int data_bits
The number of data bits per character.
Definition: private/async.h:37
@ AT_MODEM_CONTROL_SETID
Definition: at_interpreter.h:85
void at_set_call_info(at_state_t *s, char const *id, char const *value)
Set the call information for an AT interpreter.
Definition: at_interpreter.c:328
at_state_t * at_init(at_state_t *s, at_tx_handler_t *at_tx_handler, void *at_tx_user_data, at_modem_control_handler_t *modem_control_handler, void *modem_control_user_data)
Initialise an AT interpreter context.
Definition: at_interpreter.c:5503
int rlsd_behaviour
Definition: private/at_interpreter.h:66
@ AT_MODEM_CONTROL_OFFHOOK
Definition: at_interpreter.h:69
int dtr_behaviour
Definition: private/at_interpreter.h:68
unsigned int byte_in_progress
A current, partially transmitted, character.
Definition: private/async.h:48
@ AT_MODEM_CONTROL_CALL
Definition: at_interpreter.h:63
at_modem_control_operation_e
Definition: at_interpreter.h:60
get_byte_func_t get_byte
A pointer to the callback routine used to get characters to be transmitted.
Definition: private/async.h:43
@ AT_MODEM_CONTROL_RTS
Definition: at_interpreter.h:75
Definition: private/async.h:60
int country_of_installation
Definition: private/at_interpreter.h:48
int at_free(at_state_t *s)
Free an AT interpreter context.
Definition: at_interpreter.c:5539
@ ASYNC_PARITY_EVEN
Definition: async.h:135
at_state_t * at_init(at_state_t *s, at_tx_handler_t *at_tx_handler, void *at_tx_user_data, at_modem_control_handler_t *modem_control_handler, void *modem_control_user_data)
Initialise an AT interpreter context.
Definition: at_interpreter.c:5503
Definition: private/async.h:34
@ AT_MODEM_CONTROL_DTR
Definition: at_interpreter.h:73
@ ASYNC_PARITY_NONE
Definition: async.h:133
Definition: private/at_interpreter.h:33
int speaker_mode
Definition: private/at_interpreter.h:56
int double_escape
Definition: at_interpreter.h:127
int dsr_option
Definition: private/at_interpreter.h:74
int fclass_mode
Definition: private/at_interpreter.h:99
int dte_inactivity_timeout
Definition: private/at_interpreter.h:50
int parity
The type of parity.
Definition: private/async.h:39
int adaptive_receive
Definition: at_interpreter.h:129
int speaker_volume
Definition: private/at_interpreter.h:54
async_rx_state_t * async_rx_init(async_rx_state_t *s, int data_bits, int parity, int stop_bits, int use_v14, put_byte_func_t put_byte, void *user_data)
Initialise an asynchronous data receiver context.
Definition: async.c:83
int span_log(logging_state_t *s, int level, const char *format,...)
Generate a log entry.
Definition: logging.c:84
void at_set_call_info(at_state_t *s, char const *id, char const *value)
Set the call information for an AT interpreter.
Definition: at_interpreter.c:328
int at_release(at_state_t *s)
Release an AT interpreter context.
Definition: at_interpreter.c:5530
@ AT_MODEM_CONTROL_DSR
Definition: at_interpreter.h:83
@ AT_MODEM_CONTROL_ONHOOK
Definition: at_interpreter.h:71
logging_state_t logging
Error and flow logging control.
Definition: private/at_interpreter.h:124
void * user_data
An opaque pointer passed when calling get_byte.
Definition: private/async.h:45
int echo
Definition: at_interpreter.h:119
@ AT_MODEM_CONTROL_HANGUP
Definition: at_interpreter.h:67
async_tx_state_t * async_tx_init(async_tx_state_t *s, int data_bits, int parity, int stop_bits, int use_v14, get_byte_func_t get_byte, void *user_data)
Initialise an asynchronous data transmit context.
Definition: async.c:208
int carrier_loss_timeout
Definition: private/at_interpreter.h:70
int tx_window
Definition: private/at_interpreter.h:82
int dte_rate
Definition: private/at_interpreter.h:60
int dte_parity
Definition: private/at_interpreter.h:64
@ ASYNC_PARITY_ODD
Definition: async.h:137
int long_space_disconnect_option
Definition: private/at_interpreter.h:76
int stop_bits
The number of stop bits per character.
Definition: private/async.h:41
int at_free(at_state_t *s)
Free an AT interpreter context.
Definition: at_interpreter.c:5539
int bitpos
The current bit position within a partially transmitted character.
Definition: private/async.h:50
int parity_bit
Parity bit.
Definition: private/async.h:52
uint8_t s_regs[100]
Definition: at_interpreter.h:131
int result_code_format
Definition: at_interpreter.h:123
int rx_window
Definition: private/at_interpreter.h:80
int framing_errors
Definition: private/async.h:85
int result_code_mode
Definition: private/at_interpreter.h:72
Definition: private/at_interpreter.h:44
int dte_char_format
Definition: private/at_interpreter.h:62
int sync_tx_clock_source
Definition: private/at_interpreter.h:78
@ AT_MODEM_CONTROL_CTS
Definition: at_interpreter.h:77