Search
Write a publication
Pull to refresh
50
0
Егор Марков @aectaan

Rust developer

Send message

В целом справедливо утверждать, что если вендор заявил поддержку BLE5.x то это не значит, что он поддержал что-то кроме полосы в два мегабита. Очень часто встречаются чипы без банального Coded PHY. У меня сложилось впечатление, что наиболее полная поддержка именно у нордика.

Для сниффинга можно использовать btleplug, удобно пользоваться встроенным в лэптоп BLE. Или bluer-tools если код писать неохота)

А, ну и статья про подробный гайд для начинающих не единственная. Там цикл из 5 статей, который является переводом книги Моххамада Аффане "Intro to Bluetooth Low Energy". Книга кстати очень хорошая и распространяется бесплатно

Стоит отметить, что адвертайзинг в чистом виде позволяет передать всего пару десятков байт. Как правило этого недостаточно, и можно использовать scan-response пакеты. То есть observer может запросить дополнительную инфу и получить еще 20+ байт. Но важно помнить, что некоторые стеки (BlueZ например) не делают различия между адвертайзингом и скан-респонсом если в них используются manufacturer-specific UUID (0xFFFF). В таком случае стек может отдавать только ответ на запрос сканирования.

Другой путь - использовать extended advertising в BLE5.x - грубо говоря на стандартном канале адвертайзинга (37,38,39) передается "указатель" на обычный канал, в котором содержится до 254 байт широковещательной информации. Удобно, но далеко не все это поддерживают.

А для околосенсорных применений можно воспользоваться scheduled advertising и несколько сэкономить батарейку)

К сожалению после прибытия на конечную есть пробел в передаче данных, если это не кольцевая. Заметил в процессе написания статьи. Например 220 автобус появляется в GTFS фиде спустя 6 минут после фактического отправления с Крестовского острова

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

Вы готовы аргументировать необходимость каждой опции в этой стене текста безотносительно целевого проекта?

Вы готовы поручиться, что они нанесут больше пользы, чем вреда, не имея доступа к целевому устройству?

Вы бы еще спросили, где UART-CLI

Это темплейт для быстрого разворачивания на его базе полноценного проекта. Основная его цель - показать один из возможных путей переезда из вендорской IDE на эклипсе на открытый инструментарий, позволяющий организовать полноценный процесс CI/CD

Этот текст в очередной раз подтверждает тот факт, что все микроконтроллеры программируются абсолютно одинаково, если собирать код из самостоятельно написанных GNU make файлов.

Этот текст подтверждает лишь тот факт, что вы пока не работали с микроконтроллерами, которые программируются иначе. Простой пример - семейство DA1469X и подобные от Dialog Semiconductor (ныне Renesas). Так как там нет встроенной флэш-памяти и процесс прошивки конфигурируется в зависимости от NOR-flash, которую выбрали для проекта. И это мы говорим не про экзотику, такой же M-33. А ведь можно вспомнить, что есть еще RISC-V и для него процесс и инструментарий могут несколько отличаться.

Про то, что можно использовать OpenOCD уже говорили выше. Я в целом понимаю нежелание писать конфиги для него, но зачем использовать тулы с GUI для прошивки и клацать мышкой? Нереально, если в день прошивается несколько тысяч устройств на каждом джиге и бессмысленно, если это все можно заскриптовать. Наверное это возможно только для околокустарного производства во всяких НИИ и КБ, где собирается пара-тройка экземпляров и разработчика можно припрячь к потоковой прошивке и сборке.

Не могу не отметить также догматичность заявлений про единственно верный® способ отладки через UART-CLI. Тратить ресурсы (интерфейс, пины, прерывания, время) пожалуй можно, если нет требований к реалтайму и есть возможность заложить контроллер побольше, но зачем? И что делать, если свободных ресурсов нет, как и желания раздувать BoM партии на +100k$? Все то же самое можно провернуть через RTT абсолютно бесплатно. А для взаимодействия с МК после прошивки релизным бинарём и отключения SWD можно использовать mcumgr и любой из транспортов, который он поддерживает. BLE, UART, USB-CDC, сеть - что угодно, а при желании можно и своё завелосипедить.

Для учебы есть JLink-EDU. 7к - вполне достаточно за полноценный отладчик и чистую совесть.

Стоит на столешнице, высота примерно 900мм от пола. По поводу пыли: она есть, налетает немного бентонитовой в процессе подсыпки наполнителя котам. К сожалению, от этого никуда не деться. Но ее немного и чистка раз в год вполне решает проблему. Изначально планировал разместить на полке над входной дверью, заодно обеспечив прямое подключение к роутеру. Однако полка под него была бы достаточно громоздкой и супруга запротестовала. Но так как по прямой между роутером и nas только одна хлипкая дверь и 5 метров расстояния, а сеть только 5ГГц, то никаких различий с подключением кабелем не заметил.

Штатное крепление в корпусе. По температуре ок, даже когда йокта шуршит всеми 8 ядрами, не поднимается выше 60. В свободном режиме около 30

Санузел раздельный, в туалете сухо. Он в целом больше используется как кладовка/теплица для земляники в зимний период

Был свободный слот, воткнул в него карту с WiFi.

Занялся этим вопросом в прошлом году. Во главу угла ставил эстетику и низкий уровень шума, так как единственное пригодное место для установки постоянно работающей железки было в туалете на виду. За примерно 30-35 тысяч собрал себе Jonsbo N1 + i7-3770 + 16Gb RAM + два красных WD на 3Tb под рейд с фотками и (пока) один фиолетовый на 6 терабайт под плекс, файлопомойку, торренты и прочее. Все, кроме корпуса, брал на барахолке.

Результатом доволен, жалею только о том, что при ремонте новостройки не заложил ethernet в санузел, но кто же знал, что он там понадобится.

У LPKF есть же СВЧ-фрезы, как раз для таких применений. У них диаметр совсем маленький и скорость вращения шпинделя бешеная. Усаживаются они на раз, но края дорожек ровнейшие

Ух ты, победа! Спасибо за признание

Внезапно Kconfig из зефира никуда не делся. Используется и то и то, только для разных целей

Собирать прошивку для прода на локальном компе у разработчика - несколько моветон. Кто знает, что он у себя наворотил, с какой версией CMake, с каким gcc собирал.

Задача выше решается сборкой на условном гитхаб-экшене и подстановкой седом версии из тега и/или инкрементальным номером сборки

Установка одной среды не спасает при необходимости делать сборку на тех же Github Actions. Я как-то раз настраивал сборку при помощи headless eclipse одной вендорской IDE, и это было самым большим стимулом перейти окончательно на gcc+cmake+vscode

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

Есть еще Native-Debug, по сути то же самое, никаких преимуществ. Из полезного, но упущенного я бы отметил RTOS-Views плагин

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity

Specialization

Backend Developer, Embedded Software Engineer
Lead