В Linux посмотреть передачу по RS232->USB

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: В Linux посмотреть передачу по RS232->USB

Сообщение Impartial »

Nick писал(а):Impartial, и где ты раньше был? Aftaev, оказывается все уже готово .
Так это он сам же и нашел. :D
http://cnc-club.ru/forum/viewtopic.php? ... 340#p23706
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: В Linux посмотреть передачу по RS232->USB

Сообщение Nick »

А чего он не сказал, что там исходник на питоне есть?!? :pssdoff:
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6192
Откуда: Казахстан.
Контактная информация:

Re: В Linux посмотреть передачу по RS232->USB

Сообщение aftaev »

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

Re: В Linux посмотреть передачу по RS232->USB

Сообщение Nick »

Говорил же - да можно. Просто пин от джойстика заводишь на пин halui.jog.N.analog float in. И все :).
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6192
Откуда: Казахстан.
Контактная информация:

Re: В Linux посмотреть передачу по RS232->USB

Сообщение aftaev »

Nick писал(а):Говорил же - да можно. Просто пин от джойстика заводишь на пин halui.jog.N.analog float in. И все :).
А если по СОМ выдавать будем в цифре в виде Х_Feed=12% ?
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: В Linux посмотреть передачу по RS232->USB

Сообщение Nick »

Надо значение float, можно в питоне перевести любое значение в float, например если это 12%, то как-то так:
Х_Feed = float(X_feed.replace("%",""))/100*max_feed (при условии, что X_feed это строка типа "12%").
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: В Linux посмотреть передачу по RS232->USB

Сообщение Serg »

aftaev писал(а):Nick, ты так и не ответил. В ЕМС можно подключить джойстик USB чтоб чем сильнее отклоняем тем быстрее ось ехала на холостых переездах?
Я вот периодически порываюсь джойстик, выпаянный из гейпада приделать сверху оси Z, чтоб можно было пальцами браться за его "голову" и таскать за неё шпиндель по X и Y. :thinking:
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6192
Откуда: Казахстан.
Контактная информация:

Re: В Linux посмотреть передачу по RS232->USB

Сообщение aftaev »

Nick писал(а):Надо значение float, можно в питоне перевести любое значение в float,
И свой протокол сделаем и назовем NAFT (Nick+AFTaev) :hehehe:
Nick писал(а):А чего он не сказал, что там исходник на питоне есть?!?
Так, это все хорошо но что с этим делать теперь?
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: В Linux посмотреть передачу по RS232->USB

Сообщение Nick »

aftaev писал(а):Так, это все хорошо но что с этим делать теперь?
Я ждал этот вопрос :hehehe:, завтра на работе гляну. По идее надо выполнить все, что в Readme...
s3301 писал(а):Я вот периодически порываюсь джойстик, выпаянный из гейпада приделать сверху оси Z, чтоб можно было пальцами браться за его "голову" и таскать за неё шпиндель по X и Y.
Главное, чтобы пальцы не прищемило, я бы не стал совать руки в работающий станок :freak:, а в остальном - запросто.
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6192
Откуда: Казахстан.
Контактная информация:

Re: В Linux посмотреть передачу по RS232->USB

Сообщение aftaev »

Impartial писал(а):Так это он сам же и нашел.
http://cnc-club.ru/forum/viewtopic.php? ... 340#p23706
Прислал мне ссылку на это знакомый из штатов. Чтоб не потерять выложил на форуме.
Nick писал(а):А чего он не сказал, что там исходник на питоне есть?!?
А кто знал что там внутри. Я и не вникал :) Выложил ссылку, а вдруг сгодиться кому :)
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: В Linux посмотреть передачу по RS232->USB

Сообщение Impartial »

aftaev писал(а):А кто знал что там внутри. Я и не вникал
Полностью поддерживаю! Вникать не наш метод! Надо упорно долбить головой стену, даже если рядом открытая дверь. :)
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: В Linux посмотреть передачу по RS232->USB

Сообщение Serg »

Nick писал(а):
s3301 писал(а):Я вот периодически порываюсь джойстик, выпаянный из гейпада приделать сверху оси Z, чтоб можно было пальцами браться за его "голову" и таскать за неё шпиндель по X и Y.
Главное, чтобы пальцы не прищемило, я бы не стал совать руки в работающий станок :freak:, а в остальном - запросто.
Не, вот сюда примерно:
Изображение
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: В Linux посмотреть передачу по RS232->USB

