Yuriy
Ты прикинь сколько места надо на котиков
romanetz
А их (магистральники) дёргают почаще, иногда каждый день
Роман
всем привет, у SIM800L передача данных по TCP работает? Чет я находил инфу, что нифига не работает. Проблема в том, что он подключаается к серверу, после отправки данных отправляю 0X1A и все, данные не приходят, далее таймаут.
Ілля
Использую ESP8266MOD и следующие либы
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
#include <WiFiClient.h>
При запросе получаю HTTP Response code отрицательный, с чем это связано?
http.GET() => -11
Dmitriy
Блин((( заказал 2 шт cp2102, потом ещё две и ещё пять... первая партия норм, остальные-часть не реагирует, часть определяется криво....
Dmitriy
Уже все проверил, но походу бракованные партии
Anonymous
Ілля
По https обращаешся?
Http, как я понял это либа кидает свои ошибки. Они у нее пронумерованны от -1 до -11. Соответственно -11 READ_TIMEOUT, а я обращаюсь к ресурсу, который работает по long polling. Так что я решил просто игнорировать это)))
Anonymous
Приведи участок кода
Ілля
Anonymous
Если проверить через get запрос с помощью Postman - приходит ли ответ от сервера?
Ілля
Slava
🈴 млять, пол дня я парился с этим.
так не работает.
Andy
Void
Void
:) а если прерывания вкл то все норм?
Void
Cli и sai что это?
Void
При любом раскладе пиши свое, если не устраивает работа имеющегося.
Анатолий
Cli и sai что это?
асемблерные инструкции глобальный запрет и разрешение прерываний соответственно
Void
Анатолий
Void
Void
Void
Анатолий
Это же вообще си просто создали функции делающие то же самое и назвали как принято в асм чтобы не изобретать велосипед
Andy
Void
Анатолий
кто нибудь использовал хардварный счетчик импульсов?
WerdnaZX
Sid
Блин приехал esp32-c3 емс
Sid
Теперь хрен знает когда курьера ждать
WerdnaZX
SetPf
Чот у меня отвалился проект, вроде вчера собирался - работал, а теперь в цикле ребутится
rst:0x3 (SW_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:48
load:0x3fff0060,len:7500
load:0x40078000,len:21384
load:0x40080400,len:6224
entry 0x400806a8
I (57) boot: ESP-IDF v4.1-rc-15-gbd72a9ab2-dirty 2nd stage bootloader
I (57) boot: compile time 01:37:24
I (58) boot: chip revision: 1
I (62) boot_comm: chip revision: 1, min. bootloader chip revision: 0
I (69) boot.esp32: SPI Speed : 40MHz
I (74) boot.esp32: SPI Mode : DIO
I (78) boot.esp32: SPI Flash Size : 4MB
I (83) boot: Enabling RNG early entropy source...
E (88) flash_parts: partition 0 invalid magic number 0x2902
E (94) boot: Failed to verify partition table
E (99) boot: load partition table error!
ets Jun 8 2016 00:22:57
SetPf
Причем на всех платах.
Andy
Анатолий
это вопрос дискуссионный. практика даже форумов показывает что отвечают на короткие вопросы. стоит расписать задачу полностью и полное молчание в ответ. Кроме того вопрошающий может сам рыть информацию в других источниках и когда ему ответят конкретный вопрос будет не актуален, а мета вопрос все еще будет актуален
Andy
romanetz
Анатолий
Как лучше всего организовать остановку двигателя из прерывания? Т.е. нужно создать задачу с высоким приоритетом чтобы она выполниласть 1 раз и выключилась
romanetz
Флаг
romanetz
Или у основного конечного автомата сменить состояние
romanetz
Ну и на момент остановки в зависимости от управлять токами в обмотках - КЗ, противовключение, рекуперация...
romanetz
Или снижать частоту тока постепенно
Анатолий
нет там маленький шаговик никаких аварий не предусмотрено. Я читал что есть симафоры, только пока не нашел пример реализации
romanetz
а зачем они?
romanetz
у вас шаговик из нескольких мест в коде управляется что ли?
Andy
Анатолий
romanetz
а зачем тогда семафор?
Анатолий
Пока попробовал создать задачу в прерывании , а в конце самой задачи приостановить саму себя. Какие параметры задачи ставить, какой стек выделять и какие приоритеты мне доступны из самых высоких?
romanetz
🤔 дичь какая
romanetz
зачем?
Анатолий
А вы что предлагаете?
romanetz
можно разблокировать уже созданную, например
Анатолий
То-есть создавать задачу при запуске а потом ее запускать в прерывании и приостанавливать в конце самой задачи? А с каким приоритетом? Какой там самый высокий? 1?
Void
Andy
SetPf
SetPf
Завидую тем кто так может.
Dmitriy
Если код написан правильно, то его школьник сможет как книжку с упоением прочитать
SetPf
И тут мы такие открываем код IDF...
SetPf
Ой да, забыл, т.к. IDF написана с соблюдением кодстайла и соглашений, его родной API зачастую не до конца совместим с FreeRTOS функционалом, придется свои обертки писать.
Т.к. не все API блокающее задачу можно запихнуть в QueueSet
SetPf
Если чужой код для вас фу, вероятно, вы и сами пишете фу-код)
В конце концы не спроста существует code convention, style guides, паттерны проектирования и всяческие принципы
Если женщину изнасиловали, она сама наверное виновата (с).
Разве что в каком идеальном мире, где весь код это идеально архитектурно выверенные и спроектированные библиотеки, в которых всем юз-кейзам уделено внимание и качество.
Прекрасно написанная документация, освещающая все заковыристые и не очевидные моменты.
Но если вылезти из мультиков про цветных лошадей, оказывается что даже крупный проект типо тех-же Cpp оберток над IDF это просто много лет не поддерживаемое нагромождение чего либо, в документации которого написано "Лол ну тип работает" и неопределенной эрратой.
Апи которого представляет миниган с дилдаками из алика, балоном кокаколы, надписью можем повторить и кассовым аппаратом.
Ну что бы точно на все случаи жизни.
Dmitriy
Ну в мире жирного интерпрайза, где я работаю, видимо идеальный мир)
Но согласен, в мире сишников какой-то лютый холокост в коде, пишут как психически неуравновешенные курицы под спидами
SetPf
Ну вот к слову за С соглашусь, но это опять же змея пожирающая хвост, пишут так, потому, что переиспользование кода ввиду технических особенностей самого языка очень слабо.
Ты просто не вносишь столько чужого, что бы это серьезно требовалось.
Да и блин чего ожидать от языка, стандартная библиотека которого представляет из себя србски язк, а в самой массовой конвенции - функции и переменные пишутся в снейккейзом с маленькой буквы.
Анатолий
SetPf
Ну вам выше писали, управление сущностью в двух местах это не лучший прием. Хотя в короткой программе вполне приемлемо.
Если у вас что то большое - лучше откажитесь.
И такая формулировка так выглядит только сидя в контексте этого прерывания.
А надо бы смотреть на все целиком.
У вас производится цикл управления в таске и туда внезапно, в любой момент может вклинится функция и изменить состояние. Уже не так просто и радужно звучит.
SetPf
Поставьте флаг в прерывании, а в цикле просто проверяйте. Вам на булев который читается и пишется лишь в 1м месте даже мутекс не нужен.
Andy
AKE