com.dalsemi.onewire.container
Interface SwitchContainer

All Superinterfaces:
OneWireSensor
All Known Implementing Classes:
OneWireContainer05, OneWireContainer12, OneWireContainer1F

public interface SwitchContainer
extends OneWireSensor

1-Wire Switch interface class for basic switch operations. This class should be implemented for each switch type 1-Wire device.

Version:
0.00, 27 August 2000

Method Summary
 void clearActivity()
          Clears the activity latches the next time possible.
 boolean getLatchState(int channel, byte[] state)
          This method checks the latch state of the indicated channel from the provided state data retrieved from the 'readDevice()' method.
 boolean getLevel(int channel, byte[] state)
          This method checks the sensed level on the indicated channel from the provided state data retrieved from the 'readDevice()' method.
 int getNumberChannels(byte[] state)
          Query to get the number of channels supported by this switch.
 boolean getSensedActivity(int channel, byte[] state)
          This method checks if the indicated channel had activity from the provided state data retrieved from the 'readDevice()' method.
 boolean hasActivitySensing()
          Query to see if the channels of this switch support activity sensing.
 boolean hasLevelSensing()
          Query to see if the channels of this switch support level sensing.
 boolean hasSmartOn()
          Query to see if the channels of this switch support smart on.
 boolean isHighSideSwitch()
          Query to see if the channels of this switch are 'high side' switches.
 boolean onlySingleChannelOn()
          Query to see if the channels of this switch require that only channel is on at any one time.
 void setLatchState(int channel, boolean latchState, boolean doSmart, byte[] state)
          This method sets the latch state of the indicated channel in the state data.
 
Methods inherited from interface com.dalsemi.onewire.container.OneWireSensor
readDevice, writeDevice
 

Method Detail

isHighSideSwitch

public boolean isHighSideSwitch()
Query to see if the channels of this switch are 'high side' switches. This indicates that when 'on' or TRUE, the switch output is connect to the 1-Wire data. If this method returns FALSE then when the switch is 'on' or TRUE, the switch is connected to ground.
Returns:
boolean, true if switch is a 'high side' switch. false if switch is a 'low side' switch.

hasActivitySensing

public boolean hasActivitySensing()
Query to see if the channels of this switch support activity sensing. If this method returns true then the method 'getActivity()' can be used.
Returns:
boolean, true if channels support activity sensing

hasLevelSensing

public boolean hasLevelSensing()
Query to see if the channels of this switch support level sensing. If this method returns true then the method 'getLevel()' can be used.
Returns:
boolean, true if channels support level sensing

hasSmartOn

public boolean hasSmartOn()
Query to see if the channels of this switch support smart on. Smart on is the ability to turn on a channel such that only 1-Wire device on this channel are awake and ready to do an operation. This greatly reduces the the time to discover the device down a branch. If this method returns true then the method 'setSwitch()' can be used with the 'doSmart' parameter true.
Returns:
boolean, true if channels support smart on

onlySingleChannelOn

public boolean onlySingleChannelOn()
Query to see if the channels of this switch require that only channel is on at any one time. If this method returns true then the method 'setSwitch(channel)' will effect the state of the given channel but may effect the state of the other channels as well to insure that only one channel is on at a time.
Returns:
boolean, true if only 1 channel can be on at a time.

getNumberChannels

public int getNumberChannels(byte[] state)
Query to get the number of channels supported by this switch. Channel specific methods will use a channel number specified by an integer from [0 to (getNumberChannels() - 1)].
Parameters:
state - - byte array of device state
Returns:
int containing the number of channels

getLevel

public boolean getLevel(int channel,
                        byte[] state)
                 throws OneWireException
This method checks the sensed level on the indicated channel from the provided state data retrieved from the 'readDevice()' method. Note, to avoid an exception, verify the features of this switch with the method 'hasLevelSensing()'.
Parameters:
channel -  
state - - byte array of device state
Returns:
boolean<\code> true if level sensed is 'high' and false if level sensed is 'low'.

getLatchState

public boolean getLatchState(int channel,
                             byte[] state)
This method checks the latch state of the indicated channel from the provided state data retrieved from the 'readDevice()' method.
Parameters:
channel -  
state - - byte array of device state
Returns:
boolean<\code> true if channel latch is 'on' or conducting and false if channel latch is 'off' and not conducting. Note that the actual output then the latch is 'on' is returned from the 'isHighSideSwitch()' method.

getSensedActivity

public boolean getSensedActivity(int channel,
                                 byte[] state)
                          throws OneWireException
This method checks if the indicated channel had activity from the provided state data retrieved from the 'readDevice()' method. Note, to avoid an exception, verify the features of this switch with the method 'hasActivitySensing()'.
Parameters:
channel -  
state - - byte array of device state
Returns:
boolean<\code> true if activity was detected and false if no activity was detected.

setLatchState

public void setLatchState(int channel,
                          boolean latchState,
                          boolean doSmart,
                          byte[] state)
This method sets the latch state of the indicated channel in the state data. Use the method 'writeDevice()' with this data to finalize the change to the device.
Parameters:
channel - - integer indicated channel to do operation on in the range [0 to (getNumberChannels() - 1)]
latchState -  
doSmart - - if latchState is 'on'/true then doSmart indicates if a 'smart on' is to be done. To avoid an exception check the cababilities of the device using the 'hasSmartOn()' method.
state - - byte array of device state

clearActivity

public void clearActivity()
                   throws OneWireException
Clears the activity latches the next time possible. For example, on a DS2406/07, this happens the next time the status is read.