//Эта страница доступна также на следующих языках:// [[tragesym_tutorial|English]], [[tragesym_tutorial.fr|Français]]. ====== Быстрое и лёгкое создание символов gschem с помощью tragesym и программы работы с электронными таблицами ====== Создание [[geda:glossary.ru#Символ|символов]] для [[geda:glossary.ru#Принципиальная схема|принципиальных схем]] отнимает очень много времени, чревато ошибками и вообще неимоверно мучительно. К счастью, **gschem** использует открытый текстовый формат файлов, легко поддающийся скриптовой обработке. В этом кратком руководстве приводится описание того, как с помощью скрипта **tragesym** очень быстро создать символ (может быть гораздо быстрее, чем в любом из коммерческих пакетов). ===== Необходимые шаги ===== * Шаг 1: Открытие файла шаблона **tragesym** * Шаг 2: Загрузка спецификации устройства и поиск цоколёвки с перечнем выводов * Шаг 3: Копирование перечня выводов в редактор и его обработка * Шаг 4: Добавление недостающих данных в электронную таблицу * Шаг 5: Экспорт электронной таблицы в отдельный текстовый файл * Шаг 6: Запуск **tragesym** для создания символа * Шаг 7: Проверка результата в **gschem** и небольшая доводка ===== Шаг 1: Открытие файла шаблона tragesym ===== В **tragesym** входят два файла-шаблона. Один --- в {{:tragesym:template2.txt.src|текстовом варианте}}, второй --- в виде {{:tragesym:template2.ods|электронной таблицы OpenOffice}}. Также их можно найти в пакете gEDA-утилит (//''utils/examples/tragesym/template.src''// и //''utils/examples/tragesym/template.ods''//). Если вы предпочитаете другую программу работы с электронными таблицами, например **gnumerik** или **kspread**, то просто создайте свой собственный шаблон из текстового шаблона. Единственное различие между текстовым шаблоном и шаблоном в виде электронной таблицы --- синтаксис пар «ключ-значение» в разделах ''[options]'' и ''[geda_attr]''. В текстовом файле они разделены знаком равенства (''ключ=значение''), в электронной таблице значение находится во втором столбце (что даёт разделитель в виде знака табуляции при экспорте). ===== Шаг 2: Загрузка спецификации устройства и поиск цоколёвки с перечнем выводов ===== В данном примере мы создадим символ для //Philips Semiconductor PCA9555 16-bit IIC IO port//. Описание продукта и спецификация доступны на сайте Philips: [[http://www-us.semiconductors.philips.com/cgi-bin/pldb/pip/pca9555.html]]. Загрузите спецификацию и откройте её в программе просмотра PDF, которая позволяет копировать текст из pdf-файла, такой как **kpdf** или **acroread**. Пролистайте страницы, пока не найдёте [[geda:glossary.ru#Цоколёвка|цоколёвку]] устройства: {{:tragesym:kpdf_pinconfiguration.png|kpdf_pinconfiguration.png}} {{:tragesym:acroread_selectiontable.png|acroread_selectiontable.png}} Перечень выводов в спецификации может находиться только на изображении конфигурации выводов («Pin configuration» на первом рисунке). Если же имеется подробная таблица (второй рисунок из другой спецификации), используйте её. ===== Шаг 3: Копирование перечня выводов в редактор и его обработка ===== Выделите перечень выводов и скопируйте его в текстовый редактор. Этот промежуточный шаг необходим, поскольку вашей программе работы с электронными таблицами может понадобиться специальный разделитель полей, такой как, например, запятая или знак табуляции. **Примечание:** поведение программ **kpdf** и **acroread** при выделении различается. Программа **kpdf**, кажется, создаёт копию, более похожую на графическое представление, в то время как **acroread** производит вывод, более ориентированный на «последовательность внутри файла». Если вам нужно создать много символов, попробуйте обе программы и сравните результаты. {{:tragesym:xemacs_rawselection.png|xemacs_rawselection.png}} {{:tragesym:xemacs_modifiedselection.png|xemacs_modifiedselection.png}} {{:tragesym:ooo_selection.png|ooo_selection.png}} Представленные выше рисунки иллюстрируют шаги: * вставка выделения из программы просмотра PDF в текстовый редактор; * изменение перечня выводов на радость программе работы с электронными таблицами: * вырезание списка выводов с 24 по 13 с помощью прямоугольного выделения; * вставка прямоугольного выделения после вывода 12; * сортировка строк (**xemacs** это умеет ;-) ) * удаление или исправление строк с номерами 2,3,... Их части оказались в разных строках. Номера выводов можно легко воссоздать позже; * замещение пробелов символами табуляции (нет особой нужды, если используется **OpenOffice**); * копирование отредактированных данных куда-то в конец шаблона электронной таблицы. ===== Шаг 4: Добавление недостающих данных в электронную таблицу ===== Теперь переместите метки выводов в столбец меток (label) и номера выводов в столбец номеров выводов (pinnr). Для создания номеров выводов можно также использовать возможность автозаполнения своей программы работы с электронными таблицами. {{:tragesym:ooo_rearanged.png|ooo_rearanged.png}} Установите в столбцах тип (type), стиль (style) и позиция (posit.) наиболее общие значения. Снова можно использовать возможность автозаполнения. Теперь вам нужно изменить некоторые значения. Взгляните на таблицу описания выводов в спецификации: {{:tragesym:kpdf_pindescription.png|kpdf_pindescription.png}} В соответствии с этой таблицей изменяем следующее (см. результат ниже): * вывод 1 --- выход, мы хотим иметь признаки отрицания --- кружок у вывода и черту над его меткой; * A1 -- A3 --- входы, изменяем тип и перемещаем их на левую сторону; * устанавливаем выводу SCL тип "in" (вход) и перемещаем SCL и SDA также влево; * изменяем тип выводов питания VSS и VDD и добавляем имена соединений. Мы используем более привычные GND и Vcc. **Примечание:** если одна из меток ваших выводов имеет внутри обратную косую черту "\", её необходимо заменить управляющей последовательностью "\\". {{:tragesym:ooo_changedpins.png|ooo_changedpins.png}} Прежде чем продолжить, задайте надлежащие значения атрибутам (geda_attr) и ключам (options). {{:tragesym:ooo_attributes.png|ooo_attributes.png}} ===== Шаг 5: Экспорт электронной таблицы в отдельный текстовый файл ===== Можно либо использовать функцию экспорта своей программы работы с электронными таблицами, либо просто выделить таблицу и скопировать содержимое в свой любимый текстовый редактор и сохранить файл. ===== Шаг 6: Запуск tragesym для создания символа ===== Запустите **tragesym** в оболочке((Автор использует для символа расширение //''.sch''//, на самом деле принято использовать //''.sym''//. --- //Прим. перев.//)): werner@werner-amd64:~/Desktop/tragesym_tutorial> tragesym pca555.src pca555.sch Если **tragesym** выдаёт сообщения об ошибках, поправьте электронную таблицу и снова выполните экспорт, либо просто отредактируйте файл, полученный в результате экспорта ранее. ===== Шаг 7: Проверка результата в gschem и небольшая доводка ===== Теперь откройте созданный символ в **gschem** и проверьте результат werner@werner-amd64:~/Desktop/tragesym_tutorial> gschem pca555.sch Разрешив скрытый текст (нажав «en» или выбрав из меню **//Правка->Показать/скрыть невидимый текст//**), можно увидеть сгенерированный символ полностью. Вовсе не обязательно что-либо менять, но небольшая перестановка выводов может немного улучшить вид символа. {{:tragesym:gschem_showhidden.png|gschem_showhidden.png}} {{:tragesym:gschem_finished.png|gschem_finished.png}} Теперь символ готов. Его можно скопировать в свою локальную библиотеку символов, например //''/usr/local/share/gEDA/sym/local/''//, и использовать в проектах. ===== Заключение ===== В простом примере, приведённом выше, используется не очень много выводов, данный же метод окупается с лихвой, когда выводов очень много (как, например, в bga-272, tfqp-100, и т. д.). ===== Благодарности ===== Большое спасибо , который написал первую версию настоящего руководства. Эту версию можно найти на странице [[http://www-mdp.eng.cam.ac.uk/web/CD/engapps/geda/geda-doc/tutorials/tragesym/tragesym.html]].