|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.wpi.first.wpilibj.SensorBase
edu.wpi.first.wpilibj.Ultrasonic
public class Ultrasonic
Ultrasonic rangefinder class. The Ultrasonic rangefinder measures absolute distance based on the round-trip time of a ping generated by the controller. These sensors use two transducers, a speaker and a microphone both tuned to the ultrasonic range. A common ultrasonic sensor, the Daventech SRF04 requires a short pulse to be generated on a digital channel. This causes the chirp to be emmitted. A second line becomes high as the ping is transmitted and goes low when the echo is received. The time that the line is high determines the round trip distance (time of flight).
Nested Class Summary | |
---|---|
static class |
Ultrasonic.Unit
The units to return when PIDGet is called |
Nested classes/interfaces inherited from interface edu.wpi.first.wpilibj.PIDSource |
---|
PIDSource.PIDSourceParameter |
Field Summary |
---|
Fields inherited from class edu.wpi.first.wpilibj.SensorBase |
---|
kAnalogChannels, kAnalogModules, kDigitalChannels, kPwmChannels, kRelayChannels, kSolenoidChannels, kSolenoidModules, kSystemClockTicksPerMicrosecond |
Constructor Summary | |
---|---|
Ultrasonic(DigitalOutput pingChannel,
DigitalInput echoChannel)
Create an instance of an Ultrasonic Sensor from a DigitalInput for the echo channel and a DigitalOutput for the ping channel. |
|
Ultrasonic(DigitalOutput pingChannel,
DigitalInput echoChannel,
Ultrasonic.Unit units)
Create an instance of an Ultrasonic Sensor from a DigitalInput for the echo channel and a DigitalOutput for the ping channel. |
|
Ultrasonic(int pingChannel,
int echoChannel)
Create an instance of the Ultrasonic Sensor using the default module. |
|
Ultrasonic(int pingSlot,
int pingChannel,
int echoSlot,
int echoChannel)
Create an instance of the Ultrasonic sensor using specified modules. |
|
Ultrasonic(int pingSlot,
int pingChannel,
int echoSlot,
int echoChannel,
Ultrasonic.Unit units)
Create an instance of the Ultrasonic sensor using specified modules. |
|
Ultrasonic(int pingChannel,
int echoChannel,
Ultrasonic.Unit units)
Create an instance of the Ultrasonic Sensor using the default module. |
Method Summary | |
---|---|
void |
free()
Destructor for the ultrasonic sensor. |
Ultrasonic.Unit |
getDistanceUnits()
Get the current DistanceUnit that is used for the PIDSource base object. |
double |
getRangeInches()
Get the range in inches from the ultrasonic sensor. |
double |
getRangeMM()
Get the range in millimeters from the ultrasonic sensor. |
java.lang.String |
getSmartDashboardType()
|
ITable |
getTable()
|
void |
initTable(ITable subtable)
Initializes a table for this sendable object. |
boolean |
isEnabled()
Is the ultrasonic enabled |
boolean |
isRangeValid()
Check if there is a valid range measurement. |
double |
pidGet()
Get the range in the current DistanceUnit for the PIDSource base object. |
void |
ping()
Single ping to ultrasonic sensor. |
void |
setAutomaticMode(boolean enabling)
Turn Automatic mode on/off. |
void |
setDistanceUnits(Ultrasonic.Unit units)
Set the current DistanceUnit that should be used for the PIDSource base object. |
void |
setEnabled(boolean enable)
Set if the ultrasonic is enabled |
void |
startLiveWindowMode()
Start having this sendable object automatically respond to value changes reflect the value on the table. |
void |
stopLiveWindowMode()
Stop having this sendable object automatically respond to value changes. |
void |
updateTable()
Update the table for this sendable object with the latest values. |
Methods inherited from class edu.wpi.first.wpilibj.SensorBase |
---|
checkAnalogChannel, checkAnalogModule, checkDigitalChannel, checkDigitalModule, checkPWMChannel, checkPWMModule, checkRelayChannel, checkRelayModule, checkSolenoidChannel, checkSolenoidModule, getDefaultAnalogModule, getDefaultDigitalModule, getDefaultSolenoidModule, setDefaultAnalogModule, setDefaultDigitalModule, setDefaultSolenoidModule |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public Ultrasonic(int pingChannel, int echoChannel, Ultrasonic.Unit units)
pingChannel
- The digital output channel that sends the pulse to initiate the sensor sending
the ping.echoChannel
- The digital input channel that receives the echo. The length of time that the
echo is high represents the round trip time of the ping, and the distance.units
- The units returned in either kInches or kMilliMeterspublic Ultrasonic(int pingChannel, int echoChannel)
pingChannel
- The digital output channel that sends the pulse to initiate the sensor sending
the ping.echoChannel
- The digital input channel that receives the echo. The length of time that the
echo is high represents the round trip time of the ping, and the distance.public Ultrasonic(DigitalOutput pingChannel, DigitalInput echoChannel, Ultrasonic.Unit units)
pingChannel
- The digital output object that starts the sensor doing a ping. Requires a 10uS pulse to start.echoChannel
- The digital input object that times the return pulse to determine the range.units
- The units returned in either kInches or kMilliMeterspublic Ultrasonic(DigitalOutput pingChannel, DigitalInput echoChannel)
pingChannel
- The digital output object that starts the sensor doing a ping. Requires a 10uS pulse to start.echoChannel
- The digital input object that times the return pulse to determine the range.public Ultrasonic(int pingSlot, int pingChannel, int echoSlot, int echoChannel, Ultrasonic.Unit units)
pingSlot
- The digital module that the pingChannel is in.pingChannel
- The digital output channel that sends the pulse to initiate the sensor
sending the ping.echoSlot
- The digital module that the echoChannel is in.echoChannel
- The digital input channel that receives the echo. The length of time
that the echo is high represents the round trip time of the ping, and the distance.units
- The units returned in either kInches or kMilliMeterspublic Ultrasonic(int pingSlot, int pingChannel, int echoSlot, int echoChannel)
pingSlot
- The digital module that the pingChannel is in.pingChannel
- The digital output channel that sends the pulse to initiate the sensor
sending the ping.echoSlot
- The digital module that the echoChannel is in.echoChannel
- The digital input channel that receives the echo. The length of time
that the echo is high represents the round trip time of the ping, and the distance.Method Detail |
---|
public void free()
free
in class SensorBase
public void setAutomaticMode(boolean enabling)
enabling
- Set to true if round robin scheduling should start for all the ultrasonic sensors. This
scheduling method assures that the sensors are non-interfering because no two sensors fire at the same time.
If another scheduling algorithm is preffered, it can be implemented by pinging the sensors manually and waiting
for the results to come back.public void ping()
public boolean isRangeValid()
public double getRangeInches()
public double getRangeMM()
public double pidGet()
pidGet
in interface PIDSource
public void setDistanceUnits(Ultrasonic.Unit units)
units
- The DistanceUnit that should be used.public Ultrasonic.Unit getDistanceUnits()
public boolean isEnabled()
public void setEnabled(boolean enable)
enable
- set to true to enable the ultrasonicpublic java.lang.String getSmartDashboardType()
getSmartDashboardType
in interface Sendable
public void initTable(ITable subtable)
initTable
in interface Sendable
subtable
- The table to put the values in.public ITable getTable()
getTable
in interface Sendable
public void updateTable()
updateTable
in interface LiveWindowSendable
public void startLiveWindowMode()
startLiveWindowMode
in interface LiveWindowSendable
public void stopLiveWindowMode()
stopLiveWindowMode
in interface LiveWindowSendable
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |