There is no way to “catch up” after 3 months of delay, so let me just pickup where I left off, tell you what was accomplished, and enumerate the goals for the month of July.
Device Driver Chapter(s)
Contrary to what was reported in March’s status report, the first chapter to be published at LearningCE.com will be dedicated to device driver fundamentals. I will select a few representative device driver models in Windows CE, and walk the reader through the whole development process from conception to delivery. I will not try to reproduce the great work of the Platform Builder documentation by describing required functions for each driver model, but instead focus on the process employed to create stable and efficient device drivers, for any OS, but of course with a focus on CE. This will be the general model employed throughout, where we focus first on the fundamentals, and then proceed to demonstrate how they are applied in CE within the framework of the Core Project (CEBot).
Work has only just begun on this chapter, but I am hoping to release it in the month of July, at least in part.
PCM-37E12 Windows CE Driver
The last few weeks I have been focusing on the completion of the PCM-37E12 driver running on an XScale based Viper board from Arcom. This driver should be complete very soon, at which time I will submit it to EMAC for their inspection. It will provide an implementation of a basic stream-interface driver that exposes the full set of 37E12 I/O capability. A better approach would have been to create separate device drivers for each I/O type (i.e. RS-232) provided by the 37E12, exposing each RS-232 port as a separate COM port, for example. This approach would have required considerably more time to implement, however, and will be deferred to a future release. Sample source will also be provided in the form of a Windows CE test application to demonstrate how to interpret the data stream from the 37E12 and identify the input source.
CEBot Robot Chassis
The CEBot Core Project will most likely be based on an XScale based platform. The leading candidate to date is the Arcom Viper board. I am still learning about this board, but must first impression is that it is well documented (very important!
) and nicely constructed. I will keep you informed as the Core Project development evolves.
Onward!