public class PulseCounterConfig extends java.lang.Object implements PeripheralConfig<PulseCounter>, PeripheralConfig.HardwareAddressing
PulseCounterConfig
class encapsulates the hardware addressing information, and static
and dynamic configuration parameters of a pulse counter.
Some hardware addressing parameter, and static and dynamic configuration parameters may be set to
PeripheralConfig.DEFAULT
. Whether such default settings are supported is platform- as well as peripheral
driver-dependent.
An instance of PulseCounterConfig
can be passed to the
PeripheralManager.open(PeripheralConfig)
or
PeripheralManager.open(Class, PeripheralConfig)
method to open the designated counter
with the specified configuration. A PeripheralConfigInvalidException
is thrown when
attempting to open a peripheral device with an invalid or unsupported configuration.PeripheralConfig.HardwareAddressing
Modifier and Type | Field and Description |
---|---|
static int |
TYPE_FALLING_EDGE_ONLY
Falling pulse edge (counting only falling pulse edges).
|
static int |
TYPE_NEGATIVE_PULSE
Negative edge pulse: measured from falling edge to rising edge (counting well-formed negative
edge pulses).
|
static int |
TYPE_POSITIVE_PULSE
Positive edge pulse: measured from rising edge to falling edge (counting well-formed positive
edge pulses).
|
static int |
TYPE_RISING_EDGE_ONLY
Rising pulse edge (counting only rising pulse edges).
|
DEFAULT
Constructor and Description |
---|
PulseCounterConfig(int deviceNumber,
int channelNumber,
int type)
Creates a new
PulseCounterConfig with the specified hardware addressing information
and type. |
PulseCounterConfig(int deviceNumber,
int channelNumber,
int type,
GPIOPin source)
Creates a new
PulseCounterConfig the specified hardware addressing information, type
and GPIO pin source. |
PulseCounterConfig(int deviceNumber,
int channelNumber,
int type,
GPIOPinConfig source)
Creates a new
PulseCounterConfig the specified hardware addressing information, type
and GPIO pin source. |
PulseCounterConfig(java.lang.String deviceName,
int channelNumber,
int type)
Creates a new
PulseCounterConfig with the specified hardware addressing information
and type. |
PulseCounterConfig(java.lang.String deviceName,
int channelNumber,
int type,
GPIOPin source)
Creates a new
PulseCounterConfig the specified hardware addressing information, type
and GPIO pin source. |
PulseCounterConfig(java.lang.String deviceName,
int channelNumber,
int type,
GPIOPinConfig source)
Creates a new
PulseCounterConfig the specified hardware addressing information, type
and GPIO pin source. |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object obj)
Checks two
PulseCounterConfig objects for equality. |
int |
getChannelNumber()
Gets the configured counter number.
|
java.lang.String |
getDeviceName()
Gets the configured device name (such as to its device file name on UNIX systems).
|
int |
getDeviceNumber()
Gets the configured device number.
|
GPIOPin |
getSource()
Gets the configured input source on which the pulses are to be counted/measured.
|
GPIOPinConfig |
getSourceConfig()
Gets the configured input source configuration on which the pulses are to be
counted/measured.
|
int |
getType()
Gets the configured pulse or pulse edge type.
|
int |
hashCode()
Returns the hash code value for this object.
|
public static final int TYPE_FALLING_EDGE_ONLY
GPIOPinConfig.TRIGGER_FALLING_EDGE
trigger mode.public static final int TYPE_NEGATIVE_PULSE
GPIOPinConfig.TRIGGER_BOTH_EDGES
trigger mode.public static final int TYPE_POSITIVE_PULSE
GPIOPinConfig.TRIGGER_BOTH_EDGES
trigger mode.public static final int TYPE_RISING_EDGE_ONLY
GPIOPinConfig.TRIGGER_RISING_EDGE
trigger mode.public PulseCounterConfig(int deviceNumber, int channelNumber, int type)
PulseCounterConfig
with the specified hardware addressing information
and type. The source of the pulse counter is implicit (such as a dedicated input pin).deviceNumber
- the hardware controller's number (a positive or zero integer) or PeripheralConfig.DEFAULT
.channelNumber
- the hardware counter's number (a positive or zero integer) or PeripheralConfig.DEFAULT
.type
- the pulse or pulse edge type: TYPE_FALLING_EDGE_ONLY
,
TYPE_RISING_EDGE_ONLY
, TYPE_NEGATIVE_PULSE
or
TYPE_POSITIVE_PULSE
.java.lang.IllegalArgumentException
- if any of the following is true:
deviceNumber
is not in the defined range;channelNumber
is not in the defined range;type
is not one of the defined values.public PulseCounterConfig(int deviceNumber, int channelNumber, int type, GPIOPin source)
PulseCounterConfig
the specified hardware addressing information, type
and GPIO pin source.
Note that if the provided source is open in an access mode (
PeripheralManager.EXCLUSIVE
or PeripheralManager.SHARED
) that is not
supported by the underlying PusleCounter
device or device driver, attempting to open
the PulseCounter
peripheral using this configuration may result in a
PeripheralConfigInvalidException
to be thrown. A concurrent runtime change of the
dynamic configuration parameters of the source (such as of its direction) may result in
IOException
being thrown by counting operations.deviceNumber
- the hardware controller's number (a positive or zero integer) or PeripheralConfig.DEFAULT
.channelNumber
- the hardware counter's number (a positive or zero integer) or PeripheralConfig.DEFAULT
.type
- the pulse or pulse edge type: TYPE_FALLING_EDGE_ONLY
,
TYPE_RISING_EDGE_ONLY
, TYPE_NEGATIVE_PULSE
or
TYPE_POSITIVE_PULSE
.source
- the configuration of the source (a GPIO input pin) on which the pulses are to be
counted.java.lang.IllegalArgumentException
- if any of the following is true:
deviceNumber
is not in the defined range;channelNumber
is not in the defined range;type
is not
one of the defined values;java.lang.NullPointerException
- if source
is null
.public PulseCounterConfig(int deviceNumber, int channelNumber, int type, GPIOPinConfig source)
PulseCounterConfig
the specified hardware addressing information, type
and GPIO pin source.deviceNumber
- the hardware controller's number (a positive or zero integer) or PeripheralConfig.DEFAULT
.channelNumber
- the hardware counter's number (a positive or zero integer) or PeripheralConfig.DEFAULT
.type
- the pulse or pulse edge type: TYPE_FALLING_EDGE_ONLY
,
TYPE_RISING_EDGE_ONLY
, TYPE_NEGATIVE_PULSE
or
TYPE_POSITIVE_PULSE
.source
- the configuration of the source (a GPIO input pin) on which the pulses are to be
counted.java.lang.IllegalArgumentException
- if any of the following is true:
deviceNumber
is not in the defined range;channelNumber
is not in the defined range;type
is not one of the defined values;java.lang.NullPointerException
- if source
is null
.public PulseCounterConfig(java.lang.String deviceName, int channelNumber, int type)
PulseCounterConfig
with the specified hardware addressing information
and type. The source of the pulse counter is implicit (such as a dedicated input pin).deviceName
- the device name (such as to its device file name on UNIX systems).channelNumber
- the hardware counter's number (a positive or zero integer) or PeripheralConfig.DEFAULT
.type
- the pulse or pulse edge type: TYPE_FALLING_EDGE_ONLY
,
TYPE_RISING_EDGE_ONLY
, TYPE_NEGATIVE_PULSE
or
TYPE_POSITIVE_PULSE
.java.lang.NullPointerException
- if deviceName
is null
.java.lang.IllegalArgumentException
- if any of the following is true:
channelNumber
is not in the defined range;type
is not one of the defined values.public PulseCounterConfig(java.lang.String deviceName, int channelNumber, int type, GPIOPinConfig source)
PulseCounterConfig
the specified hardware addressing information, type
and GPIO pin source.deviceName
- the device name (such as to its device file name on UNIX systems).channelNumber
- the hardware counter's number (a positive or zero integer) or PeripheralConfig.DEFAULT
.type
- the pulse or pulse edge type: TYPE_FALLING_EDGE_ONLY
,
TYPE_RISING_EDGE_ONLY
, TYPE_NEGATIVE_PULSE
or
TYPE_POSITIVE_PULSE
.source
- the configuration of the source (a GPIO input pin) on which the pulses are to be
counted.java.lang.IllegalArgumentException
- if any of the following is true:
channelNumber
is not in the defined range;type
is not one of the defined values;java.lang.NullPointerException
- if deviceName
or source
is null
.public PulseCounterConfig(java.lang.String deviceName, int channelNumber, int type, GPIOPin source)
PulseCounterConfig
the specified hardware addressing information, type
and GPIO pin source.
Note that if the provided source is open in an access mode (
PeripheralManager.EXCLUSIVE
or PeripheralManager.SHARED
) that is not
supported by the underlying PusleCounter
device or device driver, attempting to open
the PulseCounter
peripheral using this configuration may result in a
PeripheralConfigInvalidException
to be thrown. A concurrent runtime change of the
dynamic configuration parameters of the source (such as of its direction) may result in
IOException
being thrown by counting operations.deviceName
- the device name (such as to its device file name on UNIX systems).channelNumber
- the hardware counter's number (a positive or zero integer) or PeripheralConfig.DEFAULT
.type
- the pulse or pulse edge type: TYPE_FALLING_EDGE_ONLY
,
TYPE_RISING_EDGE_ONLY
, TYPE_NEGATIVE_PULSE
or
TYPE_POSITIVE_PULSE
.source
- the configuration of the source (a GPIO input pin) on which the pulses are to be
counted.java.lang.IllegalArgumentException
- if any of the following is true:
channelNumber
is not in the defined range;type
is
not one of the defined values;java.lang.NullPointerException
- if deviceName
or source
is null
.public int getDeviceNumber()
getDeviceNumber
in interface PeripheralConfig.HardwareAddressing
PeripheralConfig.DEFAULT
.public int getChannelNumber()
PeripheralConfig.DEFAULT
.public java.lang.String getDeviceName()
getDeviceName
in interface PeripheralConfig.HardwareAddressing
null
.public GPIOPin getSource()
null
if the
source is implicit.public GPIOPinConfig getSourceConfig()
null
if the source is implicit.public int getType()
TYPE_FALLING_EDGE_ONLY
,
TYPE_RISING_EDGE_ONLY
, TYPE_NEGATIVE_PULSE
or
TYPE_POSITIVE_PULSE
.public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object obj)
PulseCounterConfig
objects for equality.equals
in class java.lang.Object
obj
- the object to test for equality with this object.true
if obj
is a PulseCounterConfig
and has the same hardware
addressing information and configuration parameter values as this
PulseCounterConfig
object.Copyright © 2012, 2014, Oracle and/or its affiliates. All rights reserved.
Legal Notices