Trident IoT Zigbee SDK
Loading...
Searching...
No Matches
tr_events.h
Go to the documentation of this file.
1
10#ifndef TR_EVENTS_H
11#define TR_EVENTS_H
12
13typedef void (*event_cb)(uint32_t arg);
14typedef struct
15{
18 uint32_t val;
20
21#define TR_EVENT(name) tr_event_struct_t name = { -1, name##_cb, 0 }
22
23#define TR_EVENT_SET_DELAY(name, ms, arg) name.delay_ms = ms; name.val = arg
24#define TR_EVENT_SET_ACTIVE(name, arg) name.delay_ms = 0; name.val = arg
25#define TR_EVENT_SET_INACTIVE(name) name.delay_ms = -1
26#define TR_EVENT_GET_DELAY(name) name.delay_ms
27#define TR_EVENT_GET_ARG(name) name.val
28
29#endif // TR_EVENTS_H
Definition tr_events.h:15
int delay_ms
Definition tr_events.h:16
uint32_t val
Definition tr_events.h:18
event_cb callback
Definition tr_events.h:17
void(* event_cb)(uint32_t arg)
Definition tr_events.h:13