com.dalsemi.onewire.adapter
Class NetAdapter

com.dalsemi.onewire.adapter.NetAdapter

public class NetAdapter

NetAdapter is a network-based DSPortAdapter. It allows for the use of an actual DSPortAdapter which isn't on the local machine, but rather is connected to another device which is reachable via a TCP/IP network connection.

The syntax for the selectPort(String) command is the hostname of the computer which hosts the actual DSPortAdapter and the TCP/IP port that the host is listening on. If the port number is not specified, a default value of 6161 is used. Here are a few examples to illustrate the syntax:

In the onewire.properties file, you can add a host to your list of valid hosts by making a NetAdapter.host with an integer to distinguish the hosts. There is no limit on the number of hosts which can appear in this list, but the first one must be numbered '0'. These hosts will then be returned in the list of valid 'ports' from the selectPortNames() method. Note that there do not have to be any servers returned from selectPortNames() for the NetAdapter to be able to connect to them (so it isn't necessary to add these entries for it to function), but applications which allow a user to automatically select an appropriate adapter and a port from a given list will not function properly without it. For example:

The multicast socket technique allows you to automatically discover hosts on your subnet which are listening for multicast packets. By default, the multicast discovery of NetAdapter hosts is disabled. When enabled, the NetAdapter creates a multicast socket and looks for servers every time you call selectPortNames(). This will add a 1 second delay (due to the socket timeout) on calling the method. If you'd like to enable this feature, add the following line to your onewire.properties file:

The port used and the multicast group used for multicast sockets can also be changed. The group however, must fall withing a valid range. For more information about multicast sockets in Java, see the Java tutorial on networking at http://java.sun.com/docs/books/tutorial/. Change the defaults in the onewire.properties file with the following entries:

Once the NetAdapter is connected with a host, a version check is performed followed by a simple authentication step. The authentication is dependent upon a secret shared between the NetAdapter and the host. Both will use a default value, that each will agree with if you don't provide a secret of your own. To set the secret, add the following line to your onewire.properties file:

Optionally, the secret can be specified on a per-host basis by simply adding the secret after the port number followed by a colon. If no port number is specified, a double-colon is required. Here are examples:

All of the above mentioned properties can be set on the command-line as well as being set in the onewire.properties file. To set the properties on the command-line, use the -D option: java -DNetAdapter.Secret="custom secret" myApplication

The following is a list of all parameters that can be set for the NetAdapter, followed by default values where applicable.

If you wanted added security on the communication channel, an SSL socket (or similar custom socket implementation) can be used by circumventing the standard DSPortAdapter's selectPort(String) and using the NetAdapter-specific selectPort(Socket). For example:

    NetAdapter na = new NetAdapter();

    Socket secureSocket = // insert fancy secure socket implementation here

    na.selectPort(secureSocket);
 

For information on setting up the host component, see the JavaDocs for the NetAdapterHost

Version:
1.00, 9 Jan 2002
Author:
SH
See Also:
NetAdapterHost

Constructor Summary
NetAdapter()
          Creates an instance of NetAdapter that isn't connected.
 
Method Summary
 boolean adapterDetected()
          Detects adapter presence on the selected port.
 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.
 void dataBlock(byte[] dataBlock, int off, int len)
          Sends a block of data and returns the data received in the same array.
 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.
 boolean findFirstDevice()
          Returns true if the first iButton or 1-Wire device is found on the 1-Wire Network.
 boolean findNextDevice()
          Returns true if the next iButton or 1-Wire device is found.
 void freePort()
          Frees ownership of the selected port, if it is currently owned, back to the system.
 String getAdapterName()
          Retrieves the name of the port adapter as a string.
 void getAddress(byte[] address)
          Copies the 'current' 1-Wire device address being used by the adapter into the array.
 boolean getBit()
          Gets a bit from the 1-Wire Network.
 void getBlock(byte[] arr, int len)
          Gets a block of data from the 1-Wire Network and write it into the provided array.
 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.
 byte[] getBlock(int len)
          Gets a block of data from the 1-Wire Network.
 int getByte()
          Gets a byte from the 1-Wire Network.
 String getClassVersion()
          Retrieves a version string for this class.
 String getPortName()
          Retrieves the name of the selected port as a String.
 Enumeration getPortNames()
          Retrieves a list of the platform appropriate port names for this adapter.
 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.
 void pingHost()
          Sends a ping to the host, just to keep the connection alive.
 void putBit(boolean bitValue)
          Sends a bit to the 1-Wire Network.
 void putByte(int byteValue)
          Sends a byte to the 1-Wire Network.
 int reset()
          Sends a Reset to the 1-Wire Network.
 void resetSecret()
          Resets the secret to be the default stored in the onewire.properties file (if there is one), or the default as defined by NetAdapterConstants.
 boolean selectPort(Socket sock)
          New method, unique to NetAdapter.
 boolean selectPort(String portName)
          Specifies a platform appropriate port name for this adapter.
 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.
 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.
 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 setSecret(String secret)
          Sets the shared secret for authenticating this NetAdapter with a NetAdapterHost.
 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.
 

Constructor Detail

NetAdapter

public NetAdapter()
Creates an instance of NetAdapter that isn't connected. Must call selectPort(String); or selectPort(Socket);
Method Detail

setSecret

public void setSecret(String secret)
Sets the shared secret for authenticating this NetAdapter with a NetAdapterHost.
Parameters:
secret - the new secret for authenticating this client.

resetSecret

public void resetSecret()
Resets the secret to be the default stored in the onewire.properties file (if there is one), or the default as defined by NetAdapterConstants.

pingHost

public void pingHost()
              throws OneWireException,
                     OneWireIOException
Sends a ping to the host, just to keep the connection alive. Although it currently is not implemented on the standard NetAdapterHost, this command is used as a signal to the NetAdapterSim to simulate some amount of time that has run.

adapterDetected

public 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 -  

getAdapterName

public 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 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 String getClassVersion()
Retrieves a version string for this class.
Returns:
version string

getPortNames

public 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

selectPort

public 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 - Address to connect this NetAdapter to, in the form of "hostname:port". For example, "shughes.dalsemi.com:6161", where 6161 is the port number to connect to. The use of NetAdapter.DEFAULT_PORT is recommended.
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

selectPort

public boolean selectPort(Socket sock)
                   throws OneWireIOException,
                          OneWireException
New method, unique to NetAdapter. Sets the "port", i.e. the connection to the server via an already established socket connection.
Parameters:
sock - Socket connection to NetAdapterHost
Returns:
true if connection to host was successful
Throws:
OneWireIOException - If port does not exist, or unable to communicate with port.
OneWireException - If port does not exist

freePort

public 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 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

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

findFirstDevice

public 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 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 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

setSearchOnlyAlarmingDevices

public 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 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 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 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 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.

reset

public 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

putBit

public 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 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 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 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 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 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 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 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

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


Copyright © 1999-2003 Dallas Semiconductor. All Rights Reserved.