Project - Bird -TouchDataLogger

Bird -TouchDataLogger

This project demonstrates data logging with a touch screen interface. It uses an RS-232 GPS unit and a USB flash drive on a GHI Electronics ChipworkX development board.

Jan Axelson


While waiting for my ChipworkX dev board, I thought I’d browse around for samples and try out the C# environment, as it is completely new to me (I do however have in-depth knowledge of C/C++ and Java).

So… I came by your sample and wanted to see how it works, but I’m stuck and a bit lost. I have what may seem to be a couple of silly questions, but this whole thing is new to me. Can I ask for a little guidance and help ? Couldn’t find a way to send a private message; my email is stefanu123-at-gmail-dot-com.

Thanks in advance.

You can ask any questions here. We will try to help.

Ok, Thanks.

Downloaded the express C# environment with everything that is needed according to the Getting Started guide, and ran the very basic hello-world-style code. So far, so good. Now I wanted to see something more complex, especially something using a touch screen. So I downloaded the touch data logger sample.

Here goes silly question #1 : I’m stuck at finding and choosing the assemblies. The following imports show errors, and I’m unable to find the right assemblies :

using ChipworkX.System;
using ChipworkX.System.IO;
using ChipworkX.System.SystemDevices;

And this brings me to silly question #2. Looking around the newly installed files, I have noticed that in the folder “\Program Files (x86)\GHI Electronics\GHI NETMF v4.1 SDK\Assemblies” there are two subfolders named “be” and “le” (and the pattern is the same in a couple of other folders) which contain what seems to be the same files, as far as filenames go. So I was wondering what’s the difference, because I assume there is one.

To end this post, one suggestion. For the getting started guide, at some point, it says one should open the output window. For me it was easier said than done. Being used to the Visual Studio Professional environments I found this very frustrating and I thought it may help others :

  • the keyboard shortcuts aren’t the same (I currently use Visual Studio 2008/C++ for work)
  • there is a Tools|Settings menu where you can switch between Basic Settings and Expert settings. To get the Output Window you have to switch to Expert settings, the basic settings being the default; took a while to figure this out … there is no output window in the “basic” layout.

Thanks again.
Best regards.

One other detail : I was also unable to find a reference to “SystemManager” (which is the class name that popups an error due to the missing imports) in the documentation at

Also, the library reference would benefit from a search box, even a most basic one.

Unfortunately, the ChipworkX device is going to remain running the older (but very stable) 4.1 framework, so I was thinking that you might have missed installing the 4.1 SDK but I can see you’re talking about the correct path, so that can’t be it…

This project in particular seems like it was converted from an earlier VS2008 solution, so it is most likely from an old framework version (I say that because of the upgradelog.xml file being present). So it’s likely that the USING statements are no longer correct in your version of the SDK. The way I would approach this (and it’s how I hope you did) is to create a new project in VS2010, selecting the ChipworkX app as the template. That will put the core references you need to get ChipworkX enumerations happening etc. Then, I’d bring over the code in pieces and resolve references etc as you go.

The only SystemMagaer I can see referred to is in this post where it’s a class someone has created.

BE and LE are Big-Endian and Little-Endian, and are for different chip types.

You can just use a targeted search like which will help - the library references are created using a tool, so don’t expect a change anytime soon.

Many thanks for the tips. I’ll look into it, and get back with details and hopefully results.


@ Brett -
Unfortunately it’s not the SystemManager you found. I found this in the 2009 Embedded Master User Manual :

[quote]Embedded Master library has a built in event system to handle connection/disconnection
of devices. When a device is connected, an event is raised to the user and another event
for disconnection when the device is removed.

This event system is useful to dynamically check for the available devices. However, it is
not a requirement. The user can, at any time, retrieve a list of the available devices and
use some or all of them.

For an event driven system, the user registers to
GHIElectronics.System.SystemManager.SystemEvent event.

To use USB Host you must start it first using (need to be called once):

After initialization, a list of current devices can be retrieved through
.GetDevices [/quote]

Looks to me that it’s this class, but for some reason, it’s no longer in the libraries; see also this thread :

it’s been replaced with other USB control measures.

That’s the other reason not to worry about such an old example app. Just move on :slight_smile:

Actually I’m trying to see how to handle the touch screen on the devboard. Then, it’s on to the xbee module. I’m still waiting for the modules to be delivered.

Meanwhile, here’s another error that I now get, once the SystemManager references and related code have been removed.

[quote]Could not copy the file “C:\Program Files (x86)\GHI Electronics\GHI NETMF v4.1 SDK\Assemblies\” because it was not found.

Ok… be and le stand for the byte order. But what is the compiler looking for now ?

Guess I’ll have to be patient a couple of days more and wait for the devboard, but if you know any example of touchscreen usage, I’d be more than glad to take a look.

Thanks !

I’d look at the netmf samples - something like C:\Users<you>\Documents\Microsoft .NET Micro Framework 4.2\Samples

Thanks. Will do.

Just as a side note… who would have thought M$ would put the samples in the documents folder… but a couple of days ago I found that Office documents icons reside in the uninstaller folders, so I shouldn’t be surprised anymore, right ? :wink:

Thanks again to all for your previous replies.

Got the board today, and started to play a little with it, using samples from the .Net package and the tutorials here :

Looks very promising and a lot of fun ahead :slight_smile: