gscreen
Re: gscreen
gladevcp не понимает параметров после .ui файла, так gladevcp args file.ui и gladevcp file.ui args дадут разные результаты
Да, еще, вы не хотите кнопки дёргать по именам, а не по "положению", которое может измениться если вставятся какие-нибудь паддинги?
Да, еще, вы не хотите кнопки дёргать по именам, а не по "положению", которое может измениться если вставятся какие-нибудь паддинги?
root, доделай конвертацию! 
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: gscreen
Положение нужно только для двух рядов кнопок.
Да, есть проблема, если в Hbox пустое место, оно заполняется всеми кнопками, но это будет сразу видно на экране.
Просто нам необходимо, чтобы нажатие на хардварную кнопку вызывало именно то, что над ней нарисовано.
Остальные кнопки надо по именам вызывать.
Да, есть проблема, если в Hbox пустое место, оно заполняется всеми кнопками, но это будет сразу видно на экране.
Просто нам необходимо, чтобы нажатие на хардварную кнопку вызывало именно то, что над ней нарисовано.
Остальные кнопки надо по именам вызывать.
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: gscreen
так и не заработал у меня колькулятор:
Последний раз редактировалось nkp 30 авг 2012, 23:14, всего редактировалось 1 раз.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: gscreen
А что он должен считать?
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: gscreen
так в том и вопрос
только по коду и догадки
а почему не работает ?????
и мне еще интересно как само окно калькулятора формируется? ведь в glade только рамка под него .....
только по коду и догадки
а почему не работает ?????
и мне еще интересно как само окно калькулятора формируется? ведь в glade только рамка под него .....
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: gscreen
А какие там названия кнопок и функции?
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: gscreen
это обычный калькуляторNick писал(а):А какие там названия кнопок и функции?
или ты про что?
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: gscreen
Ну я имею в виду в glade как кнопки называются, чтобы их можно было в коде найти?
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: gscreen
кнопок нет
ты или вводишь число в правом верхнем углу в Spin box
либо даблклик на нем вызывает калькулятор
вводимое число в переменной raw:
ты или вводишь число в правом верхнем углу в Spin box
либо даблклик на нем вызывает калькулятор
вводимое число в переменной raw:
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: gscreen
вот сейчас писал в соседней теме о gremlin и возник вопрос :
некоторое количество кнопок надо выделить под внутренние задачи самого окна
но даже при наличии 56 кнопок в myscreen.glade выделять в каждом режиме под графику - я думаю это слишком
в оригинале есть как бы подрежимы
но там проще - gscreen вообще писался (со слов автора) для тачскрина
а у нас переключение режимов галетником
Lexxa, как ты видишь это ?
и в целом , мне кажеться надо последовательно определиться в содержимым экрана для каждого режима
тут без твоего опыта не обойтись...
вот исходная : 6 режимов
1) edit
2) AUTO
3) MDI
4) безразмерные перемещения
5) инкрементальные перемещения
6) от маховичка
и есть myscreen.glade
вот и начать с первого режима - какие кнопки и другое содержимое .Просто - пусть в виде картинки
думаю это основа алгоритма работы интерфейса
некоторое количество кнопок надо выделить под внутренние задачи самого окна
но даже при наличии 56 кнопок в myscreen.glade выделять в каждом режиме под графику - я думаю это слишком
в оригинале есть как бы подрежимы
но там проще - gscreen вообще писался (со слов автора) для тачскрина
а у нас переключение режимов галетником
Lexxa, как ты видишь это ?
и в целом , мне кажеться надо последовательно определиться в содержимым экрана для каждого режима
тут без твоего опыта не обойтись...
вот исходная : 6 режимов
1) edit
2) AUTO
3) MDI
4) безразмерные перемещения
5) инкрементальные перемещения
6) от маховичка
и есть myscreen.glade
вот и начать с первого режима - какие кнопки и другое содержимое .Просто - пусть в виде картинки
думаю это основа алгоритма работы интерфейса
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: gscreen
+500 Это очень надо, причем достаточно срочно, завтра уезжаю, надо до завтра все на ноут слить.nkp писал(а):вот и начать с первого режима - какие кнопки и другое содержимое .Просто - пусть в виде картинки
- Lexxa
- Мастер
- Сообщения: 2703
- Зарегистрирован: 16 дек 2011, 16:48
- Репутация: 319
- Настоящее имя: Алексей
- Откуда: ryazan
- Контактная информация:
Re: gscreen
nkp, я в теме по gscreen пытался обозначить ф-ции, кажись на второй странице.
т.е. в каждом режиме надо выделить существенные кнопки, которые не будут подменяться в подрежимах.
Разумеется свободные места под софтовые кнопки останутся
Например.
1) Auto
Hard CycleStart
Hard FeedStop
Hard Abort
Soft Coolant OnOff
Soft Lube OnOff
Soft Mist OnOff
Soft "/"
Soft "M01"
Soft View
sub soft "плоскость XY"
sub soft "плоскость XZ"
sub sotf "плоскость ZX"
sub soft "Горизонтальное вращение"
sub soft "Вертикальное вращение"
sub soft "Увеличить масштаб"
sub soft "Уменьшить масштаб"
sub soft "Закрыть просмотр"
sub soft "G-код - Скрыть гремлина - ничего не скрывать"
Soft "Очистить гремлина"
Soft "стрелка вверх" (дублируется с клавиатурой)
Soft "Стрелка вниз" (дублируется с клавиатурой)
Soft "Исполнить с выбранного кадра"
Soft NCGUI
sub soft ...
Soft "Открыть программу"
2) Edit
Все hard сделать неактивными (через ладдер)
Soft "открыть"
Soft "сохранить"
Soft "Сохранить как"
Soft "Протестировать в гремлине"
Soft Вставить "/" в начало строки
Soft Вставить "М01" в конец строки
хз что там еще нужно
3) безразмерные
Hard CycleStart
Hard FeedStop
Hard Abort
Hard "+"
Hard "quick"
Hard "-"
Soft Coolant OnOff
Soft Lube OnOff
Soft Mist OnOff
Soft "Set offset"
sub soft "G5x up"
sub soft "G5x down"
sub soft "Table Tool"
sub soft "input"
sub soft "save"
sub soft "cancel"
sub soft "exit to main"
soft NCGUI (?)
4) Инкрементальные перемещения
Hard CycleStart
Hard FeedStop
Hard Abort
Hard "+"
Hard "quick"
Hard "-"
Soft Coolant OnOff
Soft Lube OnOff
Soft Mist OnOff
Soft "Set offset"
sub soft "G5x up"
sub soft "G5x down"
sub soft "Table Tool"
sub soft "input"
sub soft "save"
sub soft "cancel"
sub soft "exit to main"
soft NCGUI (?)
Soft "Set Inc" (лучше, если это hard (энкодер например))
sub soft "0.01"
sub soft "0.05"
sub soft "0.1"
sub soft "1"
sub soft "5"
sub soft "10"
5) Перемещения от маховичка
Hard CycleStart
Hard FeedStop
Hard Abort
Hard "+"
Hard "quick"
Hard "-"
Soft Coolant OnOff
Soft Lube OnOff
Soft Mist OnOff
Soft "Set offset"
sub soft "G5x up"
sub soft "G5x down"
sub soft "Table Tool"
sub soft "input"
sub soft "save"
sub soft "cancel"
sub soft "exit to main"
soft NCGUI (?)
soft x1
soft x10
Soft x100
6) MDI
естественно положительно.nkp писал(а):как ты видишь это ?
т.е. в каждом режиме надо выделить существенные кнопки, которые не будут подменяться в подрежимах.
Разумеется свободные места под софтовые кнопки останутся
Например.
1) Auto
Hard CycleStart
Hard FeedStop
Hard Abort
Soft Coolant OnOff
Soft Lube OnOff
Soft Mist OnOff
Soft "/"
Soft "M01"
Soft View
sub soft "плоскость XY"
sub soft "плоскость XZ"
sub sotf "плоскость ZX"
sub soft "Горизонтальное вращение"
sub soft "Вертикальное вращение"
sub soft "Увеличить масштаб"
sub soft "Уменьшить масштаб"
sub soft "Закрыть просмотр"
sub soft "G-код - Скрыть гремлина - ничего не скрывать"
Soft "Очистить гремлина"
Soft "стрелка вверх" (дублируется с клавиатурой)
Soft "Стрелка вниз" (дублируется с клавиатурой)
Soft "Исполнить с выбранного кадра"
Soft NCGUI
sub soft ...
Soft "Открыть программу"
2) Edit
Все hard сделать неактивными (через ладдер)
Soft "открыть"
Soft "сохранить"
Soft "Сохранить как"
Soft "Протестировать в гремлине"
Soft Вставить "/" в начало строки
Soft Вставить "М01" в конец строки
хз что там еще нужно
3) безразмерные
Hard CycleStart
Hard FeedStop
Hard Abort
Hard "+"
Hard "quick"
Hard "-"
Soft Coolant OnOff
Soft Lube OnOff
Soft Mist OnOff
Soft "Set offset"
sub soft "G5x up"
sub soft "G5x down"
sub soft "Table Tool"
sub soft "input"
sub soft "save"
sub soft "cancel"
sub soft "exit to main"
soft NCGUI (?)
4) Инкрементальные перемещения
Hard CycleStart
Hard FeedStop
Hard Abort
Hard "+"
Hard "quick"
Hard "-"
Soft Coolant OnOff
Soft Lube OnOff
Soft Mist OnOff
Soft "Set offset"
sub soft "G5x up"
sub soft "G5x down"
sub soft "Table Tool"
sub soft "input"
sub soft "save"
sub soft "cancel"
sub soft "exit to main"
soft NCGUI (?)
Soft "Set Inc" (лучше, если это hard (энкодер например))
sub soft "0.01"
sub soft "0.05"
sub soft "0.1"
sub soft "1"
sub soft "5"
sub soft "10"
5) Перемещения от маховичка
Hard CycleStart
Hard FeedStop
Hard Abort
Hard "+"
Hard "quick"
Hard "-"
Soft Coolant OnOff
Soft Lube OnOff
Soft Mist OnOff
Soft "Set offset"
sub soft "G5x up"
sub soft "G5x down"
sub soft "Table Tool"
sub soft "input"
sub soft "save"
sub soft "cancel"
sub soft "exit to main"
soft NCGUI (?)
soft x1
soft x10
Soft x100
6) MDI
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: gscreen
Страничка Gscreen wiki:
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: gscreen
Вот что то в gscreen файлы через ngcgui не грузится
то есть
не проходят
ну и в примитиве mygui та же история
чет не пойму.....
Вот здесь вкладка ngcgui видна
в принципе emc должно быть все равно -какой там экран
(axis те же файлы кушает на ура..)
то есть
Код: Выделить всё
o<sfer> call [30][20][10][1][0][8][400]
m2ну и в примитиве mygui та же история
чет не пойму.....
Вот здесь вкладка ngcgui видна
в принципе emc должно быть все равно -какой там экран
(axis те же файлы кушает на ура..)
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: gscreen
Скорее всего ngcgui правит загруженный код, и возможно ему нужен какой-то хендл.
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: gscreen
С gscren в отношении ngcgui разобрался- все отрисовывается
а вот в mygui не загружается - буду разбираться дальше
gremlin в glade выбирается и все сигналы активируются по дефолту
(простой G-код ,не о-коды, ведь загружается и отрисовка есть.....)
а вот в mygui не загружается - буду разбираться дальше
gremlin в glade выбирается и все сигналы активируются по дефолту
(простой G-код ,не о-коды, ведь загружается и отрисовка есть.....)
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: gscreen
не могу разобраться - как работает обновление данных в Gscreen
(в частности координат - для своего DRO)
вот по порядку:
код всего скрипта
здесь задается период обновления функции (self.periodic_status) - 50
функция self.periodic_status: содержит self.emcstat.poll() - обновляет все статданные (модуль Linuxcnc)
self.status.periodic() - вычисляет текущие значения координат(модуль emc_interface.py)
и еще многое другое: и функцию update_position - в которой и перерисовываются лейблы в DRO с координатами и dtg: то есть раз в цикл вызывается данная функция и в ней строка:
отсылает нас к классу Data:
а он содержит данные:
и они обновляются
вот вопрос- как ????????????????
(в частности координат - для своего DRO)
вот по порядку:
код всего скрипта
Код: Выделить всё
gobject.timeout_add(50, self.periodic_status)функция self.periodic_status: содержит self.emcstat.poll() - обновляет все статданные (модуль Linuxcnc)
self.status.periodic() - вычисляет текущие значения координат(модуль emc_interface.py)
и еще многое другое: и функцию update_position - в которой и перерисовываются лейблы в DRO с координатами и dtg: то есть раз в цикл вызывается данная функция и в ней строка:
Код: Выделить всё
data = self.data["%s_abs"%i]Код: Выделить всё
self.data = Data()вот вопрос- как ????????????????
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: gscreen
Вот есть такая строчка в self.status.periodic():
self.data["%s_abs"% letter] = p[count]
Я так понимаю она и обновляет Data.
Точнее даже строчки:
Или вопрос был не в этом?
self.data["%s_abs"% letter] = p[count]
Я так понимаю она и обновляет Data.
Точнее даже строчки:
Код: Выделить всё
for count,letter in enumerate(self.data.axis_list):
if not count == len(self.data.axis_list):
self.data["%s_is_homed"% letter] = self.emcstat.homed[count]
self.data["%s_abs"% letter] = p[count]
self.data["%s_rel"% letter] = relp[count]
self.data["%s_dtg"% letter] = dtg[count]
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: gscreen
как раз в этомNick писал(а):Или вопрос был не в этом?
я хочу разобраться где это происходит
self.data["%s_abs"% letter] переменная модуля emc_interface.py
а self.data скрипта Gscreen.py - это ссылка на класс Date скрипта Gscreen.py
как они связаны???????
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: gscreen
self.data["%s_abs"% letter] = p[count]
self.data - это - self.data = Data()
self.data["%s_abs"% letter] это один из
self.x_abs
self.y_abs
self.z_abs того же Data().
А emc_interface.py я так понимаю тут не при чем.
self.data - это - self.data = Data()
self.data["%s_abs"% letter] это один из
self.x_abs
self.y_abs
self.z_abs того же Data().
А emc_interface.py я так понимаю тут не при чем.
