MyGUI

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

Re: MyGUI

Сообщение Nick »

А точно! Это же фичи axis все :) также как pyvcp и прочее, вообще все, что в DYSPLAY обрабатывается индивидуально, кроме разве что самого
DISPLAY = axis
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: MyGUI

Сообщение nkp »

дописал в скрипт :

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

if __name__ == "__main__":
	app = Mygui()
        res = os.spawnvp(os.P_WAIT, "halcmd", ["halcmd", "-f", "/home/nkp/emc2-dev-80db2a2/configs/MyGUI/mode.hal"])
        if res: raise SystemExit, res
	gtk.main()
и все стало работать
(инфа по os.spawnvp)
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: MyGUI

Сообщение Nick »

А разве из питона нельзя команды hal напрямую вызывать?
Хотя оно наверное не нужно :)....

ЗЫ лучше стырить кусочек кода из axis и брать название файла прямо из ini.
И вообще добавить метод Mygui.postgui и в нем все что надо сделать.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: MyGUI

Сообщение nkp »

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

Re: MyGUI

Сообщение nkp »

Nick,используя твой код из https://github.com/cnc-club/hw-buttons/tree/ сделал смену режимов от внешних кнопок
все работает-переключает и в емс и в gui
сейчас использую hbox для кнопок но там легко поменять и на вкладки
возвращаясь к вопросу как должна проходить обработка нажатия-по номеру кнопки или по названию
так вот я так и не понял- какие объективные недостатки в первом способе(тогда назывался случай ,что мол можно поменять местами кнопки и будет ошибка
но кто их менять то будет? таким макаром можно что хош нарушить
а вот со вторым способом ....
можешь общий примерчик .так сказать направление-а то не пойму с чего начать :wik:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: MyGUI

Сообщение Nick »

Мое предложение было такое:
1. Обращаемся к кнопке по названию. Т.е. в Glade в названии пишем название пина!
2. В ini делаем раздел соответствия "название пина" => "название которое писать на кнопке"
3. При создании интерфейса пробегаем по всем кнопкам в Builder, смотрим их названия а лучше даже не названия, а Label. Если название есть в массиве пинов, то:
а. создаем пин
б. присоединяем к нему кнопку
в. переименовываем кнопку в соответствии с разделом соответствия.

С положением плохо то, что при неправильно упаковке (например -1 кнопка) кнопки могут растянуться и сместиться.
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: MyGUI

Сообщение Lexxa »

имена кнопок и режимов должны быть уникальными.
Функция кнопки = ИмяКнопки_Режим_Функция. Применив такую систему имен, путаницы избежать легко

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

Re: MyGUI

Сообщение nkp »

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

Re: MyGUI

Сообщение Nick »

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

Re: MyGUI

Сообщение nkp »

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

Re: MyGUI

Сообщение Nick »

А почему бы и нет?
По крайней мере, все, что требует изменений на экране и не требует крайне быстрых скоростей обработки можно.

ЗЫ кстати, ладдер будет в rt работать или в userspace?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: MyGUI

Сообщение nkp »

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

Re: MyGUI

Сообщение Nick »

тогда может иметь смысл...
но тогда нет смысла на кнопках писать пины. Тупо названия и все.
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: MyGUI

Сообщение Lexxa »

nkp писал(а):без ладдера ?? сомневаюсь........
+1
Ник,1есть фанук, есть симменс, есть хх. никто там не делает стойку под станок, все эпроизводители делают и пульты и все остальное только через электроавтоматику- ладдер
Последний раз редактировалось Lexxa 20 сен 2012, 19:22, всего редактировалось 1 раз.
:bender:
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: MyGUI

Сообщение Lexxa »

Nick писал(а):По крайней мере, все, что требует изменений на экране и не требует крайне быстрых скоростей обработки можно.
например халуи.аборт требует, и вообще все что касается движений (в ручном) требует
:bender:
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: MyGUI

Сообщение Lexxa »

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

Re: MyGUI

Сообщение Nick »

В том то и дело, что ладдеру пофигу, что на кнопке написано, он будет отрабатывать нажатие на железную кнопку с положением N при условии текущего режима M.
Поэтому не вижу смысла писать на железных кнопках пины.
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: MyGUI

Сообщение Lexxa »

как раз наоборот. пин режима + нардкнопки даст четкое и однозначное её функционирование, а система имен нужна для отладки.
Т.е.
например, имеем кнопки hbutton1..8 и vbutton1..8
и пин режима mode 1..6
тогда например в режиме1 кнопка hbutton1 имеет функцию func1
т.е. в ладдере будет

-----|MyGUI_on|--------|mode1|----------|hbutton1|-------------(func1)---------
и проблем никаких
:bender:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: MyGUI

Сообщение Nick »

Ну, все правильно, только как я и говорил пин на кнопке не пишется, будет просто hbutton1..8.
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: MyGUI

Сообщение Lexxa »

как тогда передать это дело в ладдер?
:bender:
Ответить

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