Страница 97 из 119

Re: Arduino Mega Server для esp8266

Добавлено: Ср сен 20, 2017 3:07 pm
Alex
да это с SDK,у меня они тоже есть,но ардуина как я понял использует свои которые в папке WiFi
в папке ардуино таких нет
Ну вы даёте... Я миллисекунды меряю с этих исходников (все перекопал вдоль и поперёк), а вы говорите, что они не используются.

Без них у вас АМС вообще бы не скомпилировался.

Re: Arduino Mega Server для esp8266

Добавлено: Ср сен 20, 2017 3:09 pm
alexsis_76
а мне то как до них добраться?
все примеры используют ардуинские библиотеки

Re: Arduino Mega Server для esp8266

Добавлено: Ср сен 20, 2017 3:13 pm
Alex
Что значит как добраться? Если совсем дело плохо, то поиском по всему компьютеру файла «ClientContext.h».

Re: Arduino Mega Server для esp8266

Добавлено: Ср сен 20, 2017 3:14 pm
alexsis_76
нет у меня на компе таких файлов,нашел только те что я у вас скачал

Re: Arduino Mega Server для esp8266

Добавлено: Ср сен 20, 2017 3:33 pm
Alex
нет у меня на компе таких файлов,нашел только те что я у вас скачал
Вы написали, что скомпилировали и загрузили АМС. Без файлов драйверов ESP8266, находящихся на вашем компьютере это невозможно.

Re: Arduino Mega Server для esp8266

Добавлено: Ср сен 20, 2017 4:05 pm
alexsis_76
а файлы у вас где находятся (в какой папке)
попробовал компилировать скетчи с esp все собирается

Re: Arduino Mega Server для esp8266

Добавлено: Ср сен 20, 2017 4:06 pm
Alex
В общем то, до чего удалось докопаться. Тот, кто писал эти драйвера видимо решил оттянуться по полной и воплотить все свои тайные программистские фантазии. Таких наворотов с такими разворотами и инкапсуляциями я ещё никогда и нигде не видел.

Всё настолько неподецки, я бы даже сказал всё настолько по взрослому, что мы с сенсеем alexsis_76 два дня только искали функцию, причём сенсей alexsis_76 так её и не нашёл, мне видимо повезло. :)

Из того, что мне удалось понять — мы имеем дело с псевдо-многозадачным кодом разбивающимся на два потока с переключением контекста. Интересующий нас код находится в файле ClientContext.h, в функции

Код: Выделить всё

size_t write(const char* data, size_t size) 
Видимо в ней формируется задача и участок кода

Код: Выделить всё

            _send_waiting = true;
            delay(5000); // max send timeout
            _send_waiting = false;
запускает её в работу. Как только этот параллельный код отрабатывает, управление возвращается к

Код: Выделить всё

_send_waiting = false;
отсюда задержка не в 5000 мс, в 200-400 мс, то есть столько, сколько коду требуется на посыл данных. Но где конкретно находится это кривой код и как он работает — непонятно.

Но это всё только мои предположения — хотелось бы услышать наконец компетентное мнение тех, кто тут всё время рассуждает про чистый с и ассемблер.

Re: Arduino Mega Server для esp8266

Добавлено: Ср сен 20, 2017 4:22 pm
Alex
а файлы у вас где находятся (в какой папке)
Если у вас Windows, то файлы могут находиться в подпапках user\app data\....

Re: Arduino Mega Server для esp8266

Добавлено: Ср сен 20, 2017 4:37 pm
alexsis_76
нашел
в ардуино есть свой wifi он может работать и без инсталяции драйвера(по крайней мере все исходники его использующие компилятся )про работоспособность могу сказать только завтра
и есть драйвер esp который у вас ,это действительно драйвера sdk,я ими пользовался только в составе eclipsa
забавно,завтра посмотрим что к чему
ну все доперло наконец.

Re: Arduino Mega Server для esp8266

Добавлено: Чт сен 21, 2017 7:36 am
Alex
Обратите внимание: создаются 2 комплекта драйверов

Код: Выделить всё

...user\AppData\Local\Arduino15\packages\esp8266\...
...user\AppData\Roaming\Arduino15\packages\esp8266\... 
и работает из них только второй, там где Roaming (по крайтей мере у меня так).