| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300 |
- /**
- * @file wm_bt_av.h
- *
- * @brief Bluetooth API
- *
- * @author WinnerMicro
- *
- * Copyright (c) 2020 Winner Microelectronics Co., Ltd.
- */
- #ifndef __WM_BT_A2DP_H__
- #define __WM_BT_A2DP_H__
- #include "wm_bt.h"
- /**
- * @defgroup BT_APIs Bluetooth APIs
- * @brief Bluetooth related APIs
- */
- /**
- * @addtogroup BT_APIs
- * @{
- */
- /**
- * @defgroup BT_AV_APIs
- * @brief BT_AV APIs
- */
- /**
- * @addtogroup BT_AV_APIs
- * @{
- */
- /**sink realed api*/
- /**
- * @brief Initializes the AV interface for sink mode
- *
- * @param[in] callback pointer on callback function
- *
- * @retval @ref tls_bt_status_t
- *
- * @note None
- */
- tls_bt_status_t tls_bt_av_sink_init(tls_bt_a2dp_sink_callback_t callback);
- /**
- * @brief Shuts down the AV sink interface and does the cleanup
- *
- * @param None
- *
- * @retval @ref tls_bt_status_t
- *
- * @note None
- */
- tls_bt_status_t tls_bt_av_sink_deinit(void);
- /**
- * @brief Establishes the AV signalling channel with the source
- *
- * @param[in] *bd_addr remote device bluetooth device address
- *
- * @retval @ref tls_bt_status_t
- *
- * @note None
- */
- tls_bt_status_t tls_bt_av_sink_connect_src(tls_bt_addr_t *bd_addr);
- /**
- * @brief Tears down the AV signalling channel with the source side
- *
- * @param[in] *bd_addr remote device bluetooth device address
- *
- * @retval @ref tls_bt_status_t
- *
- * @note None
- */
- tls_bt_status_t tls_bt_av_sink_disconnect(tls_bt_addr_t *bd_addr);
- /**src realed api*/
- /**
- * @brief Initializes the AV interface for source mode
- *
- * @param[in] callback pointer on callback function
- *
- * @retval @ref tls_bt_status_t
- *
- * @note None
- */
- tls_bt_status_t tls_bt_av_src_init(tls_bt_a2dp_src_callback_t callback);
- /**
- * @brief Shuts down the AV source interface and does the cleanup
- *
- * @param None
- *
- * @retval @ref tls_bt_status_t
- *
- * @note None
- */
- tls_bt_status_t tls_bt_av_src_deinit(void);
- /**
- * @brief Establishes the AV signalling channel with the sink
- *
- * @param[in] *bd_addr remote device bluetooth device address
- *
- * @retval @ref tls_bt_status_t
- *
- * @note None
- */
- tls_bt_status_t tls_bt_av_src_connect_sink(tls_bt_addr_t *bd_addr);
- /**
- * @brief Tears down the AV signalling channel with the sink side
- *
- * @param[in] *bd_addr remote device bluetooth device address
- *
- * @retval @ref tls_bt_status_t
- *
- * @note None
- */
- tls_bt_status_t tls_bt_av_src_disconnect(tls_bt_addr_t *bd_addr);
- /**btrc related api supported by now*/
- /**
- * @brief Initializes the AVRC interface
- *
- * @param[in] callback pointer on callback function
- *
- * @retval @ref tls_bt_status_t
- *
- * @note None
- */
- tls_bt_status_t tls_btrc_init(tls_btrc_callback_t callback);
- /**
- * @brief Closes the AVRC interface
- *
- * @param None
- *
- * @retval @ref tls_bt_status_t
- *
- * @note None
- */
- tls_bt_status_t tls_btrc_deinit(void);
- /**
- * @brief Returns the current play status.
- *
- * @param[in] tls_btrc_play_status_t stopped, playing, paused...
- * @param[in] song_len seconds of the song
- * @param[in] song_pos played seconds of the song
- *
- * @retval @ref tls_bt_status_t
- *
- * @note This method is called in response to GetPlayStatus request.
- */
- tls_bt_status_t tls_btrc_get_play_status_rsp(tls_btrc_play_status_t play_status, uint32_t song_len,
- uint32_t song_pos);
- /**
- * @brief Returns the current songs' element attributes in text
- *
- * @param[in] num_attr counter of song`s element attributes
- * @param[in] p_attrs pointer of element attributes
- *
- * @retval @ref tls_bt_status_t
- *
- * @note None
- */
- tls_bt_status_t tls_btrc_get_element_attr_rsp(uint8_t num_attr, tls_btrc_element_attr_val_t *p_attrs);
- /**
- * @brief Response to the register notification request in text
- *
- * @param[in] event_id play_status, track or play_pos changed
- * @param[in] type notification type
- * @param[in] p_param pointer to details of notification structer
- *
- * @retval @ref tls_bt_status_t
- *
- * @note None
- */
- tls_bt_status_t tls_btrc_register_notification_rsp(tls_btrc_event_id_t event_id,
- tls_btrc_notification_type_t type, tls_btrc_register_notification_t *p_param);
- /**
- * @brief Send current volume setting to remote side
- *
- * @param[in] volue Should be in the range 0-127. bit7 is reseved and cannot be set
- *
- * @retval @ref tls_bt_status_t
- *
- * @note Support limited to SetAbsoluteVolume
- * This can be enhanced to support Relative Volume (AVRCP 1.0).
- * With RelateVolume, we will send VOLUME_UP/VOLUME_DOWN
- * as opposed to absolute volume level
- */
- tls_bt_status_t tls_btrc_set_volume(uint8_t volume);
- /**btrc ctrl related api supported by now*/
- /**
- * @brief Initializes the AVRC ctrl interface
- *
- * @param[in] callback pointer on callback function
- *
- * @retval @ref tls_bt_status_t
- *
- * @note None
- */
- tls_bt_status_t tls_btrc_ctrl_init(tls_btrc_ctrl_callback_t callback);
- /**
- * @brief Closes the AVRC ctrl interface
- *
- * @param None
- *
- * @retval @ref tls_bt_status_t
- *
- * @note None
- */
- tls_bt_status_t tls_btrc_ctrl_deinit(void);
- /**
- * @brief Send Pass-Through command
- *
- * @param[in] bd_addr remote device bluetooth device address
- * @param[in] key_code code definition of the key
- * @param[in] key_state key stae
- *
- * @retval @ref tls_bt_status_t
- *
- * @note None
- */
- tls_bt_status_t tls_btrc_ctrl_send_passthrough_cmd(tls_bt_addr_t *bd_addr, uint8_t key_code, uint8_t key_state);
- /**
- * @brief Send group navigation command
- *
- * @param[in] bd_addr remote device bluetooth device address
- * @param[in] key_code code definition of the key
- * @param[in] key_state key stae
- *
- * @retval @ref tls_bt_status_t
- *
- * @note None
- */
- tls_bt_status_t tls_btrc_ctrl_send_groupnavigation_cmd(tls_bt_addr_t *bd_addr, uint8_t key_code, uint8_t key_state);
- /**
- * @brief Set current values of Player Attributes
- *
- * @param[in] bd_addr remote device bluetooth device address
- * @param[in] num_attrib couner of attributes
- * @param[in] attrib_ids atrribute of index indicator
- * @param[in] attrib_vals attribute of values
- *
- * @retval @ref tls_bt_status_t
- *
- * @note None
- */
- tls_bt_status_t tls_btrc_ctrl_change_player_app_setting(tls_bt_addr_t *bd_addr, uint8_t num_attrib, uint8_t *attrib_ids, uint8_t *attrib_vals);
- /**
- * @brief Rsp for SetAbsoluteVolume Command
- *
- * @param[in] bd_addr remote device bluetooth device address
- * @param[in] abs_vol the absolute volume
- * @param[in] label label indicator
- *
- * @retval @ref tls_bt_status_t
- *
- * @note None
- */
- tls_bt_status_t tls_btrc_ctrl_set_volume_rsp(tls_bt_addr_t *bd_addr, uint8_t abs_vol, uint8_t label);
- /**
- * @brief Rsp for Notification of Absolute Volume
- *
- * @param[in] bd_addr remote device bluetooth device address
- * @param[in] rsp_type interim or changed
- * @param[in] abs_vol the absolute volume value
- * @param[in] label label indicator
- *
- * @retval @ref tls_bt_status_t
- *
- * @note None
- */
- tls_bt_status_t tls_btrc_ctrl_volume_change_notification_rsp(tls_bt_addr_t *bd_addr, tls_btrc_notification_type_t rsp_type,uint8_t abs_vol, uint8_t label);
- #endif
|