wie versprochen ein paar Bildchen.
API: libusb-1.0
lirc-basis: lirc-0.9.0~pre1 (debian V7.4)
patch: lirc-0.9.0_ya_usbir_v3.5.diff.tar.gz
hardware: yaUsbIR V3
conf:
/etc/lirc/lircd.conf:
begin remote
name SONY_RM_U304
bits 12
flags SPACE_ENC|CONST_LENGTH
eps 30
aeps 100
header 2403 520
one 1250 518
zero 640 518
gap 44000
min_repeat 2
toggle_bit_mask 0x0
frequency 38000
begin codes
BTN_AUX 0xB81
BTN_DVD 0xBE1
BTN_CD 0xA41
BTN_UP 0x481
BTN_DOWN 0xC81
VIDEO3 0x421
TV/SAT 0x561
MD/TAPE 0x961
DAT/TAPE 0xC41
TUNER 0x841
PHONO 0x041
MULTI_CH 0x4E1
MPX/DUAL 0xE81
ANALOG_DIRECT 0x921
MUTING 0x281
ON_SCREEN 0xCA1
SYSTEM_STANDBY 0xA81
end codes
end remote
Alles anzeigen
Original-FB kurzer Tastendruck:
das Gleiche mit yausbir sieht ok aus (insbes. wenn man den Signalverlauf hochaufgeloest vergleicht). Erzeugt mit
irsend SEND_ONCE SONY_RM_U304 BTN_DOWN
liefert:
Soweit so gut. Die Fehler passieren bei Mehrfach-Tastendruck:
wenn ich auf der Original-FB die BTN_DOWN so kurz als moeglich druecke, so dass aber genau 1 zusaetzlicher Tastendruck generiert wird bekomme ich:
wenn ich das mit yausbir nachbilden will, geht das nicht:
irsend --count 2 SEND_ONCE SONY_RM_U304 BTN_DOWN
liefert:
hier wird irgendwas vermanscht. Zudem versucht er nicht 1 Signalfolge fuer BTN_DOIWN dranzuhaengen sondern 2 oder vielleicht 3?
die vermanschte Stelle sieht hoeher aufgeloest dann so aus:
Hier kann man sehen, dass evtl. der naechste Tastendruck ohne jedes Gap einfach drangehaengt wird. ABer warum gleich 2 statt 1?
Wenn ich versuche einen count > 9 zu setzen, um z.B. das Volume ganz runterzudrehen wird das mit Fehler abgebrochen:
irsend --count 10 SEND_ONCE SONY_RM_U304 BTN_DOWN
gibt Fehlermeldung:
lircd: accepted new client on /var/run/lirc/lircd
lircd: yaUsbIr: Initializing yaUsbIr (libusb-1.0 API)
lircd: yaUsbIr: idVendor=10C4, idProduct=876C
Manufacturer: UG Development Lab
Product: yaUsbIR V3:IR transceiver with power switch
hid interface (generic)
SerialNumber: 0003
lircd: yaUsbIr: entering send()
lircd: yaUsbIr: set carrier frequency = 38000 Hz
lircd: yaUsbIr: entering send()
lircd: buffer too small
lircd: yaUsbIr: init_send() failed
lircd: removed client
lircd: yaUsbIr: close device
Alles anzeigen
ein Befehl wie
irsend SEND_START SONY_RM_U304 BTN_DOWN
geht leider auch nicht. Auch hier wieder die Fehlermeldung "buffer too small" wie vor.
Ausserdem wird dann genau nur 1 einziger Tastendruck generiert statt eine endlose Folge (bis zum STOP). IR-Sendepattern dann aehnlich dem allerersten Bild.
- sparkie