Прошлый вечер потратил совсем не на разработку, а на отладку загрузчика, чтение документации и необоснованного желания получить все галочки соответствия стандартам Gitverse. Также обновил у себя в голове информацию о лицензиях (остался при мнении, что mit лучше, чем gpl).
Также пришлось вспомнить закон ома для расчета нагрузочных резисторов. Довольно бездумно было ставить одинаковое сопротивление на цветовые индикаторы разных цветов, но в рамках уменьшения номенклатуры деталей неосознанно сделал именно это. И к сожалению, это вообще резисторная сборка, так что придется на текущих платах сделать все светодиодны одного цвета. Ну или работать в солнцезащитных очках, потому что индикатор питания - ярко белый👉
Также пришлось вспомнить закон ома для расчета нагрузочных резисторов. Довольно бездумно было ставить одинаковое сопротивление на цветовые индикаторы разных цветов, но в рамках уменьшения номенклатуры деталей неосознанно сделал именно это. И к сожалению, это вообще резисторная сборка, так что придется на текущих платах сделать все светодиодны одного цвета. Ну или работать в солнцезащитных очках, потому что индикатор питания - ярко белый
Please open Telegram to view this post
VIEW IN TELEGRAM
Сегодня ощутил по-настоящему импортозамещение: искал проблему с китайской микросхемой в японском блоге, чтобы понять почему не программируется (более одного раза) российский чип 👉 Однако, добился больших успехов: optiboot получает по stk500v1 прошивку и успешно пишет ее в память. Следующий шаг — переписать avrdude (ну не консолью же заниматься). Мне кажется, что за пару дней разберусь как загружать прошивку с помощью системы на небезызвестной мобильной ОС.
В целом получается довольно интересно: из небольшой гипотезы выстраивается прикольный продукт. Хз, выйду ли с ним на рынок, но точно получил в свое распоряжение достаточно удобный инструмент. Осталось отладить стандартные функции, пару тестов и запаять пару версий для друзей.
Если у кого также возникнет проблема с ch340x: помимо 100нФ между ресетом чипа и dtr нужно еще и 4.7кОм между cts и dts.
В целом получается довольно интересно: из небольшой гипотезы выстраивается прикольный продукт. Хз, выйду ли с ним на рынок, но точно получил в свое распоряжение достаточно удобный инструмент. Осталось отладить стандартные функции, пару тестов и запаять пару версий для друзей.
Если у кого также возникнет проблема с ch340x: помимо 100нФ между ресетом чипа и dtr нужно еще и 4.7кОм между cts и dts.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4 3
Разработка документации к продукту (а особенно если это библиотека или api) — важный процесс в разработке ИТ решений. Он нужен не только для других разработчиков или аналитиков, но и вам: вернувшись к коду через месяцы, будет проще понять что делали и зачем. Большую часть документации можно вести прямо в коде, и для этого есть несколько удобных инструментов:
- Doxygen — генерация документации из комментариев в коде (поддерживает C++, Qt, просто C, Python, Java и др.)
- Sphinx + Breathe — для Python-проектов с возможностью подключения C++ кода
- Natural Docs — лёгкий генератор с простым синтаксисом
- CppDoc — минималистичный инструмент для C++
- MkDocs — генератор документации на базе md файлов.
И с наличием такого количества инструментов я удивлен, что некоторые компании не могут мне дать инструкцию к своему api. Я планировал переработать приложение подключения к приборам с новыми крутыми библиотеками, но “магии apple” не случилось. Грустно? Нет, это печально🤦♂️ в конечном итоге отрефакторил свою библиотеку под qt, используя его нативные типы данных и сигналы и в целом пока хватит. Сейчас выясню через wireshark управление dts и полноценный аналог avrdude готов (хотя прототип на python уже работает).
- Doxygen — генерация документации из комментариев в коде (поддерживает C++, Qt, просто C, Python, Java и др.)
- Sphinx + Breathe — для Python-проектов с возможностью подключения C++ кода
- Natural Docs — лёгкий генератор с простым синтаксисом
- CppDoc — минималистичный инструмент для C++
- MkDocs — генератор документации на базе md файлов.
И с наличием такого количества инструментов я удивлен, что некоторые компании не могут мне дать инструкцию к своему api. Я планировал переработать приложение подключения к приборам с новыми крутыми библиотеками, но “магии apple” не случилось. Грустно? Нет, это печально
Please open Telegram to view this post
VIEW IN TELEGRAM
🤷♂1 1
На короткий отпуск у меня были грандиозные планы, но я успел переключиться и отдохнуть. Единственное, что сделал: выложил ядро arduino для своей отладочной платы. Думаю, в будущем сделать аналогичное для 32битной МК. Также в планах допилить упрощенный загрузчик и собрать релиз под все платформы (даже windows, но через mingw)(да, под Аврору тоже, но до 5.2)
Как происходит подготовка платформы и ядра под arduino ide? Мой друг говорит, что для этого надо быть «жестким прогером», но в целом хватает понимания архитектуры микроконтроллеров и чтение кода: переписать регистры, протестировать функции и собрать загрузчик из исходников🤷♂️ Схема, распиновка и интерфейсы у меня все есть - сам же плату рисовал. Для i2c надо будет немного пострадать, т.к. стандартный wire крайне прожорлив и избыточен (для трекпада уже приходилось его реверсить)
Но над заменой avrdude пришлось поработать: сначала найти описание stk500v1, затем тестовый код на python и тут столкнулся с проблемой на уровне железа. После этого уже довольно быстро переписал на родных плюсах и отладил. Осталось прокомментировать функции и пушить релиз👉
Как происходит подготовка платформы и ядра под arduino ide? Мой друг говорит, что для этого надо быть «жестким прогером», но в целом хватает понимания архитектуры микроконтроллеров и чтение кода: переписать регистры, протестировать функции и собрать загрузчик из исходников
Но над заменой avrdude пришлось поработать: сначала найти описание stk500v1, затем тестовый код на python и тут столкнулся с проблемой на уровне железа. После этого уже довольно быстро переписал на родных плюсах и отладил. Осталось прокомментировать функции и пушить релиз
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2 2
Какой маркетплейс вы предпочитаете?
Final Results
33%
Яндекс маркет
72%
Озон
56%
Сетевой магазин (днс, чипидип и др)
28%
Не сетевой, но проверенный магазин
Затягивает ли вас разработка решений так же, как и меня? Вчера прокомментировал объекты класса stk500 и наткнулся, что Doxygen может сделать MAN page (но это не тот самый man).
Есть во всех linux классная команда - man. Она выдает справку о том, как работает приложение, что оно делает, какие есть флаги, примеры использования и всю остальную информацию, которую хочет указать разработчик. И эта система справочного руководства имеет свой формат. В целом, он не сложный, но не очевидный. Забавный факт: формат не меняется с 2002 года. За часик накидал для своего решения полноценную справку. Теперь могу считать завешненным некоторый этап в разработке программ в linux. Осталось "причесать" репозиторий и сгенерировать релиз (ну и протестировать)
Есть во всех linux классная команда - man. Она выдает справку о том, как работает приложение, что оно делает, какие есть флаги, примеры использования и всю остальную информацию, которую хочет указать разработчик. И эта система справочного руководства имеет свой формат. В целом, он не сложный, но не очевидный. Забавный факт: формат не меняется с 2002 года. За часик накидал для своего решения полноценную справку. Теперь могу считать завешненным некоторый этап в разработке программ в linux. Осталось "причесать" репозиторий и сгенерировать релиз (ну и протестировать)
Не так давно накидал небольшой плагин для flutter разработки для Аврора ОС. Сам плагин доступен для установки в Visual Studio Code
Он реализует простенький менеджмент устройств, а также сборку и установку приложения на девайс. Вы можете внести свои доработки через pr в git
Подробне о том, как плагин разработан — читайте в статье на хабр
Он реализует простенький менеджмент устройств, а также сборку и установку приложения на девайс. Вы можете внести свои доработки через pr в git
Подробне о том, как плагин разработан — читайте в статье на хабр
🔥1 1
В 2017 году на кафедре проходили обучение среде разработки LabVIEW. Тогда для меня это был настолько прорывной инструмент, что в 2019 году уже подготовился (на сколько помню, на уровень CLAD) и искал центры сертификации. Забавный факт: до EV3 были блоки NXT, для них как раз разработка была на labview. Раньше находил модули (в контексте этой среды) и для EV3 — эффективно, эффектно, но детям не объяснить.
С помощью этой среды успел написать несколько программ для управления манипулятором, алгоритмы обработки разных сигналов (в том числе — электромиографии) и какие-то тестовые драйвера. Скомпилированный софт был очень тяжелый (формально это не компиляция исходного кода, а сборка решения + интерпритатор), но работал быстро. Последнее, с чем успел поработать — модули myrio.
Так вот я почему вспомнил про эту прекрасную среду: это то же программирование обработки сигналов, и у него есть модуль экспорта в FPGA. Кто-нибудь пробовал?
Да, скоро займусь консолью, просто вот вспомнил
С помощью этой среды успел написать несколько программ для управления манипулятором, алгоритмы обработки разных сигналов (в том числе — электромиографии) и какие-то тестовые драйвера. Скомпилированный софт был очень тяжелый (формально это не компиляция исходного кода, а сборка решения + интерпритатор), но работал быстро. Последнее, с чем успел поработать — модули myrio.
Так вот я почему вспомнил про эту прекрасную среду: это то же программирование обработки сигналов, и у него есть модуль экспорта в FPGA. Кто-нибудь пробовал?
Дорабатываю софтовые компоненты для платы. Я выяснил, что брать gyvercore за основу оказалось не лучшей идеей: оно отлично оптимизировано, но для atmega328p. Пришлось потратить вечер, чтобы отследить, почему же регистры ddrb не менялись при переназначении функций. Теперь отлаживаю интерфейсы. К сожалению, НИИЭТ выбрали не лучший кристалл avr (который сейчас microchip) и ОЗУ хватает не для всех функций. Но ничего, от 8ми битного мк многого не ждут, так что все получится отлично 👉
Please open Telegram to view this post
VIEW IN TELEGRAM
Решил попробовать начать вести блог параллельно на boosty, при этом этот канал никуда не пропадает.
Ссылочка: https://boosty.to/voryabchevsky
План такой: в выходные буду выкладывать тут подборку за неделю, она будет доступна всем. Во вторник-среду какой-нибудь большой пост или тестовый формат (видосики попробуем) для тех, кто согласится на NDA. А для R&D, как и указано, будет доступ в приватные репозитоии и подробностей про проекты, про которые не пишу, но делаю (и они не менее интересные). И конечно же для R&D тест приборов и образцы плат!
И вы также можете просто поддержать небольшой стартап по созданию реально отечественной arduino совместимой платы (прям вот из отечественных комплектующих (ну на сколько это возможно)). Сейчас уже готовы основные софтовые компоненты, остаются учебные материалы, дополнительные приложушки и выпустить само железо.
Я думал запустить стартап на площадке по типу boomstarter, но там такой недружелюбный интерфйс, что он адже не работает. Попробую на boosty, взлетит - продолжу. нет - ну ладно, эксперимент не удался🤷♂️
Ссылочка: https://boosty.to/voryabchevsky
План такой: в выходные буду выкладывать тут подборку за неделю, она будет доступна всем. Во вторник-среду какой-нибудь большой пост или тестовый формат (видосики попробуем) для тех, кто согласится на NDA. А для R&D, как и указано, будет доступ в приватные репозитоии и подробностей про проекты, про которые не пишу, но делаю (и они не менее интересные). И конечно же для R&D тест приборов и образцы плат!
И вы также можете просто поддержать небольшой стартап по созданию реально отечественной arduino совместимой платы (прям вот из отечественных комплектующих (ну на сколько это возможно)). Сейчас уже готовы основные софтовые компоненты, остаются учебные материалы, дополнительные приложушки и выпустить само железо.
Я думал запустить стартап на площадке по типу boomstarter, но там такой недружелюбный интерфйс, что он адже не работает. Попробую на boosty, взлетит - продолжу. нет - ну ладно, эксперимент не удался
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥1
Проверил микруху ch340b. Пришлось потратить пару дней, несколько репозиториев с исходниками, но смог настроить product string и вписать свое значение в eeprom. К сожалению, эта информация нигде не отображается и особо не нужна 🤷♂️ что ж, останусь на версии X.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Возобновляю цикл упорного обучения. Летом пришлось перенести курс по трассировке печатных плат. Как раз на сентябрь. — довольно большое задание совпало с небольшим отпуском в этом месяце. Ну и по завершению этой активности уже получу адекватные материнские платы консоли.
По лекциям уже понятны некоторые косяки: слоев должно быть больше, пересечений (особенно сквозных) на pcie и usb3 меньше. К счастью, для отладочной платы не требуется таких строгих ограничений, а новая версия получается проще домашки по трассировке
По лекциям уже понятны некоторые косяки: слоев должно быть больше, пересечений (особенно сквозных) на pcie и usb3 меньше. К счастью, для отладочной платы не требуется таких строгих ограничений, а новая версия получается проще домашки по трассировке
👏1 1
Зарелизил вчера ядро для ide. Инструкция по установке, исходники и релизная версия: https://gitverse.ru/VORyabchevsky/rucore
Ставить лучше через дефолтный менеджер плат. Сейчас начал отладку библиотек и запайку инженерных образцов плат. С удивлением обнаружил, что посеял пару микросхем памяти🤦♂️
Ставить лучше через дефолтный менеджер плат. Сейчас начал отладку библиотек и запайку инженерных образцов плат. С удивлением обнаружил, что посеял пару микросхем памяти
Please open Telegram to view this post
VIEW IN TELEGRAM