Страница 19 из 31

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

Добавлено: 22 мар 2012, 17:52
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" тишина

На другом компе работает, но мне нужно на этом.

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

Добавлено: 22 мар 2012, 18:39
Nick
а на компе как я понимаю звуковухи нет или к ней не подключены колонки?

После установки beep и pcspk, не появилось ли в /dev/ чего-нибудь похожего на pcspeaker?

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

Добавлено: 22 мар 2012, 18:41
2cme
Звуковуха есть, при загрузке звуковое приведствие даже.
Еще с тв тюнера на линейный вход сигнал идет.
Уровни звук на всю выставил дял всех видов звука...

При поиски по фразе echo -en "\a" наткнулся на сообщение что его отключают. А как включить почемуто не написали.
Многие жаловались на бипер, его поумолчанию и отключили.

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

Добавлено: 22 мар 2012, 19:19
Nick
А что у тебя в cat /etc/modprobe.d/blacklist.conf ?

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

Добавлено: 22 мар 2012, 19:26
2cme
Вообще такого файл нет, проверял.
В одном сообщени читал что после удаления папки ./KDE звук появлялся, но насколько я понимаю livecd emc2 установлен gnome.
А утилитами нельзя посмотреть процесс выполнения команыд echo -en "\a". Или как происходи выполнение этой команды. Насколько я понимаю в python -с 'print "\a"' работает по томуже принципу.

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

Добавлено: 22 мар 2012, 19:35
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 файл (;

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

Добавлено: 22 мар 2012, 19:56
Nick
2cme писал(а):Вообще такого файл нет, проверял.
Это очень странно, ты уверен?
2cme писал(а):loadusr -Wn beep bash beep
Так просто не выйдет :).
можешь в файлк beep.py изменить print ... на os.exec("beep") и вверх программы добавить import os

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

Добавлено: 22 мар 2012, 20:21
2cme
Не работает, invalid syntax


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

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

python -c 'import os; os.popen (/usr/bin/beep)'
Работает, а в файле beep.py не работает, и при запуске все ок.

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

Добавлено: 22 мар 2012, 20:35
2cme
Nick писал(а):А что у тебя в cat /etc/modprobe.d/blacklist.conf ?
файл есть, просмотрел.
Закоментировал две строчки:
blacklist snd_pcsp
blacklist pcspkr
Перезагрузился, не работает.

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

Добавлено: 22 мар 2012, 20:52
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
ЗЫ Если пишет ошибку копируй ее целиком, там обычно есть еще куча полезной информации.

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

Добавлено: 22 мар 2012, 21:00
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 (), но ей нужно два аргумента.

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

Добавлено: 22 мар 2012, 21:08
Nick
Точно, вот что значит посидел день на php...
os.system("beep") и без пробела до скобки!

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

Добавлено: 22 мар 2012, 21:15
2cme
В консоли это работает: python -c 'import os; os.system("beep")'
А linuxcnc попрежнему молчит, но запускается без ошибки.

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

Добавлено: 22 мар 2012, 22:55
Nick
Проверь что пины beep.enable и beep.in становятся true.

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

Добавлено: 22 мар 2012, 23:23
2cme

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

try :
   while 1 :
      time.sleep(work_thread)
      if (h["enable"] and h["in"]) :
         os.system("beep")
есть голос... :good:
h["in"] надо, а не h["beep"]

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

Добавлено: 22 мар 2012, 23:38
Nick
моя ошибка :oops:!

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

Добавлено: 22 мар 2012, 23:44
2cme
спасибо (как не хватает кнопочки).
Ошибаться иногда полезно, например я благодаря этой ошибки (если действительно была) освоил еще один "финт" (;
У меня кстати есть класная запись выступления, на одной конфе, называется "о пользе ошибок".

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

Добавлено: 23 мар 2012, 10:00
2cme
Nick, я добавил в compensation_pyvcp.xml

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

			<checkbutton>
				<halpin>"beep"</halpin>
				<text>"Beep"</text>
			</checkbutton>
А теперь никак не пойму как сделать связку beep.enable и pyvcp.beep
Наверное в коде файла beep.py нужно делать?

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

Добавлено: 23 мар 2012, 11:40
Nick
не, просто убираешь setp beep.enable 1, а вместо этого пишешь
net beep-enable <= pyvcp.beep => beep.enable

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

Добавлено: 23 мар 2012, 11:45
2cme
ок, работает. :good: