: Class DSPortAdapter

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.dalsemi.onewire.adapter
Class DSPortAdapter

    java.lang.Object
      |
      +--com.dalsemi.onewire.adapter.DSPortAdapter

Direct Known Subclasses:
  com.dalsemi.onewire.adapter.TINIAdapter

public abstract class DSPortAdapter
extends Object

The abstract base class for all 1-Wire port adapter objects. An implementation class of this type is therefore independent of the adapter type. Instances of valid DSPortAdapter's are retrieved from methods in `OneWireAccessProvider`.

The DSPortAdapter methods can be organized into the following categories:

- Information
  - `getAdapterName`
  - `getPortTypeDescription`
  - `getClassVersion`
  - `adapterDetected`
  - `getAdapterVersion`
  - `getAdapterAddress`
- Port Selection
  - `getPortNames`
  - `selectPort`
  - `getPortName`
  - `freePort`
- Adapter Capabilities
  - `canOverdrive`
  - `canHyperdrive`
  - `canFlex`
  - `canProgram`
  - `canDeliverPower`
  - `canDeliverSmartPower`
  - `canBreak`
- 1-Wire Network Semaphore
  - `beginExclusive`
  - `endExclusive`
- 1-Wire Device Discovery
  - Selective Search Options
    - `targetAllFamilies`
    - `targetFamily(int)`
    - `targetFamily(byte[])`
    - `excludeFamily(int)`
    - `excludeFamily(byte[])`
    - `setSearchOnlyAlarmingDevices`
    - `setNoResetSearch`
    - `setSearchAllDevices`
  - Search With Automatic 1-Wire Container creation
    - `getAllDeviceContainers`
    - `getFirstDeviceContainer`
    - `getNextDeviceContainer`
  - Search With NO 1-Wire Container creation
    - `findFirstDevice`
    - `findNextDevice`
    - `getAddress(byte[])`
    - `getAddressAsLong`
    - `getAddressAsString`
  - Manual 1-Wire Container creation
    - `getDeviceContainer(byte[])`
    - `getDeviceContainer(long)`
    - `getDeviceContainer(String)`
    - `getDeviceContainer()`
- 1-Wire Network low level access (usually not called directly)
  - Device Selection and Presence Detect
    - `isPresent(byte[])`
    - `isPresent(long)`
    - `isPresent(String)`
    - `isAlarming(byte[])`
    - `isAlarming(long)`
    - `isAlarming(String)`
    - `select(byte[])`
    - `select(long)`
    - `select(String)`
  - Raw 1-Wire IO
    - `reset`
    - `putBit`
    - `getBit`
    - `putByte`
    - `getByte`
    - `getBlock(int)`
    - `getBlock(byte[], int)`
    - `getBlock(byte[], int, int)`
    - `dataBlock(byte[], int, int)`
  - 1-Wire Speed and Power Selection
    - `setPowerDuration`
    - `startPowerDelivery`
    - `setProgramPulseDuration`
    - `startProgramPulse`
    - `startBreak`
    - `setPowerNormal`
    - `setSpeed`
    - `getSpeed`
- Advanced
  - `registerOneWireContainerClass`

See Also:
  `OneWireAccessProvider`, `OneWireContainer`

Field Summary
`static int` | `CONDITION_AFTER_BIT` Condition for power state change, after next bit communication
`static int` | `CONDITION_AFTER_BYTE` Condition for power state change, after next byte communication
`static int` | `CONDITION_NOW` Condition for power state change, immediate
`static int` | `DELIVERY_CURRENT_DETECT` Duration used in delivering power to the 1-Wire, current detect
`static int` | `DELIVERY_EPROM` Duration used in delivering power to the 1-Wire, 480 us
`static int` | `DELIVERY_FOUR_SECONDS` Duration used in delivering power to the 1-Wire, 4 second
`static int` | `DELIVERY_HALF_SECOND` Duration used in delivering power to the 1-Wire, 1/2 second
`static int` | `DELIVERY_INFINITE` Duration used in delivering power to the 1-Wire, infinite
`static int` | `DELIVERY_ONE_SECOND` Duration used in delivering power to the 1-Wire, 1 second
`static int` | `DELIVERY_SMART_DONE` Duration used in delivering power to the 1-Wire, smart complete
`static int` | `DELIVERY_TWO_SECONDS` Duration used in delivering power to the 1-Wire, 2 seconds
`static char` | `LEVEL_BREAK` 1-Wire Network level, (strong pulldown to 0Volts, reset 1-Wire)
`static char` | `LEVEL_NORMAL` 1-Wire Network level, normal (weak 5Volt pullup)
`static char` | `LEVEL_POWER_DELIVERY` 1-Wire Network level, (strong 5Volt pullup, used for power delivery)
`static char` | `LEVEL_PROGRAM` 1-Wire Network level, (strong 12Volt pullup, used to program eprom )
`static int` | `RESET_ALARM` 1-Wire Network reset result = alarm
`static int` | `RESET_NOPRESENCE` 1-Wire Network reset result = no presence
`static int` | `RESET_PRESENCE` 1-Wire Network reset result = presence
`static int` | `RESET_SHORT` 1-Wire Network reset result = shorted
`static int` | `SPEED_FLEX` Speed modes for 1-Wire Network, flexible for long lines
`static int` | `SPEED_HYPERDRIVE` Speed modes for 1-Wire Network, hyperdrive
`static int` | `SPEED_OVERDRIVE` Speed modes for 1-Wire Network, overdrive
`static int` | `SPEED_REGULAR` Speed modes for 1-Wire Network, regular

Constructor Summary
`DSPortAdapter()`

Method Summary
`abstract boolean` | `adapterDetected()` Detects adapter presence on the selected port.
`abstract boolean` | `beginExclusive(boolean blocking)` Gets exclusive use of the 1-Wire to communicate with an iButton or 1-Wire Device.
`boolean` | `canBreak()` Returns whether adapter can physically support 0 volt 'break' mode.
`boolean` | `canDeliverPower()` Returns whether the adapter can physically support strong 5 volt power mode.
`boolean` | `canDeliverSmartPower()` Returns whether the adapter can physically support "smart" strong 5 volt power mode.
`boolean` | `canFlex()` Returns whether the adapter can physically support flex speed mode.
`boolean` | `canHyperdrive()` Returns whether the adapter can physically support hyperdrive mode.
`boolean` | `canOverdrive()` Returns whether adapter can physically support overdrive mode.
`boolean` | `canProgram()` Returns whether adapter can physically support 12 volt power mode.
`abstract void` | `dataBlock(byte[] dataBlock, int off, int len)` Sends a block of data and returns the data received in the same array.
`abstract void` | `endExclusive()` Relinquishes exclusive control of the 1-Wire Network.
`void` | `excludeFamily(byte[] family)` Takes an array of bytes containing family codes to avoid when finding iButtons or 1-Wire devices.
`void` | `excludeFamily(int family)` Takes an integer family code to avoid when searching for iButtons.
`abstract boolean` | `findFirstDevice()` Returns `true` if the first iButton or 1-Wire device is found on the 1-Wire Network.
`abstract boolean` | `findNextDevice()` Returns `true` if the next iButton or 1-Wire device is found.
`abstract void` | `freePort()` Frees ownership of the selected port, if it is currently owned, back to the system.
`String` | `getAdapterAddress()` Retrieves the address of the adapter, if it has one.
`abstract String` | `getAdapterName()` Retrieves the name of the port adapter as a string.
`String` | `getAdapterVersion()` Retrieves the version of the adapter.
`abstract void` | `getAddress(byte[] address)` Copies the 'current' 1-Wire device address being used by the adapter into the array.
`long` | `getAddressAsLong()` Gets the 'current' 1-Wire device address being used by the adapter as a long.
`String` | `getAddressAsString()` Gets the 'current' 1-Wire device address being used by the adapter as a String.
`Enumeration` | `getAllDeviceContainers()` Returns an enumeration of `OneWireContainer` objects corresponding to all of the iButtons or 1-Wire devices found on the 1-Wire Network.
`abstract boolean` | `getBit()` Gets a bit from the 1-Wire Network.
`abstract void` | `getBlock(byte[] arr, int len)` Gets a block of data from the 1-Wire Network and write it into the provided array.
`abstract void` | `getBlock(byte[] arr, int off, int len)` Gets a block of data from the 1-Wire Network and write it into the provided array.
`abstract byte[]` | `getBlock(int len)` Gets a block of data from the 1-Wire Network.
`abstract int` | `getByte()` Gets a byte from the 1-Wire Network.
`abstract String` | `getClassVersion()` Retrieves a version string for this class.
`OneWireContainer` | `getDeviceContainer()` Constructs a `OneWireContainer` object using the current 1-Wire network address.
`OneWireContainer` | `getDeviceContainer(byte[] address)` Constructs a `OneWireContainer` object with a user supplied 1-Wire network address.
`OneWireContainer` | `getDeviceContainer(long address)` Constructs a `OneWireContainer` object with a user supplied 1-Wire network address.
`OneWireContainer` | `getDeviceContainer(String address)` Constructs a `OneWireContainer` object with a user supplied 1-Wire network address.
`OneWireContainer` | `getFirstDeviceContainer()` Returns a `OneWireContainer` object corresponding to the first iButton or 1-Wire device found on the 1-Wire Network.
`OneWireContainer` | `getNextDeviceContainer()` Returns a `OneWireContainer` object corresponding to the next iButton or 1-Wire device found.
`abstract String` | `getPortName()` Retrieves the name of the selected port as a `String`.
`abstract Enumeration` | `getPortNames()` Retrieves a list of the platform appropriate port names for this adapter.
`abstract String` | `getPortTypeDescription()` Retrieves a description of the port required by this port adapter.
`int` | `getSpeed()` Returns the current data transfer speed on the 1-Wire Network.
`boolean` | `isAlarming(byte[] address)` Verifies that the iButton or 1-Wire device specified is present on the 1-Wire Network and in an alarm state.
`boolean` | `isAlarming(long address)` Verifies that the iButton or 1-Wire device specified is present on the 1-Wire Network and in an alarm state.
`boolean` | `isAlarming(String address)` Verifies that the iButton or 1-Wire device specified is present on the 1-Wire Network and in an alarm state.
`boolean` | `isPresent(byte[] address)` Verifies that the iButton or 1-Wire device specified is present on the 1-Wire Network.
`boolean` | `isPresent(long address)` Verifies that the iButton or 1-Wire device specified is present on the 1-Wire Network.
`boolean` | `isPresent(String address)` Verifies that the iButton or 1-Wire device specified is present on the 1-Wire Network.
`protected boolean` | `isValidFamily(byte[] address)` Checks to see if the family found is in the desired include group.
`abstract void` | `putBit(boolean bitValue)` Sends a bit to the 1-Wire Network.
`abstract void` | `putByte(int byteValue)` Sends a byte to the 1-Wire Network.
`void` | `registerOneWireContainerClass(int family, Class OneWireContainerClass)` Registers a user provided `OneWireContainer` class.
`abstract int` | `reset()` Sends a Reset to the 1-Wire Network.
`boolean` | `select(byte[] address)` Selects the specified iButton or 1-Wire device by broadcasting its address.
`boolean` | `select(long address)` Selects the specified iButton or 1-Wire device by broadcasting its address.
`boolean` | `select(String address)` Selects the specified iButton or 1-Wire device by broadcasting its address.
`abstract boolean` | `selectPort(String portName)` Specifies a platform appropriate port name for this adapter.
`abstract void` | `setNoResetSearch()` Sets the 1-Wire Network search to not perform a 1-Wire reset before a search.
`void` | `setPowerDuration(int timeFactor)` Sets the duration to supply power to the 1-Wire Network.
`void` | `setPowerNormal()` Sets the 1-Wire Network voltage to normal level.
`void` | `setProgramPulseDuration(int timeFactor)` Sets the duration for providing a program pulse on the 1-Wire Network.
`abstract void` | `setSearchAllDevices()` Sets the 1-Wire Network search to find all iButtons and 1-Wire devices whether they are in an 'Alarm' state or not and restores the default setting of providing a 1-Wire reset command before each search.
`abstract void` | `setSearchOnlyAlarmingDevices()` Sets the 1-Wire Network search to find only iButtons and 1-Wire devices that are in an 'Alarm' state that signals a need for attention.
`void` | `setSpeed(int speed)` Sets the new speed of data transfer on the 1-Wire Network.
`void` | `startBreak()` Sets the 1-Wire Network voltage to 0 volts.
`boolean` | `startPowerDelivery(int changeCondition)` Sets the 1-Wire Network voltage to supply power to a 1-Wire device.
`boolean` | `startProgramPulse(int changeCondition)` Sets the 1-Wire Network voltage to eprom programming level.
`void` | `targetAllFamilies()` Removes any selectivity during a search for iButtons or 1-Wire devices by family type.
`void` | `targetFamily(byte[] family)` Takes an array of bytes to use for selectively searching for acceptable family codes.
`void` | `targetFamily(int family)` Takes an integer to selectively search for this desired family type.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### SPEED_REGULAR

    public static final int SPEED_REGULAR

  Speed modes for 1-Wire Network, regular

