ESP8266+Flprog нет сохранения системного параметра.
-
- Рядовой
- Сообщения: 27
- Зарегистрирован: 14 янв 2023, 19:07
- Откуда: Астрахань
- Имя: Александр
ESP8266+Flprog нет сохранения системного параметра.
Немного истории - потом будет понятно зачем.
пилил проект пару дней.. esp, естественно, торчала в usb. Чуть добавил блоков в плату - перестал подниматься wifi. Недолго думая, что плата перетягивает много времени на себя, ручками вставлял в arduino ide код, выполняющий плату раз в секунду. Проект закончил, добрался до сохранения настроек при помощи блока "запись системного параметра" и выяснил, что параметр сохраняется только до перезагрузки контроллера. Накидал новую маленькую плату с сохранением одного системного параметра типа string и обнаружил, что оно тоже не сохраняет навсегда..
при помощи serial.println выяснилось, что контроллер бесконечно выполняет этот кусок в начале лупа.
[spoiler]
void loop()
{
ESPControllerWifi_tspWebServer.handleClient();
if (isNeededCommitESP8266EEprom)
{
EEPROM.commit();
isNeededCommitESP8266EEprom=0;
}[/spoiler]
Тормоза проекта, видимо, отсюда и растут. Что делать-то? Памяти esp уже хана?
пилил проект пару дней.. esp, естественно, торчала в usb. Чуть добавил блоков в плату - перестал подниматься wifi. Недолго думая, что плата перетягивает много времени на себя, ручками вставлял в arduino ide код, выполняющий плату раз в секунду. Проект закончил, добрался до сохранения настроек при помощи блока "запись системного параметра" и выяснил, что параметр сохраняется только до перезагрузки контроллера. Накидал новую маленькую плату с сохранением одного системного параметра типа string и обнаружил, что оно тоже не сохраняет навсегда..
при помощи serial.println выяснилось, что контроллер бесконечно выполняет этот кусок в начале лупа.
[spoiler]
void loop()
{
ESPControllerWifi_tspWebServer.handleClient();
if (isNeededCommitESP8266EEprom)
{
EEPROM.commit();
isNeededCommitESP8266EEprom=0;
}[/spoiler]
Тормоза проекта, видимо, отсюда и растут. Что делать-то? Памяти esp уже хана?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Phazz
- Полковник
- Сообщения: 3169
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 240 раз
- Поблагодарили: 128 раз
- Phazz
- Полковник
- Сообщения: 3169
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 240 раз
- Поблагодарили: 128 раз
ESP8266+Flprog нет сохранения системного параметра.
Все верно, у вас нет входа разрешения записи и поэтому функция выполняется в каждом цикле. Но в библиотеке eeprom esp8266 есть защита, если данные не изменились, то запись не происходит.
-
- Рядовой
- Сообщения: 27
- Зарегистрирован: 14 янв 2023, 19:07
- Откуда: Астрахань
- Имя: Александр
ESP8266+Flprog нет сохранения системного параметра.
ОК, допилил. Теперь выполняется один раз при нажатии кнопки "Сохранить" . Но сохранения все равно не происходит.Отправлено спустя 2 часа 37 минут 28 секунд:
Все таки сохраняется! Если прочитать ячейку сразу после eeprom.begin
и где-то в коде затирается..
Все таки сохраняется! Если прочитать ячейку сразу после eeprom.begin
и где-то в коде затирается..
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Phazz
- Полковник
- Сообщения: 3169
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 240 раз
- Поблагодарили: 128 раз
ESP8266+Flprog нет сохранения системного параметра.
Отправлено спустя 2 минуты 6 секунд:
[ref]Bullhorse[/ref], прочитайте сначала в переменную на старте программы, а потом сравнивайте уже эту переменную с пользовательским параметром
Отправлено спустя 2 минуты 28 секунд:
И вообще зачем вам эта переменная нужна? Используйте сразу пользовательский параметр в вэб
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Рядовой
- Сообщения: 27
- Зарегистрирован: 14 янв 2023, 19:07
- Откуда: Астрахань
- Имя: Александр
ESP8266+Flprog нет сохранения системного параметра.
Да, уже нашел ) И не только тут. Ещё нельзя убрать галочку в системном параметре "Значение по умолчанию", даже если её там нет. Кусок кода надо удалить ручками, как будто она там есть.
Отправлено спустя 6 минут 15 секунд:
Эксперимент показал, что первой надо делать отключаемую плату в которой читаются параметры из EEPROM Отправлено спустя 6 минут 34 секунды:
Отправлено спустя 6 минут 15 секунд:
Эксперимент показал, что первой надо делать отключаемую плату в которой читаются параметры из EEPROM Отправлено спустя 6 минут 34 секунды:
Я так и делал. Оно не сохранялось )Phazz писал(а): 14 янв 2023, 23:31 И вообще зачем вам эта переменная нужна? Используйте сразу пользовательский параметр в вэб
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Phazz
- Полковник
- Сообщения: 3169
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 240 раз
- Поблагодарили: 128 раз
ESP8266+Flprog нет сохранения системного параметра.
просто ставите в начале проекта и через rtrig подключаете. Не нужен тут таймер вообщеBullhorse писал(а): 14 янв 2023, 23:45 Эксперимент показал, что первой надо делать отключаемую плату в которой читаются параметры из EEPROM
-
- Рядовой
- Сообщения: 27
- Зарегистрирован: 14 янв 2023, 19:07
- Откуда: Астрахань
- Имя: Александр
ESP8266+Flprog нет сохранения системного параметра.
Теперь так и работает. Более того, не понял что произошло, но для типа данных string в системном параметре, не нужно больше удалять код загрузки значения по умолчанию, оно заработало. Для BYTE уже нет сил проверятьPhazz писал(а): 14 янв 2023, 23:31 И вообще зачем вам эта переменная нужна? Используйте сразу пользовательский параметр в вэб
-
- Рядовой
- Сообщения: 27
- Зарегистрирован: 14 янв 2023, 19:07
- Откуда: Астрахань
- Имя: Александр
ESP8266+Flprog нет сохранения системного параметра.
Проблема со значениями по умолчанию решается перезагрузкой компьютера целиком. Т.е. это баг Flprog 8.0.0, который еще и кэшируется виндой.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость