Last Updated on : 2024-11-20 08:51:43download
Function name | Description |
---|---|
dev_evt_callback | Manages events. |
static void __dev_evt_callback(uint8_t evt);
Parameters
Parameter name | Parameter type | Description |
---|---|---|
dev_evt_callback | uint8_t | Event name |
The SDK is a one-time event based system. The following example describes how to use the event management function.
#define SDK_TEST_EVT1 DEV_EVT_1
#define SDK_TEST_EVT2 DEV_EVT_2
#define SDK_TEST_EVT3 DEV_EVT_3
#define SDK_TEST_EVT4 DEV_EVT_4
static void __dev_evt_callback(uint8_t evt)
{
switch(evt) {
case SDK_TEST_EVT1: {
//TODO: This event is executed after `dev_system_on_init` delays 1s.
dev_timer_start_with_callback(SDK_TEST_EVT2, 0, __dev_evt_callback);
break;
}
case SDK_TEST_EVT2: {
//TODO: This event is executed after `SDK_TEST_EVT1` delays 0 ms.
break;
}
case SDK_TEST_EVT3: {
//TODO: This event is executed after `dev_system_on_init` delays 2s and then registers a 2s-delay time again. This event is scheduled to be executed every 2s.
dev_timer_start_with_callback(SDK_TEST_EVT3, 2000, __dev_evt_callback);
break;
}
case SDK_TEST_EVT4: {
//TODO: This event is executed after `SDK_TEST_EVT1` delays 10s to cancel the schedule of `SDK_TEST_EVT3`.
dev_timer_stop(SDK_TEST_EVT3);
break;
}
default: {
break;
}
}
}
void dev_system_on_init(void)
{
dev_timer_start_with_callback(SDK_TEST_EVT1, 1000, __dev_evt_callback);
dev_timer_start_with_callback(SDK_TEST_EVT3, 2000, __dev_evt_callback);
dev_timer_start_with_callback(SDK_TEST_EVT4, 10000, __dev_evt_callback);
}
Is this page helpful?
YesFeedbackIs this page helpful?
YesFeedback