Morse Micro IoT SDK  2.9.7

Detailed Description

Data Structures

struct  string32
 String type with maximum length of 32 (excluding null terminator). More...
 
struct  string100
 String type with maximum length of 100 (excluding null terminator). More...
 
struct  string254
 String type with maximum length of 254 (excluding null terminator). More...
 
struct  raw255
 Raw octet string type with maximum length of 255. More...
 
struct  raw1536
 Raw octet string type with maximum length of 1536. More...
 
struct  struct_mac_addr
 Data type to contain mac address byte array. More...
 
struct  struct_country_code
 Data type to contain Two character country code (null-terminated) used to identify the regulatory domain. More...
 
struct  struct_oui
 Data type to contain a three octet OUI. More...
 
struct  struct_oui_list
 Data type to contain a list of three octet OUIs. More...
 
struct  struct_scan_result
 Structure for holding a scan result. More...
 
struct  struct_version_info
 Structure for devise firmware and hardware versions. More...
 
struct  struct_scan_status
 Structure for returning the scan status. More...
 
struct  struct_ip_addr
 Data type for a string representation of an IP address. More...
 
struct  struct_ip_status
 Structure to contain the current IP status. More...
 
struct  struct_ping_status
 Data structure to store ping results. More...
 
struct  struct_iperf_status
 Data structure to store iperf results. More...
 
struct  struct_buffer64
 Generic 64 byte buffer. More...
 

Enumerations

enum  mmagic_security_type { MMAGIC_SECURITY_TYPE_SAE = 0 , MMAGIC_SECURITY_TYPE_OWE = 1 , MMAGIC_SECURITY_TYPE_OPEN = 2 }
 Connection security type. More...
 
enum  mmagic_pmf_mode { MMAGIC_PMF_MODE_REQUIRED = 0 , MMAGIC_PMF_MODE_DISABLED = 1 }
 Protected management frame mode. More...
 
enum  mmagic_power_save_mode { MMAGIC_POWER_SAVE_MODE_DISABLED = 0 , MMAGIC_POWER_SAVE_MODE_ENABLED = 1 }
 Enumeration of supported 802.11 power save modes. More...
 
enum  mmagic_mcs10_mode { MMAGIC_MCS10_MODE_DISABLED = 0 , MMAGIC_MCS10_MODE_FORCED = 1 , MMAGIC_MCS10_MODE_AUTO = 2 }
 Enumeration of MCS10 modes. More...
 
enum  mmagic_duty_cycle_mode { MMAGIC_DUTY_CYCLE_MODE_SPREAD = 0 , MMAGIC_DUTY_CYCLE_MODE_BURST = 1 }
 Enumeration of duty cycle modes. More...
 
enum  mmagic_station_type { MMAGIC_STATION_TYPE_SENSOR = 0 , MMAGIC_STATION_TYPE_NON_SENSOR = 1 }
 Enumeration of S1G non-AP STA types. More...
 
enum  mmagic_status {
  MMAGIC_STATUS_OK = 0 , MMAGIC_STATUS_ERROR = 1 , MMAGIC_STATUS_INVALID_ARG = 2 , MMAGIC_STATUS_UNAVAILABLE = 3 ,
  MMAGIC_STATUS_TIMEOUT = 4 , MMAGIC_STATUS_INVALID_STREAM = 5 , MMAGIC_STATUS_NOT_FOUND = 6 , MMAGIC_STATUS_NOT_SUPPORTED = 7 ,
  MMAGIC_STATUS_TX_ERROR = 8 , MMAGIC_STATUS_NO_MEM = 9 , MMAGIC_STATUS_CLOSED = 10 , MMAGIC_STATUS_CHANNEL_LIST_NOT_SET = 11 ,
  MMAGIC_STATUS_SHUTDOWN_BLOCKED = 12 , MMAGIC_STATUS_CHANNEL_INVALID = 13 , MMAGIC_STATUS_NOT_RUNNING = 14 , MMAGIC_STATUS_NO_LINK = 15 ,
  MMAGIC_STATUS_UNKNOWN_HOST = 16 , MMAGIC_STATUS_SOCKET_FAILED = 17 , MMAGIC_STATUS_SOCKET_CONNECT_FAILED = 18 , MMAGIC_STATUS_SOCKET_BIND_FAILED = 19 ,
  MMAGIC_STATUS_SOCKET_LISTEN_FAILED = 20 , MMAGIC_STATUS_NTP_KOD_RECEIVED = 21 , MMAGIC_STATUS_NTP_KOD_BACKOFF_RECEIVED = 22 , MMAGIC_STATUS_SOCKET_SEND_FAILED = 23 ,
  MMAGIC_STATUS_INVALID_CREDENTIALS = 24 , MMAGIC_STATUS_HANDSHAKE_FAILED = 25 , MMAGIC_STATUS_AUTHENTICATION_FAILED = 26 , MMAGIC_STATUS_MISSING_CREDENTIALS = 27 ,
  MMAGIC_STATUS_TIME_NOT_SYNCHRONIZED = 28 , MMAGIC_STATUS_MQTT_REFUSED = 29 , MMAGIC_STATUS_MQTT_KEEPALIVE_TIMEOUT = 30 , MMAGIC_STATUS_BAD_VERSION = 32
}
 Enumeration of return status codes. More...
 
enum  mmagic_iperf_mode { MMAGIC_IPERF_MODE_UDP_SERVER = 0 , MMAGIC_IPERF_MODE_TCP_SERVER = 1 , MMAGIC_IPERF_MODE_UDP_CLIENT = 2 , MMAGIC_IPERF_MODE_TCP_CLIENT = 3 }
 Mode to use when running the iperf. More...
 
enum  mmagic_iperf_state { MMAGIC_IPERF_STATE_NOT_STARTED = 0 , MMAGIC_IPERF_STATE_RUNNING = 1 , MMAGIC_IPERF_STATE_FINISHED = 2 , MMAGIC_IPERF_STATE_ABORTED = 3 }
 Current state of iperf session. More...
 
enum  mmagic_ip_link_state { MMAGIC_IP_LINK_STATE_DOWN = 0 , MMAGIC_IP_LINK_STATE_UP = 1 }
 Status of the IP link. More...
 
enum  mmagic_deep_sleep_mode { MMAGIC_DEEP_SLEEP_MODE_DISABLED = 0 , MMAGIC_DEEP_SLEEP_MODE_ONE_SHOT = 1 , MMAGIC_DEEP_SLEEP_MODE_HARDWARE = 2 }
 Deep sleep modes for the agent MCU. More...
 
enum  mmagic_standby_mode_exit_reason {
  MMAGIC_STANDBY_MODE_EXIT_REASON_STANDBY_EXIT_NONE = 0 , MMAGIC_STANDBY_MODE_EXIT_REASON_STANDBY_EXIT_WAKEUP_FRAME = 1 , MMAGIC_STANDBY_MODE_EXIT_REASON_STANDBY_EXIT_ASSOCIATE = 2 , MMAGIC_STANDBY_MODE_EXIT_REASON_STANDBY_EXIT_EXT_INPUT = 3 ,
  MMAGIC_STANDBY_MODE_EXIT_REASON_STANDBY_EXIT_WHITELIST_PKT = 4 , MMAGIC_STANDBY_MODE_EXIT_REASON_STANDBY_EXIT_TCP_CONNECTION_LOST = 5 , MMAGIC_STANDBY_MODE_EXIT_REASON_STANDBY_EXIT_HW_SCAN_NOT_ENABLED = 6 , MMAGIC_STANDBY_MODE_EXIT_REASON_STANDBY_EXIT_HW_SCAN_FAILED_TO_START = 7
}
 Reasons for exiting standby mode. More...
 
enum  mmagic_sta_state { MMAGIC_STA_STATE_DISCONNECTED = 1 , MMAGIC_STA_STATE_CONNECTING = 2 , MMAGIC_STA_STATE_CONNECTED = 3 }
 Station states. More...
 
