Interface MissionContainer

All Superinterfaces:
ClockContainer, OneWireSensor
All Known Implementing Classes:
OneWireContainer41

public interface MissionContainer extends ClockContainer

Interface class for 1-Wire® devices that perform analog measuring operations. This class should be implemented for each A/D type 1-Wire device.

Features

  • Allows multi-channel voltage readings
  • Supports A/D Alarm enabling on devices with A/D Alarms
  • Supports selectable A/D ranges on devices with selectable ranges
  • Supports selectable A/D resolutions on devices with selectable resolutions

Usage

ADContainer extends OneWireSensor, so the general usage model applies to any ADContainer:

  1. readDevice()
  2. perform operations on the ADContainer
  3. writeDevice(byte[])

Consider this interaction with an ADContainer that reads from all of its A/D channels, then tries to set its high alarm on its first channel (channel 0):

 
     //adcontainer is a com.dalsemi.onewire.container.ADContainer
     byte[] state = adcontainer.readDevice();
     double[] voltages = new double[adcontainer.getNumberADChannels()];
     for (int i=0; i < adcontainer.getNumberADChannels(); i++)
     {
          adcontainer.doADConvert(i, state);
          voltages[i] = adc.getADVoltage(i, state);
     }
     if (adcontainer.hasADAlarms())
     {
          double highalarm = adcontainer.getADAlarm(0, ADContainer.ALARM_HIGH, state);
          adcontainer.setADAlarm(0, ADContainer.ALARM_HIGH, highalarm + 1.0, state);
          adcontainer.writeDevice(state);
     }

 
 
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Indicates the high alarm.
    static final int
    Indicates the low alarm.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Clears the mission results and erases the log memory from this missioning device.
    long
    getFirstSampleOffset(int channel)
    Returns the amount of time, in milliseconds, before the first sample occurred.
    double
    getMissionAlarm(int channel, int alarmType)
    Returns the threshold value which will trigger the alarm of the specified type on the specified channel.
    boolean
    getMissionAlarmEnable(int channel, int alarmType)
    Returns true if the alarm of the specified type has been enabled for the specified channel.
    boolean
    Returns true if the specified mission channel is enabled, indicating that the channel's readings will be recorded in the mission log.
    getMissionLabel(int channel)
    Returns a default friendly label for each channel supported by this Missioning device.
    double
    getMissionResolution(int channel)
    Returns the currently selected resolution for the specified channel.
    double[]
    getMissionResolutions(int channel)
    Returns all available resolutions for the specified mission channel.
    double
    getMissionSample(int channel, int sampleNum)
    Returns the value of each sample taken by the current mission.
    int
    getMissionSampleAsInteger(int channel, int sampleNum)
    Returns the sample as an integer value.
    int
    getMissionSampleCount(int channel)
    Returns the number of samples taken for the specified channel during the current mission.
    int
    Returns the total number of samples taken for the specified channel during the current mission.
    int
    getMissionSampleRate(int channel)
    Returns the amount of time, in seconds, between samples taken by this missioning device.
    long
    getMissionSampleTimeStamp(int channel, int sampleNum)
    Returns the time, in milliseconds, that each sample was taken by the current mission.
    long
    getMissionTimeStamp(int channel)
    Returns the time, in milliseconds, that the mission began.
    int
    Gets the number of channels supported by this Missioning device.
    boolean
    hasMissionAlarmed(int channel, int alarmType)
    Returns true if the specified channel's alarm value of the specified type has been triggered during the mission.
    boolean
    hasMissionAlarms(int channel)
    Indicates whether or not the specified channel of this missioning device has mission alarm capabilities.
    boolean
    Returns true if a mission has rolled over.
    boolean
     
    boolean
    Returns true if a rollover is enabled.
    boolean
    Returns true if a mission is currently running.
    void
    Loads the results of the currently running mission.
    void
    setMissionAlarm(int channel, int alarmType, double threshold)
    Sets the threshold value which will trigger the alarm of the specified type on the specified channel.
    void
    setMissionAlarmEnable(int channel, int alarmType, boolean enable)
    Enables/disables the alarm of the specified type for the specified channel
    void
    setMissionChannelEnable(int channel, boolean enable)
    Enables/disables the specified mission channel, indicating whether or not the channel's readings will be recorded in the mission log.
    void
    setMissionResolution(int channel, double resolution)
    Sets the selected resolution for the specified channel.
    void
    startNewMission(int sampleRate, int missionStartDelay, boolean rolloverEnabled, boolean syncClock, boolean[] channelEnabled)
    Begins a new mission on this missioning device.
    void
    Ends the currently running mission.

    Methods inherited from interface com.dalsemi.onewire.container.OneWireSensor

    readDevice, writeDevice
  • Field Details

  • Method Details

    • startNewMission

      void startNewMission(int sampleRate, int missionStartDelay, boolean rolloverEnabled, boolean syncClock, boolean[] channelEnabled) throws OneWireException, OneWireIOException
      Begins a new mission on this missioning device.
      Parameters:
      sampleRate - indicates the sampling rate, in seconds, that this missioning device should log samples.
      missionStartDelay - indicates the amount of time, in seconds, that should pass before the mission begins.
      rolloverEnabled - if false, this device will stop recording new samples after the data log is full. Otherwise, it will replace samples starting at the beginning.
      syncClock - if true, the real-time clock of this missioning device will be synchronized with the current time according to this java.util.Date.
      Throws:
      OneWireException
      OneWireIOException
    • stopMission

      void stopMission() throws OneWireException, OneWireIOException
      Ends the currently running mission.
      Throws:
      OneWireException
      OneWireIOException
    • isMissionRunning

      boolean isMissionRunning() throws OneWireException, OneWireIOException
      Returns true if a mission is currently running.
      Returns:
      true if a mission is currently running.
      Throws:
      OneWireException
      OneWireIOException
    • isMissionRolloverEnabled

      boolean isMissionRolloverEnabled() throws OneWireException, OneWireIOException
      Returns true if a rollover is enabled.
      Returns:
      true if a rollover is enabled.
      Throws:
      OneWireException
      OneWireIOException
    • hasMissionRolloverOccurred

      boolean hasMissionRolloverOccurred() throws OneWireException, OneWireIOException
      Returns true if a mission has rolled over.
      Returns:
      true if a mission has rolled over.
      Throws:
      OneWireException
      OneWireIOException
    • loadMissionResults

      void loadMissionResults() throws OneWireException, OneWireIOException
      Loads the results of the currently running mission. Must be called before all mission result/status methods.
      Throws:
      OneWireException
      OneWireIOException
    • isMissionLoaded

      boolean isMissionLoaded()
    • clearMissionResults

      void clearMissionResults() throws OneWireException, OneWireIOException
      Clears the mission results and erases the log memory from this missioning device.
      Throws:
      OneWireException
      OneWireIOException
    • getNumberMissionChannels

      int getNumberMissionChannels() throws OneWireException, OneWireIOException
      Gets the number of channels supported by this Missioning device. Channel specific methods will use a channel number specified by an integer from [0 to (getNumberOfMissionChannels() - 1)].
      Returns:
      the number of channels
      Throws:
      OneWireException
      OneWireIOException
    • setMissionChannelEnable

      void setMissionChannelEnable(int channel, boolean enable) throws OneWireException, OneWireIOException
      Enables/disables the specified mission channel, indicating whether or not the channel's readings will be recorded in the mission log.
      Parameters:
      channel - the channel to enable/disable
      enable - if true, the channel is enabled
      Throws:
      OneWireException
      OneWireIOException
    • getMissionChannelEnable

      boolean getMissionChannelEnable(int channel) throws OneWireException, OneWireIOException
      Returns true if the specified mission channel is enabled, indicating that the channel's readings will be recorded in the mission log.
      Parameters:
      channel - the channel to enable/disable
      Throws:
      OneWireException
      OneWireIOException
    • getMissionLabel

      String getMissionLabel(int channel) throws OneWireException, OneWireIOException
      Returns a default friendly label for each channel supported by this Missioning device.
      Parameters:
      channel - the mission channel, between 0 and (getNumberOfMissionChannels()-1)
      Returns:
      friendly label for the specified channel
      Throws:
      OneWireException
      OneWireIOException
    • getMissionTimeStamp

      long getMissionTimeStamp(int channel) throws OneWireException, OneWireIOException
      Returns the time, in milliseconds, that the mission began.
      Parameters:
      channel - the mission channel, between 0 and (getNumberOfMissionChannels()-1)
      Returns:
      time, in milliseconds, that the mission began
      Throws:
      OneWireException
      OneWireIOException
    • getFirstSampleOffset

      long getFirstSampleOffset(int channel) throws OneWireException, OneWireIOException
      Returns the amount of time, in milliseconds, before the first sample occurred. If rollover disabled, or datalog didn't fill up, this will be 0.
      Parameters:
      channel - the mission channel, between 0 and (getNumberOfMissionChannels()-1)
      Returns:
      time, in milliseconds, before first sample occurred
      Throws:
      OneWireException
      OneWireIOException
    • getMissionSampleRate

      int getMissionSampleRate(int channel) throws OneWireException, OneWireIOException
      Returns the amount of time, in seconds, between samples taken by this missioning device.
      Parameters:
      channel - the mission channel, between 0 and (getNumberOfMissionChannels()-1)
      Returns:
      time, in seconds, between sampling
      Throws:
      OneWireException
      OneWireIOException
    • getMissionSampleCount

      int getMissionSampleCount(int channel) throws OneWireException, OneWireIOException
      Returns the number of samples taken for the specified channel during the current mission.
      Parameters:
      channel - the mission channel, between 0 and (getNumberOfMissionChannels()-1)
      Returns:
      number of samples taken for the specified channel
      Throws:
      OneWireException
      OneWireIOException
    • getMissionSampleCountTotal

      int getMissionSampleCountTotal(int channel) throws OneWireException, OneWireIOException
      Returns the total number of samples taken for the specified channel during the current mission. This number can be more than the actual sample count if rollover is enabled and the log has been filled.
      Parameters:
      channel - the mission channel, between 0 and (getNumberOfMissionChannels()-1)
      Returns:
      number of samples taken for the specified channel
      Throws:
      OneWireException
      OneWireIOException
    • getMissionSample

      double getMissionSample(int channel, int sampleNum) throws OneWireException, OneWireIOException
      Returns the value of each sample taken by the current mission.
      Parameters:
      channel - the mission channel, between 0 and (getNumberOfMissionChannels()-1)
      sampleNum - the sample number to return, between 0 and (getMissionSampleCount(channel)-1)
      Returns:
      the value of the specified sample on the specified channel
      Throws:
      OneWireException
      OneWireIOException
    • getMissionSampleAsInteger

      int getMissionSampleAsInteger(int channel, int sampleNum) throws OneWireException, OneWireIOException
      Returns the sample as an integer value. This value is not converted to degrees Celsius for temperature or to percent RH for Humidity. It is simply the 8 or 16 bits of digital data written in the mission log for this sample entry. It is up to the user to mask off the unused bits and convert this value to it's proper units. This method is primarily for users of the DS2422 who are using an input device which is not an A-D or have an A-D wholly dissimilar to the one specified in the datasheet.
      Parameters:
      channel - the mission channel, between 0 and (getNumberOfMissionChannels()-1)
      sampleNum - the sample number to return, between 0 and (getMissionSampleCount(channel)-1)
      Returns:
      the sample as a whole integer
      Throws:
      OneWireException
      OneWireIOException
    • getMissionSampleTimeStamp

      long getMissionSampleTimeStamp(int channel, int sampleNum) throws OneWireException, OneWireIOException
      Returns the time, in milliseconds, that each sample was taken by the current mission.
      Parameters:
      channel - the mission channel, between 0 and (getNumberOfMissionChannels()-1)
      sampleNum - the sample number to return, between 0 and (getMissionSampleCount(channel)-1)
      Returns:
      the sample's timestamp, in milliseconds
      Throws:
      OneWireException
      OneWireIOException
    • getMissionResolutions

      double[] getMissionResolutions(int channel) throws OneWireException, OneWireIOException
      Returns all available resolutions for the specified mission channel.
      Parameters:
      channel - the mission channel, between 0 and (getNumberOfMissionChannels()-1)
      Returns:
      all available resolutions for the specified mission channel.
      Throws:
      OneWireException
      OneWireIOException
    • getMissionResolution

      double getMissionResolution(int channel) throws OneWireException, OneWireIOException
      Returns the currently selected resolution for the specified channel.
      Parameters:
      channel - the mission channel, between 0 and (getNumberOfMissionChannels()-1)
      Returns:
      the currently selected resolution for the specified channel.
      Throws:
      OneWireException
      OneWireIOException
    • setMissionResolution

      void setMissionResolution(int channel, double resolution) throws OneWireException, OneWireIOException
      Sets the selected resolution for the specified channel.
      Parameters:
      channel - the mission channel, between 0 and (getNumberOfMissionChannels()-1)
      resolution - the new resolution for the specified channel.
      Throws:
      OneWireException
      OneWireIOException
    • hasMissionAlarms

      boolean hasMissionAlarms(int channel)
      Indicates whether or not the specified channel of this missioning device has mission alarm capabilities.
      Parameters:
      channel - the mission channel, between 0 and (getNumberOfMissionChannels()-1)
      Returns:
      true if the device has mission alarms for the specified channel.
    • hasMissionAlarmed

      boolean hasMissionAlarmed(int channel, int alarmType) throws OneWireException, OneWireIOException
      Returns true if the specified channel's alarm value of the specified type has been triggered during the mission.
      Parameters:
      channel - the mission channel, between 0 and (getNumberOfMissionChannels()-1)
      alarmType - valid value: ALARM_HIGH or ALARM_LOW
      Returns:
      true if the alarm was triggered.
      Throws:
      OneWireException
      OneWireIOException
    • getMissionAlarmEnable

      boolean getMissionAlarmEnable(int channel, int alarmType) throws OneWireException, OneWireIOException
      Returns true if the alarm of the specified type has been enabled for the specified channel.
      Parameters:
      channel - the mission channel, between 0 and (getNumberOfMissionChannels()-1)
      alarmType - valid value: ALARM_HIGH or ALARM_LOW
      Returns:
      true if the alarm of the specified type has been enabled for the specified channel.
      Throws:
      OneWireException
      OneWireIOException
    • setMissionAlarmEnable

      void setMissionAlarmEnable(int channel, int alarmType, boolean enable) throws OneWireException, OneWireIOException
      Enables/disables the alarm of the specified type for the specified channel
      Parameters:
      channel - the mission channel, between 0 and (getNumberOfMissionChannels()-1)
      alarmType - valid value: ALARM_HIGH or ALARM_LOW
      enable - if true, alarm is enabled.
      Throws:
      OneWireException
      OneWireIOException
    • getMissionAlarm

      double getMissionAlarm(int channel, int alarmType) throws OneWireException, OneWireIOException
      Returns the threshold value which will trigger the alarm of the specified type on the specified channel.
      Parameters:
      channel - the mission channel, between 0 and (getNumberOfMissionChannels()-1)
      alarmType - valid value: ALARM_HIGH or ALARM_LOW
      Returns:
      the threshold value which will trigger the alarm
      Throws:
      OneWireException
      OneWireIOException
    • setMissionAlarm

      void setMissionAlarm(int channel, int alarmType, double threshold) throws OneWireException, OneWireIOException
      Sets the threshold value which will trigger the alarm of the specified type on the specified channel.
      Parameters:
      channel - the mission channel, between 0 and (getNumberOfMissionChannels()-1)
      alarmType - valid value: ALARM_HIGH or ALARM_LOW
      threshold - the threshold value which will trigger the alarm
      Throws:
      OneWireException
      OneWireIOException