#ifndef _API_OS_H_ #define _API_OS_H_ typedef struct _thread_cfg_t{ uint8_t enable; uint8_t priority; uint16_t stack_heap_size; }thread_cfg_t; struct thread_cfg_cb{ thread_cfg_t bt_hw; thread_cfg_t bt_stack; thread_cfg_t aupcm; thread_cfg_t dirver; thread_cfg_t timer; thread_cfg_t main; }; typedef void (*thd_drv_callback_t)(uint8_t msg); typedef void (*thd_aupcm_callback_t)(uint8_t msg); /** * @brief Post a msg to driver thread. * @note it should be called after 'thread_driver_user_callback_register', or failed. * @param msg: the msg need to post to driver thread. * @retval true if msg post successfully, or false. */ bool thread_driver_msg_post(uint8_t msg); /** * @brief Register a callback func for driver vendor msg. * @note the driver thread should be exists, or will failed. * @param callback: the callback func. * @retval true if func register successfully, or false. */ bool thread_driver_user_callback_register(thd_drv_callback_t callback); /** * @brief Post a msg to aupcm thread. * @note it should be called after 'thread_aupcm_callback_register', or failed. * @param msg: the msg need to post to aupcm thread. * @retval true if msg post successfully, or false. */ bool thread_aupcm_msg_post(uint8_t msg); /** * @brief Register a callback func for aupcm thread msg. * @note the aupcm thread should be exists, or will failed. * @param callback: the callback func. * @retval true if func register successfully, or false. */ bool thread_aupcm_callback_register(thd_aupcm_callback_t callback); void thread_driver_create(void); void thread_aupcm_create(void); void thread_btstack_create(void); #endif