### SPEED_FLEX

    public static final int SPEED_FLEX

  Speed modes for 1-Wire Network, flexible for long lines

### SPEED_OVERDRIVE

    public static final int SPEED_OVERDRIVE

  Speed modes for 1-Wire Network, overdrive

### SPEED_HYPERDRIVE

    public static final int SPEED_HYPERDRIVE

  Speed modes for 1-Wire Network, hyperdrive

### LEVEL_NORMAL

    public static final char LEVEL_NORMAL

  1-Wire Network level, normal (weak 5Volt pullup)

### LEVEL_POWER_DELIVERY

    public static final char LEVEL_POWER_DELIVERY

  1-Wire Network level, (strong 5Volt pullup, used for power delivery)

### LEVEL_BREAK

    public static final char LEVEL_BREAK

  1-Wire Network level, (strong pulldown to 0Volts, reset 1-Wire)

### LEVEL_PROGRAM

    public static final char LEVEL_PROGRAM

  1-Wire Network level, (strong 12Volt pullup, used to program eprom )

### RESET_NOPRESENCE

    public static final int RESET_NOPRESENCE

  1-Wire Network reset result = no presence

### RESET_PRESENCE

    public static final int RESET_PRESENCE

  1-Wire Network reset result = presence

### RESET_ALARM

    public static final int RESET_ALARM

  1-Wire Network reset result = alarm

### RESET_SHORT

    public static final int RESET_SHORT

  1-Wire Network reset result = shorted

### CONDITION_NOW

    public static final int CONDITION_NOW

  Condition for power state change, immediate

### CONDITION_AFTER_BIT

    public static final int CONDITION_AFTER_BIT

  Condition for power state change, after next bit communication

### CONDITION_AFTER_BYTE

    public static final int CONDITION_AFTER_BYTE

  Condition for power state change, after next byte communication

### DELIVERY_HALF_SECOND

    public static final int DELIVERY_HALF_SECOND

  Duration used in delivering power to the 1-Wire, 1/2 second

### DELIVERY_ONE_SECOND

    public static final int DELIVERY_ONE_SECOND

  Duration used in delivering power to the 1-Wire, 1 second

### DELIVERY_TWO_SECONDS

    public static final int DELIVERY_TWO_SECONDS

  Duration used in delivering power to the 1-Wire, 2 seconds

### DELIVERY_FOUR_SECONDS

    public static final int DELIVERY_FOUR_SECONDS

  Duration used in delivering power to the 1-Wire, 4 second

### DELIVERY_SMART_DONE

    public static final int DELIVERY_SMART_DONE

  Duration used in delivering power to the 1-Wire, smart complete

### DELIVERY_INFINITE

    public static final int DELIVERY_INFINITE

  Duration used in delivering power to the 1-Wire, infinite

### DELIVERY_CURRENT_DETECT

    public static final int DELIVERY_CURRENT_DETECT

  Duration used in delivering power to the 1-Wire, current detect

### DELIVERY_EPROM

    public static final int DELIVERY_EPROM

  Duration used in delivering power to the 1-Wire, 480 us

Constructor Detail

### DSPortAdapter

    public DSPortAdapter()

Method Detail

### getAdapterName

    public abstract String getAdapterName()

  Retrieves the name of the port adapter as a string. The 'Adapter' is a device that connects to a 'port' that allows one to communicate with an iButton or other 1-Wire device. As example of this is 'DS9097U'.
  Returns:
    `String` representation of the port adapter.

### getPortTypeDescription

    public abstract String getPortTypeDescription()

  Retrieves a description of the port required by this port adapter. An example of a 'Port' would 'serial communication port'.
  Returns:
    `String` description of the port type required.

### getClassVersion

    public abstract String getClassVersion()

  Retrieves a version string for this class.
  Returns:
    version string

### getPortNames

    public abstract Enumeration getPortNames()

  Retrieves a list of the platform appropriate port names for this adapter. A port must be selected with the method 'selectPort' before any other communication methods can be used. Using a communcation method before 'selectPort' will result in a `OneWireException` exception.
  Returns:
    `Enumeration` of type `String` that contains the port names

### registerOneWireContainerClass

    public void registerOneWireContainerClass(int family,
                                              Class OneWireContainerClass)
                                       throws OneWireException

  Registers a user provided `OneWireContainer` class. Using this method will override the Dallas Semiconductor provided container class when using the getDeviceContainer() method. The registered container state is only stored for the current instance of `DSPortAdapter`, and is not statically shared. The `OneWireContainerClass` must extend `com.dalsemi.onewire.container.OneWireContainer` otherwise a `ClassCastException` will be thrown. The older duplicate family will be removed from registration when a collision occurs. Passing null as a parameter for the `OneWireContainerClass` will result in the removal of any entry associated with the family.
  Parameters:
    `family` - the code of the family type to associate with this class.
    `OneWireContainerClass` - User provided class
  Throws:
    OneWireException - If `OneWireContainerClass` is not found.
    ClassCastException - If user supplied `OneWireContainer` does not extend `com.dalsemi.onewire.container.OneWireContainer`.

