Алексей
Судя по имени функции, она сразу возвращает управление
Evgeniy
это не удобно же - как тогда это может стабильно работать вообще
Evgeniy
не ясно как это вообще может быть полезно для любых применений
Алексей
Асинхронные функции?
Evgeniy
Допустим передаю поток байт, разбиваю его на чанки по 1024 байт - как можно не дожидаться завершения передачи предыдущего, перед тем как отправлять следующий? Вообще не понятно, в какой то момент перестанет же работать
Алексей
Допустим передаю поток байт, разбиваю его на чанки по 1024 байт - как можно не дожидаться завершения передачи предыдущего, перед тем как отправлять следующий? Вообще не понятно, в какой то момент перестанет же работать
Если поток занимается только отправкой данных, то может быть и не нужно. Но поток может заниматься расчётами, сбором информации и ему нужно отправить данные. Зачем ему ждать?
Evgeniy
Это не решает проблемы! У меня таск ничем не занят, кроме чтения из streambuffer и отправки по websockets
Evgeniy
И это нормальный способ применения
Алексей
Если так, то разницы нет. И то, и то, нормальные способы применения. Иногда удобнее синхронные функции, иногда асинхронные. Они как правило идут комплектом.
Evgeniy
Придется из IDF 4.4 выдернуть и пропатчить 4.3.2 😁
Evgeniy
Там явно есть синхронный способ
Evgeniy
(или признать, что сам в коде на*уевертил и вернуться на 4.4)
ok-home
ok-home не подскажите, httpd_ws_send_frame_async() - эта функция блокируется, пока не будут переданы данные или сразу возвращается? В документации не указано, и подозреваю что для прозрачного режима будет полезно подождать, пока закончится отправка, перед тем как выгребать из очереди следующий чанк по 1024 байт
судя по составу пакета на передачу - нет, не блокирующая. у меня отправки короткие и в одном фрэйме может быть несколько отправок. у меня ws забирает пакеты из очереди, поэтому проблемы нет. Точнее там блок на самом тср стоит, wsasync сбрасывает в буфер сокета тср до пока не заполнится, в этот момент может блокироваться до физической отправки пакета.
Evgeniy
Именно httpd_ws_send_frame_async() заблокируется?
ok-home
в 5 esp ws есть с callback, и явно блокирующие и неблокирующиеся функции
ok-home
Именно httpd_ws_send_frame_async() заблокируется?
так она простая - формирует заголовок отправляет и формирует пакет данных и отправляет - стандартными сокетами
Serjio
Там, как я понял, либо на нуле иголки, либо на 100%.
Evgeniy
RC цепочкой сгладить и нет проблем
Serjio
Ну то, что я проблем не вижу, не означает, что их нет. Для каких-то случаев, наверное, бывает критично. Человек там сказал, что шлак это - этот наш esp. Раздосадованный этими иголками.
Evgeniy
Любопытно - для чего он применяет ШИМ на ESP
2319
Любопытно - для чего он применяет ШИМ на ESP
Не крутить вентилятором? Не?
Evgeniy
Тогда иголки по барабану
Василий
Любопытно - для чего он применяет ШИМ на ESP
в 95% случаев - регулить яркость светодиодной подсветки)
Василий
остальные 5% - управление нагрузкой через транзистор)
Evgeniy
тогда сново иголки по барабану)
Василий
как раз таки нет
Василий
иголки на подсветке будут оч видны
Василий
на нагрузке пох
Василий
а вообще иголки - это косяки программные. подозреваю что проблема где-то в алгоритмах
ok-home
иголки на подсветке будут оч видны
никогда не делал, но с физикой и физиологией человека это как то слабо вяжется
Василий
давно уже вроде вылизали шим
sat
чего за иголки вы обнаружили
sat
на какой ESP
sat
есть картинка с осцилографа?
Uladzimir
а вообще, чисто теоретически. Где-нибудь в регистре число для заполнения ШИМ от 0 до 255 (256 уровней) - это физически должно быть от 1 до 256 заполнение (иголки на нуле), или от 0 до 255 (иголки на максимуме)?
Uladzimir
или в "правильном" шиме делитель на 255 должен быть?
sat
0- 4095 для esp32
sat
градаций ШИМ
sat
да какая нужна, но для практики 4095
Алексей
255?
sat
FF
Алексей
0xFF = 255
Алексей
Странно, но ладно :)
Uladzimir
просто проблема в том, чтопериод разбит на 256 (4096) частей (степень двойки)
Uladzimir
поэтому технически там можно либо 0-255, либо 1-256 заполнять (0-4095 либо 1-4096)
Uladzimir
и где-то иголки должны да быть
Uladzimir
по идее, правильно разбивать на 2^N - 1 частей, где N - разрядность
Uladzimir
возможно, на каких-то железках оно так и сделано
BlueBeard
для esp8266 есть более продвинутая шим либа https://github.com/StefanBruens/ESP8266_new_pwm
Marat
Когда у заказчика нет денег на нормального разработчика, нанимают меня. 😂
Nikolay
Nikolay
Прям заинтриговал? Это usp хаб?
Uladzimir
несущественно
Marat
что это, Бэрримор?
Контроллер для ****. :) Вся внешняя переферия по usb подключается, экран через rj45, такое тз было. 😄
Uladzimir
я больше пытался мысль высказать, что диапазон должен делиться на 2^n - 1 частей
Uladzimir
а не на 2^n
Василий
Ого, в точку.
ну очевидно же)
Василий
лишь бы не мариванной)
Василий
огурчики там, пармидорки)
Marat
Не, это возможно в школы попадет.
Василий
О_о
Василий
Мариванна в школы попадет? Апасно)
Marat
Ну что там будут выращивать ученики/учителя уже не мое дело. :)
Василий
Ну что там будут выращивать ученики/учителя уже не мое дело. :)
будем думать что ты задумывал хороший умысел)
Marat
Цветной LCD экран прикрутил, приложение для телефона. Следующий этап web сервер.
Marat
Mit app. :)
Василий
Лентяй)
Василий
Делай на котлине)
Andy
Ого, в точку.
Делал такое на заказ лет 5 назад или больше. Только датчики были на nRf24L, 50 что ли штук было, точно уже не помню :)
Marat
Делаю дома инвентаризацию, нашел несколько bme280, они теперь как золото стоят. :)
Василий
все стм что у меня есть - теперь хрен купишь за адекват цену)