Сооружаем библиотеки для кикада полуавтоматически.

В общем, частенько надо сделать очередной символ для еесхемы. Благодаря утилитке от Rochbacher’a http://kicad.rohrbacher.net/quicklib.php это превращается в рутину. Скажи сколько выводов у микросхемы, забей имена пинов, скажи как ориентировать… Да в общем-то и все.
Вот только если ног за 200, заполнять это долго. Когда я делал символ для at91rm9200 терпение лопнуло на 30й ноге. А их там 208… Вот в тот момент мне и пришла в голову хорошая мысля. К сожалению, принимать файл с именами пинов утилита от Рохбахера не умеет, а его ящика почтового полазив по сайту я так и не нашел. Потому пришлось быстро сварганить костыль.

Нам потребуются:

bash (Куда же без него)
xdotool
okular (Или другой вювер PDF, который умеет выделять текст)

Шаг первый.
Открываем даташит и находим список ног. Например такое:

Шаг второй.
Копипастим имена ног в пустой файлик. Одна нога на одну строчку, строго по порядку.

Шаг третьий.
Далее немного черной магии. Берем вот этот готовый скрипт на баше:

#!/bin/bash
write_pin()
{
xdotool type "$1"
xdotool key Tab Tab Tab Tab Tab Tab
}
 
if [ $# -lt 1 ]; then
  echo "Usage: fill-pins filename"
  exit
fi
 
echo "Starting in 5 seconds..."
sleep 5
 
cat $1|while read line; do
  write_pin "$line"
done

Сохраняем, chmod +x, и скармливаем ему аргументом наш файлик с распиновкой. У нас есть 5 секунд переключиться на окно браузера и поставить курсор на строчку с надписью PIN1 (и выделить ее).
Далее скрипт читает каждую строчку из файла с распином, вбивает ее за нас в поле, жмет 6 раз Tab, чтобы перескочить на следующую… И так далее.
Можно пойти попить чаю. Выглядит забавно:

На время работы костыля лучше прихлопнуть все аськи, скайпы и прочее – так как одно всплывающее окошечко с “Приффет пайдем гулять” способно украсть фокус у браузера и, как следствие, загубить заполнение распина… а вхудшем случае ответить человеку в ICQ здоровенным списком пинов микросхемы…

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.