Merge branch 'feature/refactor_some_coexist_sections_v5.2' into 'release/v5.2'

Feature/refactor some coexist sections v5.2

See merge request espressif/esp-idf!27365
This commit is contained in:
Jiang Jiang Jian 2023-12-04 10:46:16 +08:00
commit 4e0459f112
5 changed files with 42 additions and 21 deletions

View File

@ -1197,23 +1197,12 @@ static int coex_register_wifi_channel_change_callback_wrapper(void *cb)
static int coex_version_get_wrapper(unsigned int *major, unsigned int *minor, unsigned int *patch) static int coex_version_get_wrapper(unsigned int *major, unsigned int *minor, unsigned int *patch)
{ {
#if CONFIG_SW_COEXIST_ENABLE #if CONFIG_SW_COEXIST_ENABLE
const char *ver_str = esp_coex_version_get(); coex_version_t version;
if (ver_str != NULL) { ESP_ERROR_CHECK(coex_version_get_value(&version));
unsigned int _major = 0, _minor = 0, _patch = 0; *major = (unsigned int)version.major;
if (sscanf(ver_str, "%u.%u.%u", &_major, &_minor, &_patch) != 3) { *minor = (unsigned int)version.minor;
return -1; *patch = (unsigned int)version.patch;
} return 0;
if (major != NULL) {
*major = _major;
}
if (minor != NULL) {
*minor = _minor;
}
if (patch != NULL) {
*patch = _patch;
}
return 0;
}
#endif #endif
return -1; return -1;
} }

View File

@ -1,5 +1,5 @@
/* /*
* SPDX-FileCopyrightText: 2019-2022 Espressif Systems (Shanghai) CO LTD * SPDX-FileCopyrightText: 2019-2023 Espressif Systems (Shanghai) CO LTD
* *
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
*/ */
@ -51,6 +51,12 @@ typedef struct {
extern coex_adapter_funcs_t g_coex_adapter_funcs; extern coex_adapter_funcs_t g_coex_adapter_funcs;
typedef struct {
uint8_t major;
uint8_t minor;
uint8_t patch;
} coex_version_t;
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif

View File

@ -75,6 +75,14 @@ void coex_disable(void);
*/ */
const char *coex_version_get(void); const char *coex_version_get(void);
/**
* @brief Get software coexist version value
* extern function for internal use.
* @param ptr_version : points to version structure
* @return : ESP_OK - success, other - failed
*/
esp_err_t coex_version_get_value(coex_version_t* ptr_version);
/** /**
* @brief Coexist performance preference set from libbt.a * @brief Coexist performance preference set from libbt.a
* extern function for internal use. * extern function for internal use.

@ -1 +1 @@
Subproject commit 68cbbdb45cdc8c88ffbfc2587a4e7af020695e56 Subproject commit cc027a43829f91e0ff5fe0b84713edf61e52cfc6

View File

@ -1,5 +1,23 @@
[sections:coex_iram]
entries:
.coexiram+
[sections:coex_sleep_iram]
entries:
.coexsleepiram+
[scheme:coex_iram_config]
entries:
if ESP_WIFI_IRAM_OPT = y:
coex_iram -> iram0_text
else:
coex_iram -> flash_text
if ESP_WIFI_SLP_IRAM_OPT = y:
coex_sleep_iram -> iram0_text
else:
coex_sleep_iram -> flash_text
[mapping:coexist] [mapping:coexist]
archive: libcoexist.a archive: libcoexist.a
entries: entries:
if ESP_WIFI_SLP_IRAM_OPT = y: * (coex_iram_config)
* (wifi_slp_iram)