### selectPort

    public abstract boolean selectPort(String portName)
                                throws OneWireIOException,
                                       OneWireException

  Specifies a platform appropriate port name for this adapter. Note that even though the port has been selected, it's ownership may be relinquished if it is not currently held in a 'exclusive' block. This class will then try to re-aquire the port when needed. If the port cannot be re-aquired ehen the exception `PortInUseException` will be thrown.
  Parameters:
    `portName` - name of the target port, retrieved from getPortNames()
  Returns:
    `true` if the port was aquired, `false` if the port is not available.
  Throws:
    OneWireIOException - If port does not exist, or unable to communicate with port.
    OneWireException - If port does not exist

### freePort

    public abstract void freePort()
                           throws OneWireException

  Frees ownership of the selected port, if it is currently owned, back to the system. This should only be called if the recently selected port does not have an adapter, or at the end of your application's use of the port.
  Throws:
    OneWireException - If port does not exist

### getPortName

    public abstract String getPortName()
                                throws OneWireException

  Retrieves the name of the selected port as a `String`.
  Returns:
    `String` of selected port
  Throws:
    OneWireException - if valid port not yet selected

### adapterDetected

    public abstract boolean adapterDetected()
                                     throws OneWireIOException,
                                            OneWireException

  Detects adapter presence on the selected port.
  Returns:
    `true` if the adapter is confirmed to be connected to the selected port, `false` if the adapter is not connected.
  Throws:
    OneWireIOException -
    OneWireException -

### getAdapterVersion

    public String getAdapterVersion()
                             throws OneWireIOException,
                                    OneWireException

  Retrieves the version of the adapter.
  Returns:
    `String` of the adapter version. It will return "" if the adapter version is not or cannot be known.
  Throws:
    OneWireIOException - on a 1-Wire communication error such as no device present. This could be caused by a physical interruption in the 1-Wire Network due to shorts or a newly arriving 1-Wire device issuing a 'presence pulse'.
    OneWireException - on a communication or setup error with the 1-Wire adapter

### getAdapterAddress

    public String getAdapterAddress()
                             throws OneWireIOException,
                                    OneWireException

  Retrieves the address of the adapter, if it has one.
  Returns:
    `String` of the adapter address. It will return "" if the adapter does not have an address. The address is a string representation of an 1-Wire address.
  Throws:
    OneWireIOException - on a 1-Wire communication error such as no device present. This could be caused by a physical interruption in the 1-Wire Network due to shorts or a newly arriving 1-Wire device issuing a 'presence pulse'.
    OneWireException - on a communication or setup error with the 1-Wire adapter
  See Also:
    `Address`

### canOverdrive

    public boolean canOverdrive()
                         throws OneWireIOException,
                                OneWireException

  Returns whether adapter can physically support overdrive mode.
  Returns:
    `true` if this port adapter can do OverDrive, `false` otherwise.
  Throws:
    OneWireIOException - on a 1-Wire communication error with the adapter
    OneWireException - on a setup error with the 1-Wire adapter

### canHyperdrive

    public boolean canHyperdrive()
                          throws OneWireIOException,
                                 OneWireException

  Returns whether the adapter can physically support hyperdrive mode.
  Returns:
    `true` if this port adapter can do HyperDrive, `false` otherwise.
  Throws:
    OneWireIOException - on a 1-Wire communication error with the adapter
    OneWireException - on a setup error with the 1-Wire adapter

### canFlex

    public boolean canFlex()
                    throws OneWireIOException,
                           OneWireException

  Returns whether the adapter can physically support flex speed mode.
  Returns:
    `true` if this port adapter can do flex speed, `false` otherwise.
  Throws:
    OneWireIOException - on a 1-Wire communication error with the adapter
    OneWireException - on a setup error with the 1-Wire adapter

### canProgram

    public boolean canProgram()
                       throws OneWireIOException,
                              OneWireException

  Returns whether adapter can physically support 12 volt power mode.
  Returns:
    `true` if this port adapter can do Program voltage, `false` otherwise.
  Throws:
    OneWireIOException - on a 1-Wire communication error with the adapter
    OneWireException - on a setup error with the 1-Wire adapter

### canDeliverPower

    public boolean canDeliverPower()
                            throws OneWireIOException,
                                   OneWireException

  Returns whether the adapter can physically support strong 5 volt power mode.
  Returns:
    `true` if this port adapter can do strong 5 volt mode, `false` otherwise.
  Throws:
    OneWireIOException - on a 1-Wire communication error with the adapter
    OneWireException - on a setup error with the 1-Wire adapter

### canDeliverSmartPower

    public boolean canDeliverSmartPower()
                                 throws OneWireIOException,
                                        OneWireException

  Returns whether the adapter can physically support "smart" strong 5 volt power mode. "smart" power delivery is the ability to deliver power until it is no longer needed. The current drop it detected and power delivery is stopped.
  Returns:
    `true` if this port adapter can do "smart" strong 5 volt mode, `false` otherwise.
  Throws:
    OneWireIOException - on a 1-Wire communication error with the adapter
    OneWireException - on a setup error with the 1-Wire adapter

### canBreak

    public boolean canBreak()
                     throws OneWireIOException,
                            OneWireException

  Returns whether adapter can physically support 0 volt 'break' mode.
  Returns:
    `true` if this port adapter can do break, `false` otherwise.
  Throws:
    OneWireIOException - on a 1-Wire communication error with the adapter
    OneWireException - on a setup error with the 1-Wire adapter

