MyGUI

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: MyGUI

Сообщение Ворон226 »

Сделано. При закрытии окна GladeVCP ничего в консоли не пишет...

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

cnc@cnc-desktop:~$ cd linuxcnc-dev
cnc@cnc-desktop:~/linuxcnc-dev$ . scripts/rip-environment
cnc@cnc-desktop:~/linuxcnc-dev$ linuxcnc
LINUXCNC - 2.6.0-pre0-3876-g3bf98ee
Machine configuration directory is '/home/cnc/linuxcnc-dev/configs/MyGUI2'
Machine configuration file is 'MyGUI.ini'
Starting LinuxCNC...
redis server started as: 'redis-server ', logging to: /dev/null
io started
emc/iotask/ioControl.cc 751: can't load tool table.
halcmd loadusr io started
task pid=1534
emcTaskInit: using builtin interpreter
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: MyGUI

Сообщение nkp »

ну теперь только файл Glade смотреть ;)
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: MyGUI

Сообщение Ворон226 »

Так вот он.
Вложения
mygui.glade
(30.22 КБ) 677 скачиваний
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: MyGUI

Сообщение nkp »

Выделение(006).jpg (1534 просмотра) <a class='original' href='./download/file.php?id=12601&mode=view' target=_blank>Загрузить оригинал (207.8 КБ)</a>
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: MyGUI

Сообщение nkp »

вообще в этом месте следует заметить- что гораздо правильней все привязки функций делать в скрипте
все сразу видно - легко ищется и редактируется
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: MyGUI

Сообщение Ворон226 »

А ведь прописывал! :(

В скрипте - это на питоне писать? Или прописывать в postgui.hal?
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: MyGUI

Сообщение nkp »

Ворон226 писал(а):В скрипте - это на питоне писать
скрипт - это на питоне
а выглядит это примерно так:

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

self.widgets = Widgets(self.builder)
self.widgets.button86.connect("clicked", self.unfullscreen)
это дело пишем в def __init__(self)
self.widgets.button86 - это наша кнопка в Glade
self.unfullscreen - наша функция
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: MyGUI

Сообщение Ворон226 »

на потом... Попробую просто прописать пины и связи в .hal
Спасибо! Отбой!
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: MyGUI

Сообщение nkp »

давно хотел немного изменить цветовую гамму Gremlin
и вот подсмотрел как это сделать...
опишу для Axis :
в домашней папке создаем файл .Xresources с таким содержимым:

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

*Togl.back: white
*Togl.dwell: #008000
*Togl.m1xx: #008080

*Togl.straight_feed: black
*Togl.arc_feed: black
*Togl.traverse: #0000f0

*Togl.backplotjog: #b0b0b0
*Togl.backplotfeed: #c04040
*Togl.backplotarc: #c04000
*Togl.backplottraverse: #404080

*Togl.selected: #08246b

*Togl.overlay_foreground: black
*Togl.overlay_background: white

*Togl.small_origin: #008080
*Togl.axis_x: #208020
*Togl.axis_y: #802020
*Togl.axis_z: #202080

*Togl.cone: #08246b

*Togl.label_ok: #004444
*Togl.label_limit: #cc4444
это "стандартные" цвета
теперь изменяем их по своему усмотрению...
не забываем перезагрузить комп ...
Выделение(017).jpg (1515 просмотров) <a class='original' href='./download/file.php?id=12647&mode=view' target=_blank>Загрузить оригинал (267.63 КБ)</a>
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: MyGUI

Сообщение Serg »

nkp писал(а):не забываем перезагрузить комп ...
Не надо перезагружать комп, достаточно перезагрузить .Xresources

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

xrdb -load ~/.Xresources
P.S. В Linux перезагрузка компа может потребоваться только если изменены некоторые параметры ядра или корневой ФС.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: MyGUI

Сообщение Ворон226 »

А вот после изменения визуальной панели с встроенной в AXIS на самостоятельную
нужно ли изменять наименования пинов панели в postgui.hal?

Было
net start gladevcp.hal_button11 halui.program.run
Теперь нужно
net start myguivcp.hal_button11 halui.program.run
???
Или
net start mygui.hal_button11 halui.program.run
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: MyGUI

Сообщение nkp »

Ворон226 писал(а):с встроенной в AXIS на самостоятельную
postgui.hal - это фишка от Axis
так что работать он вообще не будет
а прописать загрузку своего хал файла можно - вот например так:

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

if __name__ == "__main__":
	app = Mygui()
	res = os.spawnvp(os.P_WAIT, "halcmd", ["halcmd", "-f", "/home/nkp/emc2-dev-31bcbd2/configs/MyGUI/mode.hal"])
	if res: raise SystemExit, res
	gtk.main()
ну путь к файлу конечно подправить
==================
названия пинов прописываешь этой строкой:

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

self.halcomp = hal.component("mygui")
можешь поставить оригинальное - ведь GUI ты пишешь оригинальный ;)
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: MyGUI

