[WIKI] Интерфейс Gmoccapy с нуля.

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
verser
Мастер
Сообщения: 1883
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1278
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: Интерфейс Gmoccapy , делаем свои дополнения. WIKI.

Сообщение verser »

nkp писал(а):я так понимаю , что можно сделать то же самое и "по настоящему", без "аппликаций" ,внеся правки в основной файл .glade ...
Да, и в .py файл тоже, исходники открытые.
Аватара пользователя
verser
Мастер
Сообщения: 1883
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1278
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: Интерфейс Gmoccapy , делаем свои дополнения. WIKI.

Сообщение verser »

Но эти основные файлы постоянно обновляются разработчиком, поэтому лучше делать как дополнение, что б не возиться с обновлением каждый раз.
gennadiy
Кандидат
Сообщения: 64
Зарегистрирован: 03 ноя 2013, 22:28
Репутация: 32
Откуда: Брест
Контактная информация:

Re: Интерфейс Gmoccapy , делаем свои дополнения. WIKI.

Сообщение gennadiy »

Я пробовал изменять в Glade-редакторе файл gmoccapy.glade. Родной "весит" 457,1 КБ, а изменённый 447,8 КБ (добавил в тексте подсказки пробел) и вот такая ошибка при запуске программы Gmoccapy: Я ещё не разбирался, но в gmoccapy.glade как-то "прикручена" DRO-панель (запустить её можно здесь: ./linuxcnc-dev/lib/python/gladevcp/combi_dro.py)
(для просмотра содержимого нажмите на ссылку)
Снимок-2.png
Снимок-2.png (15.19 КБ) 3515 просмотров
Аватара пользователя
verser
Мастер
Сообщения: 1883
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1278
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: Интерфейс Gmoccapy , делаем свои дополнения. WIKI.

Сообщение verser »

Для редактирования gmoccapy.glade редактор надо запускать из терминала предварительно настроив среду исполнения:

Код: Выделить всё

cd linuxcnc-dev
. ./scripts/rip-environment
glade
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Интерфейс Gmoccapy , делаем свои дополнения. WIKI.

Сообщение nkp »

verser писал(а):Для редактирования gmoccapy.glade редактор надо запускать из терминала
а что это конкретно дает??
Аватара пользователя
verser
Мастер
Сообщения: 1883
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1278
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: Интерфейс Gmoccapy , делаем свои дополнения. WIKI.

Сообщение verser »

nkp писал(а): а что это конкретно дает??
Все файлы интерфейса размещены в /home/NAME/linuxcnc-dev
скрипт rip-environment переназначает на этот каталог
TCLLIBPATH
LD_LIBRARY_PATH
MANPATH
PYTHONPATH
GLADE_CATALOG_PATH
в пределах сессии, тогда все ссылки на файлы правильно отрабатываются.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Интерфейс Gmoccapy , делаем свои дополнения. WIKI.

Сообщение nkp »

в редакторе Glade мы вроде бы только xml файл правим...
в нем ссылки ??
verser писал(а):все ссылки на файлы правильно отрабатываются.
Аватара пользователя
verser
Мастер
Сообщения: 1883
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1278
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: Интерфейс Gmoccapy , делаем свои дополнения. WIKI.

Сообщение verser »

nkp писал(а):в редакторе Glade мы вроде бы только xml файл правим...
в нем ссылки ??
ссылки то есть, но не в этом дело.
Сам Glade при запуске в "не подготовленной" среде остается без поддержки таких важных hal виджетов, как например Combi DRO.
Аватара пользователя
verser
Мастер
Сообщения: 1883
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1278
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: Интерфейс Gmoccapy , делаем свои дополнения. WIKI.

Сообщение verser »

Вот в картинках:
good Glade:
googglade.png (3479 просмотров) <a class='original' href='./download/file.php?id=29624&sid=967e28acf34c77ec4cb12f45c9f5dc06&mode=view' target=_blank>Загрузить оригинал (14.81 КБ)</a>
bad Glade:
badglade.png (3479 просмотров) <a class='original' href='./download/file.php?id=29625&sid=967e28acf34c77ec4cb12f45c9f5dc06&mode=view' target=_blank>Загрузить оригинал (14.4 КБ)</a>
Вот первоисточникhttp://www.linuxcnc.org/docs/2.5/html/g ... _interface
If LinuxCNC was not installed from a package, the LinuxCNC shell environment needs to be set up with . <linuxcncdir>/scripts/rip-environment, otherwise glade won’t find the LinuxCNC-specific widgets.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Интерфейс Gmoccapy , делаем свои дополнения. WIKI.

