Страница 3 из 5

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

Добавлено: 16 май 2012, 12:18
Impartial
Nick писал(а):Impartial, и где ты раньше был? Aftaev, оказывается все уже готово .
Так это он сам же и нашел. :D
http://cnc-club.ru/forum/viewtopic.php? ... 340#p23706

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

Добавлено: 16 май 2012, 12:24
Nick
А чего он не сказал, что там исходник на питоне есть?!? :pssdoff:

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

Добавлено: 16 май 2012, 12:49
aftaev
Nick, ты так и не ответил. В ЕМС можно подключить джойстик USB чтоб чем сильнее отклоняем тем быстрее ось ехала на холостых переездах?

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

Добавлено: 16 май 2012, 13:29
Nick
Говорил же - да можно. Просто пин от джойстика заводишь на пин halui.jog.N.analog float in. И все :).

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

Добавлено: 16 май 2012, 14:37
aftaev
Nick писал(а):Говорил же - да можно. Просто пин от джойстика заводишь на пин halui.jog.N.analog float in. И все :).
А если по СОМ выдавать будем в цифре в виде Х_Feed=12% ?

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

Добавлено: 16 май 2012, 14:58
Nick
Надо значение float, можно в питоне перевести любое значение в float, например если это 12%, то как-то так:
Х_Feed = float(X_feed.replace("%",""))/100*max_feed (при условии, что X_feed это строка типа "12%").

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

Добавлено: 16 май 2012, 16:18
Serg
aftaev писал(а):Nick, ты так и не ответил. В ЕМС можно подключить джойстик USB чтоб чем сильнее отклоняем тем быстрее ось ехала на холостых переездах?
Я вот периодически порываюсь джойстик, выпаянный из гейпада приделать сверху оси Z, чтоб можно было пальцами браться за его "голову" и таскать за неё шпиндель по X и Y. :thinking:

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

Добавлено: 16 май 2012, 19:13
aftaev
Nick писал(а):Надо значение float, можно в питоне перевести любое значение в float,
И свой протокол сделаем и назовем NAFT (Nick+AFTaev) :hehehe:
Nick писал(а):А чего он не сказал, что там исходник на питоне есть?!?
Так, это все хорошо но что с этим делать теперь?

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

Добавлено: 16 май 2012, 21:57
Nick
aftaev писал(а):Так, это все хорошо но что с этим делать теперь?
Я ждал этот вопрос :hehehe:, завтра на работе гляну. По идее надо выполнить все, что в Readme...
s3301 писал(а):Я вот периодически порываюсь джойстик, выпаянный из гейпада приделать сверху оси Z, чтоб можно было пальцами браться за его "голову" и таскать за неё шпиндель по X и Y.
Главное, чтобы пальцы не прищемило, я бы не стал совать руки в работающий станок :freak:, а в остальном - запросто.

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

Добавлено: 17 май 2012, 00:31
aftaev
Impartial писал(а):Так это он сам же и нашел.
http://cnc-club.ru/forum/viewtopic.php? ... 340#p23706
Прислал мне ссылку на это знакомый из штатов. Чтоб не потерять выложил на форуме.
Nick писал(а):А чего он не сказал, что там исходник на питоне есть?!?
А кто знал что там внутри. Я и не вникал :) Выложил ссылку, а вдруг сгодиться кому :)

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

Добавлено: 17 май 2012, 09:23
Impartial
aftaev писал(а):А кто знал что там внутри. Я и не вникал
Полностью поддерживаю! Вникать не наш метод! Надо упорно долбить головой стену, даже если рядом открытая дверь. :)

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

Добавлено: 17 май 2012, 12:25
Serg
Nick писал(а):
s3301 писал(а):Я вот периодически порываюсь джойстик, выпаянный из гейпада приделать сверху оси Z, чтоб можно было пальцами браться за его "голову" и таскать за неё шпиндель по X и Y.
Главное, чтобы пальцы не прищемило, я бы не стал совать руки в работающий станок :freak:, а в остальном - запросто.
Не, вот сюда примерно:
Изображение

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

Добавлено: 17 май 2012, 12:45
Nick
Nick писал(а): ждал этот вопрос , завтра на работе гляну. По идее надо выполнить все, что в Readme...
Ну все просто :).
Надо прошить контроллер и подключить модуль hal. Вообще там достаточно большой и хороший скрипт на питоне для обработки всех сигналов.
Ты сможешь в свою плату запихать эти прошивки?

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

Добавлено: 17 май 2012, 14:15
aftaev
Nick писал(а):Ты сможешь в свою плату запихать эти прошивки?
Зачем нам что то повторять и запихивать прошивки. Для начало нужно взять сделать чтоб работало хоть что то с платы ОДНО. Когда будет понятен принцип можно что угодно наворотить.

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

Добавлено: 17 май 2012, 14:33
Nick
Ладно, тогда опиши, что хочешь делать на своем пульте и формат в котором будут передаваться данные и получаться команды

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

Добавлено: 17 май 2012, 15:13
aftaev
Nick писал(а):Ладно, тогда опиши, что хочешь делать на своем пульте и формат в котором будут передаваться данные и получаться команды
Выдали в СОМ Х_Feed = 12% ось поехала со скоростью 12% от максимальной, выдали Х_Feed = 100 ось х поехала на максимальной скорости.

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

Добавлено: 17 май 2012, 15:39
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

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

Добавлено: 17 май 2012, 16:54
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. Пока не разбирался как делать многосущностные компоненты - как-то не было в них необходимости :).

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

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

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

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

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

try:
   while 1:
      # сюда код функции или просто вызов рабочей функции что-нибудь типа self.run()
      time.sleep(work_thread) # задержка между выполнениями 
except KeyboardInterrupt:
   raise SystemExit

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

Добавлено: 17 май 2012, 22:25
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'