Сообщение Nick »

Nick писал(а): ждал этот вопрос , завтра на работе гляну. По идее надо выполнить все, что в Readme...
Ну все просто :).
Надо прошить контроллер и подключить модуль hal. Вообще там достаточно большой и хороший скрипт на питоне для обработки всех сигналов.
Ты сможешь в свою плату запихать эти прошивки?
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6192
Откуда: Казахстан.
Контактная информация:

Re: В Linux посмотреть передачу по RS232->USB

Сообщение aftaev »

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

Re: В Linux посмотреть передачу по RS232->USB

Сообщение Nick »

Ладно, тогда опиши, что хочешь делать на своем пульте и формат в котором будут передаваться данные и получаться команды
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6192
Откуда: Казахстан.
Контактная информация:

Re: В Linux посмотреть передачу по RS232->USB

Сообщение aftaev »

Nick писал(а):Ладно, тогда опиши, что хочешь делать на своем пульте и формат в котором будут передаваться данные и получаться команды
Выдали в СОМ Х_Feed = 12% ось поехала со скоростью 12% от максимальной, выдали Х_Feed = 100 ось х поехала на максимальной скорости.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: В Linux посмотреть передачу по RS232->USB

Сообщение nkp »

Стандартные компоненты лежат /usr/realtime-2.6.32-122-rtai/modules/emc2.А куда ложить "свежесозданные" ? пробовал разные варианты- емс не видит.И еще:
загружая стандартный,мы дабавляем соответствующую функцию -а тут как ?

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

halrun

halcmd: loadusr passthrough

halcmd: show pin

    Component Pins:
    Owner Type  Dir     Value  Name
     03   float IN          0  passthrough.in
     03   float OUT         0  passthrough.out
В примере вроде функции не прописываются.
На "их" форуме вроде бы смотреть пути echo $PATH
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: В Linux посмотреть передачу по RS232->USB

Сообщение Nick »

Файл скрипта на Python сохраняешь в директории с ini. Добавляешь ему права на исполнение chmod u+x xxx.py Потом просто:
loadusr -Wn [имя компонента] xxx.py

или можно не ставить права на исполнение тогда загружать так :
loadusr -Wn [имя компонента] python xxx.py

-Wn [имя компонента] - перед продолжением дождаться готовности компонента с именем [имя компонента] (в принципе можно не писать, но лучше оставить). В коде скрипта тогда надо будет написать например:

h = hal.component("state")
... бла-бла-бла, заводим все пины и грузим все нужное...
h.ready()

В hal компонент будет называться, так как заданно этой строчкой hal.component("state"), т.е. в данном случае state, причем пины будут не state.0.out, а просто state.out. Пока не разбирался как делать многосущностные компоненты - как-то не было в них необходимости :).
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: В Linux посмотреть передачу по RS232->USB

Сообщение Nick »

С функциями не знаю, надо смотреть на модуль hal для питона, может там есть что-то типа addfunc или типа того. Попробуй выполнить:

python
import hal
dir(hal)
и вывод сюда.

Кстати, все что на написано питоне будет компонентами userspace, не уверен, что для этого есть свой поток, тем более выполнение такого компонента может задержать поток... Обычно это делают через

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

try:
   while 1:
      # сюда код функции или просто вызов рабочей функции что-нибудь типа self.run()
      time.sleep(work_thread) # задержка между выполнениями 
except KeyboardInterrupt:
   raise SystemExit
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: В Linux посмотреть передачу по RS232->USB

Сообщение nkp »

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

>>> import hal 
>>> dir(hal)
['HAL_BIT', 'HAL_FLOAT', 'HAL_IN', 'HAL_IO', 'HAL_OUT', 'HAL_RO', 'HAL_RW', 'HAL_S32', 'HAL_U32', 'MSG_ALL', 'MSG_DBG', 'MSG_ERR', 'MSG_INFO', 'MSG_NONE', 'MSG_WARN', 'Param', 'Pin', '_ItemWrap', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '_hal', 'component', 'component_exists', 'component_is_ready', 'connect', 'error', 'get_msg_level', 'is_rt', 'is_sim', 'item', 'kernel_version', 'new_sig', 'pin_has_writer', 'set_msg_level', 'set_p', 'shm'
Ответить

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