enum  mmagic_sta_event {
  MMAGIC_STA_EVENT_SCAN_REQUEST = 0 , MMAGIC_STA_EVENT_SCAN_COMPLETE = 1 , MMAGIC_STA_EVENT_SCAN_ABORT = 2 , MMAGIC_STA_EVENT_AUTH_REQUEST = 3 ,
  MMAGIC_STA_EVENT_ASSOC_REQUEST = 4 , MMAGIC_STA_EVENT_DEAUTH_TX = 5 , MMAGIC_STA_EVENT_CTRL_PORT_OPEN = 6 , MMAGIC_STA_EVENT_CTRL_PORT_CLOSED = 7
}
 Station connection events. More...
 
enum  mmagic_subsystem {
  MMAGIC_WLAN = 1 , MMAGIC_IP = 2 , MMAGIC_PING = 3 , MMAGIC_IPERF = 4 ,
  MMAGIC_SYS = 5 , MMAGIC_TCP = 6 , MMAGIC_TLS = 7 , MMAGIC_NTP = 8 ,
  MMAGIC_MQTT = 9
}
 Subsytem IDs. More...
 

Enumeration Type Documentation

◆ mmagic_deep_sleep_mode

Deep sleep modes for the agent MCU.

Enumerator
MMAGIC_DEEP_SLEEP_MODE_DISABLED 

Deep sleep is disabled.

MMAGIC_DEEP_SLEEP_MODE_ONE_SHOT 

Deep sleep is enabled until activity occurs on the datalink.

MMAGIC_DEEP_SLEEP_MODE_HARDWARE 

The datalink layer is responsible for waking the agent.

Definition at line 213 of file mmagic_controller.h.

◆ mmagic_duty_cycle_mode

Enumeration of duty cycle modes.

Enumerator
MMAGIC_DUTY_CYCLE_MODE_SPREAD 

Duty cycle air time is evenly spread.

MMAGIC_DUTY_CYCLE_MODE_BURST 

Duty cycle air time available in burst.

Definition at line 88 of file mmagic_controller.h.

◆ mmagic_ip_link_state

Status of the IP link.

Enumerator
MMAGIC_IP_LINK_STATE_DOWN 

Link is down because the interface is down or DHCP has not yet completed.

MMAGIC_IP_LINK_STATE_UP 

Link is up.

This implies that the interface is up and DHCP has completed.

Definition at line 204 of file mmagic_controller.h.

◆ mmagic_iperf_mode

Mode to use when running the iperf.

Enumerator
MMAGIC_IPERF_MODE_UDP_SERVER 

Iperf UDP server (RX).

MMAGIC_IPERF_MODE_TCP_SERVER 

Iperf TCP server (RX).

MMAGIC_IPERF_MODE_UDP_CLIENT 

Iperf UDP client (TX).

MMAGIC_IPERF_MODE_TCP_CLIENT 

Iperf TCP client (TX).

Definition at line 178 of file mmagic_controller.h.

◆ mmagic_iperf_state

Current state of iperf session.

Enumerator
MMAGIC_IPERF_STATE_NOT_STARTED 

Iperf session not started.

MMAGIC_IPERF_STATE_RUNNING 

Iperf session is in progress.

MMAGIC_IPERF_STATE_FINISHED 

Iperf session has completed.

MMAGIC_IPERF_STATE_ABORTED 

Iperf session has been aborted.

Definition at line 191 of file mmagic_controller.h.

◆ mmagic_mcs10_mode

Enumeration of MCS10 modes.

Enumerator
MMAGIC_MCS10_MODE_DISABLED 

MCS10 is not used.

MMAGIC_MCS10_MODE_FORCED 

MCS10 is always used instead of MCS0 when the bandwidth is 1 MHz.

MMAGIC_MCS10_MODE_AUTO 

MCS10 is used on retries instead of MCS0 when the bandwidth is 1 MHz.

Definition at line 77 of file mmagic_controller.h.

◆ mmagic_pmf_mode

Protected management frame mode.

Enumerator
MMAGIC_PMF_MODE_REQUIRED 

Protected management frames must be used.

MMAGIC_PMF_MODE_DISABLED 

No protected management frames.

Definition at line 59 of file mmagic_controller.h.

◆ mmagic_power_save_mode

Enumeration of supported 802.11 power save modes.

