esp_iot_framework  v0.1.0-alpha
© 2026 AmakeSasha, distributed under a license Apache-2.0
Configuration

Functions to retrieve current system configuration. More...

Data Structures

struct  eif_wifi_test_result
 Wi-Fi profile availability test result. More...
 

Functions

uint8_t eif_wifi_get_profiles_count (void)
 Gets the total number of Wi-Fi profiles. More...
 
uint8_t eif_wifi_get_current_profile_index (void)
 Gets the index of the currently active Wi-Fi profile. More...
 
esp_err_t eif_wifi_get_test_result (uint8_t index, eif_wifi_test_result *const out_result)
 Gets the network availability test result for a specific Wi-Fi profile. More...
 

Detailed Description

This module aggregates all functions used to query current operational flags, device parameters, and active configuration blocks.

Note
Before calling any function in this group, eif_core_initialize() must be executed exactly once.

Examples:
#include <esp_err.h>
#include <esp_iot_framework_core.h>
void app_main(void) {
ESP_ERROR_CHECK(eif_core_initialize());
// Further code...
}
esp_err_t eif_core_initialize(void)
Initializes the CORE of the framework.

Function Documentation

◆ eif_wifi_get_profiles_count()

uint8_t eif_wifi_get_profiles_count ( void  )

Returns the number of Wi-Fi profiles stored in the system. It is set using eif_set_wifi_profiles_count().

Example of use:

#include <esp_log.h>
#include <esp_iot_framework_core_ext.h>
#define TAG "WIFI_CFG"
void check_profiles_bound(void) {
size_t total_profiles = eif_wifi_get_profiles_count();
ESP_LOGI(TAG,
"Framework is currently managing %zu Wi-Fi profile(s).",
total_profiles);
}
uint8_t eif_wifi_get_profiles_count(void)
Gets the total number of Wi-Fi profiles.

◆ eif_wifi_get_current_profile_index()

uint8_t eif_wifi_get_current_profile_index ( void  )

Returns the zero-based index of the active Wi-Fi profile currently in use.

Example of use:

#include <esp_log.h>
#include <esp_iot_framework_core_ext.h>
#define TAG "WIFI_CFG"
void log_active_profile_index(void) {
uint8_t active_idx = eif_wifi_get_current_profile_index();
ESP_LOGI(TAG,
"Subsystem is currently operating on profile index: %u",
active_idx);
}
uint8_t eif_wifi_get_current_profile_index(void)
Gets the index of the currently active Wi-Fi profile.

◆ eif_wifi_get_test_result()

esp_err_t eif_wifi_get_test_result ( uint8_t  index,
eif_wifi_test_result *const  out_result 
)

Copies the latest availability check result for the specified profile index into the out_result structure.

Parameters
indexZero-based Wi-Fi profile index to query. Must be less than eif_wifi_get_profiles_count().
out_resultPointer to the structure where the result will be copied. Cannot be NULL.
Returns
  • ESP_OK: Result was successfully fetched and copied.
  • ESP_ERR_INVALID_ARG: The out_result pointer is NULL.
  • ESP_ERR_INVALID_SIZE: The index is out of the possible range.

Example of use:

#include <esp_log.h>
#include <esp_err.h>
#include <esp_iot_framework_core_ext.h>
#define TAG "APP_WIFI"
void check_profile_status(uint8_t profile_idx) {
eif_wifi_test_result result = {0};
esp_err_t err = eif_wifi_get_test_result(profile_idx, &result);
if (err == ESP_OK) {
ESP_LOGI(TAG, "Profile %u: Connected = %s, RSSI = %d dBm",
profile_idx, result.connected ? "YES" : "NO", result.rssi);
} else if (err == ESP_ERR_INVALID_SIZE) {
ESP_LOGE(TAG, "Profile index %u is out of bounds", profile_idx);
} else {
ESP_LOGE(TAG, "Failed to get test result: %s", esp_err_to_name(err));
}
}
esp_err_t eif_wifi_get_test_result(uint8_t index, eif_wifi_test_result *const out_result)
Gets the network availability test result for a specific Wi-Fi profile.
Wi-Fi profile availability test result.
Definition: esp_iot_framework_core_ext.h:248
bool connected
Network availability status.
Definition: esp_iot_framework_core_ext.h:256
int8_t rssi
Received Signal Strength Indicator (RSSI).
Definition: esp_iot_framework_core_ext.h:263