1 /*
2  * Copyright (c) 2024 Intel Corporation
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #include <zephyr/kernel.h>
8 #include <zephyr/llext/symbol.h>
9 
10 #include <app_api.h>
11 
start(void)12 int start(void)
13 {
14 	/* Inside extensions, all kobjects need to be dynamically allocated */
15 	struct k_event *tick_evt = k_object_alloc(K_OBJ_EVENT);
16 
17 	k_event_init(tick_evt);
18 
19 	register_subscriber(CHAN_TICK, tick_evt);
20 
21 	while (true) {
22 		long l;
23 
24 		printk("[ext1]Waiting event\n");
25 		k_event_wait(tick_evt, CHAN_TICK, true, K_FOREVER);
26 
27 		printk("[ext1]Got event, reading channel\n");
28 		receive(CHAN_TICK, &l, sizeof(l));
29 		printk("[ext1]Read val: %ld\n", l);
30 	}
31 
32 	return 0;
33 }
34 EXPORT_SYMBOL(start);
35