ZAF_Transport_Endpoint#

Modules#

_MULTICHAN_NODE_INFO_

_MULTICHAN_NODE_INFO_PACKED_

destination_info_t

MULTICHAN_NODE_ID_PACKED

_TRANSMIT_OPTIONS_TYPE_EX_

_TRANSMIT_OPTIONS_TYPE_SINGLE_EX_

Enumerations#

enum
ZAF_ENQUEUE_STATUS_SUCCESS = 0
ZAF_ENQUEUE_STATUS_TIMEOUT = 1
ZAF_ENQUEUE_STATUS_BUFFER_OVERRUN = 2
}

Defines return values for ZAF_Transmit.

enum
ENDPOINT_ROOT = 0
ENDPOINT_1
ENDPOINT_2
ENDPOINT_3
ENDPOINT_4
ENDPOINT_5
ENDPOINT_6
ENDPOINT_7
ENDPOINT_8
ENDPOINT_9
}

Functions#

void

Initializes the ZAF Transport Layer.

GetEndpointcmdClassList(bool secList, uint8_t endpoint)

Get endpoint non-secure or secure command class list.

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

Send data.

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.

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.

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

Set supervision-encapsulated-frame flag.

Enumeration Documentation#

EZAF_EnqueueStatus_t#

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.

ZAF_ENQUEUE_STATUS_BUFFER_OVERRUN

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


Definition at line 29 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/ZW_TransportEndpoint.h

_ENDPOINT_#

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

Definition at line 90 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/ZW_TransportEndpoint.h

Typedef Documentation#

MULTICHAN_NODE_INFO#

typedef struct _MULTICHAN_NODE_INFO_ MULTICHAN_NODE_INFO

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


Definition at line 43 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/ZW_TransportEndpoint.h

MULTICHAN_NODE_INFO_PACKED#

typedef struct _MULTICHAN_NODE_INFO_PACKED_ MULTICHAN_NODE_INFO_PACKED

Definition at line 53 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/ZW_TransportEndpoint.h

MULTICHAN_NODE_ID#

typedef destination_info_t MULTICHAN_NODE_ID

Definition at line 65 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/ZW_TransportEndpoint.h

TRANSMIT_OPTIONS_TYPE_EX#

typedef struct _TRANSMIT_OPTIONS_TYPE_EX_ TRANSMIT_OPTIONS_TYPE_EX

Definition at line 80 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/ZW_TransportEndpoint.h

TRANSMIT_OPTIONS_TYPE_SINGLE_EX#

typedef struct _TRANSMIT_OPTIONS_TYPE_SINGLE_EX_ TRANSMIT_OPTIONS_TYPE_SINGLE_EX

Definition at line 88 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/ZW_TransportEndpoint.h

ENDPOINT#

typedef enum _ENDPOINT_ ENDPOINT

Definition at line 102 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/ZW_TransportEndpoint.h

Function Documentation#

ZW_TransportEndpoint_Init#

void ZW_TransportEndpoint_Init (void)

Initializes the ZAF Transport Layer.

Parameters
N/A

Definition at line 107 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/ZW_TransportEndpoint.h

GetEndpointcmdClassList#

zaf_cc_list_t * GetEndpointcmdClassList (bool secList, uint8_t endpoint)

Get endpoint non-secure or secure command class list.

Parameters
[in]secList

true if secure list else false for non-secure list

[in]endpoint

parameter

Returns

  • Return endpoint command class list. Return NULL if list is not present!


Definition at line 116 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/ZW_TransportEndpoint.h

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.

Parameters
[in]pData

IN Data buffer pointer.

[in]dataLength

IN Data buffer length.

[in]pTxOptionsEx

transmit options pointer.

[out]pCallback

is a callback function-pointer returning result of the job. Please note that both bStatus TRANSMIT_COMPLETE_OK and TRANSMIT_COMPLETE_VERIFIED indicates successful transmission.

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.

Returns

  • status of enum type EZAF_EnqueueStatus_t


Definition at line 130 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/ZW_TransportEndpoint.h

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.

Parameters
[in]rxOpt

IN receive options of type RECEIVE_OPTIONS_TYPE_EX.

[in]pCmd

IN Payload from the received frame.

[in]cmdLength

IN Number of command bytes including command.

Must be defined in the application.

DeprecatedIf 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.

Returns

  • status of extracting frame


Definition at line 151 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/ZW_TransportEndpoint.h

RxToTxOptions#

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

Helper function to switching endpoints for SendData.

Parameters
[in]rxopt

Receive options to convert.

[out]txopt

Converted transmit options


Definition at line 163 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/ZW_TransportEndpoint.h

Check_not_legal_response_job#

bool Check_not_legal_response_job (RECEIVE_OPTIONS_TYPE_EX *rxOpt)

Validate destination endpoint use bit-addressing.

Parameters
[in]rxOpt

pointer of type RECEIVE_OPTIONS_TYPE_EX

This function must only be used to check jobs that return response (Get <-> Report). Returns

  • Boolean true if use bit-addressing else false


Definition at line 174 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/ZW_TransportEndpoint.h

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]rxOpt

pointer of type RECEIVE_OPTIONS_TYPE_EX

Returns

  • Boolean true if use bit-addressing else false


Definition at line 185 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/ZW_TransportEndpoint.h

SetFlagSupervisionEncap#

void SetFlagSupervisionEncap (bool flag)

Set supervision-encapsulated-frame flag.

Parameters
[in]flag

supervision-encapsulated-frame true if active and false if deactive.

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).


Definition at line 193 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/ZW_TransportEndpoint.h