This module includes functions that control the Thread stack's execution.
Classes | |
struct | otNcpLegacyHandlers |
Defines a struct containing all the legacy handlers (function pointers). |
Macros | |
#define | OT_NCP_LEGACY_ULA_PREFIX_LENGTH 8 |
Legacy ULA size (in bytes) |
Typedefs | |
typedef int(* | otNcpHdlcSendCallback) (const uint8_t *aBuf, uint16_t aBufLength) |
This function pointer is called to send HDLC encoded NCP data. | |
typedef bool(* | otNcpDelegateAllowPeekPoke) (uint32_t aAddress, uint16_t aCount) |
Defines delegate (function pointer) type to control behavior of peek/poke operation. | |
typedef void(* | otNcpHandlerStartLegacy) (void) |
Defines handler (function pointer) type for starting legacy network. | |
typedef void(* | otNcpHandlerStopLegacy) (void) |
Defines handler (function pointer) type for stopping legacy network. | |
typedef void(* | otNcpHandlerJoinLegacyNode) (const otExtAddress *aExtAddress) |
Defines handler (function pointer) type for initiating joining process. | |
typedef void(* | otNcpHandlerSetLegacyUlaPrefix) (const uint8_t *aUlaPrefix) |
Defines handler (function pointer) type for setting the legacy ULA prefix. | |
typedef struct otNcpLegacyHandlers | otNcpLegacyHandlers |
Defines a struct containing all the legacy handlers (function pointers). |
Functions | |
void | otNcpHdlcSendDone (void) |
This function is called after NCP send finished. | |
void | otNcpHdlcReceive (const uint8_t *aBuf, uint16_t aBufLength) |
This function is called after HDLC encoded NCP data received. | |
void | otNcpHdlcInit (otInstance *aInstance, otNcpHdlcSendCallback aSendCallback) |
Initialize the NCP based on HDLC framing. | |
void | otNcpSpiInit (otInstance *aInstance) |
Initialize the NCP based on SPI framing. | |
otError | otNcpStreamWrite (int aStreamId, const uint8_t *aDataPtr, int aDataLen) |
Send data to the host via a specific stream. | |
void | otNcpPlatLogv (otLogLevel aLogLevel, otLogRegion aLogRegion, const char *aFormat, va_list aArgs) |
Writes OpenThread Log using otNcpStreamWrite . | |
void | otNcpRegisterPeekPokeDelagates (otNcpDelegateAllowPeekPoke aAllowPeekDelegate, otNcpDelegateAllowPeekPoke aAllowPokeDelegate) |
This method registers peek/poke delegate functions with NCP module. | |
void | otNcpHandleLegacyNodeDidJoin (const otExtAddress *aExtAddr) |
This callback is invoked by the legacy stack to notify that a new legacy node did join the network. | |
void | otNcpHandleDidReceiveNewLegacyUlaPrefix (const uint8_t *aUlaPrefix) |
This callback is invoked by the legacy stack to notify that the legacy ULA prefix has changed. | |
void | otNcpRegisterLegacyHandlers (const otNcpLegacyHandlers *aHandlers) |
This method registers a set of legacy handlers with NCP. |
Detailed Description
This module includes functions that control the Thread stack's execution.
Typedef Documentation
◆ otNcpDelegateAllowPeekPoke
typedef bool(* otNcpDelegateAllowPeekPoke) (uint32_t aAddress, uint16_t aCount) |
Defines delegate (function pointer) type to control behavior of peek/poke operation.
This delegate function is called to decide whether to allow peek or poke of a specific memory region. It is used if NCP support for peek/poke commands is enabled.
- Parameters
-
[in] aAddress
Start address of memory region. [in] aCount
Number of bytes to peek or poke.
- Returns
- TRUE to allow peek/poke of the given memory region, FALSE otherwise.
◆ otNcpHandlerJoinLegacyNode
typedef void(* otNcpHandlerJoinLegacyNode) (const otExtAddress *aExtAddress) |
Defines handler (function pointer) type for initiating joining process.
- Parameters
-
[in] aExtAddress
A pointer to the extended address for the node to join or NULL if desired to join any neighboring node.
Invoked to initiate a legacy join procedure to any or a specific node.
◆ otNcpHandlerSetLegacyUlaPrefix
typedef void(* otNcpHandlerSetLegacyUlaPrefix) (const uint8_t *aUlaPrefix) |
Defines handler (function pointer) type for setting the legacy ULA prefix.
- Parameters
-
[in] aUlaPrefix
A pointer to buffer containing the legacy ULA prefix.
Invoked to set the legacy ULA prefix.
◆ otNcpHandlerStartLegacy
typedef void(* otNcpHandlerStartLegacy) (void) |
Defines handler (function pointer) type for starting legacy network.
Invoked to start the legacy network.
◆ otNcpHandlerStopLegacy
typedef void(* otNcpHandlerStopLegacy) (void) |
Defines handler (function pointer) type for stopping legacy network.
Invoked to stop the legacy network.
◆ otNcpHdlcSendCallback
typedef int(* otNcpHdlcSendCallback) (const uint8_t *aBuf, uint16_t aBufLength) |
This function pointer is called to send HDLC encoded NCP data.
- Parameters
-
[in] aBuf
A pointer to a buffer with an output. [in] aBufLength
A length of the output data stored in the buffer.
- Returns
- Number of bytes processed by the callback.
Function Documentation
◆ otNcpHandleDidReceiveNewLegacyUlaPrefix()
void otNcpHandleDidReceiveNewLegacyUlaPrefix | ( | const uint8_t * | aUlaPrefix | ) |
This callback is invoked by the legacy stack to notify that the legacy ULA prefix has changed.
- Parameters
-
[in] aUlaPrefix
A pointer to the received ULA prefix.
◆ otNcpHandleLegacyNodeDidJoin()
void otNcpHandleLegacyNodeDidJoin | ( | const otExtAddress * | aExtAddr | ) |
This callback is invoked by the legacy stack to notify that a new legacy node did join the network.
- Parameters
-
[in] aExtAddr
A pointer to the extended address of the joined node.
◆ otNcpHdlcInit()
void otNcpHdlcInit | ( | otInstance * | aInstance, |
otNcpHdlcSendCallback | aSendCallback |
||
) |
Initialize the NCP based on HDLC framing.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aSendCallback
The function pointer used to send NCP data.
◆ otNcpHdlcReceive()
void otNcpHdlcReceive | ( | const uint8_t * | aBuf, |
uint16_t | aBufLength |
||
) |
This function is called after HDLC encoded NCP data received.
- Parameters
-
[in] aBuf
A pointer to a buffer. [in] aBufLength
The length of the data stored in the buffer.
◆ otNcpPlatLogv()
void otNcpPlatLogv | ( | otLogLevel | aLogLevel, |
otLogRegion | aLogRegion, |
||
const char * | aFormat, |
||
va_list | aArgs |
||
) |
Writes OpenThread Log using otNcpStreamWrite
.
- Parameters
-
[in] aLogLevel
The log level. [in] aLogRegion
The log region. [in] aFormat
A pointer to the format string. [in] aArgs
va_list matching aFormat.
◆ otNcpRegisterLegacyHandlers()
void otNcpRegisterLegacyHandlers | ( | const otNcpLegacyHandlers * | aHandlers | ) |
This method registers a set of legacy handlers with NCP.
The set of handlers provided by the struct aHandlers
are used by NCP code to start/stop legacy network. The aHandlers
can be NULL to disable legacy support on NCP. Individual handlers in the given handlers struct can also be NULL.
- Parameters
-
[in] aHandlers
A pointer to a handler struct.
◆ otNcpRegisterPeekPokeDelagates()
void otNcpRegisterPeekPokeDelagates | ( | otNcpDelegateAllowPeekPoke | aAllowPeekDelegate, |
otNcpDelegateAllowPeekPoke | aAllowPokeDelegate |
||
) |
This method registers peek/poke delegate functions with NCP module.
The delegate functions are called by NCP module to decide whether to allow peek or poke of a specific memory region. If the delegate pointer is set to NULL, it allows peek/poke operation for any address.
- Parameters
-
[in] aAllowPeekDelegate
Delegate function pointer for peek operation. [in] aAllowPokeDelegate
Delegate function pointer for poke operation.
◆ otNcpSpiInit()
void otNcpSpiInit | ( | otInstance * | aInstance | ) |
Initialize the NCP based on SPI framing.
- Parameters
-
[in] aInstance
The OpenThread instance structure.
◆ otNcpStreamWrite()
otError otNcpStreamWrite | ( | int | aStreamId, |
const uint8_t * | aDataPtr, |
||
int | aDataLen |
||
) |
Send data to the host via a specific stream.
This function attempts to send the given data to the host using the given aStreamId. This is useful for reporting error messages, implementing debug/diagnostic consoles, and potentially other types of datastreams.
The write either is accepted in its entirety or rejected. Partial writes are not attempted.
- Parameters
-
[in] aStreamId
A numeric identifier for the stream to write to. If set to '0', will default to the debug stream. [in] aDataPtr
A pointer to the data to send on the stream. If aDataLen is non-zero, this param MUST NOT be NULL. [in] aDataLen
The number of bytes of data from aDataPtr to send.
- Return values
-
OT_ERROR_NONE
The data was queued for delivery to the host. OT_ERROR_BUSY
There are not enough resources to complete this request. This is usually a temporary condition. OT_ERROR_INVALID_ARGS
The given aStreamId was invalid.