### getAllDeviceContainers

    public Enumeration getAllDeviceContainers()
                                       throws OneWireIOException,
                                              OneWireException

  Returns an enumeration of `OneWireContainer` objects corresponding to all of the iButtons or 1-Wire devices found on the 1-Wire Network. If no devices are found, then an empty enumeration will be returned. In most cases, all further communication with the device is done through the OneWireContainer.
  Returns:
    `Enumeration` of `OneWireContainer` objects found on the 1-Wire Network.
  Throws:
    OneWireIOException - on a 1-Wire communication error
    OneWireException - on a setup error with the 1-Wire adapter

### getFirstDeviceContainer

    public OneWireContainer getFirstDeviceContainer()
                                             throws OneWireIOException,
                                                    OneWireException

  Returns a `OneWireContainer` object corresponding to the first iButton or 1-Wire device found on the 1-Wire Network. If no devices are found, then a `null` reference will be returned. In most cases, all further communication with the device is done through the `OneWireContainer`.
  Returns:
    The first `OneWireContainer` object found on the 1-Wire Network, or `null` if no devices found.
  Throws:
    OneWireIOException - on a 1-Wire communication error
    OneWireException - on a setup error with the 1-Wire adapter

### getNextDeviceContainer

    public OneWireContainer getNextDeviceContainer()
                                            throws OneWireIOException,
                                                   OneWireException

  Returns a `OneWireContainer` object corresponding to the next iButton or 1-Wire device found. The previous 1-Wire device found is used as a starting point in the search. If no devices are found, then a `null` reference will be returned. In most cases, all further communication with the device is done through the `OneWireContainer`.
  Returns:
    The next `OneWireContainer` object found on the 1-Wire Network, or `null` if no iButtons found.
  Throws:
    OneWireIOException - on a 1-Wire communication error
    OneWireException - on a setup error with the 1-Wire adapter

### findFirstDevice

    public abstract boolean findFirstDevice()
                                     throws OneWireIOException,
                                            OneWireException

  Returns `true` if the first iButton or 1-Wire device is found on the 1-Wire Network. If no devices are found, then `false` will be returned.
  Returns:
    `true` if an iButton or 1-Wire device is found.
  Throws:
    OneWireIOException - on a 1-Wire communication error
    OneWireException - on a setup error with the 1-Wire adapter

### findNextDevice

    public abstract boolean findNextDevice()
                                    throws OneWireIOException,
                                           OneWireException

  Returns `true` if the next iButton or 1-Wire device is found. The previous 1-Wire device found is used as a starting point in the search. If no more devices are found then `false` will be returned.
  Returns:
    `true` if an iButton or 1-Wire device is found.
  Throws:
    OneWireIOException - on a 1-Wire communication error
    OneWireException - on a setup error with the 1-Wire adapter

### getAddress

    public abstract void getAddress(byte[] address)

  Copies the 'current' 1-Wire device address being used by the adapter into the array. This address is the last iButton or 1-Wire device found in a search (findNextDevice()...). This method copies into a user generated array to allow the reuse of the buffer. When searching many iButtons on the one wire network, this will reduce the memory burn rate.
  Parameters:
    `address` - An array to be filled with the current iButton address.
  See Also:
    `Address`

### getAddressAsLong

    public long getAddressAsLong()

  Gets the 'current' 1-Wire device address being used by the adapter as a long. This address is the last iButton or 1-Wire device found in a search (findNextDevice()...).
  Returns:
    `long` representation of the iButton address
  See Also:
    `Address`

### getAddressAsString

    public String getAddressAsString()

  Gets the 'current' 1-Wire device address being used by the adapter as a String. This address is the last iButton or 1-Wire device found in a search (findNextDevice()...).
  Returns:
    `String` representation of the iButton address
  See Also:
    `Address`

### isPresent

    public boolean isPresent(byte[] address)
                      throws OneWireIOException,
                             OneWireException

  Verifies that the iButton or 1-Wire device specified is present on the 1-Wire Network. This does not affect the 'current' device state information used in searches (findNextDevice...).
  Parameters:
    `address` - device address to verify is present
  Returns:
    `true` if device is present, else `false`.
  Throws:
    OneWireIOException - on a 1-Wire communication error
    OneWireException - on a setup error with the 1-Wire adapter
  See Also:
    `Address`

### isPresent

    public boolean isPresent(long address)
                      throws OneWireIOException,
                             OneWireException

  Verifies that the iButton or 1-Wire device specified is present on the 1-Wire Network. This does not affect the 'current' device state information used in searches (findNextDevice...).
  Parameters:
    `address` - device address to verify is present
  Returns:
    `true` if device is present, else `false`.
  Throws:
    OneWireIOException - on a 1-Wire communication error
    OneWireException - on a setup error with the 1-Wire adapter
  See Also:
    `Address`

### isPresent

    public boolean isPresent(String address)
                      throws OneWireIOException,
                             OneWireException

  Verifies that the iButton or 1-Wire device specified is present on the 1-Wire Network. This does not affect the 'current' device state information used in searches (findNextDevice...).
  Parameters:
    `address` - device address to verify is present
  Returns:
    `true` if device is present, else `false`.
  Throws:
    OneWireIOException - on a 1-Wire communication error
    OneWireException - on a setup error with the 1-Wire adapter
  See Also:
    `Address`

### isAlarming

    public boolean isAlarming(byte[] address)
                       throws OneWireIOException,
                              OneWireException

  Verifies that the iButton or 1-Wire device specified is present on the 1-Wire Network and in an alarm state. This does not affect the 'current' device state information used in searches (findNextDevice...).
  Parameters:
    `address` - device address to verify is present and alarming
  Returns:
    `true` if device is present and alarming, else `false`.
  Throws:
    OneWireIOException - on a 1-Wire communication error
    OneWireException - on a setup error with the 1-Wire adapter
  See Also:
    `Address`

### isAlarming

    public boolean isAlarming(long address)
                       throws OneWireIOException,
                              OneWireException

  Verifies that the iButton or 1-Wire device specified is present on the 1-Wire Network and in an alarm state. This does not affect the 'current' device state information used in searches (findNextDevice...).
  Parameters:
    `address` - device address to verify is present and alarming
  Returns:
    `true` if device is present and alarming, else `false`.
  Throws:
    OneWireIOException - on a 1-Wire communication error
    OneWireException - on a setup error with the 1-Wire adapter
  See Also:
    `Address`

### isAlarming

    public boolean isAlarming(String address)
                       throws OneWireIOException,
                              OneWireException

  Verifies that the iButton or 1-Wire device specified is present on the 1-Wire Network and in an alarm state. This does not affect the 'current' device state information used in searches (findNextDevice...).
  Parameters:
    `address` - device address to verify is present and alarming
  Returns:
    `true` if device is present and alarming, else `false`.
  Throws:
    OneWireIOException - on a 1-Wire communication error
    OneWireException - on a setup error with the 1-Wire adapter
  See Also:
    `Address`

### select

    public boolean select(byte[] address)
                   throws OneWireIOException,
                          OneWireException

  Selects the specified iButton or 1-Wire device by broadcasting its address. This operation is refered to a 'MATCH ROM' operation in the iButton and 1-Wire device data sheets. This does not affect the 'current' device state information used in searches (findNextDevice...). Warning, this does not verify that the device is currently present on the 1-Wire Network (See isPresent).
  Parameters:
    `address` - address of iButton or 1-Wire device to select
  Returns:
    `true` if device address was sent, `false` otherwise.
  Throws:
    OneWireIOException - on a 1-Wire communication error
    OneWireException - on a setup error with the 1-Wire adapter
  See Also:
    `isPresent(byte[])`, `Address`

### select

    public boolean select(long address)
                   throws OneWireIOException,
                          OneWireException

  Selects the specified iButton or 1-Wire device by broadcasting its address. This operation is refered to a 'MATCH ROM' operation in the iButton and 1-Wire device data sheets. This does not affect the 'current' device state information used in searches (findNextDevice...). Warning, this does not verify that the device is currently present on the 1-Wire Network (See isPresent).
  Parameters:
    `address` - address of iButton or 1-Wire device to select
  Returns:
    `true` if device address was sent,`false` otherwise.
  Throws:
    OneWireIOException - on a 1-Wire communication error
    OneWireException - on a setup error with the 1-Wire adapter
  See Also:
    `isPresent(byte[])`, `Address`

### select

    public boolean select(String address)
                   throws OneWireIOException,
                          OneWireException

  Selects the specified iButton or 1-Wire device by broadcasting its address. This operation is refered to a 'MATCH ROM' operation in the iButton and 1-Wire device data sheets. This does not affect the 'current' device state information used in searches (findNextDevice...). Warning, this does not verify that the device is currently present on the 1-Wire Network (See isPresent).
  Parameters:
    `address` - address of iButton or 1-Wire device to select
  Returns:
    `true` if device address was sent,`false` otherwise.
  Throws:
    OneWireIOException - on a 1-Wire communication error
    OneWireException - on a setup error with the 1-Wire adapter
  See Also:
    `isPresent(byte[])`, `Address`

### setSearchOnlyAlarmingDevices

    public abstract void setSearchOnlyAlarmingDevices()

  Sets the 1-Wire Network search to find only iButtons and 1-Wire devices that are in an 'Alarm' state that signals a need for attention. Not all iButton types have this feature. Some that do: DS1994, DS1920, DS2407. This selective searching can be canceled with the 'setSearchAllDevices()' method.
  See Also:
    `setNoResetSearch()`

### setNoResetSearch

    public abstract void setNoResetSearch()

  Sets the 1-Wire Network search to not perform a 1-Wire reset before a search. This feature is chiefly used with the DS2409 1-Wire coupler. The normal reset before each search can be restored with the 'setSearchAllDevices()' method.

### setSearchAllDevices

    public abstract void setSearchAllDevices()

  Sets the 1-Wire Network search to find all iButtons and 1-Wire devices whether they are in an 'Alarm' state or not and restores the default setting of providing a 1-Wire reset command before each search. (see setNoResetSearch() method).
  See Also:
    `setNoResetSearch()`

### targetAllFamilies

    public void targetAllFamilies()

  Removes any selectivity during a search for iButtons or 1-Wire devices by family type. The unique address for each iButton and 1-Wire device contains a family descriptor that indicates the capabilities of the device.
  See Also:
    `targetFamily(int)`, `targetFamily(byte[])`, `excludeFamily(int)`, `excludeFamily(byte[])`

### targetFamily

    public void targetFamily(int family)

  Takes an integer to selectively search for this desired family type. If this method is used, then no devices of other families will be found by any of the search methods.
  Parameters:
    `family` - the code of the family type to target for searches
  See Also:
    `Address`, `targetAllFamilies()`

### targetFamily

    public void targetFamily(byte[] family)

  Takes an array of bytes to use for selectively searching for acceptable family codes. If used, only devices with family codes in this array will be found by any of the search methods.
  Parameters:
    `family` - array of the family types to target for searches
  See Also:
    `Address`, `targetAllFamilies()`

### excludeFamily

    public void excludeFamily(int family)

  Takes an integer family code to avoid when searching for iButtons. or 1-Wire devices. If this method is used, then no devices of this family will be found by any of the search methods.
  Parameters:
    `family` - the code of the family type NOT to target in searches
  See Also:
    `Address`, `targetAllFamilies()`

### excludeFamily

    public void excludeFamily(byte[] family)

  Takes an array of bytes containing family codes to avoid when finding iButtons or 1-Wire devices. If used, then no devices with family codes in this array will be found by any of the search methods.
  Parameters:
    `family` - array of family cods NOT to target for searches
  See Also:
    `Address`, `targetAllFamilies()`

