Trident IoT Z-Wave SDK
 
Loading...
Searching...
No Matches
ZAF_Transport_Endpoint
+ Collaboration diagram for ZAF_Transport_Endpoint:

Data Structures

struct  _MULTICHAN_NODE_INFO_
 
struct  _MULTICHAN_NODE_INFO_PACKED_
 
struct  destination_info_t
 
struct  MULTICHAN_NODE_ID_PACKED
 Destination info packed for the file system. More...
 
struct  _TRANSMIT_OPTIONS_TYPE_EX_
 
struct  _TRANSMIT_OPTIONS_TYPE_SINGLE_EX_
 

Typedefs

typedef struct _MULTICHAN_NODE_INFO_ MULTICHAN_NODE_INFO
 
typedef struct _MULTICHAN_NODE_INFO_PACKED_ MULTICHAN_NODE_INFO_PACKED
 
typedef destination_info_t MULTICHAN_NODE_ID
 
typedef struct _TRANSMIT_OPTIONS_TYPE_EX_ TRANSMIT_OPTIONS_TYPE_EX
 
typedef struct _TRANSMIT_OPTIONS_TYPE_SINGLE_EX_ TRANSMIT_OPTIONS_TYPE_SINGLE_EX
 
typedef enum _ENDPOINT_ ENDPOINT
 

Enumerations

enum  EZAF_EnqueueStatus_t {
  ZAF_ENQUEUE_STATUS_SUCCESS = 0 ,
  ZAF_ENQUEUE_STATUS_TIMEOUT = 1 ,
  ZAF_ENQUEUE_STATUS_BUFFER_OVERRUN = 2
}
 
enum  _ENDPOINT_ {
  ENDPOINT_ROOT = 0 ,
  ENDPOINT_1 ,
  ENDPOINT_2 ,
  ENDPOINT_3 ,
  ENDPOINT_4 ,
  ENDPOINT_5 ,
  ENDPOINT_6 ,
  ENDPOINT_7 ,
  ENDPOINT_8 ,
  ENDPOINT_9
}
 

Functions

void ZW_TransportEndpoint_Init (void)
 
zaf_cc_list_tGetEndpointcmdClassList (bool secList, uint8_t endpoint)
 Get endpoint non-secure or secure command class list.
 
EZAF_EnqueueStatus_t ZAF_Transmit (uint8_t *pData, size_t dataLength, TRANSMIT_OPTIONS_TYPE_SINGLE_EX *pTxOptionsEx, ZAF_TX_Callback_t pCallback)
 Send data. This function is used both as response to a command and for sending unsolicited frames Encapsulate data for endpoint support and call protocol ZW_SendDataEx.
 
received_frame_status_t Transport_ApplicationCommandHandlerEx (RECEIVE_OPTIONS_TYPE_EX *rxOpt, ZW_APPLICATION_TX_BUFFER *pCmd, uint8_t cmdLength)
 
void RxToTxOptions (RECEIVE_OPTIONS_TYPE_EX *rxopt, TRANSMIT_OPTIONS_TYPE_SINGLE_EX **txopt)
 Helper function to switching endpoints for SendData.
 
bool Check_not_legal_response_job (RECEIVE_OPTIONS_TYPE_EX *rxOpt)
 Validate destination endpoint use bit-addressing. This function must only be used to check jobs that return response (Get <-> Report).
 
bool is_multicast (RECEIVE_OPTIONS_TYPE_EX *rxOpt)
 This function indicates if the frame was received using multicast addressing The Z-Wave Multicast frame, the broadcast NodeID and the Multi Channel multi-End Point destination are all considered multicast addressing methods.
 
void SetFlagSupervisionEncap (bool flag)
 Set supervision-encapsulated-frame flag. The Command class call Check_not_legal_response_job() Use the flag to discard current job if a Get<->Response job (CC:006C.01.00.13.002).
 

Detailed Description

Typedef Documentation

◆ ENDPOINT

typedef enum _ENDPOINT_ ENDPOINT

◆ MULTICHAN_NODE_ID

◆ MULTICHAN_NODE_INFO

MULTICHAN_NODE_INFO should include feature node informations as CRC, security etc.

◆ MULTICHAN_NODE_INFO_PACKED

◆ TRANSMIT_OPTIONS_TYPE_EX

◆ TRANSMIT_OPTIONS_TYPE_SINGLE_EX

Enumeration Type Documentation

◆ _ENDPOINT_

enum _ENDPOINT_
Enumerator
ENDPOINT_ROOT 
ENDPOINT_1 
ENDPOINT_2 
ENDPOINT_3 
ENDPOINT_4 
ENDPOINT_5 
ENDPOINT_6 
ENDPOINT_7 
ENDPOINT_8 
ENDPOINT_9 

◆ EZAF_EnqueueStatus_t

Defines return values for ZAF_Transmit. They match the enum values defined in EQueueNotifyingStatus (i.e., EQUEUENOTIFYING_STATUS_SUCCESS and EQUEUENOTIFYING_STATUS_TIMEOUT, respectively).

Enumerator
ZAF_ENQUEUE_STATUS_SUCCESS 

Item successfully put on queue

ZAF_ENQUEUE_STATUS_TIMEOUT 

Failed to put item on queue as it was full. Queue remained full until timeout

ZAF_ENQUEUE_STATUS_BUFFER_OVERRUN 

Failed to put item on queue as it was to long to fit in tx buffer

Function Documentation

◆ Check_not_legal_response_job()

bool Check_not_legal_response_job ( RECEIVE_OPTIONS_TYPE_EX * rxOpt)

Validate destination endpoint use bit-addressing. This function must only be used to check jobs that return response (Get <-> Report).

Parameters
[in]rxOptpointer of type RECEIVE_OPTIONS_TYPE_EX
Returns
Boolean true if use bit-addressing else false

◆ GetEndpointcmdClassList()

zaf_cc_list_t * GetEndpointcmdClassList ( bool secList,
uint8_t endpoint )

Get endpoint non-secure or secure command class list.

Parameters
[in]secListtrue if secure list else false for non-secure list
[in]endpointparameter
Returns
Return endpoint command class list. Return NULL if list is not present!

◆ is_multicast()

bool is_multicast ( RECEIVE_OPTIONS_TYPE_EX * rxOpt)

This function indicates if the frame was received using multicast addressing The Z-Wave Multicast frame, the broadcast NodeID and the Multi Channel multi-End Point destination are all considered multicast addressing methods.

Parameters
[in]rxOptpointer of type RECEIVE_OPTIONS_TYPE_EX
Returns
Boolean true if use bit-addressing else false

◆ RxToTxOptions()

void RxToTxOptions ( RECEIVE_OPTIONS_TYPE_EX * rxopt,
TRANSMIT_OPTIONS_TYPE_SINGLE_EX ** txopt )

Helper function to switching endpoints for SendData.

Parameters
[in]rxoptReceive options to convert.
[out]txoptConverted transmit options

◆ SetFlagSupervisionEncap()

void SetFlagSupervisionEncap ( bool flag)

Set supervision-encapsulated-frame flag. The Command class call Check_not_legal_response_job() Use the flag to discard current job if a Get<->Response job (CC:006C.01.00.13.002).

Parameters
[in]flagsupervision-encapsulated-frame true if active and false if deactive.

◆ Transport_ApplicationCommandHandlerEx()

received_frame_status_t Transport_ApplicationCommandHandlerEx ( RECEIVE_OPTIONS_TYPE_EX * rxOpt,
ZW_APPLICATION_TX_BUFFER * pCmd,
uint8_t cmdLength )

Invokes a command class handler based on the first byte in the frame.

Must be defined in the application.

Deprecated
If all command classes use one of the REGISTER_CC macros, this function is not required to be implemented in the application. There exists a weak definition of it. ZAF_CC_Invoker will take care of invoking the right command class handler.
Parameters
[in]rxOptIN receive options of type RECEIVE_OPTIONS_TYPE_EX.
[in]pCmdIN Payload from the received frame.
[in]cmdLengthIN Number of command bytes including command.
Returns
status of extracting frame

◆ ZAF_Transmit()

EZAF_EnqueueStatus_t ZAF_Transmit ( uint8_t * pData,
size_t dataLength,
TRANSMIT_OPTIONS_TYPE_SINGLE_EX * pTxOptionsEx,
ZAF_TX_Callback_t pCallback )

Send data. This function is used both as response to a command and for sending unsolicited frames Encapsulate data for endpoint support and call protocol ZW_SendDataEx.

Parameters
[in]pDataIN Data buffer pointer.
[in]dataLengthIN Data buffer length.
[in]pTxOptionsExtransmit options pointer.
[out]pCallbackis a callback function-pointer returning result of the job. Please note that both bStatus TRANSMIT_COMPLETE_OK and TRANSMIT_COMPLETE_VERIFIED indicates successful transmission.
Returns
status of enum type EZAF_EnqueueStatus_t

◆ ZW_TransportEndpoint_Init()

void ZW_TransportEndpoint_Init ( void )

Initializes the ZAF Transport Layer.