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 int ALARM_HIGH
      Indicates the high alarm.
      static int ALARM_LOW
      Indicates the low alarm.
    • Method Detail

      • 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
      • isMissionLoaded

        boolean isMissionLoaded()
      • 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

        java.lang.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