plugin for bt878 based remotes.

Do you have questions about writing plugins or scripts in Python? Meet the coders here.
Post Reply
junius
Plugin Developer
Posts: 7
Joined: Sat Nov 03, 2007 7:20 am

plugin for bt878 based remotes.

Post by junius » Sat Nov 03, 2007 8:06 am

I have an older analog TV tuner using the brooktree/conexant BT878 chipset, which includes a remote. Specifically, it is the avertv studio card.

I couldn't find anything about bt878 support in eventghost, so maybe it hasn't been implemented.

A long time ago I played around making modifications and improvements to some open source C/C++ girder plugins for my remote. Then for the past couple years it seems that I eat sleep and breath Python, so I thought it would be an interesting project to see if I can get my remote to work in eventghost.

Do you know if anyone is already working on this?

If not, do you have any hints or tips besides the developer docs on the wiki and all the info in other threads here? I'm new to win32 development, so any thing like "things I wish someone told me when I started" are appreciated, although I'm sure I can figure out everything I need by looking for examples in the existing code and tracking down docs on the important modules.

User avatar
Bitmonster
Site Admin
Posts: 2239
Joined: Mon Feb 06, 2006 10:28 pm

Re: plugin for bt878 based remotes.

Post by Bitmonster » Sat Nov 03, 2007 1:01 pm

To my knowledge nobody is currently working on a brooktree device plugin.

I don't know how the hardware is accessed. If this works through some kind of manufacturer-DLL you can do everything from Python through the ctypes module. If you have to do time critical fast computations, I would be better to do them in C/C++, stuffing it in a DLL and again call it through ctypes.

Do you have some C/C++ sample code, that shows the general approach one would have to take?
Please post software-related questions in the forum - PMs will only be answered, if really private, thanks!

Bartman
Plugin Developer
Posts: 881
Joined: Sun Feb 12, 2006 9:03 am

Re: plugin for bt878 based remotes.

Post by Bartman » Sat Nov 03, 2007 3:08 pm

As a workaround you can use the provided program from hauppauge and edit the irremote.ini to trigger events in EG.
Here is a sample from the german part of the forum. http://www.eventghost.org/forum/viewtop ... t=irremote
I don't know if it works with non hauppauge cards.

junius
Plugin Developer
Posts: 7
Joined: Sat Nov 03, 2007 7:20 am

Re: plugin for bt878 based remotes.

Post by junius » Sun Nov 04, 2007 8:39 am

I downloaded a whole collection of implementations. It looks like they were all descended from some common ancestor as people tweaked the code to work with their particular card.

The basic setup goes like this:

There is a dll "dtvdrv.dll" that has functions for reading and writing registers on the card. The one that matters is the "general purpose IO" (gpio) register (and a related "output enable" register). This corresponds to a bus on the bt878 chip that controls various features of the card. We mask down the gpio value to just the bits that correspond to the remote. That gets us the last event (key down or key up) from the remote.

We poll the gpio for events. The polling rate doesn't really matter because the gpio retains the last event (we don't need to worry about trying to poll fast enough to catch transient signals). At worst we might not see a keydown event before it gets replaced by a keyup event, but it is easy enough to fill in the down events when we see unexpected up events.

The typical approach was to poll every 20ms, but fall back to something slower like 250ms after a few seconds of inactivity. 20ms is also convenient for simulating "repeat" events after a delay, just like you get when you hold down a key on the keyboard.

I think the dll is from some ancient version of dscaler.

User avatar
Bitmonster
Site Admin
Posts: 2239
Joined: Mon Feb 06, 2006 10:28 pm

Re: plugin for bt878 based remotes.

Post by Bitmonster » Sun Nov 04, 2007 3:09 pm

Ok, then I would try it the pure Python way with ctypes. Even a 20ms poll should not harm performance to much. Some other plugins also work this way.

Do you have some experience with ctypes? I might help you out with creating the needed ctype structures. I guess the dTVdrv.h structures you need.

http://sourceforge.net/project/showfile ... ge_id=9781

This versions seems to be quite old (2001), but since it only has to access some registers, there was no need to update it I guess.
Please post software-related questions in the forum - PMs will only be answered, if really private, thanks!

junius
Plugin Developer
Posts: 7
Joined: Sat Nov 03, 2007 7:20 am

Re: plugin for bt878 based remotes.

Post by junius » Mon Nov 05, 2007 9:03 am

Ctypes turned out to be trivial. All the function arguments and return types are either integers or pointers to integers.

I just wasted a couple hours because the dll depends on a couple other files (dTVdrvNT.sys or dTVdrv95.vxd). I put all three in their own directory, and I was using os.chdir before loading the dll. Loading the dll worked fine, but it couldn't detect the card. It turns out that the dll can't load the other files from its own directory, but it can if I copy them to the directory of python.exe.

Now I can read the gpio register off the card in python, so it's just a matter of wrapping things up into a plugin.

It seems that in newer versions of DScaler the files changed names to dsdrv*, and later dsdrv4*.
Attachments
scratch.py
A simple demo of reading the GPIO from python.
(994 Bytes) Downloaded 311 times

User avatar
Bitmonster
Site Admin
Posts: 2239
Joined: Mon Feb 06, 2006 10:28 pm

Re: plugin for bt878 based remotes.

Post by Bitmonster » Mon Nov 05, 2007 11:39 am

Yes, the code looks very simple indeed. Have you tried if the new versions of dsdrv4 might fix the driver-directory-loading bug? Wouldn't look nice to add the driver files to the EG.exe root or lib directory. But if nothing else works we have to make it.
Please post software-related questions in the forum - PMs will only be answered, if really private, thanks!

junius
Plugin Developer
Posts: 7
Joined: Sat Nov 03, 2007 7:20 am

Re: plugin for bt878 based remotes.

Post by junius » Sun May 11, 2008 1:55 am

I hadn't looked at this in a while, then I finally took the jump to stop logging in with admin rights for routine use, and it turns out that my girder plugin can't access the hardware as a regular user.

DScaler's regspy.exe utility works fine for a plain user, so I had a look at its source I made a little DLL exporting the functions that it uses to access the card.

It turns out the dll loading issue was my fault, and easy to solve, just use
ctypes.cdll.LoadLibrary('full/path/to/foo.dll')
instead of
ctypes.cdll.foo
If I had been smart enough to look at other DLL-using plugins I would have figured that out sooner.

So, here's the working plugin if anyone is interested. It is configured to work with the "AverTv Studio" card, but I've documented it excessively so it shouldn't be hard to adapt to other cards if anyone is interested.
Attachments
regspydll.zip
Source for the DLL, depends on Dscaler source tree, eg:
http://prdownloads.sourceforge.net/deinterlace/DScaler4115src.zip
(5.67 KiB) Downloaded 315 times
bt8x8_avertvstudio.zip
the plugin
(60.98 KiB) Downloaded 341 times

User avatar
Bitmonster
Site Admin
Posts: 2239
Joined: Mon Feb 06, 2006 10:28 pm

Re: plugin for bt878 based remotes.

Post by Bitmonster » Sun May 11, 2008 7:22 am

I have included the plugin in the latest beta (0.3.6.1398). So hopefully we get some feedback on other BT8x8 based remotes.

I added you to the group of plugin developers, so you can now open a support thread in the Plugin forum if you want.
Please post software-related questions in the forum - PMs will only be answered, if really private, thanks!

Jacket
Posts: 5
Joined: Thu Nov 13, 2008 5:35 pm

Re: plugin for bt878 based remotes.

Post by Jacket » Thu Nov 13, 2008 7:12 pm

Hi, i have a little problem with this plugin. I got it working with my AverTV Studio 303 by entering the vendor and device id's from regspy.exe, but now i receive about 3-5 random events per second without even pressing a single button on the remote... Here is my dump from regspy.exe (sorted by activity, i pressed a button on the remote just before dumping):

Code: Select all

CX2388x Card [0]:

Vendor ID:           0x14f1
Device ID:           0x8800
Subsystem ID:        0x000b1461

=================================================================================

