ch.aplu.nxt
Class UltrasonicSensor

java.lang.Object
  extended by ch.aplu.nxt.Part
      extended by ch.aplu.nxt.Sensor
          extended by ch.aplu.nxt.I2CSensor
              extended by ch.aplu.nxt.UltrasonicSensor
All Implemented Interfaces:
SharedConstants

public class UltrasonicSensor
extends I2CSensor

Class that represents an ultrasonic sensor. Most of the code and the documentation taken from the leJOS library (lejos.sourceforge.net, with thanks to the autor.


Field Summary
 
Fields inherited from interface ch.aplu.nxt.SharedConstants
ABOUT, ACCELEROMETERPOLLDELAY, ANGLE, ANGLESTEPSMODE, AXELENGTH, BOOLEANMODE, BOOT, BRAKE, BRAKEDELAY, CELSIUSMODE, CLOSE, COLORPOLLDELAY, COMPASSPOLLDELAY, CRAWLERROTATIONFACTOR, CRAWLERROTATIONSPEED, CRAWLERSPEED, CRAWLERSTEPFACTOR, CUSTOM, DEBUG_LEVEL_HIGH, DEBUG_LEVEL_LOW, DEBUG_LEVEL_MEDIUM, DEBUG_LEVEL_OFF, DEBUGLEVEL, DELETE, DELETE_USER_FLASH, DIRECT_COMMAND_NOREPLY, DIRECT_COMMAND_REPLY, FAHRENHEITMODE, FIND_FIRST, FIND_NEXT, GEARSPEED, GET_BATTERY_LEVEL, GET_CURRENT_PROGRAM_NAME, GET_DEVICE_INFO, GET_FIRMWARE_VERSION, GET_INPUT_VALUES, GET_OUTPUT_STATE, GYROPOLLDELAY, HIGH_SPEED_BUFFER, INFRAREDSEEKERPOLLDELAY, KEEP_ALIVE, LIGHT_ACTIVE, LIGHT_INACTIVE, LIGHTPOLLDELAY, LOWSPEED, LOWSPEED_9V, LS_GET_STATUS, LS_READ, LS_WRITE, MESSAGE_READ, MESSAGE_WRITE, MODEMASK, MOTIONDETECTORPOLLDELAY, MOTOR_RUN_STATE_IDLE, MOTOR_RUN_STATE_RAMPDOWN, MOTOR_RUN_STATE_RAMPUP, MOTOR_RUN_STATE_RUNNING, MOTORON, MOTORSPEED, MOTORSPEEDFACTOR, MOTORSPEEDMULTIPLIER, NO_OF_SENSOR_TYPES, NO_SENSOR, OPEN_APPEND_DATA, OPEN_READ, OPEN_READ_LINEAR, OPEN_WRITE, OPEN_WRITE_DATA, OPEN_WRITE_LINEAR, PCTFULLSCALEMODE, PERIODCOUNTERMODE, PLAY_SOUND_FILE, PLAY_TONE, POLL, POLL_BUFFER, POLL_LENGTH, PROTOTYPEPOLLDELAY, RAWMODE, READ, REFLECTION, REGULATED, REGULATION_MODE_IDLE, REGULATION_MODE_MOTOR_SPEED, REGULATION_MODE_MOTOR_SYNC, REPLY_COMMAND, RESET_MOTOR_POSITION, RESET_SCALED_INPUT_VALUE, RFIDPOLLDELAY, SENSOREVENTDELAY, SET_BRICK_NAME, SET_INPUT_MODE, SET_OUTPUT_STATE, SLOPEMASK, SOUND_DB, SOUND_DBA, SOUNDPOLLDELAY, START_PROGRAM, STOP_PROGRAM, STOP_SOUND_PLAYBACK, SWITCH, SYSTEM_COMMAND_NOREPLY, SYSTEM_COMMAND_REPLY, TEMPERATURE, TITLE, TITLEMP, TOUCHPOLLDELAY, TRANSITIONCNTMODE, TURTLEROTATIONFACTOR, TURTLEROTATIONSPEED, TURTLESPEED, TURTLESTEPFACTOR, ULTRASONICPOLLDELAY, VERSION, WRITE
 
Constructor Summary
UltrasonicSensor()
          Creates a sensor instance connected to port S1.
UltrasonicSensor(SensorPort port)
          Creates a sensor instance connected to the given port.
 
Method Summary
 void addUltrasonicListener(UltrasonicListener ultrasonicListener)
          Registers the given ultrasonic listener with default trigger level 20.
 void addUltrasonicListener(UltrasonicListener ultrasonicListener, int triggerLevel)
          Registers the given ultrasonic listener for the given trigger level.
 int getDistance()
          Polls the sensor.
 lejos.nxt.UltrasonicSensor getLejosSensor()
          Returns the reference of the the underlying lejos.nxt.UltrasonicSensor.
 int setTriggerLevel(int triggerLevel)
          Sets a new trigger level and returns the previous one.
 
Methods inherited from class ch.aplu.nxt.I2CSensor
getData, getLejosI2CSensor, getLejosPort, getProductID, getVersion, sendData, sendData
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UltrasonicSensor

public UltrasonicSensor(SensorPort port)
Creates a sensor instance connected to the given port.

Parameters:
port - the port where the sensor is plugged-in

UltrasonicSensor

public UltrasonicSensor()
Creates a sensor instance connected to port S1.

Method Detail

addUltrasonicListener

public void addUltrasonicListener(UltrasonicListener ultrasonicListener,
                                  int triggerLevel)
Registers the given ultrasonic listener for the given trigger level. If the touch thread is not yet started, start it now.

Parameters:
ultrasonicListener - the UltrasonicListener to become registered.
triggerLevel - the trigger level where the callback is triggered

addUltrasonicListener

public void addUltrasonicListener(UltrasonicListener ultrasonicListener)
Registers the given ultrasonic listener with default trigger level 20.

Parameters:
ultrasonicListener - the UltrasonicListener to become registered.

setTriggerLevel

public int setTriggerLevel(int triggerLevel)
Sets a new trigger level and returns the previous one.

Parameters:
triggerLevel - the new trigger level
Returns:
the previous trigger level

getDistance

public int getDistance()
Polls the sensor.

Returns:
the current distance to the closest object in cm

getLejosSensor

public lejos.nxt.UltrasonicSensor getLejosSensor()
Returns the reference of the the underlying lejos.nxt.UltrasonicSensor.

Returns:
the reference of the UltrasonicSensor