@@ -29,14 +29,16 @@ LOG_MODULE_REGISTER(dream_sil, CONFIG_CEREBRI_DREAM_SIL_LOG_LEVEL);
29
29
30
30
extern sil_context_t g_ctx ;
31
31
extern struct ring_buf g_msg_updates ;
32
+ static K_THREAD_STACK_DEFINE (my_stack_area , MY_STACK_SIZE ) ;
33
+ static struct k_thread my_thread_data ;
32
34
33
35
static void zephyr_sim_entry_point (void * p0 , void * p1 , void * p2 )
34
36
{
35
37
struct zros_node node ;
36
38
struct zros_sub sub_actuators ;
37
39
synapse_msgs_Actuators actuators ;
38
40
39
- zros_node_init (& node , "sil " );
41
+ zros_node_init (& node , "dream_sil " );
40
42
zros_sub_init (& sub_actuators , & node , & topic_actuators , & actuators , 10 );
41
43
42
44
sil_context_t * ctx = p0 ;
@@ -130,10 +132,18 @@ static void zephyr_sim_entry_point(void* p0, void* p1, void* p2)
130
132
printf ("zephyr main loop finished\n" );
131
133
}
132
134
133
- // zephyr threads
134
- K_THREAD_DEFINE (zephyr_sim , MY_STACK_SIZE ,
135
- zephyr_sim_entry_point ,
136
- & g_ctx , NULL , NULL ,
137
- MY_PRIORITY , 0 , 0 );
135
+ static int start ()
136
+ {
137
+ k_tid_t tid = k_thread_create (& my_thread_data , my_stack_area ,
138
+ K_THREAD_STACK_SIZEOF (my_stack_area ),
139
+ zephyr_sim_entry_point ,
140
+ & g_ctx , NULL , NULL ,
141
+ MY_PRIORITY , 0 , K_FOREVER );
142
+ k_thread_name_set (tid , "dream_sil" );
143
+ k_thread_start (tid );
144
+ return 0 ;
145
+ }
146
+
147
+ SYS_INIT (start , POST_KERNEL , 0 );
138
148
139
149
// vi: ts=4 sw=4 et
0 commit comments