Pull to refresh
2
0.1
Павел @osmanpasha

Программист

Send message

Нотификации без подтверждения это само собой, но там на более нижнем уровне (LL) все равно стороны обязательно чередуются и каждый следующий пакет подтверждат предыдущий (битами SN и NESN).

Скорость прошивки nRF52 может быть низкой не из за BLE, а из за внутреннего флеша, там же есть задержки при сохранении страниц.

Да, наверное вы правы

Но признаю, используя все фичи BLE на обоих микроконтроллерах (2M Phy, Data length extension), в этой же статье была достигнута скорость 1371 Кбит/с (170 КБ/с) при теоретическом пределе в 1400.

Это вероятно специально настроенные железки, где все включено и тюнингованно. И iOS, и Андроид, насколько я знаю, имеют ограничения на Connection interval и не используют этот интервал полностью, что сильно ограничивает производительность BLE.

Нашел вот такую статью, где на 1М Phy выжали 478 Кбит/с (60КБ/с) при теоретическом лимите в 660 КБит/с, но оба девайса - микроконтроллеры nrf52 со вручную настроенными тайминигами. Для сравнения практический пример: когда андроид-приложение nRF Connect заливает прошивку на тот же микроконтроллер nRF52, скорость выходит около 5Кб/с.

Да и честная скорость уж точно не 2к, наушники же прекрасно передают звук, как через пропритарные кодеки поверх BLE, так и используя кодеки BLE.

Вы про BLE Audio с телефона на наушники? Если честно, еще не держал таких в руках, но думаю, что там OS подкручивает параметры BLE так, как не доступно простому приложению.

Мегабит в BLE это низкоуровневая скорость передачи одного пакета. Ради Low Energy между пакетами вставлена куча пауз, полудуплексность, подтвеждение каждого пакета, в итоге от мегабита остаётся от силы пара кбайт/с, в лучшем случае - несколько десятков кбайт/с, если устройства поддерживают все последние стандарты и разрешают приложениям выставлять минимальные тайминги

Думаю, имеется в виду, что сам по себе USB-C ничего из этого не гарантирует. Вполне может оказаться, что в конкретном девайсе с USB-C работает только USB 2.0 и 5V2A. Все эти вкусности требуют нового стандарта USB, а стандарт уже требует новый разъем.

Датчики холла токовые не рассматривали?

Открывать все подряд порты потенциально вредная идея, мало ли что устройства будут делать при подключении. Ардуино и подобные платы, например, перезагружается.

Лучше привязаться к VID/PID (как минимум это сократит количество устройств, подвергающихся подключению), а ещё лучше заменить в прошивке название устройства, серийный номер, на что-то свое уникальное, привязываться к этому. В RP2040 нативный USB, должен позволять такое.

Можете ссылок кинуть? А то там ещё разобраться надо, кто профильный, а кто - диванный.

Ну я тоже не очень знаком с номенклатурой; вот то, что часто в ESP32 модули ставят (т.е. относительно недорогое): APS6404L, LY68L6400, ESP-PSRAM64H. Вроде это все 64Мбит, должно с запасом хватить. По идее, флэш кроме числа перезаписей должна быть еще заметно медленнее, чем RAM, особенно на запись

Спасибо!

А как понять, сколько линий нужно дисплею? Я находил фото платы от своего принтера, там сильно больше дифпар, чем 3 или 4.

Скрытый текст

Может, все же SPI RAM использовать для хранения экранного буфера? Использовать для этого флэш как-то звучит,.. неправильно.

Недостаточно просто подавать видеосигнал. Следует записать нужные значения в регистры драйвера экрана

А откуда конвертер RGB-MIPI или HDMI-MIPI берет эти данные? МК присылает по упомянутому в статье SPI?

Почитать про то, как делать такой реверс - очень интересно, для саморазвития. Но для хобби-поделок я бы взял экран, с которым меньше всего геморроя (так что как найти такой экран, тоже интересно)

Тема таких экранов меня заинтересовала, когда я купил фотополимерный принтер и узнал, что даже принтеры начального уровня имеют FPGA для отправки данных в экран. Появился вопрос, а нельзя ли вместо свзяки MCU+FPGA с глючными закрытыми прошивками использовать одноплатник типа малины/апельсинки, и выводить картинку как на обычный дисплей... Но в целом, эта идея выглядит сильно больше, чем у меня есть знаний и свободного времени.

Получается, произвольный DSI экран можно подключить к конвертеру и пускать RGB данные? Я когда-то слегка изучал тему подключения CSI камер к RPi, и, насколько я понял, у камер регистры конфигурации свои у каждого производителя, и для официально поддерживаемых RPi камер чуть ли не свои блобы в дистрибутиве зашиты. С экранами нет такой шляпы?

Ни разу не олимпиадный программист, но по идее, для решения таких задач давно придуманы специальные структуры данных, типа дерева интервалов . Это если вам таких проверок много надо делать. Если же проверка одна, то какая-то переусложненная реализация вышла, в духе "Hello world в кровавом ентерпрайзе".

Очень интересно, я бы почитал подробностей!

Там вполне нормальный C++ с современными фишками, типа лямбд, auto и constexpr. В ядре Arduino не используется STL, но это потому что в avrgcc его нет, а в других архитектурах вполне есть, и в архитектурно-специфичных библиотеках он вполне используется.

Ну блин( Я тоже читал и удивлялся, зачем одну единственную кнопку писать отдельным приложением, Дак мало того что никаких доказательств не приведено, так ещё и с кнопкой наврали(

Не будет. Даже если не пользоваться, увеличенное время загрузки этого монстра, например, никуда не денется. Во-вторых, эти ИИ-функции будут чуть ли не из экрана на вас выпрыгивать, как рекламные баннеры на веб-страницах в нулевые. Каждый день открываешь программу - получи предложение на весь экран о новых функциях, выполнил команду - получи сообщение о том, что то же теперь можно сделать через ИИ. На работе недавно добавили Copilot 360 (или как его там) во все приложения офиса, опыт примерно такой.

асинхронная загрузка картинок одной строчкой в qml и ещё по мелочи.

Дак а нельзя то же самое делать на Qt, но на Андроиде?

1
23 ...

Information

Rating
4,255-th
Registered
Activity

Specialization

Software Developer, Embedded Software Engineer
Python
C
C++
Git
Linux
English