Как найти путь к библиотеке

Teh-nick

✩✩✩✩✩✩✩
9 Ноя 2023
14
1
Я использовал фрагмент кода из примера.
Модифицировал под свои нужды
C++:
#include <Arduino.h>
#include <GyverDBFile.h>
#include <LittleFS.h>
#include <PubSubClient.h>
#include <SettingsESP.h>

  WiFi.mode(WIFI_AP_STA);
  sett.begin();
  sett.onBuild(build);
  sett.onUpdate(update);

if (digitalRead(D2)) {  //если кнопка нажата
  // ======= AP =======
  WiFi.softAP("AP ESP", "пароль для AP");
  Serial.print("AP IP: ");
  // ======= STA =======
   } else if (db[kk::wifi_ssid].length()) { // если логин задан - подключаемся
    WiFi.begin(db[kk::wifi_ssid], db[kk::wifi_pass]);
    Serial.print("Connect STA");
    int tries = 20;
    while (WiFi.status() != WL_CONNECTED) {
      delay(500);
      Serial.print('.');
      if (!--tries) break;
    }
    Serial.println();
    Serial.print("IP: ");
    Serial.println(WiFi.localIP());
  }
Работает криво. Если не удалось подключиться к сети, то создается своя точка доступа "ESP-<куча цифр>". Эта точка доступа без пароля. Соответственно в веб-морде видны все мои настройки.
Хочу правильно настроить режим WiFi.mode, но не могу понять из какой библиотеки этот класс и метод. У подключенных библиотек такого содержимого не нашел.
 

Сотнег

★★★★★★★
15 Янв 2020
4,357
1,493
@Teh-nick,
может, не стоило фрагментом ограничиваться?
Очевидно, что настройки для вайфая определены классом переменной WiFi.
А вы вырезали объявление этой переменной.
И в вашем коде есть указание имени точки доступа и пароля к ней (при зажатой кнопке).

Раз вы не можете в папке библиотек найти что-то, значит, эта библиотека, скорее всего, часть ядра.
 

Teh-nick

✩✩✩✩✩✩✩
9 Ноя 2023
14
1
Да, если я зажму кнопку, то запустится точка с моим названием и паролем.
Если не зажму кнопку, то подключится к сети. Все как задумано.
Но если я не нажму кнопку, а к сети подключиться не получится, то создаётся точка с новым именем "ESP-<цифры>" и без пароля. И это уже плохо. Заходи любой.
Я хотел разобраться как устроена библиотека, какие там ещё есть режимы и параметры. Но не пойму как найти путь к библиотеке, зная только класс и метод.
 

Teh-nick

✩✩✩✩✩✩✩
9 Ноя 2023
14
1
Ошибку устранил. В самом начале поменял режим на:
C++:
WiFi.mode(WIFI_STA);
так оказалось тоже можно. Но хотелось бы знать как правильно определять путь к библиотеке, что бы не тыкаться наугад.
 

Bruzzer

★★★✩✩✩✩
23 Май 2020
464
134
@Teh-nick,
> как правильно определять путь к библиотеке, что бы не тыкаться наугад
В Arduino IDE версии 2 щелкать правой кнопкой мыши на mode в выражении WiFi.mode(WIFI_STA) и в появляющемся окне POPUP меню выбрать пункт "Перейти к определению"