A couple of months I got to go over to Seattle to the MVP Summit and surprising amongst the many meals out and occasional port's sniffed, I did actually check out some cool stuff. One of the most notable (for professional and general interest reasons) was the .NET Micro Framework.
Anyhoo, a slot came up in my schedule for some R&D work and we purchased the 'Tahoe Development Platform' from EmbeddedFusion.com for $299.99 - an absolute snip and at the time of writing the only one that actually for sale and by far the cheapest compared to other non-released platforms.
Installing the SDK (both MS's and Embedded Fusion) was fun with both installers crashing out, the EmbeddedFusion/Tahoe samples not working correctly and to be fair, some schoolboy C# mistakes (I'm still a 95% VB'er unfortunately) Anyhoo, here's a couple of gotcha's that might help you out if you're starting along this track...
- Because I had installed VS2005 Service Pack 1, a lot of features mentioned are not available, namely debugging directly on the device and automatically deploying to the device. I have to manually switch the 'Transport' and 'Device' element, Deploy the application, reset the application on the Tahoe hardware. Not exactly seamless.
- When adding image resources to your assembly, the IDE will automatically add the 'System.Drawing' namespace to your application. Unfortunately, when you come to run your .NET Micro application it will crap out with the message "Error: Assembly file "does not exist! Load failed". So if you add an image resource to your .NET Micro assembly you need to remove this. More details on this...
- The SDK help is woefully inadequate compared with the .NET help. My favourite is the 'RotateBlt' function of the Bitmap class - the routine is now obsolete and not supported (and to be fair, doesn't seem to work) but doesn't provide any WPF alternatives, it mentions some namespaces that lead to dead ends...
- There are no tutorials or blogs about messing with the .NET Micro Framework so those cries for help can echo somewhat ;-)
- Coming from an web and windows background I kinda knew that the interaction with the application / screen / objects would be slightly different and its taking some time to adapt - especially, once you get past the 'Hello World' stage.
However, I'm pretty buoyant about what we can do with this - my concern is that its one thing developing on a dev platform like the Tahoe. It’s another thing procuring specific hardware to perform a specific tasks and then doing the easy bit of writing the code. I guess it would be nice if there was a website where you could dynamically build your hardware that could then be coded for...
Might be back with experiments...