### beginExclusive

    public abstract boolean beginExclusive(boolean blocking)
                                    throws OneWireException

  Gets exclusive use of the 1-Wire to communicate with an iButton or 1-Wire Device. This method should be used for critical sections of code where a sequence of commands must not be interrupted by communication of threads with other iButtons, and it is permissible to sustain a delay in the special case that another thread has already been granted exclusive access and this access has not yet been relinquished.

  It can be called through the OneWireContainer class by the end application if they want to ensure exclusive use. If it is not called around several methods then it will be called inside each method.

  Parameters:
    `blocking` - `true` if want to block waiting for an excluse access to the adapter
  Returns:
    `true` if blocking was false and a exclusive session with the adapter was aquired
  Throws:
    OneWireException - on a setup error with the 1-Wire adapter

### endExclusive

    public abstract void endExclusive()

  Relinquishes exclusive control of the 1-Wire Network. This command dynamically marks the end of a critical section and should be used when exclusive control is no longer needed.

### putBit

    public abstract void putBit(boolean bitValue)
                         throws OneWireIOException,
                                OneWireException

  Sends a bit to the 1-Wire Network.
  Parameters:
    `bitValue` - the bit value to send to the 1-Wire Network.
  Throws:
    OneWireIOException - on a 1-Wire communication error
    OneWireException - on a setup error with the 1-Wire adapter

### getBit

    public abstract boolean getBit()
                            throws OneWireIOException,
                                   OneWireException

  Gets a bit from the 1-Wire Network.
  Returns:
    the bit value recieved from the the 1-Wire Network.
  Throws:
    OneWireIOException - on a 1-Wire communication error
    OneWireException - on a setup error with the 1-Wire adapter

### putByte

    public abstract void putByte(int byteValue)
                          throws OneWireIOException,
                                 OneWireException

  Sends a byte to the 1-Wire Network.
  Parameters:
    `byteValue` - the byte value to send to the 1-Wire Network.
  Throws:
    OneWireIOException - on a 1-Wire communication error
    OneWireException - on a setup error with the 1-Wire adapter

### getByte

    public abstract int getByte()
                         throws OneWireIOException,
                                OneWireException

  Gets a byte from the 1-Wire Network.
  Returns:
    the byte value received from the the 1-Wire Network.
  Throws:
    OneWireIOException - on a 1-Wire communication error
    OneWireException - on a setup error with the 1-Wire adapter

### getBlock

    public abstract byte[] getBlock(int len)
                             throws OneWireIOException,
                                    OneWireException

  Gets a block of data from the 1-Wire Network.
  Parameters:
    `len` - length of data bytes to receive
  Returns:
    the data received from the 1-Wire Network.
  Throws:
    OneWireIOException - on a 1-Wire communication error
    OneWireException - on a setup error with the 1-Wire adapter

### getBlock

    public abstract void getBlock(byte[] arr,
                                  int len)
                           throws OneWireIOException,
                                  OneWireException

  Gets a block of data from the 1-Wire Network and write it into the provided array.
  Parameters:
    `arr` - array in which to write the received bytes
    `len` - length of data bytes to receive
  Throws:
    OneWireIOException - on a 1-Wire communication error
    OneWireException - on a setup error with the 1-Wire adapter

### getBlock

    public abstract void getBlock(byte[] arr,
                                  int off,
                                  int len)
                           throws OneWireIOException,
                                  OneWireException

  Gets a block of data from the 1-Wire Network and write it into the provided array.
  Parameters:
    `arr` - array in which to write the received bytes
    `off` - offset into the array to start
    `len` - length of data bytes to receive
  Throws:
    OneWireIOException - on a 1-Wire communication error
    OneWireException - on a setup error with the 1-Wire adapter

### dataBlock

    public abstract void dataBlock(byte[] dataBlock,
                                   int off,
                                   int len)
                            throws OneWireIOException,
                                   OneWireException

  Sends a block of data and returns the data received in the same array. This method is used when sending a block that contains reads and writes. The 'read' portions of the data block need to be pre-loaded with 0xFF's. It starts sending data from the index at offset 'off' for length 'len'.
  Parameters:
    `dataBlock` - array of data to transfer to and from the 1-Wire Network.
    `off` - offset into the array of data to start
    `len` - length of data to send / receive starting at 'off'
  Throws:
    OneWireIOException - on a 1-Wire communication error
    OneWireException - on a setup error with the 1-Wire adapter

### reset

    public abstract int reset()
                       throws OneWireIOException,
                              OneWireException

  Sends a Reset to the 1-Wire Network.
  Returns:
    the result of the reset. Potential results are:
    - 0 (RESET_NOPRESENCE) no devices present on the 1-Wire Network.
    - 1 (RESET_PRESENCE) normal presence pulse detected on the 1-Wire Network indicating there is a device present.
    - 2 (RESET_ALARM) alarming presence pulse detected on the 1-Wire Network indicating there is a device present and it is in the alarm condition. This is only provided by the DS1994/DS2404 devices.
    - 3 (RESET_SHORT) inticates 1-Wire appears shorted. This can be transient conditions in a 1-Wire Network. Not all adapter types can detect this condition.
  Throws:
    OneWireIOException - on a 1-Wire communication error
    OneWireException - on a setup error with the 1-Wire adapter

### setPowerDuration

    public void setPowerDuration(int timeFactor)
                          throws OneWireIOException,
                                 OneWireException

  Sets the duration to supply power to the 1-Wire Network. This method takes a time parameter that indicates the program pulse length when the method startPowerDelivery().

  Note: to avoid getting an exception, use the canDeliverPower() and canDeliverSmartPower() method to check it's availability.

  Parameters:
    `timeFactor` -
    - 0 (DELIVERY_HALF_SECOND) provide power for 1/2 second.
    - 1 (DELIVERY_ONE_SECOND) provide power for 1 second.
    - 2 (DELIVERY_TWO_SECONDS) provide power for 2 seconds.
    - 3 (DELIVERY_FOUR_SECONDS) provide power for 4 seconds.
    - 4 (DELIVERY_SMART_DONE) provide power until the the device is no longer drawing significant power.
    - 5 (DELIVERY_INFINITE) provide power until the setPowerNormal() method is called.
  Throws:
    OneWireIOException - on a 1-Wire communication error
    OneWireException - on a setup error with the 1-Wire adapter