Enumerator
MMAGIC_POWER_SAVE_MODE_DISABLED 

Power save disabled.

MMAGIC_POWER_SAVE_MODE_ENABLED 

Power save enabled.

Definition at line 68 of file mmagic_controller.h.

◆ mmagic_security_type

Connection security type.

Enumerator
MMAGIC_SECURITY_TYPE_SAE 

Simultaneous Authentication of Equals (password-based authentication).

MMAGIC_SECURITY_TYPE_OWE 

Opportunistic Wireless Encryption (encrypted, passwordless).

MMAGIC_SECURITY_TYPE_OPEN 

No security enabled at all.

Definition at line 48 of file mmagic_controller.h.

◆ mmagic_sta_event

Station connection events.

Enumerator
MMAGIC_STA_EVENT_SCAN_REQUEST 

The STA is starting a scan.

MMAGIC_STA_EVENT_SCAN_COMPLETE 

The STA has finished a scan.

MMAGIC_STA_EVENT_SCAN_ABORT 

The STA has aborted a scan early.

MMAGIC_STA_EVENT_AUTH_REQUEST 

The STA is sending an authentication request to the AP.

MMAGIC_STA_EVENT_ASSOC_REQUEST 

The STA is sending an association request to the AP.

MMAGIC_STA_EVENT_DEAUTH_TX 

The STA is sending an de-authorization request to the AP.

MMAGIC_STA_EVENT_CTRL_PORT_OPEN 

The Supplicant IEEE 802.1X Controlled Port is now open.

MMAGIC_STA_EVENT_CTRL_PORT_CLOSED 

The Supplicant IEEE 802.1X Controlled Port is now closed.

Definition at line 256 of file mmagic_controller.h.

◆ mmagic_sta_state

Station states.

Enumerator
MMAGIC_STA_STATE_DISCONNECTED 

Disconnected from the AP.

MMAGIC_STA_STATE_CONNECTING 

Connecting to the AP.

MMAGIC_STA_STATE_CONNECTED 

Connected to the AP.

Definition at line 245 of file mmagic_controller.h.

◆ mmagic_standby_mode_exit_reason

Reasons for exiting standby mode.

Enumerator
MMAGIC_STANDBY_MODE_EXIT_REASON_STANDBY_EXIT_NONE 

Standby mode was exited manually through a call to standby_exit.

MMAGIC_STANDBY_MODE_EXIT_REASON_STANDBY_EXIT_WAKEUP_FRAME 

We were woken up by a wakeup frame.

MMAGIC_STANDBY_MODE_EXIT_REASON_STANDBY_EXIT_ASSOCIATE 

We just reassociated with the AP.

MMAGIC_STANDBY_MODE_EXIT_REASON_STANDBY_EXIT_EXT_INPUT 

We were woken up by an external input trigger.

MMAGIC_STANDBY_MODE_EXIT_REASON_STANDBY_EXIT_WHITELIST_PKT 

We received a packet from a whitelist source.

MMAGIC_STANDBY_MODE_EXIT_REASON_STANDBY_EXIT_TCP_CONNECTION_LOST 

An open TCP connection was lost.

MMAGIC_STANDBY_MODE_EXIT_REASON_STANDBY_EXIT_HW_SCAN_NOT_ENABLED 

Hardware scan was not enabled.

MMAGIC_STANDBY_MODE_EXIT_REASON_STANDBY_EXIT_HW_SCAN_FAILED_TO_START 

Hardware scan failed to start.

Definition at line 224 of file mmagic_controller.h.

◆ mmagic_station_type

Enumeration of S1G non-AP STA types.

Enumerator
MMAGIC_STATION_TYPE_SENSOR 

Sensor type.

MMAGIC_STATION_TYPE_NON_SENSOR 

Non-Sensor type.

Definition at line 97 of file mmagic_controller.h.

◆ mmagic_status

Enumeration of return status codes.

Enumerator
MMAGIC_STATUS_OK 

Operation was successful.

MMAGIC_STATUS_ERROR 

The operation failed with an unspecified error.

MMAGIC_STATUS_INVALID_ARG 

