MyGUI
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: MyGUI
По идее надо на стороне linuxcnc написать более-менее универсальный обработчик примерно как для месы, чтоб он при конекте с конкретным МК опрашиваел его какие у него есть входы-выходы - дискретные, аналоговые энкодеры, индикаторы и т.п. и создавал соотв. пины.
P.S. Кто будет пробовать рекомендую сразу выбирать контроллер с аппаратной реализацией USB, иначе велика вероятность получить "5, 4, 3, 2, 1, 0, Stop". А лучше с аппаратной реализацией Serial и отдельным чипом Serial-USB, что программить поменьше и получить универсальный интерфейс.
P.P.S. Я наверно займусь этим через 2-3 недели - буду пульт себе делать.
P.S. Кто будет пробовать рекомендую сразу выбирать контроллер с аппаратной реализацией USB, иначе велика вероятность получить "5, 4, 3, 2, 1, 0, Stop". А лучше с аппаратной реализацией Serial и отдельным чипом Serial-USB, что программить поменьше и получить универсальный интерфейс.
P.P.S. Я наверно займусь этим через 2-3 недели - буду пульт себе делать.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: MyGUI
Я думаю этим и занимается hal_input : талько он опрашивает все подключаемые устройстваUAVpilot писал(а):По идее надо на стороне linuxcnc написать более-менее универсальный обработчик примерно как для месы, чтоб он при конекте с конкретным МК опрашиваел его какие у него есть входы-выходы - дискретные, аналоговые энкодеры, индикаторы и т.п. и создавал соотв. пины.
наверно нетрудно будет дописать "привязку" его к одному определенному устройству
скорей всего использует он данные модуля linux_event.py : отсюда два вопроса:
первый риторический - так уж необходимо модифицировать этот модуль,чтоб он "видел" только одно наше устройство?
(все равно он наверно никак не перегружает ни хал ни систему вцелом - так как опрос только один раз в начале)
а второй вопрос остается открытым:
что нужно нашему устройству на МК , чтоб его "увидел" hal_input ??
почему он не видит arduino в устройстве ,работающем через usb ???
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: MyGUI
Наверное потому, что arduino не генерирует event-ов.
Эти event генерят драйверы устройств. Можно наверное написать драйвер для ардуины, которые будет генерировать ивенты, которые будет перехватываться linux_event.py, с которым будет работать hal_input. Но не проще ли сделать свой скрипт типо arduino.py, который будет работать с ардуиной?
Эти event генерят драйверы устройств. Можно наверное написать драйвер для ардуины, которые будет генерировать ивенты, которые будет перехватываться linux_event.py, с которым будет работать hal_input. Но не проще ли сделать свой скрипт типо arduino.py, который будет работать с ардуиной?
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: MyGUI
но как же пример с джойстиком?(я ж драйвер никакой не ставил)Nick писал(а):Эти event генерят драйверы устройств
или драйвер уже стоял в убунту ?
оно то прощеNick писал(а):, с которым будет работать hal_input. Но не проще ли сделать свой скрипт типо arduino.py, который будет работать с ардуиной?
но вопрос как надежней для меня пока открыт
не надежней ли отслеживать события системные через linux_event.py
чем работать через порт ?
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: MyGUI
hal_input работает со стандартными устройствами ввода (может я не прав, пока изучал "по диагонали"), а наше устройство нестандартное. Ну и правильней сделать так, чтобы поддерживалось несколько подобных устройств одновременно. Мысль примерно такая: есть устройство в какой-то своей конфигурации, при подключении к linuxcnc оно само сообщает свои возможности и в hal создаются соотв. пины.
Да, драйвер джойстика в системе уже есть.
Надёжность ровно одинаковая - какая разница откуда читать данные, из файла /dev/ttyUSB0 или из /dev/input/event0? Только вот в первом случае можно вести полноценный диалог (читать и писать), а во втором только слушать.
Да, драйвер джойстика в системе уже есть.
Надёжность ровно одинаковая - какая разница откуда читать данные, из файла /dev/ttyUSB0 или из /dev/input/event0? Только вот в первом случае можно вести полноценный диалог (читать и писать), а во втором только слушать.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: MyGUI
Ага и во время перекура освой технологией производства микрочипов, и к завтрашнему дню научи жену как все это делать, чтобы приходишь вечером домой, а у тебя не только ужин, но и парочка новых девайсов 
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: MyGUI
вот думаю проверить конфиг без станка с SIM_ENCODER
я так понял что выходы этого компонента через физические выходы порта соеденяешь с входом энкодера на mesa
прописав в хал:
емс запускается и на пинах sim-encoder.0.phase-A и аналогичных сразу же генерируются импульсы:
то есть мы еще ничего не включали а он уже "крутит"
как его правильно применять??
я так понял что выходы этого компонента через физические выходы порта соеденяешь с входом энкодера на mesa
прописав в хал:
Код: Выделить всё
loadrt sim_encoder
addf sim-encoder.update-speed servo-thread
addf sim-encoder.make-pulses base-thread
setp sim-encoder.0.ppr 2540
setp sim-encoder.0.speed 5
net phA sim-encoder.0.phase-A => parport.0.pin-02-out
net phB sim-encoder.0.phase-B => parport.0.pin-05-out
net phZ sim-encoder.0.phase-Z => parport.0.pin-04-outкак его правильно применять??
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: MyGUI
hal отсюда:
эту строку:
изменял по разному
Код: Выделить всё
# Basic 5i25/7i77 configuration
# kinematics
loadrt trivkins
# motion controller
loadrt motmod servo_period_nsec=1000000 num_joints=[TRAJ]AXES
# hostmot2 driver
# if you have any firmware trouble, enable the debug flags here and see what's going on in the syslog
#loadrt hostmot2 debug_idrom=1 debug_module_descriptors=1 debug_pin_descriptors=1 debug_modules=1
loadrt hostmot2
# load low-level driver
loadrt hm2_pci config="num_encoders=6 sserial_port_0=000xxx"
setp hm2_5i25.0.watchdog.timeout_ns 10000000
# THREADS
addf hm2_5i25.0.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf hm2_5i25.0.write servo-thread
addf hm2_5i25.0.pet_watchdog servo-thread
# Standard I/O Block - EStop, Etc
# create a signal for the estop loopback
net estop-loop iocontrol.0.user-enable-out => iocontrol.0.emc-enable-in
# create signals for tool loading loopback
net tool-prep-loop iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
net tool-change-loop iocontrol.0.tool-change => iocontrol.0.tool-changedКод: Выделить всё
loadrt hm2_pci config="num_encoders=6 sserial_port_0=000xxx"
Последний раз редактировалось nkp 21 ноя 2012, 16:34, всего редактировалось 1 раз.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: MyGUI
по идее достаточно просто запустить консоль, там halrun и туда:
Кстати, лампочки на плате зажглись?
И в какой слот ты 7i77 включил?
ЗЫ с фото не успел
, на всякий случай, вот эта наклейка:
Код: Выделить всё
loadrt hostmot2
loadrt hm2_pci
# и потом можно:
show pin hm2_5i25.0
И в какой слот ты 7i77 включил?
ЗЫ с фото не успел
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: MyGUI
вот здесь про питание :
вот эти переключатели:
мне кажеться дело в них
Код: Выделить всё
BREAKOUT POWER OPTION
The 5I25 has the option to supply 5V power from the host computer to the breakout
board. This option is used by all Mesa breakout boards to simplify wiring. The option uses
4 parallel cable signals that are normally used as grounds for supplying 5V to the remote
breakout board (DB25 pins 22,23,24 and 25). These pins are AC bypassed on both the
5I25 and Mesa breakout cards so do not compromise AC signal integrity.
The 5V power option is individually selectable for the two I/O connectors. The
breakout 5V power is protected by per connector PTC devices so will not cause damage
to the 5I25 or system if accidentally shorted. This option should only be enabled for Mesa
breakout boards or boards specifically wired to accept 5V power on DB25 pins 22 through
25. When the option is disabled DB25 pins 22 through 25 are grounded
W1 (P2 POWER ) W2 (P3 POWER)
UP UP BREAKOUT POWER ENABLED
DOWN, DOWN BREAKOUT POWER DISABLED (DEFAULT)
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: MyGUI
Да, если переключатели W1 и W2 на плате 5i25 в верхнем положении (по рисунку приведенному выше) - то
питание 7I77 осуществляется через пины 18-26 (+5V) разъема DB25.
В нижнее положение W1 и W2 ставятся при подаче на 7I77 напряжения 5V извне
(так они и были установлены по дефолту,что и указано в man)
---------------
интересно - зачем внешнее питание плате?
неужели ее потребление этого требует?
если да - то зачем сделано опционально а не жестко-внешнее и всё тут???
питание 7I77 осуществляется через пины 18-26 (+5V) разъема DB25.
В нижнее положение W1 и W2 ставятся при подаче на 7I77 напряжения 5V извне
(так они и были установлены по дефолту,что и указано в man)
---------------
интересно - зачем внешнее питание плате?
неужели ее потребление этого требует?
если да - то зачем сделано опционально а не жестко-внешнее и всё тут???
