77#include <zephyr/kernel.h>
88#include <zephyr/init.h>
99
10- #include "app_conf.h"
1110#include "blestack.h"
1211#include "bpka.h"
1312#include "ll_intf.h"
1413
15- K_MUTEX_DEFINE (ble_ctlr_stack_mutex );
16- struct k_work_q ble_ctlr_work_q , ll_work_q ;
17- struct k_work ble_ctlr_stack_work , bpka_work ;
14+ K_MUTEX_DEFINE (ble_ctrl_stack_mutex );
15+ struct k_work_q ble_ctrl_work_q , ll_work_q ;
16+ struct k_work ble_ctrl_stack_work , bpka_work ;
1817
1918uint8_t ll_state_busy ;
2019
21- #define BLE_CTLR_TASK_STACK_SIZE (256 * 7)
22- #define LL_TASK_STACK_SIZE (256 * 7)
23- #define BLE_CTLR_TASK_PRIO (14)
24- #define LL_TASK_PRIO (14)
20+ /* TODO: More tests to be done to optimize thread stacks' sizes */
21+ #define BLE_CTRL_THREAD_STACK_SIZE (256 * 7)
22+ #define LL_THREAD_STACK_SIZE (256 * 7)
23+ #define BLE_CTRL_THREAD_PRIO (14)
24+ #define LL_THREAD_PRIO (14)
2525
26- K_THREAD_STACK_DEFINE (ble_ctlr_work_area , BLE_CTLR_TASK_STACK_SIZE );
27- K_THREAD_STACK_DEFINE (ll_work_area , LL_TASK_STACK_SIZE );
26+ K_THREAD_STACK_DEFINE (ble_ctrl_work_area , BLE_CTRL_THREAD_STACK_SIZE );
27+ K_THREAD_STACK_DEFINE (ll_work_area , LL_THREAD_STACK_SIZE );
2828
29- void HostStack_Process (void )
30- {
31- k_work_submit_to_queue (& ble_ctlr_work_q , & ble_ctlr_stack_work );
32- }
29+ void HostStack_Process (void );
3330
34- static void ble_ctlr_stack_handler (struct k_work * work )
31+ static void ble_ctrl_stack_handler (struct k_work * work )
3532{
36- uint8_t running = 0x0 ;
33+ uint8_t running = 0x00 ;
3734 change_state_options_t options ;
3835
39- k_mutex_lock (& ble_ctlr_stack_mutex , K_FOREVER );
36+ k_mutex_lock (& ble_ctrl_stack_mutex , K_FOREVER );
4037 running = BleStack_Process ();
41- k_mutex_unlock (& ble_ctlr_stack_mutex );
38+ k_mutex_unlock (& ble_ctrl_stack_mutex );
4239
4340 if (ll_state_busy == 1 ) {
4441 options .combined_value = 0x0F ;
@@ -51,32 +48,37 @@ static void ble_ctlr_stack_handler(struct k_work *work)
5148 }
5249}
5350
54- void BPKACB_Process (void )
55- {
56- k_work_submit_to_queue (& ble_ctlr_work_q , & bpka_work );
57- }
58-
5951static void bpka_work_handler (struct k_work * work )
6052{
6153 BPKA_BG_Process ();
6254}
6355
64- static int stm32wba_ble_ctlr_init (void )
56+ static int stm32wba_ble_ctrl_init (void )
6557{
66- k_work_queue_init (& ble_ctlr_work_q );
67- k_work_queue_start (& ble_ctlr_work_q , ble_ctlr_work_area ,
68- K_THREAD_STACK_SIZEOF (ble_ctlr_work_area ),
69- BLE_CTLR_TASK_PRIO , NULL );
58+ k_work_queue_init (& ble_ctrl_work_q );
59+ k_work_queue_start (& ble_ctrl_work_q , ble_ctrl_work_area ,
60+ K_THREAD_STACK_SIZEOF (ble_ctrl_work_area ),
61+ BLE_CTRL_THREAD_PRIO , NULL );
7062
7163 k_work_queue_init (& ll_work_q );
7264 k_work_queue_start (& ll_work_q , ll_work_area ,
73- K_THREAD_STACK_SIZEOF (ll_work_area ),
74- LL_TASK_PRIO , NULL );
65+ K_THREAD_STACK_SIZEOF (ll_work_area ),
66+ LL_THREAD_PRIO , NULL );
7567
76- k_work_init (& ble_ctlr_stack_work , & ble_ctlr_stack_handler );
68+ k_work_init (& ble_ctrl_stack_work , & ble_ctrl_stack_handler );
7769 k_work_init (& bpka_work , & bpka_work_handler );
7870
7971 return 0 ;
8072}
8173
82- SYS_INIT (stm32wba_ble_ctlr_init , POST_KERNEL , CONFIG_KERNEL_INIT_PRIORITY_DEFAULT );
74+ void HostStack_Process (void )
75+ {
76+ k_work_submit_to_queue (& ble_ctrl_work_q , & ble_ctrl_stack_work );
77+ }
78+
79+ void BPKACB_Process (void )
80+ {
81+ k_work_submit_to_queue (& ble_ctrl_work_q , & bpka_work );
82+ }
83+
84+ SYS_INIT (stm32wba_ble_ctrl_init , POST_KERNEL , CONFIG_KERNEL_INIT_PRIORITY_DEFAULT );
0 commit comments