Event Manager#

Enumerations#

enum
EVENT_SYSTEM_RESET = DEFINE_EVENT_SYSTEM_NBR
EVENT_SYSTEM_LEARNMODE_START
EVENT_SYSTEM_LEARNMODE_FINISHED
EVENT_SYSTEM_LEARNMODE_STOP
EVENT_SYSTEM_LEARNMODE_TOGGLE
EVENT_SYSTEM_WATCHDOG_RESET
EVENT_SYSTEM_OTA_START
EVENT_SYSTEM_LEARNMODE_DSK_START
EVENT_SYSTEM_FLUSHMEM_READY
EVENT_SYSTEM_SMARTSTART_IN_PROGRESS
EVENT_SYSTEM_EMPTY
}

System events.

enum
EVENT_PB1_DOWN = DEFINE_EVENT_KEY_NBR
EVENT_PB1_UP
EVENT_PB1_SHORT_PRESS
EVENT_PB1_HOLD
EVENT_PB1_LONG_PRESS
EVENT_PB2_DOWN
EVENT_PB2_UP
EVENT_PB2_SHORT_PRESS
EVENT_PB2_HOLD
EVENT_PB2_LONG_PRESS
EVENT_PB3_DOWN
EVENT_PB3_UP
EVENT_PB3_SHORT_PRESS
EVENT_PB3_HOLD
EVENT_PB3_LONG_PRESS
EVENT_PB4_DOWN
EVENT_PB4_UP
EVENT_PB4_SHORT_PRESS
EVENT_PB4_HOLD
EVENT_PB4_LONG_PRESS
EVENT_PB5_DOWN
EVENT_PB5_UP
EVENT_PB5_SHORT_PRESS
EVENT_PB5_HOLD
EVENT_PB5_LONG_PRESS
EVENT_PB6_DOWN
EVENT_PB6_UP
EVENT_PB6_SHORT_PRESS
EVENT_PB6_HOLD
EVENT_PB6_LONG_PRESS
EVENT_SLIDER1_DOWN
EVENT_SLIDER1_UP
EVENT_SLIDER1_SHORT_PRESS
EVENT_SLIDER1_HOLD
EVENT_SLIDER1_LONG_PRESS
EVENT_BTN_MAX
}

Button events.

Typedefs#

typedef enum _EVENT_SYSTEM_

System events.

typedef enum _BUTTON_EVENT_

Button events.

Functions#

void
ZAF_eventSchedulerInit(void(*pApplicationStateMachine)(uint8_t))

Initializes event scheduler.

bool

Adds a given event to the event queue.

bool

Processes events.

bool
ZAF_jobEnqueue(uint8_t event)

Adds a given event to the job queue.

bool
ZAF_jobDequeue(uint8_t *pEvent)

Deque job queue.

uint8_t

Get number of events on queue.

Macros#

#define
DEFINE_EVENT_WAKEUP_NBR 0x01

Event groups for application state event machine.

#define
DEFINE_EVENT_KEYPAD_NBR 0x10
#define
DEFINE_EVENT_IR_NBR 0x20
#define
DEFINE_EVENT_SYSTEM_NBR 0x30
#define
DEFINE_EVENT_KEY_NBR 0x40

Event group for keys 0x40 - 0x6F.

#define
DEFINE_EVENT_APP_NBR 0x70

Event group for zaf 0x80 - 0xFF.

#define
BTN_EVENT_FILTER (btnEvent)
#define
EventSchedulerInit ZAF_eventSchedulerInit
#define
ZCB_EventSchedulerEventAdd ZCB_eventSchedulerEventAdd
#define
ZCB_EventScheduler ZCB_eventScheduler
#define
ZCB_EventEnqueue ZAF_jobEnqueue
#define
ZCB_EventDequeue ZAF_jobDequeue

Enumeration Documentation#

_EVENT_SYSTEM_#

_EVENT_SYSTEM_

System events.

