Class LircMode2

java.lang.Object
org.harctoolbox.harchardware.ir.LircMode2
All Implemented Interfaces:
Closeable, AutoCloseable, IHarcHardware, ICapture, IIrReader, IReceive

public final class LircMode2 extends Object implements IHarcHardware, ICapture, IReceive
This class runs an external program, for example mode2 of LIRC, in a separate process, and evaluates its output, which is assumed to be in the LIRC mode2 format.
  • Constructor Details

    • LircMode2

      public LircMode2(Reader reader, boolean verbose, int endingTimeout)
    • LircMode2

      public LircMode2(InputStream inputStream, boolean verbose, int endingTimeout)
    • LircMode2

      public LircMode2(boolean verbose, int endingTimeout)
  • Method Details

    • getVersion

      public String getVersion()
      Description copied from interface: IHarcHardware
      Returns the hardware version (not the version of the driver software). May be null if no relevant information available.
      Specified by:
      getVersion in interface IHarcHardware
      Returns:
      Version string. Semantics can vary.
    • setVerbose

      public void setVerbose(boolean verbose)
      Description copied from interface: IHarcHardware
      Sets a verbosity flag, causing commands to be executed verbosely. Exact semantic depends on the implementation. Typically, all communication with the device is echoed to stderr.
      Specified by:
      setVerbose in interface IHarcHardware
      Parameters:
      verbose - on or off
    • setDebug

      public void setDebug(int debug)
      Description copied from interface: IHarcHardware
      Sets a debug parameter. Exact semantic depends on the implementation.
      Specified by:
      setDebug in interface IHarcHardware
    • isValid

      public boolean isValid()
      Description copied from interface: IHarcHardware
      Checks validity of an instance. Exact meaning can vary.
      Specified by:
      isValid in interface IHarcHardware
      Returns:
      validity of the instance.
    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Throws:
      IOException
    • open

      public void open() throws IOException
      Description copied from interface: IHarcHardware
      Opens the device with previously set parameters.
      Specified by:
      open in interface IHarcHardware
      Throws:
      IOException
    • capture

      public org.harctoolbox.ircore.ModulatedIrSequence capture() throws HarcHardwareException, IOException
      Description copied from interface: ICapture
      Listens to the device and returns a sequence. Requires the device to be previously opened. Should itself neither open or close the device.
      Specified by:
      capture in interface ICapture
      Returns:
      Captured sequence, or null by timeout.
      Throws:
      HarcHardwareException - if the device is not in valid/open state.
      IOException
    • stopCapture

      public boolean stopCapture()
      Description copied from interface: ICapture
      Signals the capturing device that it should stop capturing. May not be implemented in all hardware.
      Specified by:
      stopCapture in interface ICapture
      Returns:
      status
    • setEndingTimeout

      public void setEndingTimeout(int timeout)
      Specified by:
      setEndingTimeout in interface IIrReader
    • receive

      public org.harctoolbox.ircore.IrSequence receive() throws IOException, HarcHardwareException
      Description copied from interface: IReceive
      Listens to the device and returns a sequence. Requires the device to be previously opened. Should itself neither open or close the device.
      Specified by:
      receive in interface IReceive
      Returns:
      Captured sequence, or null by timeout.
      Throws:
      IOException
      HarcHardwareException - if the device is not in valid/open state.
    • stopReceive

      public boolean stopReceive()
      Description copied from interface: IReceive
      Signals the receiving device that it should stop receiving. May not be implemented in all hardware.
      Specified by:
      stopReceive in interface IReceive
      Returns:
      status
    • setTimeout

      public void setTimeout(int timeout) throws IOException
      Description copied from interface: IHarcHardware
      Set timeout in milliseconds. Exact semantics may be dependent on the hardware.
      Specified by:
      setTimeout in interface IHarcHardware
      Parameters:
      timeout - Timeout in milliseconds.
      Throws:
      IOException
    • setBeginTimeout

      public void setBeginTimeout(int integer) throws IOException
      Specified by:
      setBeginTimeout in interface IIrReader
      Throws:
      IOException
    • setCaptureMaxSize

      public void setCaptureMaxSize(int integer)
      Specified by:
      setCaptureMaxSize in interface IIrReader