EMC2 и неровная поверхность гравировки [РЕШЕНО]

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение 2cme »

2cme писал(а):А делаю python; print "\a" и тишина...
Наверное было правильнее написать вместо
А делаю python; print "\a" и тишина...
так
А делаю python (потом кнопка enter) print "\a" (потом кнопка enter)и тишина...

python -c 'print "\a" ' и тишина...

Наверное какой-то параметр для питона или еще какой не установлен. У меня установлино с LiveCD ubuntu 10.04.
Вобщем пока молчит.

Кстати на:
echo -en "\a" тишина
echo -en "\7" тишина

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

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение Nick »

а на компе как я понимаю звуковухи нет или к ней не подключены колонки?

После установки beep и pcspk, не появилось ли в /dev/ чего-нибудь похожего на pcspeaker?
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение 2cme »

Звуковуха есть, при загрузке звуковое приведствие даже.
Еще с тв тюнера на линейный вход сигнал идет.
Уровни звук на всю выставил дял всех видов звука...

При поиски по фразе echo -en "\a" наткнулся на сообщение что его отключают. А как включить почемуто не написали.
Многие жаловались на бипер, его поумолчанию и отключили.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение Nick »

А что у тебя в cat /etc/modprobe.d/blacklist.conf ?
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение 2cme »

Вообще такого файл нет, проверял.
В одном сообщени читал что после удаления папки ./KDE звук появлялся, но насколько я понимаю livecd emc2 установлен gnome.
А утилитами нельзя посмотреть процесс выполнения команыд echo -en "\a". Или как происходи выполнение этой команды. Насколько я понимаю в python -с 'print "\a"' работает по томуже принципу.
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение 2cme »

Вместо:
Nick писал(а):В custom_postgui.hal нужно добавить

loadusr -Wn beep python beep.py
setp beep.enable 1
net probe-in =>beep.in
Пробывал писать:

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

loadusr -Wn beep bash beep
setp beep.enable 1
net probe-in => beep.in
А мне в ответ, нельзя запускать bin файл (;
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение Nick »

2cme писал(а):Вообще такого файл нет, проверял.
Это очень странно, ты уверен?
2cme писал(а):loadusr -Wn beep bash beep
Так просто не выйдет :).
можешь в файлк beep.py изменить print ... на os.exec("beep") и вверх программы добавить import os
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение 2cme »

Не работает, invalid syntax


В консоле пишу

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

python -c 'import os; os.popen (/usr/bin/beep)'
Работает, а в файле beep.py не работает, и при запуске все ок.
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение 2cme »

Nick писал(а):А что у тебя в cat /etc/modprobe.d/blacklist.conf ?
файл есть, просмотрел.
Закоментировал две строчки:
blacklist snd_pcsp
blacklist pcspkr
Перезагрузился, не работает.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение Nick »

2cme писал(а):Не работает, invalid syntax
В питоне очень важны отступы от левого края (indent), они как { } в си и php.

Вот это должно работать:

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

#!/usr/bin/env python
"""Copyright (C) 2009 Nick Drobchenko, nick@cnc-club.ru

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
"""
work_thread = 0.05 # work_thread means how often pins will be updated (sec)

import os
import hal, time

h = hal.component("beep")
h.newpin("in", hal.HAL_BIT, hal.HAL_IN)
h.newpin("enable", hal.HAL_BIT, hal.HAL_IN)
# ok, lets we are ready, lets go 
h.ready()

try :
	while 1 :
		time.sleep(work_thread)
		if h["enable"] and h["beep"] :
			os.exec("beep")

except KeyboardInterrupt :
  raise SystemExit
ЗЫ Если пишет ошибку копируй ее целиком, там обычно есть еще куча полезной информации.
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение 2cme »

Вот что в консоле выдает:

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

emc:~$ python -c 'import os; os.exec ("beep")'
  File "<string>", line 1
    import os; os.exec ("beep")
                     ^
SyntaxError: invalid syntax
То же самое при запусе linuxcnc (могу принтскрин прикрипить)

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

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение Nick »

Точно, вот что значит посидел день на php...
os.system("beep") и без пробела до скобки!
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение 2cme »

В консоли это работает: python -c 'import os; os.system("beep")'
А linuxcnc попрежнему молчит, но запускается без ошибки.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение Nick »

Проверь что пины beep.enable и beep.in становятся true.
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение 2cme »

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

try :
   while 1 :
      time.sleep(work_thread)
      if (h["enable"] and h["in"]) :
         os.system("beep")
есть голос... :good:
h["in"] надо, а не h["beep"]
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение Nick »

моя ошибка :oops:!
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение 2cme »

спасибо (как не хватает кнопочки).
Ошибаться иногда полезно, например я благодаря этой ошибки (если действительно была) освоил еще один "финт" (;
У меня кстати есть класная запись выступления, на одной конфе, называется "о пользе ошибок".
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение 2cme »

Nick, я добавил в compensation_pyvcp.xml

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

			<checkbutton>
				<halpin>"beep"</halpin>
				<text>"Beep"</text>
			</checkbutton>
А теперь никак не пойму как сделать связку beep.enable и pyvcp.beep
Наверное в коде файла beep.py нужно делать?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение Nick »

не, просто убираешь setp beep.enable 1, а вместо этого пишешь
net beep-enable <= pyvcp.beep => beep.enable
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение 2cme »

ок, работает. :good:
Ответить

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