- PVSM.RU - https://www.pvsm.ru -
Над железом Flipper Zero [1] работают одновременно несколько инженеров. Коллективная работа над железным проектом — это боль. У программистов есть крутые системы контроля версий и модные сервисы вроде GitHub, но бинарные файлы печатной платы и схем нельзя так просто засунуть в Git. Мы долго и мучительно искали решение этой проблемы и наконец нашли.
Altium 365 — это система контроля версий с веб-интерфейсом для работы над железными проектами. Мы смогли перенести привычный воркфлоу GitHub на железную разработку. В посте я расскажу про наш опыт использования Altium 365 на примере реальной задачи в нашем проекте Flipper Zero.
Хардкорные ребята из отечественных НИИ привыкли вести версионность железных проектов в папках и архивах. На каждую версию просто создается папка. Такой подход очень легко ломается, когда внутри папки кто-то внезапно отредактировал и забыл изменить версию, и все потерялось.
Такой подход до сих пор очень популярен и его даже можно использовать для простых проектов с одним разработчиком. Но для сложных проектов это создает ужасную путаницу и бардак. Невозможно нормально готовить релизы, все постоянно путается.
Железо для Flipper Zero разрабатывается в Altium Designer силами трех инженеров. Вначале мы по привычке пробовали использовать GitHub для версионирования и коллективной работы, но это оказалось ОЧЕНЬ неудобно. Каждому инженеру приходилось долго согласовывать, кто в какой момент начнет работу над платой, ждать пока каждый закончит свои изменения и выгрузит их в Git, потому что в отличие от обычного кода, бинарные файлы нельзя так просто редактировать параллельно.
Минусы использования GitHub вместе с Alitum
Нельзя сравнить бинарные файлы. Непонятно, чем один релиз отличается от другого. Каждый коммит обновляется сотни раз
Нужно использовать отдельную программу для ведения репозитория
Нельзя посмотреть содержимое проекта в веб-интерфейсе. Непонятно, что вообще находится в репозитории
Неудобно готовить релизы. Итоговые Gerber-файлы нужно подкладывать руками в релиз
В итоге мы начали искать решение лучше.
Altium 365 — это облачный сервис для коллективной работы над железом. В нем есть одновременно система контроля версий, предотвращения конфликтов, веб-интерфейс для просмотра и управления проектом. Десктопная версия Altium Designer подключается к удаленному серверу Altium 365, с которым синхронизирутся проекты, библиотеки компонентов и т.д. Изменения сохраняются на удаленный сервер, как обычные коммиты. Разработчики при этом работают в нативной десктопной программе Altium Designer как обычно.
Кроме разработчиков железа в команде есть другие инженеры: программисты, тестировщики. Всем им бывает нужен доступ к актуальным версиям железа, чтобы посмотреть схемы, расположение компонентов, узнать как проведены дорожки, и где находятся нужные тест-поинты на плате. Все это они могут делать из веб-интерфейса без необходимости устанавливать десктопную программу.
Со стороны разрабочтика печатных плат работа с Altium365 выглядит так:
Разработчик авторизуется своим корпоративным аккаунтом в десктопном Altium Designer и подключается к удаленному воркспейсу. Вся работа происходит в нативной десктопной программе, не в браузере.
Ему сразу становятся доступны все проекты и библиотеки компонентов внутри его воркспейса, не нужно вручную выкачивать какие-то файлы.
После внесения изменений в проект выполняется коммит с комментарием и пуш на сервер, точно так же, как это делается в Git.
Предотвращение конфликтов
Для предотвращения конфликтов, когда два разработчика одновременно вносят изменения в один файл, в списке файлов появляется иконка о том, что файл уже редактируется другим пользователем. Можно видеть его имя и согласовать работу.
Сохранение на сервер
После завершения работы изменения можно сохранить на сервере. Для простоты есть кнопка Save to Server, которая по сути выполняет локальный коммит и пуш. В коммите можно ввести комментарий, описывающий изменения.
Общая библиотека компонентов
Внутри организации (воркспейса) доступна общая библиотека компонентов. Все наши собственные нестандартные компоненты вроде гребенки GPIO, коннекторов шлейфов, экранов и т.д. доступны глобально для всех инженеров. Больше не нужно класть библиотеку внутрь каждого проекта.
Сервер Altium 365 имеет веб-интерфейс. В нашей компании к нему имеют доступ все инженеры: тестировщики, программисты, механики (разработчики корпуса). Это ОЧЕНЬ удобный инструмент, позволяющий из браузера и без установки программ быстро иметь доступ ко всей схемотехнике и 3D-моделям плат.
Зачем нужен веб-интерфейс Altium 365
Просматривать файлы проекта: схемы, герберы, 3D-модели, искать нужны компоненты на плате, дорожки т.д. ИЗ БРАУЗЕРА(!!!)
История коммитов. Можно отслеживать, когда и кто вносил изменения в проект. Это удобно для менеджеров, отслеживающих выполнение задач и всех членов команды. Любой коммит можно скачать отдельно или клонировать в отдельный репозиторий.
Система комментариев. Тестировщик может выделить нужную область или компонент на плате и написать комментарий для разработчика.
Оформление релизов для производства.
История коммитов и релизов
Вся история коммитов отображается в разделе History с комментариями. В каждом коммите есть список измененных компонентов, но на мой взгляд он не особенно полезен.
Также в истории публикуются релизы проекта. Это готовые наборы герберов и прочих файлов для производства, которые отправляются на завод. Их можно расшарить прямо в веб-интерфейсе, указав email получателя.
Просмотр схемы
Во вкладке SCH находится интерактивный просмотрщик схемы. Он умеет показывать информацию о компонентах и цепях. Можно выделить нужный компонент или дорожку на схеме и перейти к ней на 3D-модели или плате. Удобно при отладке физической платы.
Просмотр платы
Во вкладке PCB — интерактивный вьювер платы. Так же, как и во вьювере схемы, можно выделить каждый компонент и посмотреть информацию о нем, и как он выглядит на схеме и в 3D. Слева можно включить отображение платы по слоям.
3D-модель
Вьювер 3D-модели тоже интерактивный. Любой компонент можно выделить и найти его на схеме или во вьювере PCB. При этом все работает нативно в браузере на WebGL, без установки плагинов и программ.
Комментарии
Во вьюверах PCB и SCH можно оставить комментарий под компонентом или областью. Комментарий будет виден всем в веб-интерфейсе и разработчикам в десктопной программе. У каждого комментария можно поставить статус Resolved, то есть использовать их как задачи для правок.
Мы пользуемся Altium 365 каждый день и очень рады, что больше не нужно страдать. От лица нашей компании Flipper Devices хочу выразить благодарность команде Altium за удобный инструмент, который мы используем каждый день, и отдельное спасибо за поддержку, помощь в настройке и обучении.
Altium 365 активно развивается, и мы пробуем на себе все новые фичи как бета-тестеры, предлагая свои идеи, как сделать сервис удобнее. И хотя много функций еще допиливается, это уже очень мощный и удобный продукт.
Для маленьких команд и стартапов есть программа Altium Launchpad [2], по которой можно приобрести лицензию на Altium со скидкой.
Также рекомендую русскоязычный чат в Telegram @Altium_and_electronics [3], [4]где можно пообщаться с пользователями и разработчиками самого Altium.
Автор: Павел Жовнер
Источник [5]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/news/363709
Ссылки в тексте:
[1] Flipper Zero: https://flipperzero.one/
[2] Altium Launchpad: https://www.altium.com/launchpad?utm_source=flipperzero.com&utm_medium=referral&utm_campaign=flipperzero-202103&utm_content=flipperzero
[3] @Altium_and_electronics: https://t.me/Altium_and_electronics
[4] ,: https://habr.com/users/altium_and_electronics,
[5] Источник: https://habr.com/ru/post/554548/?utm_source=habrahabr&utm_medium=rss&utm_campaign=554548
Нажмите здесь для печати.