gaf: Fix memory leak
[geda-gaf.git] / docs / wiki / geda-tragesym_tutorial.ru.html
blob7b85dfa35a39a08ba5ceb751fd2744f6170e8ab7
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html>
4 <head>
5 <link rel="stylesheet" media="screen" type="text/css" href="./style.css" />
6 <link rel="stylesheet" media="screen" type="text/css" href="./design.css" />
7 <link rel="stylesheet" media="print" type="text/css" href="./print.css" />
9 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10 </head>
11 <body>
13 <p>
14 <em>Эта страница доступна также на следующих языках:</em>
15 <a href="geda-tragesym_tutorial.html" class="wikilink1" title="geda-tragesym_tutorial.html">English</a>, <a href="geda-tragesym_tutorial.fr.html" class="wikilink1" title="geda-tragesym_tutorial.fr.html">Français</a>.
16 </p>
18 <h1 id="быстроеилёгкоесозданиесимволовgschemспомощьюtragesymипрограммыработысэлектроннымитаблицами">Быстрое и лёгкое создание символов gschem с помощью tragesym и программы работы с электронными таблицами</h1>
19 <div class="level1">
21 <p>
22 Создание <a href="geda-glossary.ru.html#символ" class="wikilink1" title="geda-glossary.ru.html">символов</a> для
23 <a href="geda-glossary.ru.html#принципиальнаясхема" class="wikilink1" title="geda-glossary.ru.html">принципиальных схем</a> отнимает очень
24 много времени, чревато ошибками и вообще неимоверно мучительно. К счастью,
25 <strong>gschem</strong> использует открытый текстовый формат файлов, легко поддающийся
26 скриптовой обработке. В этом кратком руководстве приводится описание того,
27 как с помощью скрипта <strong>tragesym</strong> очень быстро создать символ (может быть
28 гораздо быстрее, чем в любом из коммерческих пакетов).
29 </p>
31 </div>
33 <h2 id="необходимыешаги">Необходимые шаги</h2>
34 <div class="level2">
35 <ul>
36 <li class="level1"><div class="li"> Шаг 1: Открытие файла шаблона <strong>tragesym</strong></div>
37 </li>
38 <li class="level1"><div class="li"> Шаг 2: Загрузка спецификации устройства и поиск цоколёвки с перечнем выводов</div>
39 </li>
40 <li class="level1"><div class="li"> Шаг 3: Копирование перечня выводов в редактор и его обработка</div>
41 </li>
42 <li class="level1"><div class="li"> Шаг 4: Добавление недостающих данных в электронную таблицу</div>
43 </li>
44 <li class="level1"><div class="li"> Шаг 5: Экспорт электронной таблицы в отдельный текстовый файл</div>
45 </li>
46 <li class="level1"><div class="li"> Шаг 6: Запуск <strong>tragesym</strong> для создания символа</div>
47 </li>
48 <li class="level1"><div class="li"> Шаг 7: Проверка результата в <strong>gschem</strong> и небольшая доводка</div>
49 </li>
50 </ul>
52 </div>
54 <h2 id="шаг1открытиефайлашаблонаtragesym">Шаг 1: Открытие файла шаблона tragesym</h2>
55 <div class="level2">
57 <p>
58 В <strong>tragesym</strong> входят два файла-шаблона. Один --- в <a href="media/tragesym/template2.txt.src" class="media" target="_blank" title="tragesym:template2.txt.src">текстовом варианте</a>, второй --- в виде <a href="media/tragesym/template2.ods" class="media" target="_blank" title="tragesym:template2.ods">электронной таблицы OpenOffice</a>. Также их можно найти в пакете gEDA-утилит (<em><code>utils/examples/tragesym/template.src</code></em> и <em><code>utils/examples/tragesym/template.ods</code></em>).
59 Если вы предпочитаете другую программу работы с электронными таблицами, например <strong>gnumerik</strong> или <strong>kspread</strong>, то просто создайте свой собственный шаблон из текстового шаблона. Единственное различие между текстовым шаблоном и шаблоном в виде электронной таблицы --- синтаксис пар «ключ-значение» в разделах <code>[options]</code> и <code>[geda_attr]</code>. В текстовом файле они разделены знаком равенства (<code>ключ=значение</code>), в электронной таблице значение находится во втором столбце (что даёт разделитель в виде знака табуляции при экспорте).
60 </p>
62 </div>
64 <h2 id="шаг2загрузкаспецификацииустройстваипоискцоколёвкисперечнемвыводов">Шаг 2: Загрузка спецификации устройства и поиск цоколёвки с перечнем выводов</h2>
65 <div class="level2">
67 <p>
68 В данном примере мы создадим символ для <em>Philips Semiconductor PCA9555
69 16-bit IIC IO port</em>. Описание продукта и спецификация доступны на сайте
70 Philips:
71 http://www-us.semiconductors.philips.com/cgi-bin/pldb/pip/pca9555.html.
72 Загрузите спецификацию и откройте её в программе просмотра PDF, которая
73 позволяет копировать текст из pdf-файла, такой как <strong>kpdf</strong> или
74 <strong>acroread</strong>. Пролистайте страницы, пока не найдёте
75 <a href="geda-glossary.ru.html#цоколёвка" class="wikilink1" title="geda-glossary.ru.html">цоколёвку</a> устройства:
76 </p>
78 <p>
79 <a href="media/tragesym/kpdf_pinconfiguration.png" class="media" target="_blank" title="tragesym:kpdf_pinconfiguration.png">kpdf_pinconfiguration.png</a>
80 <a href="media/tragesym/acroread_selectiontable.png" class="media" target="_blank" title="tragesym:acroread_selectiontable.png">acroread_selectiontable.png</a>
81 </p>
83 <p>
84 Перечень выводов в спецификации может находиться только на изображении
85 конфигурации выводов («Pin configuration» на первом рисунке). Если же
86 имеется подробная таблица (второй рисунок из другой спецификации),
87 используйте её.
88 </p>
90 </div>
92 <h2 id="шаг3копированиеперечнявыводоввредакториегообработка">Шаг 3: Копирование перечня выводов в редактор и его обработка</h2>
93 <div class="level2">
95 <p>
96 Выделите перечень выводов и скопируйте его в текстовый редактор. Этот
97 промежуточный шаг необходим, поскольку вашей программе работы с электронными
98 таблицами может понадобиться специальный разделитель полей, такой как,
99 например, запятая или знак табуляции.
100 </p>
103 <strong>Примечание:</strong> поведение программ <strong>kpdf</strong> и <strong>acroread</strong> при выделении различается. Программа <strong>kpdf</strong>, кажется, создаёт копию, более похожую на графическое представление, в то время как <strong>acroread</strong> производит вывод, более ориентированный на «последовательность внутри файла». Если вам нужно создать много символов, попробуйте обе программы и сравните результаты.
104 </p>
107 <a href="media/tragesym/xemacs_rawselection.png" class="media" target="_blank" title="tragesym:xemacs_rawselection.png">xemacs_rawselection.png</a>
108 <a href="media/tragesym/xemacs_modifiedselection.png" class="media" target="_blank" title="tragesym:xemacs_modifiedselection.png">xemacs_modifiedselection.png</a>
109 <a href="media/tragesym/ooo_selection.png" class="media" target="_blank" title="tragesym:ooo_selection.png">ooo_selection.png</a>
110 </p>
113 Представленные выше рисунки иллюстрируют шаги:
114 </p>
115 <ul>
116 <li class="level1"><div class="li"> вставка выделения из программы просмотра PDF в текстовый редактор;</div>
117 </li>
118 <li class="level1 node"><div class="li"> изменение перечня выводов на радость программе работы с электронными таблицами:</div>
119 <ul>
120 <li class="level2"><div class="li"> вырезание списка выводов с 24 по 13 с помощью прямоугольного выделения;</div>
121 </li>
122 <li class="level2"><div class="li"> вставка прямоугольного выделения после вывода 12;</div>
123 </li>
124 <li class="level2"><div class="li"> сортировка строк (<strong>xemacs</strong> это умеет ;-) )</div>
125 </li>
126 <li class="level2"><div class="li"> удаление или исправление строк с номерами 2,3,... Их части оказались в разных строках. Номера выводов можно легко воссоздать позже;</div>
127 </li>
128 <li class="level2"><div class="li"> замещение пробелов символами табуляции (нет особой нужды, если используется <strong>OpenOffice</strong>);</div>
129 </li>
130 </ul>
131 </li>
132 <li class="level1"><div class="li"> копирование отредактированных данных куда-то в конец шаблона электронной таблицы.</div>
133 </li>
134 </ul>
136 </div>
138 <h2 id="шаг4добавлениенедостающихданныхвэлектроннуютаблицу">Шаг 4: Добавление недостающих данных в электронную таблицу</h2>
139 <div class="level2">
142 Теперь переместите метки выводов в столбец меток (label) и номера выводов в
143 столбец номеров выводов (pinnr). Для создания номеров выводов можно также
144 использовать возможность автозаполнения своей программы работы с
145 электронными таблицами.
146 </p>
149 <a href="media/tragesym/ooo_rearanged.png" class="media" target="_blank" title="tragesym:ooo_rearanged.png">ooo_rearanged.png</a>
150 </p>
153 Установите в столбцах тип (type), стиль (style) и позиция (posit.) наиболее
154 общие значения. Снова можно использовать возможность автозаполнения.
155 </p>
158 Теперь вам нужно изменить некоторые значения. Взгляните на таблицу описания
159 выводов в спецификации:
160 </p>
163 <a href="media/tragesym/kpdf_pindescription.png" class="media" target="_blank" title="tragesym:kpdf_pindescription.png">kpdf_pindescription.png</a>
164 </p>
167 В соответствии с этой таблицей изменяем следующее (см. результат ниже):
168 </p>
169 <ul>
170 <li class="level1"><div class="li"> вывод 1 --- выход, мы хотим иметь признаки отрицания --- кружок у вывода и черту над его меткой;</div>
171 </li>
172 <li class="level1"><div class="li"> A1 -- A3 --- входы, изменяем тип и перемещаем их на левую сторону;</div>
173 </li>
174 <li class="level1"><div class="li"> устанавливаем выводу SCL тип &quot;in&quot; (вход) и перемещаем SCL и SDA также влево;</div>
175 </li>
176 <li class="level1"><div class="li"> изменяем тип выводов питания VSS и VDD и добавляем имена соединений. Мы используем более привычные GND и Vcc.</div>
177 </li>
178 </ul>
181 <strong>Примечание:</strong> если одна из меток ваших выводов имеет внутри обратную косую черту &quot;\&quot;, её необходимо заменить управляющей последовательностью &quot;\\&quot;.
182 </p>
185 <a href="media/tragesym/ooo_changedpins.png" class="media" target="_blank" title="tragesym:ooo_changedpins.png">ooo_changedpins.png</a>
186 </p>
189 Прежде чем продолжить, задайте надлежащие значения атрибутам (geda_attr) и
190 ключам (options).
191 </p>
194 <a href="media/tragesym/ooo_attributes.png" class="media" target="_blank" title="tragesym:ooo_attributes.png">ooo_attributes.png</a>
195 </p>
197 </div>
199 <h2 id="шаг5экспортэлектроннойтаблицывотдельныйтекстовыйфайл">Шаг 5: Экспорт электронной таблицы в отдельный текстовый файл</h2>
200 <div class="level2">
203 Можно либо использовать функцию экспорта своей программы работы с
204 электронными таблицами, либо просто выделить таблицу и скопировать
205 содержимое в свой любимый текстовый редактор и сохранить файл.
206 </p>
208 </div>
210 <h2 id="шаг6запускtragesymдлясозданиясимвола">Шаг 6: Запуск tragesym для создания символа</h2>
211 <div class="level2">
214 Запустите <strong>tragesym</strong> в оболочке<sup><a href="#fn__28" id="fnt__28" class="fn_top">28)</a></sup>:
215 </p>
216 <pre class="code">werner@werner-amd64:~/Desktop/tragesym_tutorial&gt; tragesym pca555.src</pre>
219 pca555.sch
220 </p>
223 Если <strong>tragesym</strong> выдаёт сообщения об ошибках, поправьте электронную таблицу
224 и снова выполните экспорт, либо просто отредактируйте файл, полученный в
225 результате экспорта ранее.
226 </p>
228 </div>
230 <h2 id="шаг7проверкарезультатавgschemинебольшаядоводка">Шаг 7: Проверка результата в gschem и небольшая доводка</h2>
231 <div class="level2">
234 Теперь откройте созданный символ в <strong>gschem</strong> и проверьте результат
235 </p>
236 <pre class="code">werner@werner-amd64:~/Desktop/tragesym_tutorial&gt; gschem pca555.sch</pre>
239 Разрешив скрытый текст (нажав «en» или выбрав из меню
240 <strong><em>Правка-&gt;Показать/скрыть невидимый текст</em></strong>), можно увидеть
241 сгенерированный символ полностью. Вовсе не обязательно что-либо менять, но
242 небольшая перестановка выводов может немного улучшить вид символа.
243 </p>
246 <a href="media/tragesym/gschem_showhidden.png" class="media" target="_blank" title="tragesym:gschem_showhidden.png">gschem_showhidden.png</a>
247 <a href="media/tragesym/gschem_finished.png" class="media" target="_blank" title="tragesym:gschem_finished.png">gschem_finished.png</a>
248 </p>
251 Теперь символ готов. Его можно скопировать в свою локальную библиотеку
252 символов, например <em><code>/usr/local/share/gEDA/sym/local/</code></em>, и использовать
253 в проектах.
254 </p>
256 </div>
258 <h2 id="заключение">Заключение</h2>
259 <div class="level2">
262 В простом примере, приведённом выше, используется не очень много выводов,
263 данный же метод окупается с лихвой, когда выводов очень много (как,
264 например, в bga-272, tfqp-100, и т. д.).
265 </p>
267 </div>
269 <h2 id="благодарности">Благодарности</h2>
270 <div class="level2">
273 Большое спасибо &lt;Russ.Dill(AT)asu.edu&gt;, который написал первую версию
274 настоящего руководства. Эту версию можно найти на странице
275 http://www-mdp.eng.cam.ac.uk/web/CD/engapps/geda/geda-doc/tutorials/tragesym/tragesym.html.
276 </p>
278 </div>
279 <div class="footnotes">
280 <div class="fn"><sup><a href="#fnt__28" id="fn__28" class="fn_bot">28)</a></sup>
281 <div class="content">Автор использует для символа расширение
282 <em><code>.sch</code></em>, на самом деле принято использовать <em><code>.sym</code></em>. --- <em>Прим.
283 перев.</em></div></div>
284 </div>
285 </body>
286 </html>