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] aAddressStart address of memory region. [in] aCountNumber 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] aExtAddressA 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] aUlaPrefixA 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] aBufA pointer to a buffer with an output. [in] aBufLengthA 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] aUlaPrefixA 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] aExtAddrA 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] aInstanceThe OpenThread instance structure. [in] aSendCallbackThe 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] aBufA pointer to a buffer. [in] aBufLengthThe 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] aLogLevelThe log level. [in] aLogRegionThe log region. [in] aFormatA pointer to the format string. [in] aArgsva_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] aHandlersA 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] aAllowPeekDelegateDelegate function pointer for peek operation. [in] aAllowPokeDelegateDelegate function pointer for poke operation.
◆ otNcpSpiInit()
| void otNcpSpiInit | ( | otInstance * |
aInstance
|
) |
Initialize the NCP based on SPI framing.
- Parameters
-
[in] aInstanceThe 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] aStreamIdA numeric identifier for the stream to write to. If set to '0', will default to the debug stream. [in] aDataPtrA pointer to the data to send on the stream. If aDataLen is non-zero, this param MUST NOT be NULL. [in] aDataLenThe number of bytes of data from aDataPtr to send.
- Return values
-
OT_ERROR_NONEThe data was queued for delivery to the host. OT_ERROR_BUSYThere are not enough resources to complete this request. This is usually a temporary condition. OT_ERROR_INVALID_ARGSThe given aStreamId was invalid.