[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