Zephyr API Documentation 4.2.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
chat.h File Reference
#include <zephyr/kernel.h>
#include <zephyr/types.h>
#include <zephyr/device.h>
#include <zephyr/sys/ring_buffer.h>
#include <zephyr/modem/pipe.h>
#include <zephyr/modem/stats.h>

Go to the source code of this file.

Data Structures

struct  modem_chat_match
 Modem chat match. More...
struct  modem_chat_script_chat
 Modem chat script chat. More...
struct  modem_chat_script
 Modem chat script. More...
struct  modem_chat
 Chat instance internal context. More...
struct  modem_chat_config
 Chat configuration. More...

Macros

#define MODEM_CHAT_MATCH(_match, _separators, _callback)
#define MODEM_CHAT_MATCH_WILDCARD(_match, _separators, _callback)
#define MODEM_CHAT_MATCH_INITIALIZER(_match, _separators, _callback, _wildcards, _partial)
#define MODEM_CHAT_MATCH_DEFINE(_sym, _match, _separators, _callback)
#define MODEM_CHAT_MATCHES_DEFINE(_sym, ...)
#define MODEM_CHAT_SCRIPT_CMD_RESP(_request, _response_match)
#define MODEM_CHAT_SCRIPT_CMD_RESP_MULT(_request, _response_matches)
#define MODEM_CHAT_SCRIPT_CMD_RESP_NONE(_request, _timeout_ms)
#define MODEM_CHAT_SCRIPT_CMDS_DEFINE(_sym, ...)
#define MODEM_CHAT_SCRIPT_DEFINE(_sym, _script_chats, _abort_matches, _callback, _timeout_s)
#define MODEM_CHAT_SCRIPT_NO_ABORT_DEFINE(_sym, _script_chats, _callback, _timeout_s)
#define MODEM_CHAT_SCRIPT_EMPTY_DEFINE(_sym)

Typedefs

typedef void(* modem_chat_match_callback) (struct modem_chat *chat, char **argv, uint16_t argc, void *user_data)
 Callback called when matching chat is received.
typedef void(* modem_chat_script_callback) (struct modem_chat *chat, enum modem_chat_script_result result, void *user_data)
 Callback called when script chat is received.

Enumerations

enum  modem_chat_script_result { MODEM_CHAT_SCRIPT_RESULT_SUCCESS , MODEM_CHAT_SCRIPT_RESULT_ABORT , MODEM_CHAT_SCRIPT_RESULT_TIMEOUT }
enum  modem_chat_script_send_state { MODEM_CHAT_SCRIPT_SEND_STATE_IDLE , MODEM_CHAT_SCRIPT_SEND_STATE_REQUEST , MODEM_CHAT_SCRIPT_SEND_STATE_DELIMITER }

Functions

int modem_chat_init (struct modem_chat *chat, const struct modem_chat_config *config)
 Initialize modem pipe chat instance.
int modem_chat_attach (struct modem_chat *chat, struct modem_pipe *pipe)
 Attach modem chat instance to pipe.
int modem_chat_run_script_async (struct modem_chat *chat, const struct modem_chat_script *script)
 Run script asynchronously.
int modem_chat_run_script (struct modem_chat *chat, const struct modem_chat_script *script)
 Run script.
static int modem_chat_script_run (struct modem_chat *chat, const struct modem_chat_script *script)
 Run script asynchronously.
void modem_chat_script_abort (struct modem_chat *chat)
 Abort script.
void modem_chat_release (struct modem_chat *chat)
 Release pipe from chat instance.
void modem_chat_match_init (struct modem_chat_match *chat_match)
 Initialize modem chat match.
int modem_chat_match_set_match (struct modem_chat_match *chat_match, const char *match)
 Set match of modem chat match instance.
int modem_chat_match_set_separators (struct modem_chat_match *chat_match, const char *separators)
 Set separators of modem chat match instance.
void modem_chat_match_set_callback (struct modem_chat_match *chat_match, modem_chat_match_callback callback)
 Set modem chat match callback.
void modem_chat_match_set_partial (struct modem_chat_match *chat_match, bool partial)
 Set modem chat match partial flag.
void modem_chat_match_enable_wildcards (struct modem_chat_match *chat_match, bool enable)
 Set modem chat match wildcards flag.
void modem_chat_script_chat_init (struct modem_chat_script_chat *script_chat)
 Initialize modem chat script chat.
int modem_chat_script_chat_set_request (struct modem_chat_script_chat *script_chat, const char *request)
 Set request of modem chat script chat instance.
int modem_chat_script_chat_set_response_matches (struct modem_chat_script_chat *script_chat, const struct modem_chat_match *response_matches, uint16_t response_matches_size)
 Set modem chat script chat matches.
void modem_chat_script_chat_set_timeout (struct modem_chat_script_chat *script_chat, uint16_t timeout_ms)
 Set modem chat script chat timeout.
void modem_chat_script_init (struct modem_chat_script *script)
 Initialize modem chat script.
void modem_chat_script_set_name (struct modem_chat_script *script, const char *name)
 Set modem chat script name.
int modem_chat_script_set_script_chats (struct modem_chat_script *script, const struct modem_chat_script_chat *script_chats, uint16_t script_chats_size)
 Set modem chat script chats.
int modem_chat_script_set_abort_matches (struct modem_chat_script *script, const struct modem_chat_match *abort_matches, uint16_t abort_matches_size)
 Set modem chat script abort matches.
void modem_chat_script_set_callback (struct modem_chat_script *script, modem_chat_script_callback callback)
 Set modem chat script callback.
void modem_chat_script_set_timeout (struct modem_chat_script *script, uint32_t timeout_s)
 Set modem chat script timeout.

Variables

const struct modem_chat_match modem_chat_any_match
const struct modem_chat_match modem_chat_empty_matches [0]
const struct modem_chat_script_chat modem_chat_empty_script_chats [0]