Страница 39 из 53

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

Добавлено: 22 июл 2015, 09:30
Nick
raddd писал(а):даже когда приперло для AVR простенькую прошивку написать писал на ASSEMBLER (там в отладке проще) си и прочие высокоуровневые языки мне непонятны...
В питоне все гораздо проще и дебагить проще, вставил куда хочешь print "debug" и сморишь, что как работает.


Первый кусок кода - класс для работы с конфигами. Там две основные функции - getpref и putpref - запись и чтение.
verser, а ты сам писал этот код, почему-то обе функции пишут в файл... И обычно имя класса пишут с большой буквы.
verser писал(а): def get_preference_file_path(self):
Это функция должна возвращать имя файла с настройуами.
verser писал(а):self.prefs = preferences( self.get_preference_file_path() )
Это мы создаем объект нашего класса (который будет обладать всеми прелестями функциями описанного класса).
verser писал(а):self.prefs.putpref( "param_for_saving", self.param_for_saving, float )
Ну а это собственно пользуемся функцией.

Осталось добавить заполнение значений в окошках. :)

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

Добавлено: 22 июл 2015, 10:31
verser
Nick писал(а):verser, а ты сам писал этот код, почему-то обе функции пишут в файл...
Этот код писал Chris Radek. Читающая функция пишет в файл только когда не нашла что прочитать, тогда default value на всякий будущий случай записывает.

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

Добавлено: 26 авг 2015, 08:06
nkp
есть вот такой код:

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

o100 repeat[10]

M6 T1
M68 E0 Q#5410
G21  G90   G42  
F140

G1 X  10.000 Y   0.000
G1 X  10.000 Y  13.000
G2 X  13.000 Y  16.000 I   3.000 J   0.000
G1 X  55.000 Y  16.000
G2 X  58.000 Y  13.000 I   0.000 J  -3.000
G1 X  58.000 Y -13.000
G2 X  55.000 Y -16.000 I  -3.000 J   0.000
G1 X  13.000 Y -16.000
G2 X  10.000 Y -13.000 I   0.000 J   3.000
G1 X  10.000 Y   0.000
G1 X   0.000 Y   0.000
G40
M0
G4 P2
G10 L1 P1 R[[#5410/2]+[#<_hal[pyvcp.spinbox]>]]
(debug,spinbox=#<_hal[pyvcp.spinbox]>)

o100 endrepeat
M2 
в нем мы пытаемся скорректировать диаметр(радиус) инструмента после каждого повторения(repeat)
так вот - после первого прохода ,когда стоим по М0 на паузе,меняем в панельке значение коррекции в spinbox...
но емс "не видит" введенное значение(пишет ,что ноль) ...
Выделение_097.png (2420 просмотров) <a class='original' href='./download/file.php?id=56742&mode=view' target=_blank>Загрузить оригинал (18.66 КБ)</a>
на следующих проходах всё нормально :thinking:
значение менял в spinbox по разному (и редактированием с выделением,и стрелочками)
что бы это значило??

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

Добавлено: 26 авг 2015, 08:36
verser
nkp писал(а):значение менял в spinbox по разному (и редактированием с выделением,и стрелочками)
Я тоже сталкивался с таким. Простая вставка числа игнорировалась. А вот если после вставки числа нажимать Enter(курсор при этом надо чтобы был в spinboxe), то, вроде, работает тогда.

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

Добавлено: 26 авг 2015, 11:27
Nick
Да, скорее всего не отдается сигнал update у спинбокса...

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

Добавлено: 26 авг 2015, 11:31
nkp
verser писал(а):Я тоже сталкивался с таким. Простая вставка числа игнорировалась. А вот если после вставки числа нажимать Enter(курсор при этом надо чтобы был в spinboxe), то, вроде, работает тогда.
вот в том то и дело - что даже так не работает...
потом (после первого прохода) ничего в spinbox не трогаешь(значение с первого "несработавшего " раза осталось) и срабатывает нормально :wik:
что ему первый раз не хватает...
это в PyVCP , надо еще в GladeVCP попробовать...

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

Добавлено: 26 авг 2015, 11:32
Nick
А пин когда меняется? Попробуй отследить через halmeter.

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

Добавлено: 26 авг 2015, 12:13
nkp
Nick писал(а):А пин когда меняется? Попробуй отследить через halmeter.
меняется сразу после ввода(после нажатия Enter) , как и положено...
скорей затык в системе передачи данных из Hal в G-код

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

Добавлено: 26 авг 2015, 12:26
nkp
сделал так:
M68 E1 Q#<_hal[corr.hal_spinbutton1-f]>
появляется значение на втором "круге" по M0

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

Добавлено: 26 авг 2015, 12:48
Nick
Может планировщик код заранее прогоняет...

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

Добавлено: 26 авг 2015, 13:08
nkp
Nick писал(а):Может планировщик код заранее прогоняет...
да ,что то похожее есть...
не знаю , как правильно описать,но на лицо какая то очередь(последовательность ) значений spinbox...
введено в spinbox значение 0.1
запускаем жкод
первый проход - видит значение 0
пока идет "первый круг" , меняем значение на 0.2
"второй круг"
видит значение 0.1
ничего не трогаем
на 3-м "круге" видит значение 0.2
сумбурно как то получилось описать...

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

Добавлено: 27 авг 2015, 07:53
nkp
подправив немного,беру значение коррекции по М66:

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

o100 repeat[10]

M6 T1
M68 E0 Q#5410
G21  G90   G42  
F140

o101 IF[#<_hal[corr.hal_spinbutton1-f]> ne 0]
(msg,check corr)
M0
o101 ENDIF 

G1 X  10.000 Y   0.000
G1 X  10.000 Y  13.000
G2 X  13.000 Y  16.000 I   3.000 J   0.000
G1 X  55.000 Y  16.000
G2 X  58.000 Y  13.000 I   0.000 J  -3.000
G1 X  58.000 Y -13.000
G2 X  55.000 Y -16.000 I  -3.000 J   0.000
G1 X  13.000 Y -16.000
G2 X  10.000 Y -13.000 I   0.000 J   3.000
G1 X  10.000 Y   0.000
G1 X   0.000 Y   0.000

G40
M0
G1 X  0.100 Y   0.000
M66 E0 L0
G10 L1 P1 R[[#5410/2]+#5399]
(debug,spinbox=#<_hal[corr.hal_spinbutton1-f]>)

o100 endrepeat
M2 
так работает нормально...

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

Добавлено: 10 сен 2015, 17:11
Serg
Что я не так делаю? :thinking:

Нарисовал панельку для gladevcp. Если запускать её так:

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

GLADEVCP = test.glade
то всё замечательно работает. А если запускать так:

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

GLADEVCP = -c test test.glade
то тоже всё работает, но пишет

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

Waiting for component 'gladevcp' to become ready.............
и рисует точки (ждёт) пока не завершишь прогу.

В доках никаких запретов на использование "-c" в этом варианте не нашёл.

P.S. Желающим поэксперементировать:
test.glade
(680 байт) 635 скачиваний

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

Добавлено: 10 сен 2015, 18:34
Nick
вроде как он при этом обзывает компонент не gladevcp, а тест. Может надо добавить -Wn test

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

Добавлено: 10 сен 2015, 18:52
Serg

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

gladevcp: error: no such option: -W
<commandline>:0: waitpid failed gladevcp gladevcp
<commandline>:0: gladevcp exited without becoming ready
Embeded tab command "halcmd loadusr -Wn gladevcp gladevcp -c gladevcp -x 35651726 -Wn test -c test test.glade" exited with error: 1
Похоже надо патчить... :(

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

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

Добавлено: 10 сен 2015, 19:33
nkp
емс 2.6
(для просмотра содержимого нажмите на ссылку)
Выделение_011.png (2226 просмотров) <a class='original' href='./download/file.php?id=57769&mode=view' target=_blank>Загрузить оригинал (156.02 КБ)</a>
не очень понял ,что нужно проверить...

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

Добавлено: 11 сен 2015, 01:28
Serg
Твой эксперимент неправильный - в твоём случае есть EMBED_TAB_COMMAND, который "подсовывает" другой компонент с именем gladevcp.
Попробуй без строчек EMBED_TAB_*

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

Добавлено: 11 сен 2015, 05:47
nkp
UAVpilot писал(а):Попробуй без строчек EMBED_TAB_*
Выделение_014.png (2210 просмотров) <a class='original' href='./download/file.php?id=57814&mode=view' target=_blank>Загрузить оригинал (80.02 КБ)</a>

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

Добавлено: 11 сен 2015, 07:25
Serg
Понятно, значит так было всегда и историю версий можно не лезть... :(

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

Добавлено: 11 сен 2015, 09:48
Nick
У меня такая же штука выскочила, когда я экран для Probe ставил, не помню точно как, но как-то я это поборол....

Кстати, а в твоем test есть компонент? Как он называется?