Enumerator
EVENT_SYSTEM_RESET
EVENT_SYSTEM_LEARNMODE_START
EVENT_SYSTEM_LEARNMODE_FINISHED
EVENT_SYSTEM_LEARNMODE_STOP
EVENT_SYSTEM_LEARNMODE_TOGGLE
EVENT_SYSTEM_WATCHDOG_RESET
EVENT_SYSTEM_OTA_START
EVENT_SYSTEM_LEARNMODE_DSK_START
EVENT_SYSTEM_FLUSHMEM_READY
EVENT_SYSTEM_SMARTSTART_IN_PROGRESS
EVENT_SYSTEM_EMPTY

_BUTTON_EVENT_#

_BUTTON_EVENT_

Button events.

NB: For every button there MUST be the following events in this order: DOWN, UP, SHORT_PRESS, HOLD, LONG_PRESS The macros BTN_EVENT_xxx in board.h depends on it.

Enumerator
EVENT_PB1_DOWN
EVENT_PB1_UP
EVENT_PB1_SHORT_PRESS
EVENT_PB1_HOLD
EVENT_PB1_LONG_PRESS
EVENT_PB2_DOWN
EVENT_PB2_UP
EVENT_PB2_SHORT_PRESS
EVENT_PB2_HOLD
EVENT_PB2_LONG_PRESS
EVENT_PB3_DOWN
EVENT_PB3_UP
EVENT_PB3_SHORT_PRESS
EVENT_PB3_HOLD
EVENT_PB3_LONG_PRESS
EVENT_PB4_DOWN
EVENT_PB4_UP
EVENT_PB4_SHORT_PRESS
EVENT_PB4_HOLD
EVENT_PB4_LONG_PRESS
EVENT_PB5_DOWN
EVENT_PB5_UP
EVENT_PB5_SHORT_PRESS
EVENT_PB5_HOLD
EVENT_PB5_LONG_PRESS
EVENT_PB6_DOWN
EVENT_PB6_UP
EVENT_PB6_SHORT_PRESS
EVENT_PB6_HOLD
EVENT_PB6_LONG_PRESS
EVENT_SLIDER1_DOWN
EVENT_SLIDER1_UP
EVENT_SLIDER1_SHORT_PRESS
EVENT_SLIDER1_HOLD
EVENT_SLIDER1_LONG_PRESS
EVENT_BTN_MAX

EVENT_BTN_MAX define the last enum type.


Typedef Documentation#

EVENT_SYSTEM#

typedef enum _EVENT_SYSTEM_ EVENT_SYSTEM

System events.


BUTTON_EVENT#

typedef enum _BUTTON_EVENT_ BUTTON_EVENT

Button events.

NB: For every button there MUST be the following events in this order: DOWN, UP, SHORT_PRESS, HOLD, LONG_PRESS The macros BTN_EVENT_xxx in board.h depends on it.


Function Documentation#

ZAF_eventSchedulerInit#

void ZAF_eventSchedulerInit (void(*)(uint8_t) pApplicationStateMachine)

Initializes event scheduler.

Parameters
TypeDirectionArgument NameDescription
void(*)(uint8_t)N/ApApplicationStateMachine

ZCB_eventSchedulerEventAdd#

bool ZCB_eventSchedulerEventAdd (uint8_t event)

Adds a given event to the event queue.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aevent

A given event.

Returns

  • true if given event is added to queue, false if queue full.


ZCB_eventScheduler#

bool ZCB_eventScheduler (void )

Processes events.

Parameters
TypeDirectionArgument NameDescription
voidN/A

ZAF_jobEnqueue#

bool ZAF_jobEnqueue (uint8_t event)

Adds a given event to the job queue.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aevent

A given event.

Returns

  • true if given event is added to queue, false if queue full.


ZAF_jobDequeue#

bool ZAF_jobDequeue (uint8_t * pEvent)

Deque job queue.

Parameters
TypeDirectionArgument NameDescription
uint8_t *[out]pEvent

return event from the queue.

Returns

  • false if queue is empty else true.


ZAF_jobQueueCount#

uint8_t ZAF_jobQueueCount (void )

Get number of events on queue.

Parameters
TypeDirectionArgument NameDescription
voidN/A

Returns

  • number of events on queue