ESP8266+Flprog нет сохранения системного параметра.

Вопросы от новичков
Ответить
Bullhorse
Рядовой
Сообщения: 27
Зарегистрирован: 14 янв 2023, 19:07
Откуда: Астрахань
Имя: Александр

ESP8266+Flprog нет сохранения системного параметра.

Сообщение Bullhorse »

Немного истории - потом будет понятно зачем.
пилил проект пару дней.. esp, естественно, торчала в usb. Чуть добавил блоков в плату - перестал подниматься wifi. Недолго думая, что плата перетягивает много времени на себя, ручками вставлял в arduino ide код, выполняющий плату раз в секунду. Проект закончил, добрался до сохранения настроек при помощи блока "запись системного параметра" и выяснил, что параметр сохраняется только до перезагрузки контроллера. Накидал новую маленькую плату с сохранением одного системного параметра типа string и обнаружил, что оно тоже не сохраняет навсегда..
при помощи serial.println выяснилось, что контроллер бесконечно выполняет этот кусок в начале лупа.
[spoiler]
void loop()
{
ESPControllerWifi_tspWebServer.handleClient();
if (isNeededCommitESP8266EEprom)
{
EEPROM.commit();
isNeededCommitESP8266EEprom=0;
}[/spoiler]
Тормоза проекта, видимо, отсюда и растут. Что делать-то? Памяти esp уже хана?
eetest.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Phazz
Полковник
Сообщения: 3169
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 240 раз
Поблагодарили: 128 раз

ESP8266+Flprog нет сохранения системного параметра.

Сообщение Phazz »

[ref]Bullhorse[/ref], а куда print вставляли?
Bullhorse
Рядовой
Сообщения: 27
Зарегистрирован: 14 янв 2023, 19:07
Откуда: Астрахань
Имя: Александр

ESP8266+Flprog нет сохранения системного параметра.

Сообщение Bullhorse »

после
EEPROM.commit();
Аватара пользователя
Phazz
Полковник
Сообщения: 3169
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 240 раз
Поблагодарили: 128 раз

ESP8266+Flprog нет сохранения системного параметра.

Сообщение Phazz »

Все верно, у вас нет входа разрешения записи и поэтому функция выполняется в каждом цикле. Но в библиотеке eeprom esp8266 есть защита, если данные не изменились, то запись не происходит.
Bullhorse
Рядовой
Сообщения: 27
Зарегистрирован: 14 янв 2023, 19:07
Откуда: Астрахань
Имя: Александр

ESP8266+Flprog нет сохранения системного параметра.

Сообщение Bullhorse »

ОК, допилил. Теперь выполняется один раз при нажатии кнопки "Сохранить" . Но сохранения все равно не происходит.
eetest.flp
Отправлено спустя 2 часа 37 минут 28 секунд:
Все таки сохраняется! Если прочитать ячейку сразу после eeprom.begin
и где-то в коде затирается..
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Phazz
Полковник
Сообщения: 3169
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 240 раз
Поблагодарили: 128 раз

ESP8266+Flprog нет сохранения системного параметра.

Сообщение Phazz »

2023-01-15 01-26-05 FLProg-7.4.6.png
тут и затирается

Отправлено спустя 2 минуты 6 секунд:
[ref]Bullhorse[/ref], прочитайте сначала в переменную на старте программы, а потом сравнивайте уже эту переменную с пользовательским параметром

Отправлено спустя 2 минуты 28 секунд:
И вообще зачем вам эта переменная нужна? Используйте сразу пользовательский параметр в вэб
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Bullhorse
Рядовой
Сообщения: 27
Зарегистрирован: 14 янв 2023, 19:07
Откуда: Астрахань
Имя: Александр

ESP8266+Flprog нет сохранения системного параметра.

Сообщение Bullhorse »

Да, уже нашел ) И не только тут. Ещё нельзя убрать галочку в системном параметре "Значение по умолчанию", даже если её там нет. Кусок кода надо удалить ручками, как будто она там есть.

Отправлено спустя 6 минут 15 секунд:
Эксперимент показал, что первой надо делать отключаемую плату в которой читаются параметры из EEPROM
плата1.png
Отправлено спустя 6 минут 34 секунды:
Phazz писал(а): 14 янв 2023, 23:31 И вообще зачем вам эта переменная нужна? Используйте сразу пользовательский параметр в вэб
Я так и делал. Оно не сохранялось )
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Phazz
Полковник
Сообщения: 3169
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 240 раз
Поблагодарили: 128 раз

ESP8266+Flprog нет сохранения системного параметра.

Сообщение Phazz »

Bullhorse писал(а): 14 янв 2023, 23:45 Эксперимент показал, что первой надо делать отключаемую плату в которой читаются параметры из EEPROM
просто ставите в начале проекта и через rtrig подключаете. Не нужен тут таймер вообще
Bullhorse
Рядовой
Сообщения: 27
Зарегистрирован: 14 янв 2023, 19:07
Откуда: Астрахань
Имя: Александр

ESP8266+Flprog нет сохранения системного параметра.

Сообщение Bullhorse »

Phazz писал(а): 14 янв 2023, 23:31 И вообще зачем вам эта переменная нужна? Используйте сразу пользовательский параметр в вэб
Теперь так и работает. Более того, не понял что произошло, но для типа данных string в системном параметре, не нужно больше удалять код загрузки значения по умолчанию, оно заработало. Для BYTE уже нет сил проверять
Bullhorse
Рядовой
Сообщения: 27
Зарегистрирован: 14 янв 2023, 19:07
Откуда: Астрахань
Имя: Александр

ESP8266+Flprog нет сохранения системного параметра.

Сообщение Bullhorse »

Проблема со значениями по умолчанию решается перезагрузкой компьютера целиком. Т.е. это баг Flprog 8.0.0, который еще и кэшируется виндой.
Ответить

Вернуться в «Начинающим»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость