• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Проблема с объявлением экземпляров ESP8266WebServer

Atom

Member
Всем привет.
Что то зашел совсем в тупик с созанием Веб-сервера.

обявляю так:
Код:
#include <ESP8266WebServer.h>
...

  server = new ESP8266WebServer(80);
  wifictrl.webServerSetup( server );
  server->on ( "/", handleRoot );
...
в wifictrl вынес всякие промежуточные настройки, чтоб не таскать между разными проектами и разместил в отдельном классе библиотеки.
Занчение тоже передается по ссылке:
Код:
      void webServerSetup( ESP8266WebServer * a_server );

далее пытаюсь это все компилировать и получаю следующее:

Код:
In file included from /home/svd/Arduino/libraries/SVD/esp8266WiFiStationCtrl.h:5:0,                   
from /home/svd/Arduino/esp/esp8266_ws2812_web2/esp8266_ws2812_web2.ino:8:  /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer.h: In instantiation of 'class
 esp8266webserver::ESP8266WebServerTemplate<WiFiServer>':  /home/svd/Arduino/esp/esp8266_ws2812_web2/esp8266_ws2812_web2.ino:72:35:   required from here
  /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer.h:80:53: error: no type named 'ClientType' in 'class WiFiServer'     
using ClientType = typename ServerType::ClientType;                                          
             ^  In file included from /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer.h:259:0,
                   from /home/svd/Arduino/libraries/SVD/esp8266WiFiStationCtrl.h:5,
                   from /home/svd/Arduino/esp/esp8266_ws2812_web2/esp8266_ws2812_web2.ino:8:  /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h: In instantiation of 'void
 esp8266webserver::ESP8266WebServerTemplate<ServerType>::handleClient() [with ServerType = WiFiServer]': 
 /home/svd/Arduino/esp/esp8266_ws2812_web2/esp8266_ws2812_web2.ino:87:24:   required from here
  /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h:319:20: error: using invalid field
 'esp8266webserver::ESP8266WebServerTemplate<ServerType>::_currentClient'
       _currentClient = client;
                      ^  /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h:327:34: error: using invalid field
 'esp8266webserver::ESP8266WebServerTemplate<ServerType>::_currentClient'
     if (_currentClient.connected() || _currentClient.available()) {
                                    ^  /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h:327:34: error: using invalid field 'esp8266webserver::ESP8266WebServerTemplate<ServerType>::_currentClient'
  /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h:334:7: error: using invalid field 'esp8266webserver::ESP8266WebServerTemplate<ServerType>::_currentClient'
         if (_currentClient.available()) {
         ^  /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h:335:41: error: using invalid field 
'esp8266webserver::ESP8266WebServerTemplate<ServerType>::_currentClient'
           if (_parseRequest(_currentClient)) { 
                                          ^  /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h:335:41: error: '_parseRequest' was 
not declared in this scope  /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h:336:11: error: using invalid field 
'esp8266webserver::ESP8266WebServerTemplate<ServerType>::_currentClient'
             _currentClient.setTimeout(HTTP_MAX_SEND_WAIT);
             ^  /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h:340:11: error: using invalid field 
'esp8266webserver::ESP8266WebServerTemplate<ServerType>::_currentClient' 
            if (_currentClient.connected()) {
             ^  /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h:363:20: error: using invalid field 
'esp8266webserver::ESP8266WebServerTemplate<ServerType>::_currentClient'
       _currentClient = ClientType();
                      ^  /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h: In instantiation of 'void
 esp8266webserver::ESP8266WebServerTemplate<ServerType>::close() [with ServerType = WiFiServer]': 
 /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h:108:9:   required from 'void
esp8266webserver::ESP8266WebServerTemplate<ServerType>::begin() [with ServerType = WiFiServer]'  /home/svd/Arduino/esp/esp8266_ws2812_web2/esp8266_ws2812_web2.ino:82:17:
   required from here  /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h:375:3: error: 'class WiFiServer' has no
 member named 'close' 
    _server.close();
     ^  Multiple libraries were found for "Adafruit_NeoPixel.h"
   Used: /home/svd/Arduino/libraries/Adafruit_NeoPixel
   Not used: /home/svd/Arduino/libraries/arduino_491446
не могу понять, где косячу. и что не правильно
 
Сверху Снизу