mirror of
https://github.com/esphome/esphome.git
synced 2025-10-18 01:33:51 +01:00
fixes
This commit is contained in:
@@ -554,7 +554,7 @@ void WiFiComponent::start_scanning() {
|
|||||||
// Using insertion sort instead of std::stable_sort saves flash memory
|
// Using insertion sort instead of std::stable_sort saves flash memory
|
||||||
// by avoiding template instantiations (std::rotate, std::stable_sort, lambdas)
|
// by avoiding template instantiations (std::rotate, std::stable_sort, lambdas)
|
||||||
// IMPORTANT: This sort is stable (preserves relative order of equal elements)
|
// IMPORTANT: This sort is stable (preserves relative order of equal elements)
|
||||||
static void insertion_sort_scan_results(FixedVector<WiFiScanResult> &results) {
|
template<typename VectorType> static void insertion_sort_scan_results(VectorType &results) {
|
||||||
const size_t size = results.size();
|
const size_t size = results.size();
|
||||||
for (size_t i = 1; i < size; i++) {
|
for (size_t i = 1; i < size; i++) {
|
||||||
// Make a copy to avoid issues with move semantics during comparison
|
// Make a copy to avoid issues with move semantics during comparison
|
||||||
|
@@ -121,6 +121,14 @@ struct EAPAuth {
|
|||||||
|
|
||||||
using bssid_t = std::array<uint8_t, 6>;
|
using bssid_t = std::array<uint8_t, 6>;
|
||||||
|
|
||||||
|
// Use std::vector for RP2040 since scan count is unknown (callback-based)
|
||||||
|
// Use FixedVector for other platforms where count is queried first
|
||||||
|
#ifdef USE_RP2040
|
||||||
|
template<typename T> using wifi_scan_vector_t = std::vector<T>;
|
||||||
|
#else
|
||||||
|
template<typename T> using wifi_scan_vector_t = FixedVector<T>;
|
||||||
|
#endif
|
||||||
|
|
||||||
class WiFiAP {
|
class WiFiAP {
|
||||||
public:
|
public:
|
||||||
void set_ssid(const std::string &ssid);
|
void set_ssid(const std::string &ssid);
|
||||||
@@ -278,7 +286,7 @@ class WiFiComponent : public Component {
|
|||||||
std::string get_use_address() const;
|
std::string get_use_address() const;
|
||||||
void set_use_address(const std::string &use_address);
|
void set_use_address(const std::string &use_address);
|
||||||
|
|
||||||
const FixedVector<WiFiScanResult> &get_scan_result() const { return scan_result_; }
|
const wifi_scan_vector_t<WiFiScanResult> &get_scan_result() const { return scan_result_; }
|
||||||
|
|
||||||
network::IPAddress wifi_soft_ap_ip();
|
network::IPAddress wifi_soft_ap_ip();
|
||||||
|
|
||||||
@@ -385,7 +393,7 @@ class WiFiComponent : public Component {
|
|||||||
std::string use_address_;
|
std::string use_address_;
|
||||||
std::vector<WiFiAP> sta_;
|
std::vector<WiFiAP> sta_;
|
||||||
std::vector<WiFiSTAPriority> sta_priorities_;
|
std::vector<WiFiSTAPriority> sta_priorities_;
|
||||||
FixedVector<WiFiScanResult> scan_result_;
|
wifi_scan_vector_t<WiFiScanResult> scan_result_;
|
||||||
WiFiAP selected_ap_;
|
WiFiAP selected_ap_;
|
||||||
WiFiAP ap_;
|
WiFiAP ap_;
|
||||||
optional<float> output_power_;
|
optional<float> output_power_;
|
||||||
|
Reference in New Issue
Block a user