### startPowerDelivery

    public boolean startPowerDelivery(int changeCondition)
                               throws OneWireIOException,
                                      OneWireException

  Sets the 1-Wire Network voltage to supply power to a 1-Wire device. This method takes a time parameter that indicates whether the power delivery should be done immediately, or after certain conditions have been met.

  Note: to avoid getting an exception, use the canDeliverPower() and canDeliverSmartPower() method to check it's availability.

  Parameters:
    `changeCondition` -
    - 0 (CONDITION_NOW) operation should occur immediately.
    - 1 (CONDITION_AFTER_BIT) operation should be pending execution immediately after the next bit is sent.
    - 2 (CONDITION_AFTER_BYTE) operation should be pending execution immediately after next byte is sent.
  Returns:
    `true` if the voltage change was successful, `false` otherwise.
  Throws:
    OneWireIOException - on a 1-Wire communication error
    OneWireException - on a setup error with the 1-Wire adapter

### setProgramPulseDuration

    public void setProgramPulseDuration(int timeFactor)
                                 throws OneWireIOException,
                                        OneWireException

  Sets the duration for providing a program pulse on the 1-Wire Network. This method takes a time parameter that indicates the program pulse length when the method startProgramPulse().

  Note: to avoid getting an exception, use the canDeliverPower() method to check it's availability.

  Parameters:
    `timeFactor` -
    - 7 (DELIVERY_EPROM) provide program pulse for 480 microseconds
    - 5 (DELIVERY_INFINITE) provide power until the setPowerNormal() method is called.
  Throws:
    OneWireIOException - on a 1-Wire communication error
    OneWireException - on a setup error with the 1-Wire adapter

### startProgramPulse

    public boolean startProgramPulse(int changeCondition)
                              throws OneWireIOException,
                                     OneWireException

  Sets the 1-Wire Network voltage to eprom programming level. This method takes a time parameter that indicates whether the power delivery should be done immediately, or after certain conditions have been met.

  Note: to avoid getting an exception, use the canProgram() method to check it's availability.

  Parameters:
    `changeCondition` -
    - 0 (CONDITION_NOW) operation should occur immediately.
    - 1 (CONDITION_AFTER_BIT) operation should be pending execution immediately after the next bit is sent.
    - 2 (CONDITION_AFTER_BYTE) operation should be pending execution immediately after next byte is sent.
  Returns:
    `true` if the voltage change was successful, `false` otherwise.
  Throws:
    OneWireIOException - on a 1-Wire communication error
    OneWireException - on a setup error with the 1-Wire adapter or the adapter does not support this operation

### startBreak

    public void startBreak()
                    throws OneWireIOException,
                           OneWireException

  Sets the 1-Wire Network voltage to 0 volts. This method is used rob all 1-Wire Network devices of parasite power delivery to force them into a hard reset.
  Throws:
    OneWireIOException - on a 1-Wire communication error
    OneWireException - on a setup error with the 1-Wire adapter or the adapter does not support this operation

### setPowerNormal

    public void setPowerNormal()
                        throws OneWireIOException,
                               OneWireException

  Sets the 1-Wire Network voltage to normal level. This method is used to disable 1-Wire conditions created by startPowerDelivery and startProgramPulse. This method will automatically be called if a communication method is called while an outstanding power command is taking place.
  Throws:
    OneWireIOException - on a 1-Wire communication error
    OneWireException - on a setup error with the 1-Wire adapter or the adapter does not support this operation

### setSpeed

    public void setSpeed(int speed)
                  throws OneWireIOException,
                         OneWireException

  Sets the new speed of data transfer on the 1-Wire Network.

  Parameters:
    `speed` -
    - 0 (SPEED_REGULAR) set to normal communciation speed
    - 1 (SPEED_FLEX) set to flexible communciation speed used for long lines
    - 2 (SPEED_OVERDRIVE) set to normal communciation speed to overdrive
    - 3 (SPEED_HYPERDRIVE) set to normal communciation speed to hyperdrive
    - >3 future speeds
  Throws:
    OneWireIOException - on a 1-Wire communication error
    OneWireException - on a setup error with the 1-Wire adapter or the adapter does not support this operation

### getSpeed

    public int getSpeed()

  Returns the current data transfer speed on the 1-Wire Network.

  Returns:
    `int` representing the current 1-Wire speed
    - 0 (SPEED_REGULAR) set to normal communication speed
    - 1 (SPEED_FLEX) set to flexible communication speed used for long lines
    - 2 (SPEED_OVERDRIVE) set to normal communication speed to overdrive
    - 3 (SPEED_HYPERDRIVE) set to normal communication speed to hyperdrive
    - >3 future speeds

### getDeviceContainer

    public OneWireContainer getDeviceContainer(byte[] address)

  Constructs a `OneWireContainer` object with a user supplied 1-Wire network address.
  Parameters:
    `address` - device address with which to create a new container
  Returns:
    The `OneWireContainer` object
  See Also:
    `Address`

### getDeviceContainer

    public OneWireContainer getDeviceContainer(long address)

  Constructs a `OneWireContainer` object with a user supplied 1-Wire network address.
  Parameters:
    `address` - device address with which to create a new container
  Returns:
    The `OneWireContainer` object
  See Also:
    `Address`

### getDeviceContainer

    public OneWireContainer getDeviceContainer(String address)

  Constructs a `OneWireContainer` object with a user supplied 1-Wire network address.
  Parameters:
    `address` - device address with which to create a new container
  Returns:
    The `OneWireContainer` object
  See Also:
    `Address`

### getDeviceContainer

    public OneWireContainer getDeviceContainer()

  Constructs a `OneWireContainer` object using the current 1-Wire network address. The internal state of the port adapter keeps track of the last address found and is able to create container objects from this state.
  Returns:
    the `OneWireContainer` object

### isValidFamily

    protected boolean isValidFamily(byte[] address)

  Checks to see if the family found is in the desired include group.
  Returns:
    `true` if in include group

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD