Added WiFi channel selection

This commit is contained in:
2024-06-01 07:46:22 +03:00
parent 906f1e2725
commit b9c2158b73
3 changed files with 15 additions and 7 deletions

View File

@ -80,7 +80,7 @@ typedef struct
ESP_EVENT_DEFINE_BASE(ZH_NETWORK);
/// \endcond
esp_err_t zh_network_init(zh_network_init_config_t *config)
esp_err_t zh_network_init(const zh_network_init_config_t *config)
{
ESP_LOGI(TAG, "ESP-NOW initialization begin.");
if (config == NULL)
@ -88,7 +88,13 @@ esp_err_t zh_network_init(zh_network_init_config_t *config)
ESP_LOGE(TAG, "ESP-NOW initialization fail. Invalid argument.");
return ESP_ERR_INVALID_ARG;
}
if (esp_wifi_set_channel(1, WIFI_SECOND_CHAN_NONE) == ESP_ERR_WIFI_NOT_INIT)
_init_config = *config;
if (_init_config.wifi_channel < 1 || _init_config.wifi_channel > 14)
{
ESP_LOGE(TAG, "ESP-NOW initialization fail. WiFi channel incorrect.");
return ESP_ERR_INVALID_ARG;
}
if (esp_wifi_set_channel(_init_config.wifi_channel, WIFI_SECOND_CHAN_NONE) == ESP_ERR_WIFI_NOT_INIT)
{
ESP_LOGE(TAG, "ESP-NOW initialization fail. WiFi not initialized.");
return ESP_ERR_WIFI_NOT_INIT;
@ -106,7 +112,6 @@ esp_err_t zh_network_init(zh_network_init_config_t *config)
{
esp_read_mac(_self_mac, ESP_MAC_WIFI_SOFTAP);
}
_init_config = *config;
_send_cb_status_event_group_handle = xEventGroupCreate();
_queue_handle = xQueueCreate(_init_config.queue_size, sizeof(queue_t));
zh_vector_init(&_id_vector, sizeof(uint32_t), false);