

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().