Multipan#
This module includes the platform abstraction for multipan support.
Functions#
Get instance currently in control of the radio.
Set aInstance
as the current active instance controlling radio.
The platform completed the interface switching procedure.
Get the instance pointer corresponding to the given IID.
Get the IID corresponding to the given OpenThread instance pointer.
Function Documentation#
otPlatMultipanGetActiveInstance#
otError otPlatMultipanGetActiveInstance (otInstance ** aInstance)
Get instance currently in control of the radio.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance ** | [out] | aInstance | Pointer to the variable for storing the active instance pointer. |
If radio does not operate in parallel on all interfaces, this function returns an instance object with granted radio access.
otPlatMultipanSetActiveInstance#
otError otPlatMultipanSetActiveInstance (otInstance * aInstance, bool aCompletePending)
Set aInstance
as the current active instance controlling radio.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | The OpenThread instance structure. |
bool | [in] | aCompletePending | True if ongoing radio operation should complete before interface switch (Soft switch), false for force switch. |
This function allows selecting the currently active instance on platforms that do not support parallel communication on multiple interfaces. In other words, if more than one instance is in a receive state, calling otPlatMultipanSetActiveInstance guarantees that specified instance will be the one receiving. This function returns if the request was received properly. After interface switching is complete, the platform should call otPlatMultipanSwitchoverDone. Switching interfaces may take longer if aCompletePending
is set true.
otPlatMultipanSwitchoverDone#
void otPlatMultipanSwitchoverDone (otInstance * aInstance, bool aSuccess)
The platform completed the interface switching procedure.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | The OpenThread instance structure. |
bool | [in] | aSuccess | True if successfully switched the interfaces, false if switching failed. |
Should be invoked immediately after processing otPlatMultipanSetActiveInstance if no delay is needed, or if some longer radio operations need to complete first, after the switch in interfaces is fully complete.
otPlatMultipanIidToInstance#
otInstance * otPlatMultipanIidToInstance (uint8_t aIid)
Get the instance pointer corresponding to the given IID.
Type | Direction | Argument Name | Description |
---|---|---|---|
uint8_t | [in] | aIid | The IID of the interface. |
otPlatMultipanInstanceToIid#
uint8_t otPlatMultipanInstanceToIid (otInstance * aInstance)
Get the IID corresponding to the given OpenThread instance pointer.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | The OpenThread instance structure. |