Tuesday 10 May 2011

Windwos Embedded Compact 7

Direct Insight was recently involved in running a Windows Embedded Compact 7 event at the UK Microsoft Campus. From which an article has been written including information and quotes from me and colleagues.

You can find the article here at http://www.mtemag.com/ArticleItem.aspx?Cont_Title=Real-Time+Operating+Systems%3a+Take+seven

Please have a read and let me know what you think.

>> Nigel

Friday 11 February 2011

Visual Studio 2005 deploy error after downloading a managed code application to a Windows CE6 R3 device

Thanks to William White for this:-

After deploying a managed code application to a windows CE6 R3 device you get a deployment error something like:

Deploying ‘C:\will\VBProjects\CEApp\bin\Debug\HelloWorld.exe’
Deploying ‘C:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\windowsce\diagnostics\System_SR_enu.cab’
Post-deploy error 0×00000001 returned after calling ‘\Windows\wceload.exe /noui \Windows\System_SR_enu.cab’.
========== Build: 1

Visual Studio 2005 will attempt to download the .NET CF 2.0 cab file (System_SR_enu.cab) and automatically install if the device does not already contain the run time (however the OS dependencies for the .NET CF 2.0 must be included in the WinCE6 image). It appears that the version of .NET CF 2.0 included with Visual Studio 2005 SP1 is not compatible with the R3 release of Windows CE6. To fix the problem, shutdown all instances of Visual Studio 2005 and simply download and install .NET CF2.0 SP2:

http://www.microsoft.com/downloads/en/details.aspx?familyid=AEA55F2F-07B5-4A8C-8A44-B4E1B196D5C0&displaylang=en

Try again and everything should be fine.

A successful deployment should then look something like:

DeviceApplication1 -> C:\Documents and Settings\XPMUser\My Documents\Visual Studio 2005\Projects\DeviceApplication1\DeviceApplication1\bin\Debug\DeviceApplication1.exe
—— Deploy started: Project: DeviceApplication1, Configuration: Debug Any CPU ——
Deploying ‘C:\Program Files\Microsoft.NET\SDK\CompactFramework\v2.0\windowsce\wce500\armv4i\NETCFV2.wce5.armv4i.cab’
Deploying ‘C:\Documents and Settings\XPMUser\My Documents\Visual Studio 2005\Projects\DeviceApplication1\DeviceApplication1\bin\Debug\DeviceApplication1.exe’
Deploying ‘C:\Program Files\Microsoft.NET\SDK\CompactFramework\v2.0\windowsce\diagnostics\System_SR_enu.cab’
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
========== Deploy: 1 succeeded, 0 failed, 0 skipped ==========

Monday 10 January 2011

Keeping your Smartphone alive for background processing

Want to keep your windows mobile smart phone alive, even if the user is trying to force it off?

This can be achieved by using the unattended mode, the power manager on Windows Mobile has an unattended state that will effectively look like the phone is off but the CPU will be running in the background with the LCD off. This is used for playing music, downloading emails etc. To invoice this

PowerPolicyNotify(PPN_UNATTENDEDMODE, 1);

To release this do

PowerPolicyNotify(PPN_UNATTENDEDMODE, 0);

Whist in this state you may need to poke the device to stay on by calling the above function again. If you want to wake up the device then use another power API:

// Force backlight and power on
SetSystemPowerState(NULL, POWER_STATE_ON, POWER_FORCE);

This will force the system to wake up fully if you want to display information to the user after your background processing.