![]() |
Morse Micro IoT SDK
2.9.7
|
The standby mode allows the system to power off or put the host processor in a deep sleep mode while the Morse chip takes over certain functionality to keep the connection alive with the provision to wake up the host processor when certain conditions are met.
When in Standby mode, the chip will:
The chip will wake the host only if one of the following occurs.
deauth response to a keep-alive frame from the access point).The host will be powered on by toggling a GPIO pin, the BUSY pin is also toggled to interrupt the host. By offloading features like ARP response, ARP refresh, TCP keep-alive, and DHCP lease updates while in standby mode allows the host processor to sleep for longer resulting in better power savings.
Data Structures | |
| struct | mmwlan_standby_enter_args |
| Arguments for mmwlan_standby_enter More... | |
| struct | mmwlan_standby_set_status_payload_args |
| Arguments for mmwlan_standby_set_status_payload. More... | |
| struct | mmwlan_standby_set_wake_filter_args |
| Arguments for mmwlan_standby_set_wake_filter More... | |
| struct | mmwlan_standby_config |
| Standby mode configuration parameters. More... | |
Typedefs | |
| typedef void(* | mmwlan_standby_exit_cb_t) (uint8_t reason, void *arg) |
| Standby mode callback whenever an event requiring an exit from standby mode occurs. More... | |
Functions | |
| enum mmwlan_status | mmwlan_standby_enter (const struct mmwlan_standby_enter_args *args) |
| This function puts the Morse chip into standby mode allowing the host processor to go to sleep. More... | |
| enum mmwlan_status | mmwlan_standby_exit (void) |
| Forces the Morse chip to exit standby mode. More... | |
| enum mmwlan_status | mmwlan_standby_set_status_payload (const struct mmwlan_standby_set_status_payload_args *args) |
| Sets the user payload in the standby status packet. More... | |
| enum mmwlan_status | mmwlan_standby_set_wake_filter (const struct mmwlan_standby_set_wake_filter_args *args) |
| Configures the standby mode UDP wake packet filter. More... | |
| enum mmwlan_status | mmwlan_standby_set_config (const struct mmwlan_standby_config *config) |
| Sets the configuration for standby mode. More... | |
| typedef void(* mmwlan_standby_exit_cb_t) (uint8_t reason, void *arg) |
Standby mode callback whenever an event requiring an exit from standby mode occurs.
| reason | The reason we exited standby mode. See enum mmwlan_standby_exit_reason. |
| arg | An opaque pointer passed from mmwlan_standby_enter() |
Reasons we can exit standby mode.
| enum mmwlan_status mmwlan_standby_enter | ( | const struct mmwlan_standby_enter_args * | args | ) |
This function puts the Morse chip into standby mode allowing the host processor to go to sleep.
When in standby mode the Morse chip takes over certain functionality to keep the connection alive with the provision to wake up the host processor when certain conditions are met. Exit from standby mode can be triggered by the Morse chip under certain conditions or by the host by invoking mmwlan_standby_exit(). Before invoking this function, standby mode parameters can be configured by calling mmwlan_standby_set_config(), mmwlan_standby_set_status_payload() and/or mmwlan_standby_set_wake_filter()
| args | A pointer to the arguments for this function. |
| enum mmwlan_status mmwlan_standby_exit | ( | void | ) |
Forces the Morse chip to exit standby mode.
here may be certain instances such as a timer expiry, which cause the host chip to wake up independent of the Morse chip. In such situations, the host calls this function to instruct the Morse chip to exit standby mode and return to normal operating mode.
Triggers mmwlan_standby_exit_cb_t with reason MMWLAN_STANDBY_EXIT_REASON_NONE.
| enum mmwlan_status mmwlan_standby_set_config | ( | const struct mmwlan_standby_config * | config | ) |
Sets the configuration for standby mode.
| config | A pointer to the configuration structure. See mmwlan_standby_config. |
| enum mmwlan_status mmwlan_standby_set_status_payload | ( | const struct mmwlan_standby_set_status_payload_args * | args | ) |
Sets the user payload in the standby status packet.
Once standby mode is enabled, the Morse chip will periodically emit a UDP packet of the following format regardless of whether it is in standby or not. The UDP packet will also be sent immediately upon entering or exiting Standby mode.
| args | A pointer to the arguments for this function. |
| enum mmwlan_status mmwlan_standby_set_wake_filter | ( | const struct mmwlan_standby_set_wake_filter_args * | args | ) |
Configures the standby mode UDP wake packet filter.
The system can be woken up from standby mode by sending it a UDP wake packet of the following format. If a wake filter is set using this function then the wake packet will only wake up the system if the specified filter pattern matches the payload at the specified offset within the payload.
The wake packet has the following format:
| args | A pointer to the arguments for this function. |