Here’s another post in english, to please the larger audience.

As the title suggests, I’m busying myself with 1-Wire mixed with C# again. I’m not sure if all this is good or bad idea, but it is fun, and that’s enough to keep me going :)

So, what’s this all about then? Well, almost a year ago – to the day actually – I expressed my disappointment in that Maxim/Dallas still hadn’t released their Pure C# 1-Wire library. They still haven’t, and they’re not giving any indication on when they will provide a finished library. The last time they said anything about this was on Nov 29th, 2007:

Brian Hindman:
Hi. We hope to come out with a OneWireLinkLayer dll compiled for .NET 2.0. The plan is to include it in the next revision of the 1-Wire SDK for Windows. Look for it at the end of the year. I’m afraid it won’t have any advanced features than what is available now. We have not ported over any 1-Wire Containers or MemoryBanks yet, as we have been short-staffed for quite some time. We hope to remedy this and get back on track soon.

In the latest release (currently 4.01) of their TMEX drivers they included a OneWireAPI.NET.dll, but it is Java-based, and as such it requires you to install the J# redistributable on all computes where you want to run the application in which you use the dll, and it also requires you to mix Java with C# in your application. Not a solution I’m very fond of.

What can be done about this? Well, you could wait for them to release their Pure C# 1-Wire libary, or you can do like me: write your own implementation in C#! Yes, you read that right – I am writing my own 1-Wire library, in C#. Below are some details (subject to change) about the library:

  • Pure C#
  • Uses the TMEX drivers
  • Likely supports all port adapters, currently DS9490 and DS9097E have been tested.
  • Device support:
    • Support for DS1920/DS18S20 is nearly complete.
    • Support for the LSD 1-Wire slave device by Louis Swart will be implemented
    • Support for any 1-Wire device can be implemented, provided that a specification is available.

Back to coding!