Welcome to the 1-Wire SDK for Windows Help

Version 4.00 Beta 2 


The 1-Wire Software Development Kit (SDK) for Windows is divided into 3 sections, each representing a unique Applications Programmer Interface (API). The first focuses on the 1-Wire .NET J# libraries and is called OW.NET API. The second section focuses on a second API (pretty much a subset of OW.NET API) called Compact.NET API.  This is a limited port of OW.NET to C# and is focused on Windows CE/Mobile/Pocket PC using the Compact .NET framework.  For now Maxim only provides the equivalent of the DSPortAdapter object in the Compact.NET API.  However, an open-source effort is taking place to provide more pure C# classes (such as OneWireContainers, MemoryBanks, etc).  It is available from http://sourceforge.net/projects/owdotnet/.  The third API is the TMEX API. This is a basic low-level, natively-compiled API that performs 1-Wire communication and file structure primitives (as opposed to the .NET APIs that are high-level and object oriented).  Both the OW.NET API and the TMEX API need the 1-Wire Drivers package installed before the example programs will run. Compact.NET programs can run without the 1-Wire Drivers as it can make calls to C#'s serial port library. 

So, if using TMEX or OW.NET, please install the latest 1-Wire Drivers installation package from http://www.maxim-ic.com/1-wiredrivers (Version 4.02 beta or higher) before using this kit.  The 1-Wire Drivers setup program will install the 1-Wire low-level device drivers that are used by both APIs to communicate through any supported 1-Wire port adapter (serial, parallel, or USB).  The setup program also installs all necessary code libraries for the TMEX API. This includes all appropriate TMEX API dlls and a JNI (Java Native Interface) dll that provides a Java interface to the TMEX API. In addition, the 1-Wire Drivers setup program installs the OneWireViewer software application. The OneWireViewer can demonstrate and exercise the features available on virtually any 1-Wire/iButton device.

The 1-Wire SDK for Windows supports the Microsoft Windows operating systems supported by a specific version of the 1-Wire Drivers.  Version 4.02 beta or higher directly supports Windows Vista®, XP (service pack 2 and higher), and 2008, both 32-bit and 64-bit versions. Below are useful starting points in navigating the provided html help files.

OW.NET API

OW.NET Primer,
OW.NET API.

Compact.NET API

Compact.NET API.

TMEX API

TMEX API Introduction,
TMEX API Overview,
TMEX API Alphabetized Function List


Which API Should You Use?

The application developer is free to choose one of the three APIs presented above.  However, there are a few deciding factors that can influence the choice.  Here are a few of them:

1)  Rapid Application Development.  The OW.NET API has advantages in this area.  This is an object-oriented, high-level API.  It has method calls such as readDevice(), getTemperature() and doADConvert() that can take the place of several TMEX API function calls.  The TMEX API functions are lower level and deal with sending and receiving bytes to and from 1-Wire devices.  The programmer must write his own subroutines to actually "get" the temperature or do an A-to-D conversion for a particular 1-Wire device.

2)  API dependencies.  The TMEX API has fewer dependencies, so the application programmer has less to re-distribute with his 1-Wire application.  The OW.NET API is dependent upon the installation of Microsoft's .NET framework version 2.0, and the J# redistributable version 2.0 Second Edition.  For more information on dependencies and software redistribution with the 1-Wire Drivers, please see White Paper 6 "1-Wire Drivers Installation Guide for Windows".  It can be found in the list of Application Notes and White Papers here:  http://www.maxim-ic.com/appnotes10.cfm/ac_pk/1.

3)  Supported Features.  Although both APIs support the same 1-Wire adapters and 1-Wire features, OW.NET has more built-in functionality.  Since OW.NET was designed to be a high-level API (a J# compiled version of our 1-Wire API for Java), it supports more features than the TMEX API such as OneWireContainer objects and MemoryBanks.

4)  Windows CE/Mobile/Pocket PC Development.  The Compact.NET API is perfect for this.  Although it only provides DSPortAdapter functionality for now, it can be used to develop 1-Wire applications communicating through the serial port of the development machine without any 1-Wire Drivers installation.


1-Wire SDK Contents

For list of the contents of this SDK, please see:
OW.NET SDK Contents, Compact.NET SDK Contents, TMEX API SDK Contents


For more information
- iButton information:
http://www.iButton.com
- Maxim Integrated Products information:
http://www.maxim-ic.com
- Technical Support Request Submission:
http://support.maxim-ic.com/1-wire
or,
join the 1-Wire-Software-Developers discussion forum:
http://discuss.dalsemi.com


*Windows Vista is a registered trademark of Microsoft Corp.