Morse Micro IoT SDK  2.10.4
mmagic.h
1/*
2 * Copyright 2023-2024 Morse Micro
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6#pragma once
7
8#include <stdint.h>
9#include <stddef.h>
10#include <stdbool.h>
11
12#include "core/autogen/mmagic_core_types.h"
13#include "mmwlan.h"
14
15#ifdef __cplusplus
16extern "C"
17{
18#endif
19
225#define CONTROL_STREAM 0
226
228#define MMAGIC_SYS_MAX_APP_VERSION_LENGTH (31)
229
239typedef bool (*mmagic_set_deep_sleep_mode_cb_t)(enum mmagic_deep_sleep_mode mode, void *cb_arg);
240
251{
257 void (*tx_cb)(const char *buf, size_t len, void *cb_arg);
264};
265
273struct mmagic_cli *mmagic_cli_init(const struct mmagic_cli_init_args *args);
274
282void mmagic_cli_rx(struct mmagic_cli *ctx, const char *buf, size_t len);
283
294{
299};
300
310struct mmagic_m2m_agent *mmagic_m2m_agent_init(const struct mmagic_m2m_agent_init_args *args);
311
314#ifdef __cplusplus
315}
316#endif
bool(* mmagic_set_deep_sleep_mode_cb_t)(enum mmagic_deep_sleep_mode mode, void *cb_arg)
Typedef for callback function that is invoked by MMAGIC to request a change in deep sleep mode.
Definition: mmagic.h:239
#define MMAGIC_SYS_MAX_APP_VERSION_LENGTH
Maximum length of the app_version string (excluding null terminator).
Definition: mmagic.h:228
struct mmagic_m2m_agent * mmagic_m2m_agent_init(const struct mmagic_m2m_agent_init_args *args)
Initialize the M2M agent.
struct mmagic_cli * mmagic_cli_init(const struct mmagic_cli_init_args *args)
Initialize and enable the CLI.
void mmagic_cli_rx(struct mmagic_cli *ctx, const char *buf, size_t len)
This function is used to pass received characters to the MMAGIC CLI.
mmagic_deep_sleep_mode
Deep sleep modes for the agent MCU.
char buf[1408]
Statically allocated buffer for HTTP GET request, just under 1 packet size.
Definition: sslclient.c:176
CLI initialization arguments structure.
Definition: mmagic.h:251
void * tx_cb_arg
Opaque arg to pass to tx_cb.
Definition: mmagic.h:255
const struct mmwlan_regulatory_db * reg_db
Reference to the regulatory database, used to initialize wlan.
Definition: mmagic.h:263
char app_version[MMAGIC_SYS_MAX_APP_VERSION_LENGTH+1]
Application version string.
Definition: mmagic.h:253
void * set_deep_sleep_mode_cb_arg
Opaque arg to pass to set_deep_sleep_mode_cb.
Definition: mmagic.h:259
void(* tx_cb)(const char *buf, size_t len, void *cb_arg)
Transmit callback.
Definition: mmagic.h:257
mmagic_set_deep_sleep_mode_cb_t set_deep_sleep_mode_cb
Set deep sleep mode callback.
Definition: mmagic.h:261
M2M initialization args.
Definition: mmagic.h:294
const struct mmwlan_regulatory_db * reg_db
Reference to the regulatory database, used to initialize wlan.
Definition: mmagic.h:298
char app_version[MMAGIC_SYS_MAX_APP_VERSION_LENGTH+1]
Application version string.
Definition: mmagic.h:296
Regulatory database data structure.
Definition: mmwlan.h:193