Bruce
Tue May 13 08:33:17 PDT 2008
You recall correctly. Of course what you missed was that it didn't work
very well. This is becuase that event fires before the data is saved. We
did jump through some hoops to get that thread to deal with it better
though, before getting rid of the calibrui clone and just setting the event
just before returning the last data from the touch driver.
--
Bruce Eitman (eMVP)
Senior Engineer
Bruce.Eitman AT EuroTech DOT com
EuroTech Inc.
www.EuroTech.com
"Chris Tacke, eMVP" <ctacke.at.opennetcf.dot.com> wrote in message
news:%23u27mvQtIHA.4716@TK2MSFTNGP06.phx.gbl...
> Yes, IIRC we cloned calibrui and modified it to set an event when it had a
> successful calibration, and elsewhere in the system was a thread waiting
> on that event (can't recall where it lived) which in turn flushed the
> registry to persist the new settings.
>
>
> --
>
> Chris Tacke, Embedded MVP
> OpenNETCF Consulting
> Giving back to the embedded community
>
http://community.OpenNETCF.com
>
>
> "Bruce Eitman [eMVP]" <bruce.eitman.nospam@EuroTech.com.nospam> wrote in
> message news:uQi3yVPtIHA.1768@TK2MSFTNGP03.phx.gbl...
>> IIRC calibrui isn't all that useful for saving the data either. The
>> exposed code all runs prior to saving the data to the registry.
>>
>> --
>> Bruce Eitman (eMVP)
>> Senior Engineer
>> Bruce.Eitman AT EuroTech DOT com
>>
>> EuroTech Inc.
>> www.EuroTech.com
>>
>> "Michel Verhagen (eMVP)" <michel@nospam.box> wrote in message
>> news:enqTtwMtIHA.1240@TK2MSFTNGP02.phx.gbl...
>>> Ah, if you want to do that cloning Calibrui is not going to help you
>>> because the calibration data is loaded far before the CalibrUI is loaded
>>> (IIRC). I solved this problem some time ago and a quick peek through my
>>> sources shows that I created a thread in my touch PDD that waits for a
>>> named event (name defined in registry
>>> HKLM\HARDWARE\DEVICEMAP\TOUCH:"SettingsEvent"). At boot I start a
>>> program (from the HKML\Init key) that loads a file with calib data from
>>> the CF. It then writes those values to the registry and set's the event.
>>> The touch driver than reloads the new values from the registry. If
>>> there's no file with calib data on the CF, it invokes the calibrui by
>>> calling TouchCalibrate();
>>>
>>>
>>> Good luck,
>>>
>>> Michel Verhagen, eMVP
>>> Check out my blog:
http://GuruCE.com/blog
>>>
>>> GuruCE Ltd.
>>> Microsoft Embedded Partner
>>>
http://GuruCE.com
>>> Consultancy, training and development services.
>>>
>>> jigger@hermanhouse.com wrote:
>>>>> (why are you doing this, by the way? What's wrong with the default
>>>>> calibration stuff?).
>>>>
>>>> Thanks for the response - and darn good question. Long story, but: I'm
>>>> playing around with a Compulab CM-X255 (PXA255 based COM). I am using
>>>> a hive based registry stored on the Compulab Hynix NAND flash drive.
>>>> After only about 100,000 registry writes the NAND flash is getting
>>>> corrupted and so the registry gets trashed. The Compulab flash driver
>>>> is supposed to have an anti-wear feature, so that the 100,000 writes
>>>> in theory should be a drop in the bucket: there is 128M of NAND and
>>>> the registry is tiny by comparison.
>>>>
>>>> So, I'm trying a switch to RAM based registry and want a way to
>>>> "manually" load the touch screen calibration once windows has booted
>>>> and our application level program is running. I'll store the correct
>>>> calibration in a file on the NAND, but that should only get written to
>>>> once during initial calibration: the rest of the time it will just
>>>> read the NAND adn hopefully avoid the problem.
>>>>
>>>> The hook into CalibrUi is to copy the new calibration values from the
>>>> registry to NAND during setup.
>>>>
>>>> Thanks again - let me know if you have any good ideas.
>>
>>
>
>