Vlad
Спасибо, сохраню
Mike
Твердотельному реле (omron 202) всё равно что размыкать - ноль или фазу?
Mike
хз, но недураки в электрике размыкают фазу
Релюхе твердотельной - пофигу? Вопрос именно про это
romanetz
Релюхе - пофигу
Slava
у кого нибудь есть проблемы с этой библиотекой на есп32? внезапная перезагрузка например?
Slava
у кого есть - спрашивайте. я разобрался.
Slava
вкратце... ключевое слово ICACHE_RAM_ATTR заменить на IRAM_ATTR
Andy
вкратце... ключевое слово ICACHE_RAM_ATTR заменить на IRAM_ATTR
Типа код прерываний уходил из кэша и поэтому оно падало?
Slava
Типа код прерываний уходил из кэша и поэтому оно падало?
я смутно представляю что эти реквизиты значат, наверно так и есть
Andy
я смутно представляю что эти реквизиты значат, наверно так и есть
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/storage/spi_flash.html#iram-safe-interrupt-handlers
Slava
а как ты сделал, что описание на русском?
Slava
спсб
Юрий
у кого нибудь есть проблемы с этой библиотекой на есп32? внезапная перезагрузка например?
Делал на базе этой библиотеки шлюз на esp8266 https://youtu.be/iTRvZKADHLA, норм все, я брал только raw данные, мне показалось это удобней, хотя все виды пультов не проверял.
Slava
Делал на базе этой библиотеки шлюз на esp8266 https://youtu.be/iTRvZKADHLA, норм все, я брал только raw данные, мне показалось это удобней, хотя все виды пультов не проверял.
на 8266 я такой проблемы не замечал, но и тестил мало, мне ресурсов 8266 не хватает, переделал что было на есп32
Юрий
Да 32 с забубонами, валится часто, 10 часов работает, херак краш, я пока не пойму как разбирать ту кадабру🤯
SetPf
Кто делал кастомные обвязки драйверов. Возможно что бы на родном драйвере (SPI) висело несколько рабов и соответственно несколько прикладных задач.
SetPf
У себя хочу на пины SD карты повести RTC какую микру.
Sergey
вкратце... ключевое слово ICACHE_RAM_ATTR заменить на IRAM_ATTR
на 8266 сталкивался, тоже самое помогло
Slava
myString.indexOf(val); если в val есть символ *, indexOf это как-то особенно воспринимает?
Василий
если не указано что его как то особенно воспринимать - то нет
Slava
а это как?
Slava
я ищу rf.indexOf("*4*") и он кажется не то находит
Василий
что говорит описание функции ?
Василий
а - это - "*4*" - ты типа хочешь найти 4ку в любом месте ?
Slava
не нашел, что бы звездочка что-то значила получается как в поисковых системах, звездочка заменяет что угодно нет я именно ищу в тексте текст "*4*"
Василий
тогда * должна обьявлена быть в процедуре как специальный символ - замещения любых NNх символов
Василий
если не нашел - то тогда это просто текст - его и должно искать
Slava
щас буду разбираться когда искал более длинные коды например *363423* работало
Василий
а какой язык -?
Slava
ардуино ide
Slava
if (rf.indexOf(_kod_) < 0){
Василий
как бы Метод indexOf() возвращает индекс первого вхождения указанного значения в строковый объект String, на котором он был вызван, начиная с индекса fromIndex. Возвращает -1, если значение не найдено.
Slava
вот, про звёздочку ни слова
Василий
ну да
Василий
должно искать просто текст что написан
Slava
indexOf правильно работает, это я накосячил чуть ниже в своём говнокоде
Алексей
rf.indexOf("/*4/*")
Slava
rf.indexOf("/*4/*")
уже нашел косяк у себя, indexOf правильно работает
MrSyabro
Привет! Не могу разобраться с OTA в esp-idf.. Интересует, как обновить прошивку после первого обновления (загрузки образа программы в память)
MrSyabro
Я ведь правильно понимаю? Есть 3 исполняемых раздела в памяти: factory (первичная прошивка, загружающая основной образ), и 2 раздела с основными образами?
MrSyabro
Что бы заново проверить обновления и обновить основные образы нужно заставить плату загрузиться с factory?
Юрий
Привет! Не могу разобраться с OTA в esp-idf.. Интересует, как обновить прошивку после первого обновления (загрузки образа программы в память)
Есть же пример для OTA, работает, легко переносится на свой проект, главное разметить правильно.
MrSyabro
У меня прошивка становится 1.3М
MrSyabro
Когда я переношу пример ОТА в свой проект
Юрий
А до переноса сколько?
Юрий
Это всмысле bin?
MrSyabro
0.8~
MrSyabro
да
MrSyabro
А до переноса сколько?
Дело в том, что основная прошивка работает через блютуз, а я хочу добавить использование вайфай и ота обновления
MrSyabro
Т.к. устройство будет герметично закрыто
Юрий
В принципе пример ОТА и Web подтягивает, может и увеличивается на 500
Алексей
Приветствую что то не могу решить проблему, у меня меню, использую switch. Так вот мне нужно сделать так что когда я в нулевом кейсе и нажата кнопка в лево что бы я попадал в 6 кейс, Тоесть при нажатии на кнопку в право я по свечу аподвигаюсь и при достижении максимального значения 6 и нажав еще раз я возвращаюсь в нулевой кейс, Тоесть кручусь по кругу, а вот как сделать в другую сторону тоже самое не могу
MrSyabro
В принципе пример ОТА и Web подтягивает, может и увеличивается на 500
и судя по примеру, получается, что в памяти будет 3 образа храниться?
MrSyabro
Или можно разделить на 2 ота по 1.5М?
Юрий
У меня factory 1M и ota_0 1M, все работало, но когда размер прошивки приблизился к 1М стало неустойчиво входить в обновление, ещё не смотрел почему.
Yuriy
и судя по примеру, получается, что в памяти будет 3 образа храниться?
Вообще два ota раздела достаточно. Они попеременно используется.
Yuriy
А factory зачем?
Это если оно есть - некое приложение которое вообще не обновляется (условно) не содержит багов (так же условно) и загружает основное.
MrSyabro
понял
MrSyabro
т.е., в идеале, просто 2 одинаковых раздела для основной проивки, которая и занимается обновлением сбя же?
Yuriy
т.е., в идеале, просто 2 одинаковых раздела для основной проивки, которая и занимается обновлением сбя же?
Да, обычно этого достаточно. Обновляет она соседний раздел и если успешно это производит , ему передается управление при следующем запуске. И так далее - активный раздел поэтому чередуется
Юрий
У тебя только в factory и в ota_0 одна и та же прошивка разных версий?
factory это и есть основная, начинается с 0x10000, в идеале должно быть наверное 2 Ота, если в процессе перепрошивки что-то пойдет не так, чтоб не запороть основной раздел.
MrSyabro
Это получается aka бутлоадер верхнего уровня?
ПОлучается бутлоадер первого старта
Yuriy
Это получается aka бутлоадер верхнего уровня?
Вообще да, его задачи скачать последнюю версию ПО и сервисные функции на случай "все пропало" ничего не работает - хард резета
Yuriy
factory это и есть основная, начинается с 0x10000, в идеале должно быть наверное 2 Ота, если в процессе перепрошивки что-то пойдет не так, чтоб не запороть основной раздел.
Он и так всегда пишет в соседний, сам себя запороть он не может . В 4мб и так получается места не о чем, чтобы три ota держать
Юрий
Он и так всегда пишет в соседний, сам себя запороть он не может . В 4мб и так получается места не о чем, чтобы три ota держать
Смотря какие размеры, их там до 15 может быть. И что значит в соседний? Есть ota и есть рабочая, какой ещё соседний?
Ivansuper
Смотря какие размеры, их там до 15 может быть. И что значит в соседний? Есть ota и есть рабочая, какой ещё соседний?
Два ОТА раздела. Один из них выполняется, обновление пишется в рядом лежащий "соседний"
Юрий
Так это когда их 2, а если 1
Ivansuper
Когда 1, то туда писать должен код из factory раздела
Ivansuper
Просто под собой ты код не поменяешь
Ivansuper
Вот было бы у нас хотя бы 2МБ RAM, было бы возможно
Ivansuper
Вообще не понимаю, как в наше время можно до сих пор с таким колвом оперативки делать чипы. Позор какой то