Jh
Да может у тебя провода просто напросто говно. С чем есп падает то ты хотя бы узнал
Устройство было перезагружено из-за программного панического сбоя. Это обычно происходит, когда в программе возникает необработанное исключение или другая серьезная ошибка.
Tonchik
Да может у тебя провода просто напросто говно. С чем есп падает то ты хотя бы узнал
Есть подозрение, что есп софтварно считывает показания пвм и на 25кгц ложится от прерываний, там бы hw pulse counter в таком случае бы подтянуть. Но UART стабильнее будет
ㅤ
Да хз я гадать не хочу что у него там. Может быть brownout, может быть taskwatchdog timeout. Хрен знает его, пусть узнает
ㅤ
25кгц херня
Jh
Случаем не wdt ?
а как проверить?
ㅤ
а как проверить?
Лог посмотреть который он плюет в момент падения
Jh
Лог посмотреть который он плюет в момент падения
Он выдает вот такое : Устройство было перезагружено из-за программного панического сбоя. Это обычно происходит, когда в программе возникает необработанное исключение или другая серьезная ошибка.
Tonchik
а можно какуюнибудь нитку - где срисовать пример с uart?
Я чую тут чатгпт и копипаст кода в странном иде. Вот на JSе вариант. Не знаю, осилишь ли переписать в свой https://github.com/tonchikk/tsh-mongoose/blob/master/tsh-esp-js/fs_esp32/tsh_platform_init.js
ㅤ
😂😂 Повешай vtaskdelay(20) в лупе
20 много. 3-5 достаточно
ㅤ
Ужас какой
ok-home
20 много. 3-5 достаточно
Да я не уверен что в этом карточном программировании втаскделэй есть. А то и вертушкой реализуют ))
Евгений
это не чатгпт это программа flprog типа визуальное программирование
Ну вот и выяснили причину зависаний и падений...
Jh
это консоль?
ㅤ
это консоль?
А так у тебя вообще ошибка пользования памяти
Tonchik
Ну вот и выяснили причину зависаний и падений...
А меня еще извращенцем назвали 😂😂😂
ㅤ
Ядро в панике, где-то ты че-то убежал за пределы
ㅤ
Может по нулевому адресу обращаешься, может ваще по левому и так далее. jtag в руки и дебаж
Jh
ну самое тут главное, что при программном отключении этого датчика все пашет без перезагрузок. ребут возникает именно при опросе датчика. иногда не возникает
ok-home
типа много переменных в еепром?
Опять таки нифига в этом не понимаю. Но CO2 может объявить нужно ?
ㅤ
Ну написано же LoadProhibited. Идет считывание с неверного адреса. Внутри либы косяк. Подключаешь jtag и отлаживаешь. В чем проблем ато
ㅤ
Ну можешь принтфами проблемные места обложить по старинке
ㅤ
Если между двух притфов падает то смотреть что там и так далее
Jh
а ну с принтф мне понятно)))
Евгений
Я с этими датчиками не работал, но это нормально что он их опрашивает в каждом обороте лупа? Они не захлебываются запросами?
Agent
в другой части программы описано, что опрос разрешается раз в минуту, на 1 секунду.
И сколько раз за эту секунду он успевает попытаться опросить?
Tonchik
По PWM никакого опроса нет. ESP считывает постоянно входящий PWM сигнал. По докам при таком подключении я не видел никакого (полу)дуплекса по одному проводу. Тоесть считывать PWM можно бесконечное количество раз в секунду. Датчик об этом не узнает. Более того даже считывание несколько раз в секунду по UART, именно его ограничение касается, не приводит к фатальным последствиям. Тупо сам датчик на команду «дай данные по UART» отвечает не сразу, а через пару секунд пачкой данных. Тут проблема явно на стороне ESP в измерении входящего PWM Если посмотреть в темноте, можно увидеть на просто включенном и не инициализированном датчике вспышки примерно раз в 3..5 секунд, это датчик сам зажигает диод и меряет. Первую минуту он инициализируются, поэтому в первую минуту работы можно попасть на абсолютно разные показания. Тем более я не отвечу тут за качество PWM
Agent
По PWM никакого опроса нет. ESP считывает постоянно входящий PWM сигнал. По докам при таком подключении я не видел никакого (полу)дуплекса по одному проводу. Тоесть считывать PWM можно бесконечное количество раз в секунду. Датчик об этом не узнает. Более того даже считывание несколько раз в секунду по UART, именно его ограничение касается, не приводит к фатальным последствиям. Тупо сам датчик на команду «дай данные по UART» отвечает не сразу, а через пару секунд пачкой данных. Тут проблема явно на стороне ESP в измерении входящего PWM Если посмотреть в темноте, можно увидеть на просто включенном и не инициализированном датчике вспышки примерно раз в 3..5 секунд, это датчик сам зажигает диод и меряет. Первую минуту он инициализируются, поэтому в первую минуту работы можно попасть на абсолютно разные показания. Тем более я не отвечу тут за качество PWM
А, я просто выше не читал в чем там суть😄 Ну если так, то да, без разницы, можно хоть каждый луп читать до бесконечности и ничего не случится. Скорее всего тут решением будет отказаться от визуального редактора кода и узнать что-то про программирование)
ㅤ
А чем 15 плох?
Не знаю. Но я поражен что никто даже читать не умеет. Пины меняют. В дампе написано LoadProhibited. Что означает ошибку при работе с указателями.
Agent
Не знаю. Но я поражен что никто даже читать не умеет. Пины меняют. В дампе написано LoadProhibited. Что означает ошибку при работе с указателями.
Ну так конечно - пойди найди эти ваши указатели в визуальном редакторе😂 уж лучше пин поменять, вдруг повезет)
ㅤ
Ну так конечно - пойди найди эти ваши указатели в визуальном редакторе😂 уж лучше пин поменять, вдруг повезет)
Да, скока там еще маневров для творчества. Ещё можно плату, провод, компьютер, розетку
Agent
Да, скока там еще маневров для творчества. Ещё можно плату, провод, компьютер, розетку
Правильно - может сосед там варит и из розетки помехи прилетают
Agent
Суп
Этого лучше не знать - мало ли какой-нибудь запрещенный суп...
ㅤ
Ха там ещё и стек порушен. Поди значит где-то за перделы буфера убежал
Александр
А чем 15 плох?
GPIO 2, 5, 12, 15, имеют “Strapping Pin Functions” / “Биты обвязки“. Это означает, что состояние этих выводов считывается процессором по время работы системы сброса микроконтроллера (в том числе сброс при включении питания, сброс по сторожевому таймеру RTC и сброс по BrownOut). Защелки на этих выводах удерживают логические уровни до тех пор, пока микропроцессор не будет перезапущен. (с) Не знаю как к использованию таких пинов может относится система визуального программирования.
Александр
Ок. Не буду. Но знать и учитывать это при выборе пинов, все же стоит. 15 пин вроде отрубает только стартовый дебаг уарт. Вроде ничего особенного можно работать,
ㅤ
Ок. Не буду. Но знать и учитывать это при выборе пинов, все же стоит. 15 пин вроде отрубает только стартовый дебаг уарт. Вроде ничего особенного можно работать,
Нет, GPIO15 (MTDI) отвечает за выбор напряжения флешки (1.8 или 3.3) . Все страпы считываются ROMом при старте и выставляют нужный конфиг. Далее пины юзаются по своему умотрению
ㅤ
Могу ошибаться но помоему это 5. не?
5 это MTDO (он за лог отвечает, да)
Agent
Нет, GPIO15 (MTDI) отвечает за выбор напряжения флешки (1.8 или 3.3) . Все страпы считываются ROMом при старте и выставляют нужный конфиг. Далее пины юзаются по своему умотрению
15 это MTD0, но смысл не в этом. Вот конкретно на его состояние вообще пофиг. И вообще из них только по 12 с низким уровнем не будет запускаться, а об остальных можно особо не париться. Ну и GPIO0 конечно-же, но об этом не стоит говорить даже)
ㅤ
GPIO5 отвечает вроде за тайминг флешки че-то такое.
Agent
Ну и уж конечно не может быть такого, что на каком-то пине проблема уже в процессе работы! Их состояние имеет какое-либо значение ТОЛЬКО в момент запуска. Короче бред, как и было сказано.
ㅤ
Ну и уж конечно не может быть такого, что на каком-то пине проблема уже в процессе работы! Их состояние имеет какое-либо значение ТОЛЬКО в момент запуска. Короче бред, как и было сказано.
Знаешь, а я пару раз сталкивался с тем, что вот объясняешь человеку что это тут не причем. Он не слушается, меняет пин и вдруг оно у него волшебно начинает работать. Может просто контакт херовый был или еще че. Так вот вокруг сразу все дураки)
ㅤ
Кстати, а почему если язык визуальный, то там какой-то код вручную написан. Зачем изначально тогда этот флпрог юзать если там писать всеравно нужно?
Agent
Кстати, а почему если язык визуальный, то там какой-то код вручную написан. Зачем изначально тогда этот флпрог юзать если там писать всеравно нужно?
Да хрен его знает - не юзал не разу этот бред. Как раз недавно прикол - заявка прилетела на разработку устройства с прошивкой в флпрог)) Я говорю - вы там в адеквате вообще?)
ok-home
он объявлен. показания считывает.
Хранится где нибудь. Типа массива ? И кстати по какому признаку определяет что данные считались ? Не в этом блоке а там где хранить или печатаешь
Jh
раз в 10 секунд ... 10мин дается разрешение послушать pwm и когда данные получены дается разрешение на запись в integer
Dok38
Уважаемые, здравствуйте. Ткните мордой лица в алгоритм проверки доступности сервера блинк? Суть момента : есть удалённый объект, на нём термостат (esp8266) , подключение - вафляй (роутер сотового оператора), но! До БСки оператора есть участок радио канала и на этом участке рандомно (погодно) происходит обрыв связи. Термостат по вафляю подключен и повода для реконекта нет. Но и связи нет до тех пор, пока не перезапустишь либо роутер либо саму esp8266. Как проверить доступность сервера?
Евгений
Это же надо сколько работы проделано! Я про разработчиков этого фл-прога. Это же все эти картинки надо понять, распарсить и откомпилять... И главное пользы то как от подкованной блохи или вырезания гланд через задницу... Ну вроде молодцы - а для чего?
ok-home
раз в 10 секунд ... 10мин дается разрешение послушать pwm и когда данные получены дается разрешение на запись в integer
ну и co вроде как имеет тип float а не integer - и все таки дальше это хранится в единственном экземпляре ? типа распечатали и забыли ?
Jh
Это же надо сколько работы проделано! Я про разработчиков этого фл-прога. Это же все эти картинки надо понять, распарсить и откомпилять... И главное пользы то как от подкованной блохи или вырезания гланд через задницу... Ну вроде молодцы - а для чего?
я например не тяну текстовые языки программирования. но мне интересно развить некий функционал. Я могу заказать православный код залить в контроллер и мне захочется немного изменить функционал. тогда что -? бегать искать того фрилансера? в очереди стоять? а так я сосредоточен на функционале, на том чем занимается мое изделие, а не на изучении языков программирования
Jh
ну и co вроде как имеет тип float а не integer - и все таки дальше это хранится в единственном экземпляре ? типа распечатали и забыли ?
в эту переменную больше никто не пишет. Ее саму печатаем в вэбинтерфейсе и шлем в телеграм
Tonchik
К сожалению, в данный момент, доя меня это тонкости... Я в начале пути 🫢
Тут в чем проблема , ты можешь делать что угодно, но под капотом коннективности в блинк надо проверять алгоритм коннекта. При этом ты можешь использовать неизвестную мне/нам библиотеку и подсказать про параметры никто не сможет