Пульт usb проводной ,
со стандартным драйвером XHC-HB04 ( у меня) не заработал.
Другого я не нашел.
создал тему с двумя целями :
п.1 может кто поделится драйвером или тыкнет носом - "вот же он на видном месте - куда ты смотрел ..."
п.2 поделиться чуть подправленным XHC-HB04
--------------
не все (пока) конечно работает,но jog , индикация координат,кнопки работают,
то есть уже можно юзать как то
зы
если (!п.1 ) {продолжение следует }
LHB04-B4
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
LHB04-B4
- Вложения
-
- xhc-hb04.cc.tar
- (40 КБ) 437 скачиваний
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: LHB04-B4
После быстрого взгляда на код пока могу сказать только одно: я не верю, что программист, использующий C++ для компиляции программы на обычном С может написать хороший код...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: LHB04-B4
*p++ = 0xFE;
*p++ = 0xFD;
*p++ = 0x0C;
*p++ = 0x03;
выделенное значение при изменении меняет вывод (форму вывода ) на дисплейчик:
*p++ = 0xFD;
*p++ = 0x0C;
*p++ = 0x03;
выделенное значение при изменении меняет вывод (форму вывода ) на дисплейчик:
Код: Выделить всё
*p++ = 0x00; CON:60%
*p++ = 0x01; STP:0.01
*p++ = 0x02; MPG:60%
*p++ = 0x03; 60%
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: LHB04-B4
компонент на питоне (выложен для XHC-WHB04-4 https://forum.linuxcnc.org/24-hal-compo ... ent#143727)
проверил для проводного LHB04-B4 - всё работает (все кнопки,два переключателя,mpg)
экран пока "молчит"
(у автора это вызвало затруднения) компонент распаковать (как вариант) в папку конфига
для теста в Hal добавить :
================
пульт можно включать-выключать"на ходу"
-----------
для работы требуется пакет https://pypi.org/project/pyusb/#files
проверил для проводного LHB04-B4 - всё работает (все кнопки,два переключателя,mpg)
экран пока "молчит"
(у автора это вызвало затруднения) компонент распаковать (как вариант) в папку конфига
для теста в Hal добавить :
Код: Выделить всё
loadusr -W ./lhb04b
net axis0jogenable axis.0.jog-enable lhb04b.sel_x
net axis1jogenable axis.1.jog-enable lhb04b.sel_y
net axis2jogenable axis.2.jog-enable lhb04b.sel_z
net joginc lhb04b.inc
net joginc axis.0.jog-scale
net joginc axis.1.jog-scale
net joginc axis.2.jog-scale
net jogcnts lhb04b.mpg_cnt
net jogcnts axis.0.jog-counts
net jogcnts axis.1.jog-counts
net jogcnts axis.2.jog-counts
setp axis.0.jog-vel-mode 1
setp axis.1.jog-vel-mode 1
setp axis.2.jog-vel-mode 1
пульт можно включать-выключать"на ходу"
-----------
для работы требуется пакет https://pypi.org/project/pyusb/#files
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: LHB04-B4
mpg пульта для прокрутки MDI истории в Axis
когда то писал компонент mpg_go для других целей,подправил для этого:
в файл axisrc , а лучше в файл ,который выполняет функции axisrc (USER_COMMAND_FILE ):
в postgui.hal :
по сигналам:
demuxS32:out0 - это тики нашего MPG
button:y0 - кнопка пульта для выполнения команды MDI
---------------------
https://www.youtube.com/watch?v=X9R3icekrTY
когда то писал компонент mpg_go для других целей,подправил для этого:
Код: Выделить всё
component mpg_go ;
pin in s32 in;
pin out s32 out;
pin out bit tick; //true if we have a change in couns
pin io bit off;
variable double old;
function _;
license "GPL";
;;
#include "rtapi_math.h"
FUNCTION(_) {
double tmp = in;
if(!out) out = 1;
if(tmp != old) tick = 1;
if(off) {tick = 0; off = 0;}
if(tmp == old) return;
if(tmp < old) out = -1;
else out = 1;
old = tmp;
}
Код: Выделить всё
if hal_present == 1 :
ucomp = hal.component("axisui.user")
ucomp.newpin('updown', hal.HAL_S32, hal.HAL_IN)
ucomp.newpin('tick', hal.HAL_BIT, hal.HAL_IN)
ucomp.newpin('off', hal.HAL_BIT, hal.HAL_IO)
ucomp.newpin('go', hal.HAL_BIT, hal.HAL_IN)
ucomp.ready()
def user_live_update():
if ucomp['tick']:
if ucomp['updown'] > 0:
commands.mdi_up_cmd()
ucomp['off'] = 1
if ucomp['updown'] < 0:
commands.mdi_down_cmd()
ucomp['off'] = 1
if ucomp['go']:
commands.send_mdi()
Код: Выделить всё
loadrt mpg_go
addf mpg-go.0 servo-thread
net demuxS32:out0 mpg-go.0.in
net index mpg-go.0.out axisui.user.updown
net tick mpg-go.0.tick axisui.user.tick
net off mpg-go.0.off axisui.user.off
# button mdi Go
net button:y0 axisui.user.go
demuxS32:out0 - это тики нашего MPG
button:y0 - кнопка пульта для выполнения команды MDI
---------------------
https://www.youtube.com/watch?v=X9R3icekrTY
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: LHB04-B4
feed_override тем же MPG
как дополнение - вывод на экран значения (как бы в увеличенном виде) только на время самого действия...
после "отпускания" - пауза (настраивается в hal)
думаю,что подобным образом при надобности можно "оперативно" выводить
нужную информацию по сигналу пина и на определенное время
https://www.youtube.com/watch?v=APuWTkcT-XE
как дополнение - вывод на экран значения (как бы в увеличенном виде) только на время самого действия...
после "отпускания" - пауза (настраивается в hal)
думаю,что подобным образом при надобности можно "оперативно" выводить
нужную информацию по сигналу пина и на определенное время
https://www.youtube.com/watch?v=APuWTkcT-XE