dev builds
themes manual
device status forums
mailing lists
IRC bugs
dev guide

Rockbox mail archive

Subject: H10/PP5020 - ADC and Scrollpad

H10/PP5020 - ADC and Scrollpad

From: Anthony D'Alberto <>
Date: Fri, 13 Jul 2007 09:50:01 -0400

Hello All,
I've got a question or two about the pp5020/H10 player and the ADC scrollpad

1.) Is there ANY more information about this chipset, and where would I find
2.) The ADCs are quoted on the datasheet as being 8 bit, but the ADC code
says they are 10 bit. Are the 8 bit ADCs used as 10 bit ADCs through a
feature of the chip?
3.) If the adc_data2 bits 0 and 1 contain lowest bits of the 10 bit A/D,
then the code in adc_h10.c does not make sense to me:

adc_data2 = (ADC_DATA2 >> (8*channel+6)) & 0x3.

Shouldn't this be:

adc_data2 = ADC_DATA2 >> (8*channel) & 0x3

or are the 2 lsb bits at the msb position of ADC_DATA2? I'm probably
missing something very simple.

4.) Is there a way to drive the ADCs with interrupts or status registers?

Of course my end goal is to get the scrollpad working the way the original
firmware works. So I've noticed touching the scrollpad at the bottom has
quite a bit more noise than touching the top. At the top, the noise will be
+/- 0x08 - 0x10 whereas at the bottom it is somewhere near +/- 0x70. Also
there seems to be a periodic dip in the value. This has made it really
difficult to get the input data filtered.

Any help would really be appreciated. I've looked at the iPod linux wiki
memory map, and can't seem to relate it to the H10. For instance, does the
H10 actually have access to the A/D converter interrupts?

Thaks for any help.

Received on 2007-07-13

Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy