GladeVCP и PyVCP для начинающих

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5182
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение Serg »

Nick писал(а):Но как этим записать значение в имеющийся спинбокс?
А не надо в спинбокс ничего записывать, достаточно рядом поместить label с текущими значениями, а в спинбоксы вводить те, которые будут "применены" по нажатию отдельной кнопки.
odekolon писал(а):а компонент lnvert не нашел..
http://linuxcnc.org/docs/devel/html/man ... ert.9.html
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
odekolon
Мастер
Сообщения: 1118
Зарегистрирован: 05 ноя 2014, 14:53
Репутация: 360
Настоящее имя: Борис
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение odekolon »

UAVpilot писал(а):
Nick писал(а):Но как этим записать значение в имеющийся спинбокс?
А не надо в спинбокс ничего записывать, достаточно рядом поместить label с текущими значениями, а в спинбоксы вводить те, которые будут "применены" по нажатию отдельной кнопки.
odekolon писал(а):а компонент lnvert не нашел..
http://linuxcnc.org/docs/devel/html/man ... ert.9.html
да уж теперь то чего ссылку класть... не дурак, разобрался уже
кстати, за идею с мультиплексорами, спасибо
на досуге поковыряю....
а вот еще чайниковский вопрос:
сколько может быть мултиплексоров, да и вообще элементов в системе?
влияет ли колчество элементов FP математики на реальную производительность? :eh:
"Капиталистом стать можно лишь тогда, когда обогатишь свою память знанием всех тех богатств, которые выработало человечество"
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5182
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение Serg »

В системе ограничено не количество элементов, а количество пинов т.к. для каждого нужно выделить память в разделяемом сегменте.

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

$ halrun
.
halcmd: loadrt mux8 count=12345
Error: could not insert module /usr/realtime-3.4-9-rtai-686-pae/modules/linuxcnc/mux8.ko: Cannot allocate memory
<stdin>:1: exit value: 1
<stdin>:1: insmod failed, returned -1
See the output of 'dmesg' for more information.
halcmd: quit
$ 
$ dmesg | grep mux8
[6013856.000189] HAL: ERROR: insufficient memory for pin 'mux8.199.in2'
Но при желании можно пересобрать с увеличенным сегментом.
odekolon писал(а):влияет ли колчество элементов FP математики на реальную производительность? :eh:
Влияет конечно, но считаю этим можно пренебречь.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
odekolon
Мастер
Сообщения: 1118
Зарегистрирован: 05 ноя 2014, 14:53
Репутация: 360
Настоящее имя: Борис
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение odekolon »

UAVpilot писал(а):В системе ограничено не количество элементов, а количество пинов т.к. для каждого нужно выделить память в разделяемом сегменте.

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

$ halrun
.поскипано...
[6013856.000189] HAL: ERROR: insufficient memory for pin 'mux8.199.in2'
Но при желании можно пересобрать с увеличенным сегментом.
odekolon писал(а):влияет ли колчество элементов FP математики на реальную производительность? :eh:
Влияет конечно, но считаю этим можно пренебречь.
(восхищенно) Какой ты умный... :geek:
"Капиталистом стать можно лишь тогда, когда обогатишь свою память знанием всех тех богатств, которые выработало человечество"
S500
Мастер
Сообщения: 301
Зарегистрирован: 22 сен 2014, 18:25
Репутация: 57
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение S500 »

дело двигается очень потихоньку, теперь новые проблемы.

1-проблема.
только включил станок и сразу включается "ручное управление [F3]" панель (которая находится с левой стороны экрана), но ведь это так неудобно, лучше было вручную включать когда нужен "ручное управление"
вопрос можно ли вставить самодельную панель сверху "ручного управлениe" панели, и как это сделать чтоб при включении станкa включается на этом месте самодельная панелька отображающая k примеру какие-то датчики состояние станка.

2-проблема.
вы на фото видите самодельную панель с правой стороны экрана.
(это просто так наброски),
вопрос как сделать прокручивающийся кнопки или панели, k примеру если нажимаешь кнопки "UP" или "DOWN" то панель прокручивается или k примеру кнопки с 1 по 5 меняется на кнопки 6 по 10 и так далее и потом по кругу, лучше было чтоб можно менять всю панель вот так по кругу.

3-вопрос.
можно ли сделать три независимых самодельных панель управления 1- стоит с правой стороны, 2- стоит как добавка к панели "вид", "координаты", 3- панель тоже стоит как добавка к панели "ручное управление", "MDI"

большое спасибо.
Вложения
Screenshot.png (1990 просмотров) <a class='original' href='./download/file.php?id=37389&sid=eb05ef023e4a5490b706dad2baf68765&mode=view' target=_blank>Загрузить оригинал (114.94 КБ)</a>
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение Nick »

S500 писал(а):1-проблема.
только включил станок и сразу включается "ручное управление [F3]" панель (которая находится с левой стороны экрана), но ведь это так неудобно, лучше было вручную включать когда нужен "ручное управление"
вопрос можно ли вставить самодельную панель сверху "ручного управлениe" панели, и как это сделать чтоб при включении станкa включается на этом месте самодельная панелька отображающая k примеру какие-то датчики состояние станка.
Туда не уверен, что можно запихать просто так что-то. Может оказаться более правильным сделать свой интерфейс на gladevcp.
S500 писал(а):2-проблема.
вы на фото видите самодельную панель с правой стороны экрана.
(это просто так наброски),
вопрос как сделать прокручивающийся кнопки или панели, k примеру если нажимаешь кнопки "UP" или "DOWN" то панель прокручивается или k примеру кнопки с 1 по 5 меняется на кнопки 6 по 10 и так далее и потом по кругу, лучше было чтоб можно менять всю панель вот так по кругу.
Надо добавить компонент notebook, у него есть переключаемые tab - в них распихиваем кнопки и делаем переключение страничек по отдельным кнопкам.
S500 писал(а):3-вопрос.
можно ли сделать три независимых самодельных панель управления 1- стоит с правой стороны, 2- стоит как добавка к панели "вид", "координаты", 3- панель тоже стоит как добавка к панели "ручное управление", "MDI"
Вроде "из коробки" можно запихать только в таб там где 3д просмотр, справа или в отдельное окно..
S500
Мастер
Сообщения: 301
Зарегистрирован: 22 сен 2014, 18:25
Репутация: 57
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение S500 »

Nick писал(а):Туда не уверен, что можно запихать просто так что-то.
но если свою панельку нельзя добавить, ну тогда хоть кнопку можно сделать которая будет отключать и также включать "ручное управление",
а то так неудобно только станок включил и сразу включается ручное управление таk можно натворить делов.
Nick писал(а):Может оказаться более правильным сделать свой интерфейс на gladevcp.
я-то не против но боюсь что это очень сложно, и здесь я программировать не умею а там наверное надо очень много программировать.

вот к примеру если написать простую панель интерфейс, поставить на нее всего три кнопки это "Stop", "Open File", "Run", потом поместить на панель только два окна "3d просмотр", "G-code".
это наверное не так очень просто и сделать чтобы это все еще работалo.
если у вас есть простенький пример как это сделать покажите пожалуйста.
Nick писал(а):Надо добавить компонент notebook, у него есть переключаемые tab - в них распихиваем кнопки и делаем переключение страничек по отдельным кнопкам.
спасибо большое, обязательно попробую.
P.S.
сегодня опять буду переписывать свой ноутбук (Panasonic Toughbook CF-52) не знаю что с ним происходит в этот раз интернет очень плохо работает зависает, компьютер бывает зависает. не знаю вроде бы "п" я не смотрю, а это второй раз его перезаписываю. раньше такого не было видно что тo на интернете нахожу.

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

Re: GladeVCP и PyVCP для начинающих

Сообщение Nick »

S500 писал(а):я-то не против но боюсь что это очень сложно, и здесь я программировать не умею а там наверное надо очень много программировать.

вот к примеру если написать простую панель интерфейс, поставить на нее всего три кнопки это "Stop", "Open File", "Run", потом поместить на панель только два окна "3d просмотр", "G-code".
это наверное не так очень просто и сделать чтобы это все еще работалo.
если у вас есть простенький пример как это сделать покажите пожалуйста.
В gladevcp вроде есть все эти элементы ;)
S500
Мастер
Сообщения: 301
Зарегистрирован: 22 сен 2014, 18:25
Репутация: 57
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение S500 »

может и есть но вот как это все вместе с клеем чтоб оно работало, я даже представления не имею с чего надо начинать и как делать, чтобы оно работало,
непросто окошки поставить а чтоб еще работалo.

P.S.
но если свою панельку нельзя добавить, ну тогда хоть кнопку можно сделать которая будет отключать и также включать "ручное управление",
спасибо
S500
Мастер
Сообщения: 301
Зарегистрирован: 22 сен 2014, 18:25
Репутация: 57
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение S500 »

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

Re: GladeVCP и PyVCP для начинающих

Сообщение Nick »

Нужно написать скриптик.
Там в описании gladevcp есть пример как написать бэкенд к панельке.
http://www.linuxcnc.org/docs/html/gui/g ... rogramming


+ попробуй подобавлять всякие виджеты типо предпросмотра и прочих на свою панель - может их в стандартной конфигурации хватит для твоих целей.
S500
Мастер
Сообщения: 301
Зарегистрирован: 22 сен 2014, 18:25
Репутация: 57
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение S500 »

Nick-большое спасибо

у меня новая идея появилась,
если сделать с помощью клавиши чтобы мышка бежала нажимала сначала одну кнопку потом другую.
вот пожалуйста посмотрите код пытался сделать не получается только нажимается одна кнопка.

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

exec_str="echo -e 'MotionNotify %s %s\n ButtonPress 1\n ButtonRelease 1\n MotionNotify 30 30 1' | xmacroplay :0.0"

root_window.bind( "<Control-d>", lambda e: os.system(exec_str%(45,90)))
root_window.bind( "<Control-d>", lambda e: os.system(exec_str%(300,220)))
подскажите пожалуйста как сделать чтобы нажималась сразу две кнопки номер 1 потом номер 2 .
спасибо.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение Nick »

А мышка ко второй едет?
S500
Мастер
Сообщения: 301
Зарегистрирован: 22 сен 2014, 18:25
Репутация: 57
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение S500 »

Nick писал(а):А мышка ко второй едет?
мышка едет только k 2 кнопки и нажимать ee, а вот 1 кнопки ехать не хочет и нажимать тоже.
P.S.
я использовал задержку чтобы заметили как онo работает.

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

# exec_str="echo -e 'MotionNotify %s %s\n ButtonPress 1\n ButtonRelease 1\n MotionNotify 30 30 1' | xmacroplay :0.0"


exec_str="echo -e 'MotionNotify %s %s\n ButtonPress 1\n ButtonRelease 1\n MotionNotify 30 30 1' | xmacroplay -d 350:0.0"

root_window.bind( "<Control-z>", lambda e: os.system(exec_str%(45,90)))
root_window.bind( "<Control-z>", lambda e: os.system(exec_str%(1200,450)))
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение Nick »

S500 писал(а):exec_str="echo -e 'MotionNotify %s %s\n ButtonPress 1\n ButtonRelease 1\n MotionNotify 30 30 1' | xmacroplay -d 350:0.0"

root_window.bind( "<Control-z>", lambda e: os.system(exec_str%(45,90)))
root_window.bind( "<Control-z>", lambda e: os.system(exec_str%(1200,450)))
А, блин! Тут другое.
root_window.bind привязывает к кнопке действие, сначала ты привязываешь одно, потом второе, после этого первое действие уже не выполняется.
Надо все в 1 bind запихать.
Как-то так например:

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

exec_str2="echo -e 'MotionNotify %s %s\n ButtonPress 1\n ButtonRelease 1\n MotionNotify %s %s\n ButtonPress 1\n ButtonRelease 1\n MotionNotify 30 30 1' | xmacroplay -d 350:0.0"
root_window.bind( "<Control-z>", lambda e: os.system(exec_str2%(45,90,1200,450)))
S500
Мастер
Сообщения: 301
Зарегистрирован: 22 сен 2014, 18:25
Репутация: 57
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение S500 »

Nick большое спасибо.
это работает уже, задержка все равно надо ставить минимум -d 150 :)
а я уже думал что это невозможно так сделать, начал клеить от одной кнопки, теперь не знаю что делать от одной кнопки или от двух кнопок :) .
вот мои наброски кому интересно можете посмотреть правда это еще не законченный вариант.
зато работает.
еще раз большое спасибо.

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

loadrt or2 count=1
addf or2.0 servo-thread                    # nezkie potok
net b1 or2.0.in0 <= gladevcp.button_run
net b2 or2.0.in1 <= gladevcp.button_ONE_STEP
net b3 <= or2.0.out

net b3 => halui.machine.on => halui.mode.auto => halui.program.run 

#net b1  gladevcp.button_run => halui.program.run 
net b2  gladevcp.button_ONE_STEP => halui.program.step => halui.program.pause 
P.S.
может кто-нибудь знает как увеличить шрифт для G-кода, а то слишком мелко показывает на экране, регулировки в линуксе я пробовал не помогает.

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

Re: GladeVCP и PyVCP для начинающих

Сообщение Nick »

хммм... это наверное где-то в самом axis, хотя, может он использует какой-то стандартный компонент...
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5182
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение Serg »

В .axisrc можно написать:
t.configure(font="-*-courier-*-*-*-*-20-*-*-*-*-*-*-*")
шрифт можно подобрать программкой xfontsel
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение nkp »

UAVpilot писал(а):t.configure(font="-*-courier-*-*-*-*-20-*-*-*-*-*-*-*")
:good:
Выделение_034.png (1760 просмотров) <a class='original' href='./download/file.php?id=38304&sid=eb05ef023e4a5490b706dad2baf68765&mode=view' target=_blank>Загрузить оригинал (133.88 КБ)</a>
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: GladeVCP и PyVCP для начинающих

Сообщение Nick »

UAVpilot писал(а):В .axisrc можно написать:
t.configure(font="-*-courier-*-*-*-*-20-*-*-*-*-*-*-*")
шрифт можно подобрать программкой xfontsel
А размер кнопочек так можно увеличить?
Ответить

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