Страница 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")
есть голос...
h["in"] надо, а не h["beep"]
Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]
Добавлено: 22 мар 2012, 23:38
Nick
моя ошибка

!
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
ок, работает.