Сообщение Nick »

verser писал(а):Сделал такое дополнение - отражает прогресс выполнения g-code, полезно для больших программ.
А как в итоге вычисляешь текущее состояние процесса? Через номер строки в Gкоде?
Аватара пользователя
verser
Мастер
Сообщения: 1883
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1278
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: Интерфейс Gmoccapy , делаем свои дополнения. WIKI.

Сообщение verser »

Nick писал(а): Есть пин:
motion.program-line OUT S32 - выдает номер текущей строки. можно попробовать его использовать...
прямо в pythone его и вытаскиваю :)

Код: Выделить всё

from subprocess import Popen, PIPE
...
                a= int(Popen('halcmd getp motion.program-line ', shell=True, stdout=PIPE).stdout.read())
                self.progressbar.set_value(100*a/self.file_lines) # current g-code line complete in %
...
может есть способ по-проще?
Последний раз редактировалось verser 16 июн 2014, 12:56, всего редактировалось 1 раз.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Интерфейс Gmoccapy , делаем свои дополнения. WIKI.

Сообщение Nick »

И как часто?
Аватара пользователя
verser
Мастер
Сообщения: 1883
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1278
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: Интерфейс Gmoccapy , делаем свои дополнения. WIKI.

Сообщение verser »

Nick писал(а):И как часто?

Код: Выделить всё

work_thread = 500            # work_thread means how often pins will be updated (ms)
Аватара пользователя
verser
Мастер
Сообщения: 1883
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1278
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: Интерфейс Gmoccapy , делаем свои дополнения. WIKI.

Сообщение verser »

но только в режиме STATE_ON + MODE_AUTO
Аватара пользователя
verser
Мастер
Сообщения: 1883
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1278
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: Интерфейс Gmoccapy , делаем свои дополнения. WIKI.

Сообщение verser »

наверняка можно обойтись и без доп таймера, но для этого надо в основах интерфейса изменения делать. Написал разработчику, посмотрим на реакцию.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Интерфейс Gmoccapy , делаем свои дополнения. WIKI.

Сообщение nkp »

verser писал(а):Сам Glade при запуске в "не подготовленной" среде остается без поддержки таких важных hal виджетов, как например Combi DRO.

вот - теперь всё стало на свои места:
эти телодвижения нужны чтоб задействовать "свои" виджеты...(не входящие пока в основную сбору)
Аватара пользователя
verser
Мастер
Сообщения: 1883
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1278
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: Интерфейс Gmoccapy , делаем свои дополнения. WIKI.

Сообщение verser »

nkp писал(а): вот - теперь всё стало на свои места:
эти телодвижения нужны чтоб задействовать "свои" виджеты...(не входящие пока в основную сбору)
в какую сборку? поделишься? :roll:
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Интерфейс Gmoccapy , делаем свои дополнения. WIKI.

Сообщение Serg »

verser писал(а):a= int(Popen('halcmd getp motion.program-line ', shell=True, stdout=PIPE).stdout.read())
Жуть какая! Там-же вроде есть нативный API питона для доступа к HAL...
verser писал(а):в какую сборку? поделишься? :roll:
http://buildbot.linuxcnc.org/dists/luci ... nary-i386/
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
verser
Мастер
Сообщения: 1883
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1278
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: Интерфейс Gmoccapy , делаем свои дополнения. WIKI.

Сообщение verser »

UAVpilot писал(а): Жуть какая!
:) то же самое подумал, когда писал, но блин рыться лень, может кто знает как проще - с удовольствием подкорректирую.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Интерфейс Gmoccapy , делаем свои дополнения. WIKI.

Сообщение Nick »

UAVpilot писал(а):Жуть какая! Там-же вроде есть нативный API питона для доступа к HAL...
Действительно, как?
На ум пришло через отдельный компонент со своими пинами...
Ответить

Вернуться в «LinuxCNC»