Рассмотрим различные вспомогательные утилиты для работы kicad. Изначально я был полон энтузиазма и примеров вспомогательного софта было больше ,но как только я начал пробовать завести эти программы, они — отказывались работать, так что пока вот такой маленький обзор, но я думаю мы будем его расширять.
Table of Contents
Генераторы УГО и посадочных мест
Создаем УГО online
http://kicad.rohrbacher.net/quicklib.php
Figure 1: Начальное окно генератора
Figure 2: Таблица для генератора
Самый распространенный и простой, ставить ничего не надо это интернет приложение. Выбираешь тип корпуса и заполняешь таблицу и всё. Удобно и визуально понятно, но для больших компонентов наверно будет трудновато это все заполнять, да и непонятно почему такого удобного визарда нет в самой EEShema, хоть в виде дополнительной программы, поставляемой с исходниками.
Генерируем УГО из XML
https://github.com/AdharLabs/Kicad-tools/tree/master/libgen
Гененрирует из XML синтаксиса компоненты. Поддерживаются виды УГО DIP(==DIL) SIP(Развернутый SIL), CONN(==CONN1) QUAD(==PQFP)
<component refname="Ref_des" compname="Comp_Name" package="PDIP" description="DESC" keywords="KEYW1 KEYW2 KEYW3"> PIN1DESCRIPTION,ETYPE PIN2DESCRIPTION,ETYPE ... </component>
Поддерживает электрические типы компонентов. Номер вывода указывать не надо, он сам автоматически все укажет.
Создаем УГО с помощью list2kc
https://github.com/nekromant/list2kc
git clone https://github.com/nekromant/list2kc.git Используется ./list2kc.py --pkg-file=./at91rm9200.pins --output-file=./at91rm9200.lib
Изначально это утилита от Qi-Hardware, xil2kc которая генерировала компонент из Xilinx-вского выхлопа(xil), форкнутая Некромантом.
Инструкция от создателя форка Necromant-а о том как писать свои компоненты.
~subparts 1 :\dB:left:0 :\dC:right:0 :E:bot:0 :COM:top:0 [1:8] 1B 2B 3B 4B 5B 6B 7B E [16:9] 1C 2C 3C 4C 5C 6C 7C COM
Что здесь описано, в начале указано количество частей или подкомпонентов содержащихся в наше компоненте, ну это как допустим несколько логических элементов И в одной микросхеме.
Затем с помощью регулярных выражений python задается
:регулярное_выражение:на_какой_стороне_разместить:в_какой_подкомпонент.
Остается вопрос как указать электрический тип вывода?
Создаем посадочное место с помощью fped
http://people.openmoko.org/werner/fped/gui.html
Собственно утилита с помощью которой можно создавать параметрические посадочные места,т.е. они будут зависеть от параметров таких как количество выводов или максимальная ширина дорожек. Этот функционал пытается решать Kicad Footprint Wizard(он входит в стандартную поставку KiCAD , проверьте флаги), но там пока всё сыро.
В будущем постараемся перевести руководство.
Хранение библиотек
Облачное хранилище компонентов kicadcloud
В общем приятный сервис и что самое главное вы можете развернуть его на собственном сервере. Сюда можно загружать УГО и посадочные места, тут же их и визуализируют поддерживается загрузка 3D моделей. Также что приятно тут можно ставить лайки и коменты под каждым загруженым компонентом, что в будущем должно облегчить создание библиотек.
Скачать и развернуть сервер можно отсюда https://github.com/joeferner/kicadcloud.com.git
К сожалению никаких упоминаний о лицензии я не нашел , что беспокоит.
Конвертеры форматов
The Upverter Universal Format Converter
https://github.com/upverter/schematic-file-converter
Не работает!!!
Upverter проект облачной EDA, что в общем-то не интересно, так как лично например я не хотел бы привязываться к облаку. Но вот благодаря ему появился этот конвертор который судя по заявленому поддерживает форматы.
- Upverter OpenJSON
- KiCad
- gEDA
- Fritzing
- RS274-X Gerber (see note)
- NC Drill
- Eagle
- Eagle XML (in testing)
- ViewDraw / DxDesigner (in testing)
- DSN (in testing)
- PNG Image
- Bill of Materials
- CSV Netlist
- Altium (in development)
- Telesis Netlist (in development)
Лицензия Apache-2.0
Зависимости
- python 2.6 -это вообще убило но вроде только ругаеться
- freetype-py module
Установка
Так она должна выглядеть
git clone https://github.com/upverter/schematic-file-converter.git
cd schematic-file-converter/
sudo python setup.py install
Можете не устанавливать от администратора вот , а запускать прямо из папки конвертора
В общем не работает…. так как нет нормальной документации а библиотеки оно кушать не захотело… и примеров использования нет.
Работа с Github
Давным давно а может недавно, здесь на сайте здесь показывал код которым пытался возродить скрипт schhist ,который позволяет смотреть изменения и вести проект kicad в системе контроля версий -git.
Но так как знаю мало и, а ещё я очень ленив, то подождав год обнаружил что уже существует проект который реализует все что мне нужно и имя ему eeshow
Проект eeshow как и его предшественник schhist родился в рамках работы с крупным железнячным проектом, только на этот раз проект ближе и понятней Neo900 — это замена железа в корпусе n900. Надеюсь у ребят получится, но уже спасибо за инструменты.
Установка
w
Зависимости libgtk-3-dev, libcairo2-dev, libgit2-dev, transfig, и imagemagick
На убунте требуют:
sudo apt-get install libgtk-3-dev libcairo2-dev libgit2-dev transfig imagemagick git clone http://neo900.org/git/eeshow cd eeshow make sudo make install
Проверка работоспособности
Качаем весь проект телефона neo900.
git clone http://neo900.org/git/ee cd ee/hw make pull eeshow neo900.pro
Проект обладает утилитой eeshow — практически альтернативная оболочка для просмотра kicad проектов, только на больших проектах много кушает.
Также есть консольные утилиты eeplot, eediff для автоматичекского создания изображений и pdf из файлов kicad.