Arduino Ethernet WebServer library
- Войдите на сайт для отправки комментариев
Многочисленным поклонникам ESP-шных устройств наверняка хорошо знакома библиотека <ESP8266WebServer>, которая позволяет программисту легко и удобно работать с HTML.
Появилась идея адаптировать указанную библиотеку для работы в варианте Arduino+Ethernet Shield (w5100/w5200/w5500), т.е. с библиотекой <Ethernet> вместо <ESPWiFi>. Логика работы в обоих вариантах очень похожа и достаточно проста для понимания. Вот только с отладкой кода возникли некоторые проблемы.
В частности, в указанной библиотеке используется следующее объявление типа:
typedef std::function<void (void)> THandlerFunction;
которое в варианте с ESP компилируется без проблем, а вот при попытке скомпилировать в варианте с Arduino выдает такую ошибку:
error: 'function' in namespace 'std' does not name a template type
Может у кого есть мысли о причинах такого поведения компилятора или хотя бы мысли куда копать?
Компилятор авр не линкует всю стандартную библиотеку C++ в целях экономии памяти. Копать никуда не надо, потому что не получится.
Как бы между AVR и ESP есть небольшая разница. В частности, в размере памяти.
Лучше на ESP портируй Ethernet.h - штоп есп-шка прикидывалась эзернет-модулем.