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

Общие вопросы по Arduino IDE для ESP8266

Victor

Administrator
Команда форума
sketch\Servo.h:67:33: fatal error: esp8266/ServoTimers.h: No such file or directory
#include "esp8266/ServoTimers.h"
у меня [inline]C:\Users\Victor\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.0.0\libraries\Servo\src\Servo.h[/inline]

а зачем у вас папка esp8266 [inline]#include "esp8266/ServoTimers.h"[/inline]?
если есть свои библиотеки, то они в моих документах как были, так и остались
 

sasasa

Member
это в файле servo.h так написано. Не я этого писал. Это "стандартная" библиотека Ардуино потому и не знаю почему.
 

Victor

Administrator
Команда форума
это в файле servo.h так написано. Не я этого писал. Это "стандартная" библиотека Ардуино потому и не знаю почему.
у меня такое тоже есть [inline]C:\Users\Victor\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.0.0\libraries\Servo\src\esp8266\ServoTimers.h[/inline]
 

sasasa

Member
Что то сдвинулось с мёртвой точки..
'actionSetup' was not declared in this scope
Как понять эту ошибку и что надо исправлять?


void ActionSetup() Это отдельная функция . Написано как обычно. Сразу после void loop(). Как это она может быть not declared in this scope?
 

sasasa

Member
Наверное я сейчас понял в чём проблема ... . Неужели на новой версии Ардуино обязательно функции писать перед лооп(). В предыдущих версиям было безразлично под или над loop(), всё ровно всё работало. Это моё плохое образование и так должно быть или это недоработка Ардуино 1.6.6.

Почему некоторые функции программа видит даже самом низу а некоторых не видит? (Sorry, я только полгода как с Ардуинкой знаком :oops:)
 

sasasa

Member
Вот так я и понял. Ну что - СПАСИБО!! за помощ.
Но как же Ардуино 1.6.4? Как эта версия смогла понять? Всегда с низу дописывал новые дополнительные функции и без проблем.
.. щас все скечи переписать?! ъ%$@ даже 1.6.5 ещё не ругалась
 

sasasa

Member
Код:
void sendMessage(char* chan, float val) {
OSCMessage msg(chan);
  msg.add(val);
 //my code  ...
}

sendMessage("/1/fader1", 0.0);
warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

Всё работает, но что то всё же не нравится компилятору.
Как это исправить чтобы не было warning?
 

bolwoi

New member
Привет всем. Подскажите, возможна ли настройка максимального размера передаваемого пакета UDP? 500 килобайт передает, а вот 800 уже нет (только один раз, и затык). Наверняка, где-то можно что-то подкрутить и килобайт кинуть.
 

bolwoi

New member
Вот нашел в WiFiUdp.h 28 строка:
[HASHTAG]#define[/HASHTAG] UDP_TX_PACKET_MAX_SIZE 8192
Но, по ходу, это нигде не учитывается, т. к. все нормально компилится даже при ее комментировании. Может ку кого есть какие мысли?

Нашел, где енто дело решается. Если кому интересно, то в файле UdpContext.h (c:\Users\...UseName...\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.0.0\libraries\ESP8266WiFi\src\include\)
308 строка
const size_t pbuf_unit_size = 512;

Поменял на нужное значение и все заработало.
 
Последнее редактирование:

Izzm

New member
Всем привет. Есть ли у кого то примеры работы, или описание работы функций Watchdog? ESP.wdtEnable(), ESP.wdtDisable(), ESP.wdtFeed().
На гитхабе нашёл только обсуждение того, как отключить его после рестарта.
 

tretyakov_sa

Moderator
Команда форума
Всем привет. Есть ли у кого то примеры работы, или описание работы функций Watchdog? ESP.wdtEnable(), ESP.wdtDisable(), ESP.wdtFeed().
На гитхабе нашёл только обсуждение того, как отключить его после рестарта.
Проще всего если ответишь на вопрос: Что нужно получить в итоге?
 

Izzm

New member
Проще всего если ответишь на вопрос: Что нужно получить в итоге?
Есть цикл, в котором ждём подключение клиента. Периодически проверяя объём свободной памяти.
Дальше идёт проверка, если свободной памяти меньше определённого значения, то перезагружаю модуль через ESP.deepSleep. Эта часть уже есть, и работает.
Хотелось бы, в случае если мы долго не попадаем на функцию проверки свободной памяти, происходила перезагрузка.
На мой делитанский взгляд вочдог тут идеален. Но как с ним работать тут неочень понятно.
 

tretyakov_sa

Moderator
Команда форума
Есть цикл, в котором ждём подключение клиента. Периодически проверяя объём свободной памяти.
Дальше идёт проверка, если свободной памяти меньше определённого значения, то перезагружаю модуль через ESP.deepSleep. Эта часть уже есть, и работает.
Хотелось бы, в случае если мы долго не попадаем на функцию проверки свободной памяти, происходила перезагрузка.
На мой делитанский взгляд вочдог тут идеален. Но как с ним работать тут неочень понятно.
Я вообще делитант не понимаю язык программистов :) Почему памяти становится меньше и меньше и как это определить какой функцией? Что за устройство? Какую задачу решаешь?
 
Последнее редактирование:

Izzm

New member
Я вообще делитант не понимаю язык программистов :) Почему памяти становится меньше и меньше и как это определить какой функцией? Что за устройство? Какую задачу решаешь?
Памяти стабильное количество, при нормальной работе. Если послать не коректный запрос, она начинает утекать. Текущее значение ESP.getFreeHeap().
Если значение опускается ниже 35000, то перезапускаем всё, через ESP.deepSleep.
ESP-7, пока отлаживаю управление 2 реле, с сохранением состояние, через библиотеку aREST.
 

tretyakov_sa

Moderator
Команда форума
Памяти стабильное количество, при нормальной работе. Если послать не коректный запрос, она начинает утекать. Текущее значение ESP.getFreeHeap().
Если значение опускается ниже 35000, то перезапускаем всё, через ESP.deepSleep.
ESP-7, пока отлаживаю управление 2 реле, с сохранением состояние, через библиотеку aREST.
Тогда давай код свой. Залью и посмотрю. Когда все правильно написано память не должна утекать. Либо в коде ошибка либо в библиотеке.
 

sasasa

Member
Что это такое? поменял Ардуино ИДЕ на 1.6.8 (HourlyBuild 2016/01/08) + 2.1.0-rc1 и перестал загружать на ЕСПки код

Код:
processing.app.debug.RunnerException
    at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:179)
    at cc.arduino.UploaderUtils.upload(UploaderUtils.java:78)
    at processing.app.Sketch.upload(Sketch.java:1178)
    at processing.app.Sketch.exportApplet(Sketch.java:1152)
    at processing.app.Sketch.exportApplet(Sketch.java:1124)
    at processing.app.Editor$DefaultExportHandler.run(Editor.java:2417)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
    at java.lang.String.replace(String.java:2240)
    at processing.app.helpers.StringReplacer.replaceFromMapping(StringReplacer.java:97)
    at processing.app.helpers.StringReplacer.replaceFromMapping(StringReplacer.java:89)
    at processing.app.helpers.StringReplacer.formatAndSplit(StringReplacer.java:37)
    at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:174)
    ... 6 more
 
Сверху Снизу