[ltp] IBM HDAPS Someone interested? (Accelerometer)

Alejandro Bonilla linux-thinkpad@linux-thinkpad.org
Sat, 25 Jun 2005 13:13:17 -0500


Pavel Machek wrote:

>Hi!
>
>
>  
>
>>>Yup, it's just doing port IO.  Get a kernel debugger for windows like
>>>softice and this will be trivial to RE.
>>>READ_PORT_USHORT / WRITE_PORT_UCHAR / READ_PORT_UCHAR
>>>      
>>>
>>There are 3 ports involved.  The 0xed "non-existant delay port" and a pair
>>of ports that are through the Super-I/O / IDE.  They are used in a
>>index+value setup similar to reading/writing the AT keyboard
>>    
>>
>>>controller.
>>>      
>>>
>
>I think you got it... 2ports seem like enough for some kind of small
>u-controller...
>
>  
>
>>>From what I remember, my conclusion was that these instructions were the
>>ones to park the heads and then lock the IDE bus.  It's a couple of months
>>ago, but somewhere I have the simplified version of what it was doing...
>>    
>>
>
>Don't think so... parking heads will go through IDE layer...
>								Pavel
>
>  
>
I have a question here, how do you guys think that the head is parked, 
is it done by the controller directly, which then sends the command to 
the HD to park the head, or this is done by the operating system in some 
kind of way?

I think the OS or user space is too slow like to react to send a park 
command to the hard drive, so this most be done directly by the embedded 
controller, but still I think it needs some input from the OS, to 
initialize it's settings. i.e. after all, in windows you do have the 
settings in the software for HDAPS, but it looks like it is _not_ 
managed by the operating system at all if there is some type of action 
to  be taken. This is also probably why HDAPS won't kick in until 
booted, and that is because it needs to load its config setup by the 
software.

This is what I think, please correct me if I'm saying something crazy.


OS booted, sends settings to the controller, if settings changed, the OS 
will send the settings again to the controller. -> once the controller 
has the configuration from the user, which is in Windows, loaded by 
default, then the controller reacts depending on it's output from the 
accelerometer, sending inmediate commands or parking the head of the HD.

Then also, the OS is either notified about the movement, or actually it 
starts reading from the controller, for example, when doing the 3D view.

The 3D view software takes some time loading, if it would be normally 
monitoring, then It wouldn't take the 4 seconds it takes. I think the OS 
only reads to give the user a clue of their nice feature, but is all 
really done with the controller-> HD.

After all, IBM testing says that HDAPS worked perfectly from a 70cm fall.

.Alejandro