CX2388x Card - Register Dump:
MO_GP2_IO:                       00000031   (00000000 00000000 00000000 00110001)                 
AUD_INIT:                        00000004   (00000000 00000000 00000000 00000100)                 
AUD_INIT_LD:                     00000004   (00000000 00000000 00000000 00000100)                 
AUD_SOFT_RESET:                  00000000   (00000000 00000000 00000000 00000000)                 
AUD_I2SINPUTCNTL:                00000004   (00000000 00000000 00000000 00000100)                 
AUD_BAUDRATE:                    00000000   (00000000 00000000 00000000 00000000)                 
AUD_I2SOUTPUTCNTL:               00000000   (00000000 00000000 00000000 00000000)                 
AAGC_HYST:                       0000001a   (00000000 00000000 00000000 00011010)                 
AAGC_GAIN:                       00000001   (00000000 00000000 00000000 00000001)                 
AAGC_DEF:                        00000000   (00000000 00000000 00000000 00000000)                 
AUD_IIR1_0_SEL:                  00000000   (00000000 00000000 00000000 00000000)                 
AUD_IIR1_0_SHIFT:                00000000   (00000000 00000000 00000000 00000000)                 
AUD_IIR1_1_SEL:                  00000001   (00000000 00000000 00000000 00000001)                 
AUD_IIR1_1_SHIFT:                00000000   (00000000 00000000 00000000 00000000)                 
AUD_IIR1_2_SEL:                  0000001f   (00000000 00000000 00000000 00011111)                 
AUD_IIR1_2_SHIFT:                00000007   (00000000 00000000 00000000 00000111)                 
AUD_IIR1_3_SEL:                  00000020   (00000000 00000000 00000000 00100000)                 
AUD_IIR1_3_SHIFT:                00000007   (00000000 00000000 00000000 00000111)                 
AUD_IIR1_4_SEL:                  00000025   (00000000 00000000 00000000 00100101)                 
AUD_IIR1_4_SHIFT:                00000007   (00000000 00000000 00000000 00000111)                 
AUD_IIR1_5_SEL:                  00000007   (00000000 00000000 00000000 00000111)                 
AUD_IIR1_5_SHIFT:                00000007   (00000000 00000000 00000000 00000111)                 
AUD_IIR2_0_SEL:                  00000002   (00000000 00000000 00000000 00000010)                 
AUD_IIR2_0_SHIFT:                00000007   (00000000 00000000 00000000 00000111)                 
AUD_IIR2_1_SEL:                  00000003   (00000000 00000000 00000000 00000011)                 
AUD_IIR2_1_SHIFT:                00000007   (00000000 00000000 00000000 00000111)                 
AUD_IIR2_2_SEL:                  00000004   (00000000 00000000 00000000 00000100)                 
AUD_IIR2_2_SHIFT:                00000007   (00000000 00000000 00000000 00000111)                 
AUD_IIR2_3_SEL:                  00000005   (00000000 00000000 00000000 00000101)                 
AUD_IIR2_3_SHIFT:                00000007   (00000000 00000000 00000000 00000111)                 
AUD_IIR3_0_SEL:                  00000021   (00000000 00000000 00000000 00100001)                 
AUD_IIR3_0_SHIFT:                00000000   (00000000 00000000 00000000 00000000)                 
AUD_IIR3_1_SEL:                  00000023   (00000000 00000000 00000000 00100011)                 
AUD_IIR3_1_SHIFT:                00000000   (00000000 00000000 00000000 00000000)                 
AUD_IIR3_2_SEL:                  00000016   (00000000 00000000 00000000 00010110)                 
AUD_IIR3_2_SHIFT:                00000002   (00000000 00000000 00000000 00000010)                 
AUD_IIR4_0_SEL:                  0000001d   (00000000 00000000 00000000 00011101)                 
AUD_IIR4_0_SHIFT:                00000000   (00000000 00000000 00000000 00000000)                 
AUD_IIR4_1_SEL:                  00000019   (00000000 00000000 00000000 00011001)                 
AUD_IIR4_1_SHIFT:                00000007   (00000000 00000000 00000000 00000111)                 
AUD_IIR4_2_SEL:                  00000008   (00000000 00000000 00000000 00001000)                 
AUD_IIR4_2_SHIFT:                00000007   (00000000 00000000 00000000 00000111)                 
AUD_IIR4_0_CA0:                  0003e57e   (00000000 00000011 11100101 01111110)                 
AUD_IIR4_0_CA1:                  00005e11   (00000000 00000000 01011110 00010001)                 
AUD_IIR4_0_CA2:                  0003a7cf   (00000000 00000011 10100111 11001111)                 
AUD_IIR4_0_CB0:                  00002368   (00000000 00000000 00100011 01101000)                 
AUD_IIR4_0_CB1:                  0003bf1b   (00000000 00000011 10111111 00011011)                 
AUD_IIR4_1_CA0:                  00006349   (00000000 00000000 01100011 01001001)                 
AUD_IIR4_1_CA1:                  00006f27   (00000000 00000000 01101111 00100111)                 
AUD_IIR4_1_CA2:                  0000e7a3   (00000000 00000000 11100111 10100011)                 
AUD_IIR4_1_CB0:                  00005653   (00000000 00000000 01010110 01010011)                 
AUD_IIR4_1_CB1:                  0000cf97   (00000000 00000000 11001111 10010111)                 
AUD_IIR4_2_CA0:                  00006349   (00000000 00000000 01100011 01001001)                 
AUD_IIR4_2_CA1:                  00006f27   (00000000 00000000 01101111 00100111)                 
AUD_IIR4_2_CA2:                  0000e7a3   (00000000 00000000 11100111 10100011)                 
AUD_IIR4_2_CB0:                  00005653   (00000000 00000000 01010110 01010011)                 
AUD_IIR4_2_CB1:                  0000cf97   (00000000 00000000 11001111 10010111)                 
AUD_HP_MD_IIR4_1:                00000001   (00000000 00000000 00000000 00000001)                 
AUD_HP_PROG_IIR4_1:              0000001a   (00000000 00000000 00000000 00011010)                 
AUD_FM_MODE_ENABLE:              00000000   (00000000 00000000 00000000 00000000)                 
AUD_POLY0_DDS_CONSTANT:          000a62b4   (00000000 00001010 01100010 10110100)                 
AUD_DN0_FREQ:                    0000312b   (00000000 00000000 00110001 00101011)                 
AUD_DN1_FREQ:                    00003318   (00000000 00000000 00110011 00011000)                 
AUD_DN1_FREQ_SHIFT:              00000000   (00000000 00000000 00000000 00000000)                 
AUD_DN1_AFC:                     00000000   (00000000 00000000 00000000 00000000)                 
AUD_DN1_SRC_SEL:                 00000017   (00000000 00000000 00000000 00010111)                 
AUD_DN1_SHFT:                    00000007   (00000000 00000000 00000000 00000111)                 
AUD_DN2_FREQ:                    00003551   (00000000 00000000 00110101 01010001)                 
AUD_DN2_FREQ_SHIFT:              00000000   (00000000 00000000 00000000 00000000)                 
AUD_DN2_AFC:                     00000002   (00000000 00000000 00000000 00000010)                 
AUD_DN2_SRC_SEL:                 00000001   (00000000 00000000 00000000 00000001)                 
AUD_DN2_SHFT:                    00000000   (00000000 00000000 00000000 00000000)                 
AUD_CRDC0_SRC_SEL:               000002cd   (00000000 00000000 00000010 11001101)                 
AUD_CRDC0_SHIFT:                 00000000   (00000000 00000000 00000000 00000000)                 
AUD_CORDIC_SHIFT_0:              00000007   (00000000 00000000 00000000 00000111)                 
AUD_CRDC1_SRC_SEL:               0000038f   (00000000 00000000 00000011 10001111)                 
AUD_CRDC1_SHIFT:                 00000000   (00000000 00000000 00000000 00000000)                 
AUD_CORDIC_SHIFT_1:              00000007   (00000000 00000000 00000000 00000111)                 
AUD_DCOC_0_SRC:                  0000001a   (00000000 00000000 00000000 00011010)                 
AUD_DCOC0_SHIFT:                 00000000   (00000000 00000000 00000000 00000000)                 
AUD_DCOC_0_SHIFT_IN0:            0000000a   (00000000 00000000 00000000 00001010)                 
AUD_DCOC_0_SHIFT_IN1:            00000008   (00000000 00000000 00000000 00001000)                 
AUD_DCOC_1_SRC:                  0000001b   (00000000 00000000 00000000 00011011)                 
AUD_DCOC1_SHIFT:                 00000000   (00000000 00000000 00000000 00000000)                 
AUD_DCOC_1_SHIFT_IN0:            0000000a   (00000000 00000000 00000000 00001010)                 
AUD_DCOC_1_SHIFT_IN1:            00000008   (00000000 00000000 00000000 00001000)                 
AUD_DCOC_2_SRC:                  0000001b   (00000000 00000000 00000000 00011011)                 
AUD_DCOC2_SHIFT:                 00000000   (00000000 00000000 00000000 00000000)                 
AUD_DCOC_2_SHIFT_IN0:            0000000a   (00000000 00000000 00000000 00001010)                 
AUD_DCOC_2_SHIFT_IN1:            00000008   (00000000 00000000 00000000 00001000)                 
AUD_DCOC_PASS_IN:                00000003   (00000000 00000000 00000000 00000011)                 
AUD_PDET_SRC:                    00000014   (00000000 00000000 00000000 00010100)                 
AUD_PDET_SHIFT:                  00000000   (00000000 00000000 00000000 00000000)                 
AUD_PILOT_BQD_1_K0:              0000755b   (00000000 00000000 01110101 01011011)                 
AUD_PILOT_BQD_1_K1:              00551340   (00000000 01010101 00010011 01000000)                 
AUD_PILOT_BQD_1_K2:              006d30be   (00000000 01101101 00110000 10111110)                 
AUD_PILOT_BQD_1_K3:              ffd394af   (11111111 11010011 10010100 10101111)                 
AUD_PILOT_BQD_1_K4:              00400000   (00000000 01000000 00000000 00000000)                 
AUD_PILOT_BQD_2_K0:              00040000   (00000000 00000100 00000000 00000000)                 
AUD_PILOT_BQD_2_K1:              002a4841   (00000000 00101010 01001000 01000001)                 
AUD_PILOT_BQD_2_K2:              00400000   (00000000 01000000 00000000 00000000)                 
AUD_PILOT_BQD_2_K3:              00000000   (00000000 00000000 00000000 00000000)                 
AUD_PILOT_BQD_2_K4:              00000000   (00000000 00000000 00000000 00000000)                 
AUD_THR_FR:                      00000000   (00000000 00000000 00000000 00000000)                 
AUD_X_PROG:                      00000008   (00000000 00000000 00000000 00001000)                 
AUD_Y_PROG:                      02000000   (00000010 00000000 00000000 00000000)                 
AUD_HARMONIC_MULT:               00000001   (00000000 00000000 00000000 00000001)                 
AUD_C1_UP_THR:                   00007000   (00000000 00000000 01110000 00000000)                 
AUD_C1_LO_THR:                   00005400   (00000000 00000000 01010100 00000000)                 
AUD_C2_UP_THR:                   00005400   (00000000 00000000 01010100 00000000)                 
AUD_C2_LO_THR:                   00003000   (00000000 00000000 00110000 00000000)                 
AUD_PLL_EN:                      00000000   (00000000 00000000 00000000 00000000)                 
AUD_PLL_SRC:                     00000017   (00000000 00000000 00000000 00010111)                 
AUD_PLL_SHIFT:                   00000000   (00000000 00000000 00000000 00000000)                 
AUD_PLL_IF_SEL:                  00000017   (00000000 00000000 00000000 00010111)                 
AUD_PLL_IF_SHIFT:                00000000   (00000000 00000000 00000000 00000000)                 
AUD_BIQUAD_PLL_K0:               00008a68   (00000000 00000000 10001010 01101000)                 
AUD_BIQUAD_PLL_K1:               00100000   (00000000 00010000 00000000 00000000)                 
AUD_BIQUAD_PLL_K2:               00092305   (00000000 00001001 00100011 00000101)                 
AUD_BIQUAD_PLL_K3:               00080000   (00000000 00001000 00000000 00000000)                 
AUD_BIQUAD_PLL_K4:               00fcb368   (00000000 11111100 10110011 01101000)                 
AUD_DEEMPH0_SRC_SEL:             00000011   (00000000 00000000 00000000 00010001)                 
AUD_DEEMPH0_SHIFT:               00000000   (00000000 00000000 00000000 00000000)                 
AUD_DEEMPH0_G0:                  00000800   (00000000 00000000 00001000 00000000)                 
AUD_DEEMPH0_A0:                  0000777a   (00000000 00000000 01110111 01111010)                 
AUD_DEEMPH0_B0:                  00000000   (00000000 00000000 00000000 00000000)                 
AUD_DEEMPH0_A1:                  0003f062   (00000000 00000011 11110000 01100010)                 
AUD_DEEMPH0_B1:                  00000000   (00000000 00000000 00000000 00000000)                 
AUD_DEEMPH1_SRC_SEL:             00000011   (00000000 00000000 00000000 00010001)                 
AUD_DEEMPH1_SHIFT:               00000000   (00000000 00000000 00000000 00000000)                 
AUD_DEEMPH1_G0:                  00000800   (00000000 00000000 00001000 00000000)                 
AUD_DEEMPH1_A0:                  0000777a   (00000000 00000000 01110111 01111010)                 
AUD_DEEMPH1_B0:                  00000000   (00000000 00000000 00000000 00000000)                 
AUD_DEEMPH1_A1:                  0003f062   (00000000 00000011 11110000 01100010)                 
AUD_DEEMPH1_B1:                  00000000   (00000000 00000000 00000000 00000000)                 
AUD_OUT0_SEL:                    0000003f   (00000000 00000000 00000000 00111111)                 
AUD_OUT0_SHIFT:                  00000000   (00000000 00000000 00000000 00000000)                 
AUD_OUT1_SEL:                    0000003f   (00000000 00000000 00000000 00111111)                 
AUD_OUT1_SHIFT:                  00000000   (00000000 00000000 00000000 00000000)                 
AUD_RDSI_SEL:                    00000017   (00000000 00000000 00000000 00010111)                 
AUD_RDSI_SHIFT:                  00000000   (00000000 00000000 00000000 00000000)                 
AUD_RDSQ_SEL:                    00000017   (00000000 00000000 00000000 00010111)                 
AUD_RDSQ_SHIFT:                  00000000   (00000000 00000000 00000000 00000000)                 
AUD_DBX_IN_GAIN:                 00000000   (00000000 00000000 00000000 00000000)                 
AUD_DBX_WBE_GAIN:                00000000   (00000000 00000000 00000000 00000000)                 
AUD_DBX_SE_GAIN:                 00000000   (00000000 00000000 00000000 00000000)                 
AUD_DBX_RMS_WBE:                 00000000   (00000000 00000000 00000000 00000000)                 
AUD_DBX_RMS_SE:                  00000000   (00000000 00000000 00000000 00000000)                 
AUD_DBX_SE_BYPASS:               00000000   (00000000 00000000 00000000 00000000)                 
AUD_FAWDETCTL:                   00000678   (00000000 00000000 00000110 01111000)                 
AUD_FAWDETWINCTL:                000012d6   (00000000 00000000 00010010 11010110)                 
AUD_DEEMPHGAIN_R:                00006680   (00000000 00000000 01100110 10000000)                 
AUD_DEEMPHNUMER1_R:              000353de   (00000000 00000011 01010011 11011110)                 
AUD_DEEMPHNUMER2_R:              000001b1   (00000000 00000000 00000001 10110001)                 
AUD_DEEMPHDENOM1_R:              0000f3d0   (00000000 00000000 11110011 11010000)                 
AUD_DEEMPHDENOM2_R:              00000000   (00000000 00000000 00000000 00000000)                 
AUD_ERRLOGPERIOD_R:              00000fff   (00000000 00000000 00001111 11111111)                 
AUD_ERRINTRPTTHSHLD1_R:          000003ff   (00000000 00000000 00000011 11111111)                 
AUD_ERRINTRPTTHSHLD2_R:          000000ff   (00000000 00000000 00000000 11111111)                 
AUD_ERRINTRPTTHSHLD3_R:          0000003f   (00000000 00000000 00000000 00111111)                 
AUD_NICAM_STATUS1:               00000000   (00000000 00000000 00000000 00000000)                 
AUD_NICAM_STATUS2:               00000001   (00000000 00000000 00000000 00000001)                 
AUD_ERRLOG1:                     00000000   (00000000 00000000 00000000 00000000)                 
AUD_ERRLOG2:                     00000000   (00000000 00000000 00000000 00000000)                 
AUD_ERRLOG3:                     00000000   (00000000 00000000 00000000 00000000)                 
AUD_DAC_BYPASS_L:                00000000   (00000000 00000000 00000000 00000000)                 
AUD_DAC_BYPASS_R:                00000000   (00000000 00000000 00000000 00000000)                 
AUD_DAC_BYPASS_CTL:              00000000   (00000000 00000000 00000000 00000000)                 
AUD_CTL:                         00001208   (00000000 00000000 00010010 00001000)                 
AUD_STATUS:                      0000fff6   (00000000 00000000 11111111 11110110)                 
AUD_VOL_CTL:                     000001c0   (00000000 00000000 00000001 11000000)                 
AUD_BAL_CTL:                     00000000   (00000000 00000000 00000000 00000000)                 
AUD_START_TIMER:                 00000200   (00000000 00000000 00000010 00000000)                 
AUD_MODE_CHG_TIMER:              00000060   (00000000 00000000 00000000 01100000)                 
AUD_POLYPH80SCALEFAC:            00000001   (00000000 00000000 00000000 00000001)                 
AUD_DMD_RA_DDS:                  002a73bd   (00000000 00101010 01110011 10111101)                 
AUD_I2S_RA_DDS:                  00400000   (00000000 01000000 00000000 00000000)                 
AUD_RATE_THRES_DMD:              000000c0   (00000000 00000000 00000000 11000000)                 
AUD_RATE_THRES_I2S:              00000005   (00000000 00000000 00000000 00000101)                 
AUD_RATE_ADJ1:                   00000100   (00000000 00000000 00000001 00000000)                 
AUD_RATE_ADJ2:                   00000200   (00000000 00000000 00000010 00000000)                 
AUD_RATE_ADJ3:                   00000300   (00000000 00000000 00000011 00000000)                 
AUD_RATE_ADJ4:                   00000400   (00000000 00000000 00000100 00000000)                 
AUD_RATE_ADJ5:                   00000500   (00000000 00000000 00000101 00000000)                 
AUD_APB_IN_RATE_ADJ:             00000000   (00000000 00000000 00000000 00000000)                 
AUD_PHASE_FIX_CTL:               00000000   (00000000 00000000 00000000 00000000)                 
AUD_PLL_PRESCALE:                00000002   (00000000 00000000 00000000 00000010)                 
AUD_PLL_DDS:                     00000001   (00000000 00000000 00000000 00000001)                 
AUD_PLL_INT:                     0000001f   (00000000 00000000 00000000 00011111)                 
AUD_PLL_FRAC:                    00000000   (00000000 00000000 00000000 00000000)                 
AUD_PLL_JTAG:                    00000000   (00000000 00000000 00000000 00000000)                 
AUD_PLL_SPMP:                    00000004   (00000000 00000000 00000000 00000100)                 
AUD_AFE_12DB_EN:                 00000000   (00000000 00000000 00000000 00000000)                 
AUD_PDF_DDS_CNST_BYTE2:          06         (00000110)                                            
AUD_PDF_DDS_CNST_BYTE1:          82         (10000010)                                            
AUD_PDF_DDS_CNST_BYTE0:          12         (00010010)                                            
AUD_QAM_MODE:                    05         (00000101)                                            
AUD_PHACC_FREQ_8MSB:             34         (00110100)                                            
AUD_PHACC_FREQ_8LSB:             4c         (01001100)                                            
MO_GP0_IO:                       000000ff   (00000000 00000000 00000000 11111111)                 
MO_GP1_IO:                       000020ff   (00000000 00000000 00100000 11111111)                 
MO_GP3_IO:                       00000000   (00000000 00000000 00000000 00000000)                 

end of dump
Can anyone help? What i have to set in the plugin file? I suppose it has something to do with _GPIO_ADDRESS, _KEY_MASK and _KEY_MASK, but i don't know where to find the apropriate ones for my system...

Post Reply