| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- // Copyright 2015-2018 Espressif Systems (Shanghai) PTE LTD
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- #ifndef __ESP_COEXIST_H__
- #define __ESP_COEXIST_H__
- #include <stdbool.h>
- #include "esp_err.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- /**
- * @brief coex prefer value
- */
- typedef enum {
- ESP_COEX_PREFER_WIFI = 0, /*!< Prefer to WiFi, WiFi will have more opportunity to use RF */
- ESP_COEX_PREFER_BT, /*!< Prefer to bluetooth, bluetooth will have more opportunity to use RF */
- ESP_COEX_PREFER_BALANCE, /*!< Do balance of WiFi and bluetooth */
- ESP_COEX_PREFER_NUM, /*!< Prefer value numbers */
- } esp_coex_prefer_t;
- /**
- * @brief coex status type
- */
- typedef enum {
- ESP_COEX_ST_TYPE_WIFI = 0,
- ESP_COEX_ST_TYPE_BLE,
- ESP_COEX_ST_TYPE_BT,
- } esp_coex_status_type_t;
- #define ESP_COEX_BLE_ST_MESH_CONFIG 0x08
- #define ESP_COEX_BLE_ST_MESH_TRAFFIC 0x10
- #define ESP_COEX_BLE_ST_MESH_STANDBY 0x20
- #define ESP_COEX_BT_ST_A2DP_STREAMING 0x10
- #define ESP_COEX_BT_ST_A2DP_PAUSED 0x20
- /**
- * @brief Get software coexist version string
- *
- * @return : version string
- */
- const char *esp_coex_version_get(void);
- /**
- * @deprecated Use esp_coex_status_bit_set() and esp_coex_status_bit_clear() instead.
- * Set coexist preference of performance
- * For example, if prefer to bluetooth, then it will make A2DP(play audio via classic bt)
- * more smooth while wifi is runnning something.
- * If prefer to wifi, it will do similar things as prefer to bluetooth.
- * Default, it prefer to balance.
- *
- * @param prefer : the prefer enumeration value
- * @return : ESP_OK - success, other - failed
- */
- esp_err_t esp_coex_preference_set(esp_coex_prefer_t prefer);
- /**
- * @brief Set coex schm status
- * @param type : WIFI/BLE/BT
- * @param status : WIFI/BLE/BT STATUS
- * @return : ESP_OK - success, other - failed
- */
- esp_err_t esp_coex_status_bit_set(esp_coex_status_type_t type, uint32_t status);
- /**
- * @brief Clear coex schm status
- * @param type : WIFI/BLE/BT
- * @param status : WIFI/BLE/BT STATUS
- * @return : ESP_OK - success, other - failed
- */
- esp_err_t esp_coex_status_bit_clear(esp_coex_status_type_t type, uint32_t status);
- #ifdef __cplusplus
- }
- #endif
- #endif /* __ESP_COEXIST_H__ */
|