Class OneWireAccessProvider


  • public class OneWireAccessProvider
    extends java.lang.Object
    The OneWireAccessProvider class manages the Maxim adapter class derivatives of DSPortAdapter. An enumeration of all available adapters can be accessed through the member function EnumerateAllAdapters. This enables an application to be adapter independent. There are also facilities to get a system appropriate default adapter/port combination.

    Usage

    Example 1

    Get an instance of the default 1-Wire adapter. The adapter will be ready to use if no exceptions are thrown.
      
      try
      {
         DSPortAdapter adapter = OneWireAccessProvider.getDefaultAdapter();
    
         System.out.println("Adapter: " + adapter.getAdapterName() + " Port: " + adapter.getPortName());
    
         // use the adapter ...
    
      }
      catch(Exception e)
      {
         System.out.println("Default adapter not present: " + e);
      }
     
     

    Example 2

    Enumerate through the available adapters and ports.
      
      DSPortAdapter adapter;
      String        port;
    
      // get the adapters
      for (Enumeration adapter_enum = OneWireAccessProvider.enumerateAllAdapters();
                                      adapter_enum.hasMoreElements(); )
      {
         // cast the enum as a DSPortAdapter
         adapter = ( DSPortAdapter ) adapter_enum.nextElement();
    
         System.out.print("Adapter: " + adapter.getAdapterName() + " with ports: ");
    
         // get the ports
         for (Enumeration port_enum = adapter.getPortNames();
                 port_enum.hasMoreElements(); )
         {
            // cast the enum as a String
            port = ( String ) port_enum.nextElement();
    
            System.out.print(port + " ");
         }
    
         System.out.println();
      }
     
     

    Example 3

    Display the default adapter name and port without getting an instance of the adapter.
      
      System.out.println("Default Adapter: " +
                          OneWireAccessProvider.getProperty("onewire.adapter.default"));
      System.out.println("Default Port: " +
                          OneWireAccessProvider.getProperty("onewire.port.default"));
     
     
    See Also:
    DSPortAdapter
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void clearUseOverridingAdapter()
      Clears the overriding adapter.
      static java.util.Enumeration<DSPortAdapter> enumerateAllAdapters()
      Gets an Enumeration of all 1-Wire adapter types supported.
      static DSPortAdapter getAdapter​(java.lang.String adapterName, java.lang.String portName)
      Finds, opens, and verifies the specified adapter on the indicated port.
      static DSPortAdapter getDefaultAdapter()
      Finds, opens, and verifies the default adapter and port.
      static java.lang.String getProperty​(java.lang.String propName)
      Gets the specified onewire property.
      static java.lang.String getVersion()
      Returns a version string, representing the release number on official releases, or release number and release date on incrememental releases.
      static void main​(java.lang.String[] args)
      Main method returns current version info, and default adapter setting.
      static void setUseOverridingAdapter​(DSPortAdapter adapter)
      Sets an overriding adapter.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • getVersion

        public static java.lang.String getVersion()
        Returns a version string, representing the release number on official releases, or release number and release date on incrememental releases.
        Returns:
        Current OneWireAPI version
      • main

        public static void main​(java.lang.String[] args)
        Main method returns current version info, and default adapter setting.
        Parameters:
        args - cmd-line arguments, ignored for now.
      • enumerateAllAdapters

        public static java.util.Enumeration<DSPortAdapter> enumerateAllAdapters()
        Gets an Enumeration of all 1-Wire adapter types supported. Using this enumeration with the port enumeration for each adapter, a search can be done to find all available hardware adapters.
        Returns:
        Enumeration of DSPortAdapters in the system
      • getAdapter

        public static DSPortAdapter getAdapter​(java.lang.String adapterName,
                                               java.lang.String portName)
                                        throws OneWireIOException,
                                               OneWireException
        Finds, opens, and verifies the specified adapter on the indicated port.
        Parameters:
        adapterName - string name of the adapter (match to result of call to getAdapterName() method in DSPortAdapter)
        portName - string name of the port used in the method selectPort() in DSPortAdapter
        Returns:
        DSPortAdapter if adapter present
        Throws:
        OneWireIOException - when communication with the adapter fails
        OneWireException - when the port or adapter not present
      • getDefaultAdapter

        public static DSPortAdapter getDefaultAdapter()
                                               throws OneWireIOException,
                                                      OneWireException
        Finds, opens, and verifies the default adapter and port. Looks for the default adapter/port in the following locations:

        • Use adapter/port in System.properties for onewire.adapter.default, and onewire.port.default properties tags.
        • Use adapter/port from onewire.properties file in current directory or < java.home >/lib/ (Desktop) or /etc/ (TINI)
        • Use smart default
          • Desktop
            • First, TMEX (1-Wire Drivers) default
            • Second, if TMEX not present, then DS9097U/(first serial port)
          • TINI, TINIExternalAdapter on port serial1
        Returns:
        DSPortAdapter if default adapter present
        Throws:
        OneWireIOException - when communication with the adapter fails
        OneWireException - when the port or adapter not present
      • getProperty

        public static java.lang.String getProperty​(java.lang.String propName)
        Gets the specified onewire property. Looks for the property in the following locations:

        • In System.properties
        • In onewire.properties file in current directory or < java.home >/lib/ (Desktop) or /etc/ (TINI)
        • 'smart' default if property is 'onewire.adapter.default' or 'onewire.port.default'
        Parameters:
        propName - string name of the property to read
        Returns:
        String representing the property value or null if it could not be found (onewire.adapter.default and onewire.port.default may return a 'smart' default even if property not present)