EventDistributor#

Modules#

event_cc_t

zaf_event_distributor_cc_event_handler_map_v1_t

SEventDistributor

Enumerations#

enum
EEVENTDISTRIBUTOR_STATUS_SUCCESS = 0
EEVENTDISTRIBUTOR_STATUS_TABLE_TOO_LARGE
}

Defines return values from EventDistributorConfigure.

Typedefs#

typedef void(*

Redefine latest version to a common define called latest.

Defines return values from EventDistributorConfigure.

typedef void(*

Defines callback pointer for Event handler.

typedef struct SEventDistributor

EventDistributor object.

Functions#

void

Initializes the ZAF Event Distributor component.

Gets the events distributor.

bool

Distributes events.

void
zaf_event_distributor_app_zw_rx(SZwaveReceivePackage *RxPackage)

Used by the application to handle protocol received events.

void
zaf_event_distributor_app_zw_command_status(SZwaveCommandStatusPackage *Status)

Used by the application to handle protocol command status.

void

Used by the application to handle state changes in the NCP state machine.

void

Used by the application to handle serial data received.

void

Used by the application to handle serial timeout.

void

Used by the application to handle application/system received events.

uint8_t

Used by application to verify if it is a primary controller.

bool

Enqueues an event in the application queue.

bool

Enqueues an event in the application queue.

bool
zaf_event_distributor_enqueue_cc_event(const uint16_t command_class, const uint8_t event, const void *data)

Enqueues an event in the command class event queue.

bool
zaf_event_distributor_enqueue_cc_event_from_isr(const uint16_t command_class, const uint8_t event, const void *data)

Enqueues an event in the command class event queue.

EventDistributorConfig(SEventDistributor *pThis, uint8_t iEventHandlerTableSize, const EventDistributorEventHandler *pEventHandlerTable, void(*pNoEvent)(void))

Configures the EventDistributor.

uint32_t
EventDistributorDistribute(const SEventDistributor *pThis, uint32_t iEventWait, uint32_t NotificationClearMask)

Waits for Task notification and calls event handlers matching the set notification bits.

Macros#

#define
ZAF_EVENT_DISTRIBUTOR_CC_EVENT_HANDLER_SECTION "_zaf_event_distributor_cc_event_handler"

Section name.

#define

Registers a custom event handler for a specific command class.

Enumeration Documentation#

EEventDistributorStatus#

EEventDistributorStatus

Defines return values from EventDistributorConfigure.

Enumerator
EEVENTDISTRIBUTOR_STATUS_SUCCESS
EEVENTDISTRIBUTOR_STATUS_TABLE_TOO_LARGE

Definition at line 59 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/Components/EventDistributor/EventDistributor.h

Typedef Documentation#

zaf_event_distributor_cc_event_handler_handler_v1_t#

typedef void(* zaf_event_distributor_cc_event_handler_handler_v1_t) (const uint8_t, const void *) )(const uint8_t, const void *)

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

zaf_event_distributor_cc_event_handler_map_latest_t#

typedef zaf_event_distributor_cc_event_handler_map_v1_t zaf_event_distributor_cc_event_handler_map_latest_t

Redefine latest version to a common define called latest.


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

EEventDistributorStatus#

typedef enum EEventDistributorStatus EEventDistributorStatus

Defines return values from EventDistributorConfigure.


Definition at line 63 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/Components/EventDistributor/EventDistributor.h

EventDistributorEventHandler#

typedef void(* EventDistributorEventHandler) (void) )(void)

Defines callback pointer for Event handler.

Typedef to simplify syntax.


Definition at line 70 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/Components/EventDistributor/EventDistributor.h

SEventDistributor#

typedef struct SEventDistributor SEventDistributor

EventDistributor object.

All content is private.


Definition at line 83 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/Components/EventDistributor/EventDistributor.h

Function Documentation#

zaf_event_distributor_init#

void zaf_event_distributor_init (void)

Initializes the ZAF Event Distributor component.

Parameters
N/A

This function invokes EventDistributorConfig().


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

zaf_event_distributor_get#

const SEventDistributor * zaf_event_distributor_get (void)

Gets the events distributor.

Parameters
N/A

Each variation (NCP,SOC) must implement it's own event distributor table

Returns


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

zaf_event_distributor_distribute#

bool zaf_event_distributor_distribute (void)

Distributes events.

Parameters
N/A

Wraps EventDistributorDistribute().

Returns

  • true In case of success

  • false In case of error


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

zaf_event_distributor_app_zw_rx#

void zaf_event_distributor_app_zw_rx (SZwaveReceivePackage *RxPackage)

Used by the application to handle protocol received events.

Parameters
N/ARxPackage

ZW Receive Package


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

zaf_event_distributor_app_zw_command_status#

void zaf_event_distributor_app_zw_command_status (SZwaveCommandStatusPackage *Status)

Used by the application to handle protocol command status.

Parameters
N/AStatus

ZW Command Status Package


Definition at line 32 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/ZAF/ApplicationUtilities/EventHandling/zaf_event_