Rockbox.org home
Downloads
Release release
Dev builds dev builds
Extras extras
themes themes
Documentation
Manual manual
Wiki wiki
Device Status device status
Support
Forums forums
Mailing lists mailing lists
IRC IRC
Development
Bugs bugs
Patches patches
Dev Guide dev guide
Search



Donate

Rockbox Technical Forums


Login with username, password and session length
Home Help Search Staff List Login Register
News:

Thank You for your continued support and contributions!

+  Rockbox Technical Forums
|-+  Third Party
| |-+  Repairing and Upgrading Rockbox Capable Players
| | |-+  Analysing Vibe 500 controls
« previous next »
  • Print
Pages: [1]

Author Topic: Analysing Vibe 500 controls  (Read 3254 times)

Offline Kernle 32DLL

  • Member
  • *
  • Posts: 15
  • Vibe 500 User
Analysing Vibe 500 controls
« on: February 28, 2011, 05:26:14 PM »
Hi there,

Since I kind of nuked my old Vibe 500 (display only shows junk, which can be avoided by starting the player via reset button.. strange huh?), I thought of trying some neat things with my now spare Vibe 500.

Ideas wildly spread from connecting a bigger display, creating a casing for a 2,5" harddrive, etc.... but that's all happy thinking for now. Right now I'm stuck at a very much more basic issue. Analysing how the controls work.

See this picture as a reference for all coming explanations (if you don't happen to own a vibe 500, but still want to help):



As you can see, the front is made up of 4 light-sensitive buttons (7, 8, 11, 13), 2 pushable buttons (10, 14), and a light-sensitive scrollbar (12). How the 2 pushable buttons work is fairly easy to understand, but i have trouble to understand how the scrollbar and the 4 light sensitive buttons work.

So, any thoughts on how to get the Info I need? I think measuring outgoing signals would be the best idea, but neither have I any idea how to do so, nor do I have any practical idea to do any measuring involving those damn ribbon cables.

Just by doing some guess work, I would say the cable binding consists of one cable for power supply, and the 5 other cables to control the button / bar input. Not sure how the scrollbar up/down movement would be send then tough.... The buttons could use simple binding to mass or voltage (binary 0 or 1 respectively), but the bar... Gnah, my mind refuses to work this out :/

Like I said, any help is appreciated :)

So long,
Kernle
« Last Edit: February 28, 2011, 05:53:40 PM by Kernle 32DLL »
Logged

Offline b0hoon

  • Developer
  • Member
  • *
  • Posts: 71
Re: Analysing Vibe 500 controls
« Reply #1 on: March 02, 2011, 03:32:58 PM »
No. It's not that easy as you think :)

The touchpad in the vibe is an autonomic module which sends logical packets through the 3-wire bus (DATA, CLK, ACK) to the SoC (PP5020). Actually the protocol is the same as in... the PS2 keyboards :), but Synaptics calls it "Synaptics Modular Embedded Protocol: 3-Wire Interface". You can find almost everything about it on their site: http://www.synaptics.com/developers/archive. "MEP 3-Wire Interface Specification" and the "MEP ScrollStrip Modules" datasheets will be the most useful in this case.

I don't know how exactly the touchpad is connected to the mainboard, i only know where you can get the bus signals from the Soc side. In Rockbox the synaptics-mep.c is responsible for the readouts of the packets from the synaptics modules (in trunk/firmware/drivers).

When you touch the button, CLK line goes low, Soc generates an interrupt, button driver for the vibe (trunk/firmware/target/arm/pbell/vibe500/button-vibe500.c) handle it. It reads the packet through the  touchpad_read_device function from synaptics-mep.c, interprets the meaning of the packet and assigns the proper key to it and put it into the queue of Rockbox system. This is how it works basically.
Logged

Offline Kernle 32DLL

  • Member
  • *
  • Posts: 15
  • Vibe 500 User
Re: Analysing Vibe 500 controls
« Reply #2 on: March 02, 2011, 05:36:15 PM »
Okay, this is honestly a lot more difficult then I expected. Right now I see two ways to go on...

The first one, and properly easiest, is to force disassemble  the control thingy, and find out how the scrollbar and the buttons are connected to the synoptics chip. I'm not sure how to do this, but the chip MUST have some way to be fed with simple, analog signales (what else do you expected from two buttons and a scrollbar?). The alternative is to get a chip smilier to the Synaptics one, and fit it with some custom programming. Heck, I knew that assembler coding in school was going to be good for something ;-)

Anyway, I think I'll try to stick with analysing the chip more, and find a way to feed the actual chip, instead of generating own signals for the vibe's mainboard. However, as soon as I find time I'll take a peek in the code, too. But honestly, I have no idea how to get the v

Hmmmm, do you have any idea how to disassemble that control thingy any further?

So long,
Kernle
Logged

  • Print
Pages: [1]
« previous next »
+  Rockbox Technical Forums
|-+  Third Party
| |-+  Repairing and Upgrading Rockbox Capable Players
| | |-+  Analysing Vibe 500 controls
 

  • SMF 2.0.17 | SMF © 2019, Simple Machines
  • Rockbox Privacy Policy
  • XHTML
  • RSS
  • WAP2

Page created in 0.063 seconds with 15 queries.