Страница 1 из 4
VisualHAL
Добавлено: 18 сен 2014, 00:33
Serg
Вот зацените какая забавная штучка случайно получилась.
Нам потребуется: пакет KiCAD, библиотека HAL-компонентов (прилагается), конвертор из формата KiCAD в HAL (прилагается).
Краткое описание, оно-же инструкция по применению:
0. Рисуем логическую схему используя библиотеку HAL-компонентов.
1. Жмём кнопку для генерации списка соединений.
2. В появившемся окошке жмём кнопку "Добавить плагин".
3. Заполняем путь к скрипту с аргументами, путь пишете свой, все остальные буковки в точности как на картинке (/path/to/halplugin.py %I %O.hal). Наименование - это то, как будет называться новая вкладка в генераторе соединений.
4. Далее выбираем новую вкладку и жмём кнопку "Список цепей". Оно спросит имя файла (без расширения) и в каталоге проекта создаст файл с расширением .hal соотв. содержания.
Это кому-то интересно?
Собственно файлы:
HAL.lib, HAL.dcm - библиотека HAL компонентов для KiCAD
halplugin.py - скрипт конвертора из формата KiCAD в HAL
custom.pro - файл проекта KiCAD
custom.sch - файл со схемой как на скриншоте
custom.hal - результат, который должен получиться.
P.S. Желающие могут смело принимать участие в поиске глюков и в наполнении HAL.lib остальными компонентами. Я рисовать остальные компоненты не собираюсь - мне и по старинке удобно.

Re: VisualHAL
Добавлено: 18 сен 2014, 01:15
aftaev
UAVpilot писал(а):Это кому-то интересно?
мне интересно, только ничего не понял

Re: VisualHAL
Добавлено: 18 сен 2014, 04:22
Сергей Саныч
Интересно.
aftaev писал(а):мне интересно, только ничего не понял
UAVpilot, если я правильно понял, предлагает средство графической разработки hal-конфигураций. По мне, так крайне полезная штука.
Вот конкретно по этой схеме - мне несколько секунд спросонья хватило, чтобы понять, что на схеме счетчик на основе сдвигового регистра из D-триггеров.
А через пару минут - почему этот счетчик не будет работать
По текстовому описанию потребовалось бы гораздо больше времени.
Re: VisualHAL
Добавлено: 18 сен 2014, 07:22
Serg
Сергей Саныч писал(а):А через пару минут - почему этот счетчик не будет работать

Это в некотором роде специально сделано...

Re: VisualHAL
Добавлено: 18 сен 2014, 08:33
Nick
Конечно нужно! Очень полезная штука! Ждем продолжения

.
А что за програмка такая вообще?
ЗЫ было бы прикольно еще сигналы называть как: [компонент источник]-[пин] (или что-то подобное)
А функции и loadrt где-то в компоненте настраиваются? Или это потом ручками?
ЗЫ в списке тем она была рядом с visual mill, долго втыкал, что это такое, и почему UAVpilot создал новую тему с таким же названием

Re: VisualHAL
Добавлено: 18 сен 2014, 11:01
Serg
Nick писал(а):А что за програмка такая вообще?
Да вот, написалось вчера вечером 260 строк на tcl...

Очень хотелось на LISP'е написать, т.к. нетлист по сути - программа на оном, но решил, что народ меня не поймёт...
Nick писал(а):ЗЫ было бы прикольно еще сигналы называть как: [компонент источник]-[пин] (или что-то подобное)
Так все сигналы на схеме можно обзывать как хочешь - просто метку к проводу лепишь и всё. Компоненты тоже можно обзывать по любому.
Nick писал(а):А функции и loadrt где-то в компоненте настраиваются? Или это потом ручками?
Для loadrt просто собирается список всех компонентов одного типа и потом через names= обзывается
Параметры и настройки можно будет в качестве атрибутов элементов задавать.
Правда пока непонятно как быть со всякими там logic, weighted_sum и т.п... Возможно надо просто нарисовать все возможные конфигурации...
Nick писал(а):Ждем продолжения
В принципе оно готово, нужно только библиотеку наполнять элементами. Я чуть попозже несколько разных элементов для примера добавлю и выложу. Сейчас там только flipflop, and2, or2 и not.
Re: VisualHAL
Добавлено: 18 сен 2014, 12:18
Nick
Эх еще бы обратный парсер сделать, чтобы из halтакую красивую схемку рисовал

Re: VisualHAL
Добавлено: 18 сен 2014, 12:29
Serg
В принципе можно попробовать graphviz изнасиловать до такого состояния, но мне лень.

Re: VisualHAL
Добавлено: 18 сен 2014, 12:55
aftaev
Nick писал(а):Эх еще бы обратный парсер сделать, чтобы из halтакую красивую схемку рисовал
это прикольней было бы

Re: VisualHAL
Добавлено: 18 сен 2014, 13:13
Сергей Саныч
Где-то на форуме пробегала утилитка, которая из hal рисует граф соединений. Но там результат все равно не больно наглядный.
Вот
Re: VisualHAL
Добавлено: 18 сен 2014, 18:19
nkp
Nick писал(а):А что за програмка такая вообще?
подумалось вначале , почему то , что это "дополнения" к KiCAD ...
Re: VisualHAL
Добавлено: 18 сен 2014, 18:50
Lexxa
Такая штука однозначно нужна.
Re: VisualHAL
Добавлено: 18 сен 2014, 19:12
Serg
nkp писал(а):подумалось вначале , почему то , что это "дополнения" к KiCAD ...
В принципе можно в окошке генератора листа сделать ещё один таб с именем LinuxCNC и генерить сразу HAL-файл...

Re: VisualHAL
Добавлено: 19 сен 2014, 12:32
Nick
UAVpilot писал(а):Да вот, написалось вчера вечером 260 строк на tcl...
это со всеми картинками и интервейсом?
Re: VisualHAL
Добавлено: 19 сен 2014, 12:42
Сергей Саныч
Nick писал(а):это со всеми картинками и интервейсом?
Шютник, да

Это KiCad (САПР схем/плат под GNU GPL), а ТС сделал к нему утилиту/постпроцессор/плагин/или как-онo-там-называется для вывода списка цепей и компонентов в формате hal.
Re: VisualHAL
Добавлено: 19 сен 2014, 12:50
Nick
Вот, об этом я и говорю, я то я уж подумал он свой интерфейс накатал.
Тоже подумал, что это что-то для схемотехники...
Re: VisualHAL
Добавлено: 19 сен 2014, 21:09
tooshka
UAVpilot писал(а):Это кому-то интересно? Стоит тратить время на создание всех HAL-компонентов?
Ах.....ная вещь! Если допилить можно настраивать как полноценный ПЛК! Все наглядно, мне например гораздо понятнее (вам то программерам привычнее закорючки рисовать).
Re: VisualHAL
Добавлено: 22 сен 2014, 23:40
Serg
Наконец-то родилось нечто юзабельное - пробуйте.
Обновил первый пост.
Re: VisualHAL
Добавлено: 23 сен 2014, 08:13
Nick
+1!

На linuxcnc еще не постил?
ЗЫ надо попробовать и медальку выписать

Re: VisualHAL
Добавлено: 23 сен 2014, 09:06
Lexxa
UAVpilot писал(а): с аргументами, путь пишете свой, все остальные буковки в точности как на картинке
Низкое разрешение картинки, не видно аргументов(((((
Какие аргументы там у плагина?