The operation failed due to an invalid argument.

MMAGIC_STATUS_UNAVAILABLE 

Functionality is temporarily unavailable.

MMAGIC_STATUS_TIMEOUT 

The operation timed out.

MMAGIC_STATUS_INVALID_STREAM 

An invalid stream was specified.

MMAGIC_STATUS_NOT_FOUND 

Specified operation was not found.

MMAGIC_STATUS_NOT_SUPPORTED 

Specified operation is not supported.

MMAGIC_STATUS_TX_ERROR 

An error occured during transmission.

MMAGIC_STATUS_NO_MEM 

Failed due to memory allocation failure.

MMAGIC_STATUS_CLOSED 

Failed due to stream being closed from the other side.

MMAGIC_STATUS_CHANNEL_LIST_NOT_SET 

WLAN operation failed because the channel list has not been set.

MMAGIC_STATUS_SHUTDOWN_BLOCKED 

WLAN shutdown failed.

MMAGIC_STATUS_CHANNEL_INVALID 

Attempted to tune to a channel that was not available.

MMAGIC_STATUS_NOT_RUNNING 

Operation failed because the WLAN device was not booted.

MMAGIC_STATUS_NO_LINK 

Operation failed because the link was not up.

MMAGIC_STATUS_UNKNOWN_HOST 

Failed to get an IP address for the given hostname.

MMAGIC_STATUS_SOCKET_FAILED 

Failed to open the socket.

MMAGIC_STATUS_SOCKET_CONNECT_FAILED 

Socket connection failed.

MMAGIC_STATUS_SOCKET_BIND_FAILED 

Socket bind failed.

MMAGIC_STATUS_SOCKET_LISTEN_FAILED 

Socket listen failed.

MMAGIC_STATUS_NTP_KOD_RECEIVED 

NTP server returned Kiss-o'-Death.

MMAGIC_STATUS_NTP_KOD_BACKOFF_RECEIVED 

NTP server returned Kiss-o'-Death with rate code.

Client should backoff then retry.

MMAGIC_STATUS_SOCKET_SEND_FAILED 

Socket send failed.

MMAGIC_STATUS_INVALID_CREDENTIALS 

Credentials provided were invalid.

Possible cause: missing null terminator on a PEM key/certificate.

MMAGIC_STATUS_HANDSHAKE_FAILED 

Error during TLS handshake.

MMAGIC_STATUS_AUTHENTICATION_FAILED 

Credentials provided by the server were not valid.

MMAGIC_STATUS_MISSING_CREDENTIALS 

Missing certificate or key to open TLS connection.

Provided through the TLS module configuration.

MMAGIC_STATUS_TIME_NOT_SYNCHRONIZED 

Internal time has not been synchronized.

This is required for certificate verification for TLS. Use the NTP module to synchronize internal time.

MMAGIC_STATUS_MQTT_REFUSED 

The server refused a CONNECT or SUBSCRIBE.

MMAGIC_STATUS_MQTT_KEEPALIVE_TIMEOUT 

Timed out while waiting for PINGRESP.

Connection to the broker has been lost.

MMAGIC_STATUS_BAD_VERSION 

Operation failed due to a version mismatch.

Definition at line 106 of file mmagic_controller.h.

◆ mmagic_subsystem

Subsytem IDs.

Enumerator
MMAGIC_WLAN 

Subsystem ID for Module wlan: Wireless LAN management..

MMAGIC_IP 

Subsystem ID for Module ip: IP Stack Management.

MMAGIC_PING 

Subsystem ID for Module ping: Ping application..

MMAGIC_IPERF 

Subsystem ID for Module iperf: Iperf application..

MMAGIC_SYS 

Subsystem ID for Module sys: System management..

MMAGIC_TCP 

Subsystem ID for Module tcp: TCP Socket IO, supports secure connections using TLS..

MMAGIC_TLS 

Subsystem ID for Module tls: TLS support..

MMAGIC_NTP 

Subsystem ID for Module ntp: Network Time Protocol..

MMAGIC_MQTT 

Subsystem ID for Module mqtt: MQTT agent..

Definition at line 488 of file mmagic_controller.h.