1-Wire API for Java SDK

The 1-Wire® API for Java™ Software Development Kit (SDK) is a robust, highly object-oriented foundation for building 1-Wire applications in Java. With this SDK, programmers can develop portable, cross-platform software and shorten the time to market for their products.

The API consists of many Java classes and interfaces. Two special classes should be noted: the DSPortAdapter class, and the OneWireContainer class. The DSPortAdapter class represents a physical 1-Wire adapter or a virtual 1-Wire adapter through a TCP/IP network. The OneWireContainer classes (e.g., containers) support specific 1-Wire devices, including iButtons. The API has 34 different container types, representing most 1-Wire devices; each container encapsulates and implements the functionality of an individual device. To download the latest 1-Wire API for Java SDK, please see the following link:

Download Version 1.2 (Supports DS1925)

Download Addendum (Now supports 64-bit JNI!)

What's New in Version 1.2
The following list highlights the most significant additions to the 1-Wire API for Java:

OneWireAPI (New Classes)

  • OneWireContainer53 - DS1925 container, very similar to OneWireContainer41 for the DS1922/23.
  • MemoryBankScratchFLASHCRCPW.java – Scratchpad memory bank for DS1925.
  • MemoryBankFLASHCRCPW.java – Memory bank class for DS1925.

OneWireViewer (New Viewer)

  • MissionDS1925Viewer.java – DS1925 mission viewer, very similar to the mission viewer for the DS1922/23.

OneWireContainer53 (DS1925 Container) Highlights

  • New method checkMissionBackup to check to see if the battery failed and to view the backup version of the mission parameters. Call this before downloading a mission.
  • New method clearMemory with parameter to clear user memory or log.
  • clearMemory(log) must be called on a new device to setup before calling other methods. This method will stop the clock and clear some mission parameters so always set mission parameters after this method.
  • Container implements
  • Reading the temperature through the TemperatureContainer interface (method doTemperatureConvert) now no longer impacts the battery since it uses XPC Forced Conversion.
  • Reading the A/D through the ADContainer interface reads the battery voltages with the new command XPC Read Battery Voltage. This is only available if there is no mission running.
  • Memory banks can be read even if the battery has expired so the last mission can always be read.
  • Updated method loadMissionResults to read a log in battery failed condition if chechMissionBackup method was first called and a battery fault was detected.
  • New method loadMissionResultsPartial to read just part of the mission log. This is called multiple times to complete the download (see code example below). This has the advantage of breaking up a long download. A full 3920 page log can take as long as 1minute to download