Go to the source code of this file.
Data Structures | |
struct | NUTCHAT |
Defines | |
#define | CHAT_ARG_SEND 0 |
#define | CHAT_ARG_ABORT 1 |
#define | CHAT_ARG_TIMEOUT 2 |
#define | CHAT_ARG_REPORT 3 |
#define | CHAT_MAX_ABORTS 10 |
Maximum number of abort strings. | |
#define | CHAT_MAX_REPORT_SIZE 32 |
Maximum size of report strings. | |
#define | CHAT_DEFAULT_TIMEOUT 45 |
Default timeout. | |
Functions | |
void | NutTraceChat (FILE *stream, uint8_t flags) |
Control chat tracing. | |
int | NutChatExpectString (NUTCHAT *ci, char *str) |
Wait for a specific string to appear. | |
int | NutChatExpect (NUTCHAT *ci, char *str) |
int | NutChatSend (NUTCHAT *ci, char *str) |
Process a chat send argument. | |
NUTCHAT * | NutChatCreate (int fd) |
Create a NUTCHAT structure. | |
void | NutChatDestroy (NUTCHAT *ci) |
Destroy a previously created NUTCHAT structure. | |
int | NutChat (int fd, CONST char *script) |
Execute a conversational exchange with a serial device. | |
int | NutChat_P (int fd, PGM_P script) |
Execute a conversational exchange with a serial device. | |
Variables | |
uint8_t * | chat_report |
#define CHAT_ARG_SEND 0 |
Definition at line 79 of file chat.h.
Referenced by NutChatSend().
#define CHAT_ARG_ABORT 1 |
Definition at line 80 of file chat.h.
Referenced by NutChatExpect(), and NutChatSend().
#define CHAT_ARG_TIMEOUT 2 |
Definition at line 81 of file chat.h.
Referenced by NutChatExpect(), and NutChatSend().
#define CHAT_ARG_REPORT 3 |
Definition at line 82 of file chat.h.
Referenced by NutChatExpect(), and NutChatSend().
#define CHAT_MAX_ABORTS 10 |
#define CHAT_MAX_REPORT_SIZE 32 |
Maximum size of report strings.
Definition at line 95 of file chat.h.
Referenced by NutChatExpectString(), and NutChatSend().
#define CHAT_DEFAULT_TIMEOUT 45 |
int NutChatExpectString | ( | NUTCHAT * | ci, |
char * | str | ||
) |
Wait for a specific string to appear.
ci | Pointer to a NUTCHAT structure, which must have been created by NutChatCreate(). |
str | Expected string. May be empty if nothing is expected. |
Definition at line 131 of file chat.c.
References _read(), NUTCHAT::chat_abomat, NUTCHAT::chat_abort, NUTCHAT::chat_aborts, NUTCHAT::chat_fd, CHAT_MAX_REPORT_SIZE, NUTCHAT::chat_repmat, chat_report, NUTCHAT::chat_report_search, NUTCHAT::chat_report_state, fprintf(), fprintf_P, fputc(), fputs_P, and prog_char.
Referenced by NutChatExpect().
int NutChatExpect | ( | NUTCHAT * | ci, |
char * | str | ||
) |
Definition at line 357 of file chat.c.
References NUTCHAT::chat_arg, CHAT_ARG_ABORT, CHAT_ARG_REPORT, CHAT_ARG_TIMEOUT, NUTCHAT::chat_fd, NUTCHAT::chat_repmat, NUTCHAT::chat_report_state, NutChatExpectString(), and strcmp().
int NutChatSend | ( | NUTCHAT * | ci, |
char * | str | ||
) |
Process a chat send argument.
ci | Pointer to a NUTCHAT structure, which must have been created by NutChatCreate(). |
str | String containing the chat send argument. |
Definition at line 413 of file chat.c.
References _ioctl(), atol(), NUTCHAT::chat_abort, NUTCHAT::chat_aborts, NUTCHAT::chat_arg, CHAT_ARG_ABORT, CHAT_ARG_REPORT, CHAT_ARG_SEND, CHAT_ARG_TIMEOUT, CHAT_DEFAULT_TIMEOUT, NUTCHAT::chat_fd, CHAT_MAX_ABORTS, CHAT_MAX_REPORT_SIZE, chat_report, NUTCHAT::chat_report_search, malloc(), strlen(), and UART_SETREADTIMEOUT.
NUTCHAT* NutChatCreate | ( | int | fd | ) |
void NutChatDestroy | ( | NUTCHAT * | ci | ) |
Destroy a previously created NUTCHAT structure.
ci | Pointer to a NUTCHAT structure, which must have been created by NutChatCreate(). |
Definition at line 533 of file chat.c.
References NUTCHAT::chat_abort, NUTCHAT::chat_aborts, and free().
int NutChat | ( | int | fd, |
CONST char * | script | ||
) |
Execute a conversational exchange with a serial device.
Its primary purpose is to establish a modem connection.
fd | Descriptor of a previously opened device. |
script | Pointer to a string containing the chat script. |
Definition at line 662 of file chat.c.
References free(), and strdup().
int NutChat_P | ( | int | fd, |
PGM_P | script | ||
) |
Execute a conversational exchange with a serial device.
Similar to NutChat() except that the chat string is located in program memory.
Definition at line 689 of file chat.c.
References free(), malloc(), strcpy_P, and strlen_P.
Definition at line 75 of file chat.c.
Referenced by NutChatExpectString(), and NutChatSend().