[mythtv-users] Progress with ATI Remote Wonder Plus / RW3 and LIRC
Cymen Vig
cymenvig at gmail.com
Wed Feb 8 02:06:31 UTC 2006
I've got the ATI Remote Wonder Plus working with a patch to the LIRC
lirc_atiusb module. The RW1/2 remote I have still works but of course
requires a different lircd.conf. Everything is working well except the
toggle bit. That means pressing up will go up, pause, up, pause when
it should be up, up, up, up. I believe that is the issue.
---------- Forwarded message ----------
From: Cymen Vig <cymenvig at gmail.com>
Date: Feb 7, 2006 7:17 PM
Subject: Progress with ATI Remote Wonder Plus
To: lirc-list at lists.sourceforge.net
I believe that I have found the correct init code(s) for the Remote
Wonder Plus. I used a snooping program on Windows. I made the
following changes to drivers/lirc_atiusb/lirc_atiusb.c:
---------------------------------------------------------------------------------------------
--- lirc_atiusb.c 2006-01-29 12:25:57.000000000 -0600
+++ ../../../lirc-good/drivers/lirc_atiusb/lirc_atiusb.c
2006-02-07 19:07:03.362306424 -0600
@@ -147,9 +147,9 @@ static struct usb_device_id usb_remote_t
/* init strings */
#define USB_OUTLEN 7
-static char init1[] = {0x01, 0x00, 0x20, 0x14};
-static char init2[] = {0x01, 0x00, 0x20, 0x14, 0x20, 0x20, 0x20};
-
+static char init1[] = {0x80, 0x05, 0x1b, 0x15, 0x14, 0x20, 0x24, 0x15};
+static char init2[] = {0x83, 0x03};
+static char init3[] = {0x84, 0xd7, 0x020};
struct in_endpt {
@@ -1034,8 +1034,9 @@ static void send_outbound_init(struct ir
usb_sndintpipe(ir->usbdev,
oep->ep->bEndpointAddress), oep->buf,
USB_OUTLEN, usb_remote_send, oep, oep->ep->bInterval);
- send_packet(oep, 0x8004, init1);
- send_packet(oep, 0x8007, init2);
+ send_packet(oep, 0x8007, init1);
+ send_packet(oep, 0x8002, init2);
+ send_packet(oep, 0x8003, init3);
}
}
---------------------------------------------------------------------------------------------
The mode2 results:
[19:02:18] mythtv tools # # 1st with RW1/2 pressing keys 1,2,3
[19:02:23] mythtv tools # ./mode2 -d /dev/lirc/0
code: 0x14e20d0000
code: 0x14e20d0000
code: 0x14e30e0000
code: 0x14e30e0000
code: 0x14e40f0000
code: 0x14e40f0000
[19:02:35] mythtv tools # # now with Remote Wonder Plus pressing keys 1,2,3
[19:02:48] mythtv tools # ./mode2 -d /dev/lirc/0
code: 0x14b31b0000
code: 0x15e20d0000
code: 0x15e20d0000
code: 0x15638e0000
code: 0x15638e0000
code: 0x14c81f0000
code: 0x15e40f0000
code: 0x15e40f0000
code: 0x155a8d0000
code: 0x15628d0000
code: 0x15628d0000
code: 0x15e30e0000
code: 0x15e30e0000
code: 0x15648f0000
code: 0x15648f0000
It seems like the keys are 0x15 instead of 0x14 but every once in a
while the 0x1564..instead of 0x15e.. pops up.
I tried irw and the old remote is still spitting out keypresses but
the new one isn't there yet. I am not surprised but I'm new to the
lirc source so I'm going to poke around there next. Advice is
welcomed! I believe only have one of the two older remotes so I do not
know if all three are now functional or if one got borked by my
change.
Cymen
---------- Forwarded message ----------
From: Cymen Vig <cymenvig at gmail.com>
Date: Feb 7, 2006 8:02 PM
Subject: ATI Remote Wonder Plus - lircd.conf
To: lirc-list at lists.sourceforge.net
irrecord worked well except:
--
Please press an arbitrary button repeatedly as fast as possible (don't hold
it down!).
..............................
Invalid toggle bit.
Successfully written config file.
--
I have attached one lircd.conf for this remote. Without the toggle bit
the actually usage of the remote is a bit laggy in MythTV (at least
I'm guessing this is because of the toggle bit -- the "mouse" portion
has no lag).
-------------- next part --------------
--- lirc_atiusb.c 2006-01-29 12:25:57.000000000 -0600
+++ ../../../lirc-good/drivers/lirc_atiusb/lirc_atiusb.c 2006-02-07 19:07:03.362306424 -0600
@@ -147,9 +147,9 @@ static struct usb_device_id usb_remote_t
/* init strings */
#define USB_OUTLEN 7
-static char init1[] = {0x01, 0x00, 0x20, 0x14};
-static char init2[] = {0x01, 0x00, 0x20, 0x14, 0x20, 0x20, 0x20};
-
+static char init1[] = {0x80, 0x05, 0x1b, 0x15, 0x14, 0x20, 0x24, 0x15};
+static char init2[] = {0x83, 0x03};
+static char init3[] = {0x84, 0xd7, 0x020};
struct in_endpt {
@@ -1034,8 +1034,9 @@ static void send_outbound_init(struct ir
usb_sndintpipe(ir->usbdev, oep->ep->bEndpointAddress), oep->buf,
USB_OUTLEN, usb_remote_send, oep, oep->ep->bInterval);
- send_packet(oep, 0x8004, init1);
- send_packet(oep, 0x8007, init2);
+ send_packet(oep, 0x8007, init1);
+ send_packet(oep, 0x8002, init2);
+ send_packet(oep, 0x8003, init3);
}
}
-------------- next part --------------
# Please make this file available to others
# by sending it to <lirc at bartelmus.de>
#
# this config file was automatically generated
# using lirc-0.8.0pre3(atiusb) on Tue Feb 7 19:33:37 2006
#
# contributed by
#
# brand: ATI Remote Wonder Plus / RW3
# model no. of remote control: 5000026900
# devices being controlled by this remote: 500002700
#
begin remote
name ATI_RWP
bits 24
eps 30
aeps 100
one 0 0
zero 0 0
post_data_bits 16
post_data 0x0
gap 243966
min_repeat 11
toggle_bit 0
begin codes
A 0x155580
B 0x15D601
? 0x155A85
FM 0x15F11C
TV 0x155883
GUIDE 0x15DB06
TV2 0x157FAA
DVD 0x15D904
Vol+ 0x155D88
Vol- 0x15DE09
Ch+ 0x15608B
Ch- 0x15E10C
Mute 0x155F8A
ATI 0x15022D
Maximize 0x1575A0
Mouse_LeftButton 0x154D78
Mouse_RightButton 0x15D1FC
Mouse_Up 0x15C7F2
Mouse_Down 0x154873
Mouse_Left 0x15C5F0
Mouse_Right 0x154671
Mouse_UpRight 0x154A75
Mouse_UpLeft 0x15C9F4
Mouse_DownRight 0x15CBF6
Mouse_DownLeft 0x15C8F3
Play 0x157AA5
Pause 0x15FE29
Stop 0x157DA8
Previous 0x15F924
Next 0x157BA6
Record 0x14082F
C 0x156E99
d 0x15F01B
E 0x1576A1
F 0x15F823
OK 0x15739E
Information 0x15012C
Clock 0x1580AB
1 0x15E20D
2 0x15638E
3 0x15E40F
4 0x156590
5 0x15E611
6 0x156792
7 0x15E813
8 0x156994
9 0x15EA15
0 0x156C97
Checkmark 0x15ED18
Dropdown 0x156B96
Arrow_Up 0x156F9A
Arrow_Down 0x15F722
Arrow_Right 0x15749F
Arrow_Left 0x15F21D
#ArrowUp 0x156F9A0000
#ArrowDown 0x15F7220000
#ArrowRight 0x15749F0000
#ArrowLeft 0x15F21D0000
end codes
end remote
More information about the mythtv-users
mailing list