public class Ultrasonic extends SensorBase implements PIDSource, LiveWindowSendable
Modifier and Type | Class and Description |
---|---|
static class |
Ultrasonic.Unit
The units to return when PIDGet is called
|
PIDSource.PIDSourceParameter
kAnalogInputChannels, kAnalogOutputChannels, kDigitalChannels, kPDPChannels, kPwmChannels, kRelayChannels, kSolenoidChannels, kSolenoidModules, kSystemClockTicksPerMicrosecond
Constructor and Description |
---|
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.
|
Ultrasonic(int pingChannel,
int echoChannel,
Ultrasonic.Unit units)
Create an instance of the Ultrasonic Sensor.
|
Modifier and Type | Method and Description |
---|---|
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.
|
String |
getSmartDashboardType() |
edu.wpi.first.wpilibj.tables.ITable |
getTable() |
void |
initTable(edu.wpi.first.wpilibj.tables.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.
|
checkAnalogInputChannel, checkAnalogOutputChannel, checkDigitalChannel, checkPDPChannel, checkPWMChannel, checkRelayChannel, checkSolenoidChannel, checkSolenoidModule, getDefaultSolenoidModule, setDefaultSolenoidModule
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 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()
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 String getSmartDashboardType()
getSmartDashboardType
in interface Sendable
public void initTable(edu.wpi.first.wpilibj.tables.ITable subtable)
public edu.wpi.first.wpilibj.tables.ITable getTable()
public void updateTable()
updateTable
in interface LiveWindowSendable
public void startLiveWindowMode()
startLiveWindowMode
in interface LiveWindowSendable
public void stopLiveWindowMode()
stopLiveWindowMode
in interface LiveWindowSendable
Copyright © 2015. All rights reserved.