This module includes platform abstractions for miscellaneous behaviors. More...
Enumerations | |
enum | otPlatResetReason { OT_PLAT_RESET_REASON_POWER_ON = 0, OT_PLAT_RESET_REASON_EXTERNAL = 1, OT_PLAT_RESET_REASON_SOFTWARE = 2, OT_PLAT_RESET_REASON_FAULT = 3, OT_PLAT_RESET_REASON_CRASH = 4, OT_PLAT_RESET_REASON_ASSERT = 5, OT_PLAT_RESET_REASON_OTHER = 6, OT_PLAT_RESET_REASON_UNKNOWN = 7, OT_PLAT_RESET_REASON_WATCHDOG = 8, OT_PLAT_RESET_REASON_COUNT } |
enum | otPlatMcuPowerState { OT_PLAT_MCU_POWER_STATE_ON = 0, OT_PLAT_MCU_POWER_STATE_LOW_POWER = 1, OT_PLAT_MCU_POWER_STATE_OFF = 2 } |
Functions | |
void | otPlatReset (otInstance *aInstance) |
otPlatResetReason | otPlatGetResetReason (otInstance *aInstance) |
void | otPlatAssertFail (const char *aFilename, int aLineNumber) |
void | otPlatWakeHost (void) |
otError | otPlatSetMcuPowerState (otInstance *aInstance, otPlatMcuPowerState aState) |
otPlatMcuPowerState | otPlatGetMcuPowerState (otInstance *aInstance) |
This module includes platform abstractions for miscellaneous behaviors.
enum otPlatMcuPowerState |
Enumeration of micro-controller's power states.
These values are used for NCP configuration when OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL
is enabled.
The power state specifies the desired power state of NCP's micro-controller (MCU) when the underlying platform's operating system enters idle mode (i.e., all active tasks/events are processed and the MCU can potentially enter a energy-saving power state).
The power state primarily determines how the host should interact with the NCP and whether the host needs an external trigger (a "poke") to NCP before it can communicate with the NCP or not.
After a reset, the MCU power state MUST be OT_PLAT_POWER_STATE_ON
.
Enumerator | |
---|---|
OT_PLAT_MCU_POWER_STATE_ON |
NCP's MCU stays on and active all the time. When the NCP's desired power state is set to
|
OT_PLAT_MCU_POWER_STATE_LOW_POWER |
NCP's MCU can enter low-power (energy-saving) state. When the NCP's desired power state is set to While power state is set to
|
OT_PLAT_MCU_POWER_STATE_OFF |
NCP is fully off. An NCP hardware reset (via a RESET pin) is required to bring the NCP back to |
enum otPlatResetReason |
Enumeration of possible reset reason codes.
These are in the same order as the Spinel reset reason codes.
void otPlatAssertFail | ( | const char * | aFilename, |
int | aLineNumber | ||
) |
This function provides a platform specific implementation for assert.
[in] | aFilename | The name of the file where the assert occurred. |
[in] | aLineNumber | The line number in the file where the assert occurred. |
otPlatMcuPowerState otPlatGetMcuPowerState | ( | otInstance * | aInstance | ) |
This function gets the current desired MCU power state.
This is only applicable and used for NCP configuration when OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL
is enabled.
After a reset, the power state MUST return OT_PLAT_POWER_STATE_ON
. During operation, power state SHOULD only change through an explicit successful call to otPlatSetMcuPowerState()
.
[in] | aInstance | A pointer to OpenThread instance. |
otPlatResetReason otPlatGetResetReason | ( | otInstance * | aInstance | ) |
This function returns the reason for the last platform reset.
[in] | aInstance | The OpenThread instance structure. |
void otPlatReset | ( | otInstance * | aInstance | ) |
This function performs a software reset on the platform, if supported.
[in] | aInstance | The OpenThread instance structure. |
otError otPlatSetMcuPowerState | ( | otInstance * | aInstance, |
otPlatMcuPowerState | aState | ||
) |
This function sets the desired MCU power state.
This is only applicable and used for NCP configuration when OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL
is enabled.
[in] | aInstance | A pointer to OpenThread instance. |
[in] | aState | The new MCU power state. |
OT_ERROR_NONE | The power state updated successfully. |
OT_ERROR_FAILED | The given MCU power state is not supported by the platform. |
void otPlatWakeHost | ( | void | ) |
This function performs a platform specific operation to wake the host MCU. This is used only for NCP configurations.