btsrv_tws.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*
  2. * Copyright (c) 2016 Actions Semi Co., Inc.
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. */
  6. /**
  7. * @file
  8. * @brief bt service tws
  9. */
  10. #ifndef _BTSRV_TWS_H_
  11. #define _BTSRV_TWS_H_
  12. typedef enum {
  13. TWS_STATE_INIT,
  14. TWS_STATE_WAIT_PAIR,
  15. TWS_STATE_CONNECTING,
  16. TWS_STATE_DISCONNECTING,
  17. TWS_STATE_DETECT_ROLE,
  18. TWS_STATE_CONNECTED,
  19. TWS_STATE_READY_PLAY,
  20. TWS_STATE_RESTART_PLAY,
  21. } btsrv_tws_state_e;
  22. void btsrv_tws_set_input_stream(io_stream_t stream, bool user_set);
  23. void btsrv_tws_set_sco_input_stream(io_stream_t stream);
  24. int btsrv_tws_process(struct app_msg *msg);
  25. int btsrv_tws_get_state(void);
  26. void btsrv_tws_get_pairing_connecting_state(bool *pairing, bool *connecting);
  27. int btsrv_tws_set_bt_local_play(bool bt_play, bool local_play);
  28. void btsrv_tws_updata_tws_mode(uint8_t tws_mode, uint8_t drc_mode);
  29. void btsrv_tws_set_codec(uint8_t codec);
  30. void btsrv_tws_dump_info(void);
  31. int btsrv_tws_connect_to(bt_addr_t *addr, uint8_t try_times, uint8_t req_role);
  32. void btsrv_tws_cancal_auto_connect(void);
  33. int btsrv_tws_can_do_pair(void);
  34. int btsrv_tws_is_in_connecting(void);
  35. tws_runtime_observer_t *btsrv_tws_monitor_get_observer(void);
  36. int bsrv_tws_send_user_command(uint8_t *data, int len);
  37. int bsrv_tws_send_user_command_sync(uint8_t *data, int len);
  38. int btsrv_tws_protocol_data_cb(struct bt_conn *conn, uint8_t *data, uint16_t len);
  39. uint32_t btsrv_tws_get_bt_clock(void);
  40. bool btsrv_tws_check_support_feature(uint32_t feature);
  41. bool btsrv_tws_check_is_woodpecker(void);
  42. void btsrv_tws_hfp_start_callout(uint8_t codec);
  43. void btsrv_tws_hfp_stop_call();
  44. #endif