Сообщение Ворон226 »

Стоп!
Вот тут я не понял... Так я теперь не смогу прописать соединения пинов визуальной панели и программных пинов в каком-либо .hal-е??? Только программировать в Питоне?
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: MyGUI

Сообщение nkp »

Все остается по прежнему - просто с axis ты мог загрузить хал строкой в ини

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

POSTGUI_HALFILE = custom_postgui.hal
то теперь этот же файл для загрузки надо прописать в скрипте (как выше я описал)
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: MyGUI

Сообщение Ворон226 »

а имя файла - mode.hal например, как у тебя.
В mode.hal я прописываю соединения пинов так же, как и в postgui.hal?
А как CNC поймёт, что в файле mygui.py написано, где находится mode.hal?
Хочешь быть счастливым? Будь им!
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: MyGUI

Сообщение Ворон226 »

nkp писал(а):названия пинов прописываешь этой строкой:
self.halcomp = hal.component("mygui")
А где прописываю?
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: MyGUI

Сообщение nkp »

Ворон226 писал(а):А как CNC поймёт, что в файле mygui.py написано, где находится mode.hal?
так ты же путь полный к файлу прописываешь :
res = os.spawnvp(os.P_WAIT, "halcmd", ["halcmd", "-f", "/home/nkp/emc2-dev-31bcbd2/configs/MyGUI/mode.hal"])
Ворон226 писал(а):А где прописываю?
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: MyGUI

Сообщение Ворон226 »

Вот теперь понятно.

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

    if __name__ == "__main__":
       app = Mygui()
       res = os.spawnvp(os.P_WAIT, "halcmd", ["halcmd", "-f", "/home/cnc/linuxcnc-dev/configs/MyGUI2/mode.hal"])
       if res: raise SystemExit, res
       gtk.main()
- это прописываю в файле mygui, который лежит в /linuxcnc/bin
А в папке MyGui2, в которой лежат файлы конфигурации, помещаю файл с именем mode.hal, в котором прописываю все соединения пинов панели с пинами CNC. Например:
net led1 gladevcp.hal_led1 halui.joint.0.is-homed

Но вопрос остался: пины панели так и остались под своими прежними именами? - gladevcp.hal_led1
А то Линукс ругается при запуске:

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

/home/cnc/linuxcnc-dev/configs/MyGUI2/mode.hal:6: Pin 'gladevcp.hal_button3' does not exist
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: MyGUI

Сообщение nkp »

наверно так не получиться...
надо создавать пины новые и к ним уже присоеденяться...
а если хочешь "по старому" - то надо наверно панель делать как дополнение к Axis
загпусти Gscreen - посмотри на его код - как это все сделано
так это полноценный gui к емс
конечно надо с питоном дольше разбираться ;)
а может есть способ и так прописать "видимость" элементов Glade в Hal
я так не пользовал - поэтому наверняка не знаю :thinking:
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: MyGUI

Сообщение Ворон226 »

Но вот смотри - в Glade создал панель. Её видать. И пины там прописаны...

А так я уже почитал начало темы, как там программируют каждый пин... Выходит другого варианта нет? Только изучать? Если - да, то может начать с пары кнопок? И попытаться прописать хотя бы их? А потом потихоньку пропишу и все остальные.
Тем более, что осталось кнопок-то всего ничего!
Присвоить текущему положению - нулевое положение.
Переместиться в нулевое положение.
Управление пинами LPT-порта (включить-выключить).
Индикация типа LED.
Загрузить файл для дальнейшей работы с ним.

Вот и всё. Никаких наворотов.
Хочешь быть счастливым? Будь им!
Ответить

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