ch.aplu.nxt
Class SoundSensor

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

public class SoundSensor
extends Sensor
implements SharedConstants

Class that represents a sound sensor.


Field Summary
 
Fields inherited from class ch.aplu.nxt.Part
robot
 
Fields inherited from interface ch.aplu.nxt.SharedConstants
ABOUT, ANGLE, ANGLESTEPSMODE, BOOLEANMODE, BOOT, BRAKE, CELSIUSMODE, CLOSE, CUSTOM, DEBUG_LEVEL_HIGH, DEBUG_LEVEL_LOW, DEBUG_LEVEL_MEDIUM, DEBUG_LEVEL_OFF, DELETE, DELETE_USER_FLASH, DIRECT_COMMAND_NOREPLY, DIRECT_COMMAND_REPLY, FAHRENHEITMODE, FIND_FIRST, FIND_NEXT, GET_BATTERY_LEVEL, GET_CURRENT_PROGRAM_NAME, GET_DEVICE_INFO, GET_FIRMWARE_VERSION, GET_INPUT_VALUES, GET_OUTPUT_STATE, HIGH_SPEED_BUFFER, KEEP_ALIVE, LIGHT_ACTIVE, LIGHT_INACTIVE, LOWSPEED, LOWSPEED_9V, LS_GET_STATUS, LS_READ, LS_WRITE, MESSAGE_READ, MESSAGE_WRITE, MODEMASK, MOTOR_RUN_STATE_IDLE, MOTOR_RUN_STATE_RAMPDOWN, MOTOR_RUN_STATE_RAMPUP, MOTOR_RUN_STATE_RUNNING, MOTORON, NO_OF_SENSOR_TYPES, NO_SENSOR, NXJ_FIND_FIRST, NXJ_FIND_NEXT, 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, RAWMODE, READ, REFLECTION, REGULATED, REGULATION_MODE_IDLE, REGULATION_MODE_MOTOR_SPEED, REGULATION_MODE_MOTOR_SYNC, REPLY_COMMAND, RESET_MOTOR_POSITION, RESET_SCALED_INPUT_VALUE, SET_BRICK_NAME, SET_INPUT_MODE, SET_OUTPUT_STATE, SLOPEMASK, SOUND_DB, SOUND_DBA, START_PROGRAM, STOP_PROGRAM, STOP_SOUND_PLAYBACK, SWITCH, SYSTEM_COMMAND_NOREPLY, SYSTEM_COMMAND_REPLY, TEMPERATURE, TITLE, TITLEMP, TRANSITIONCNTMODE, VERSION, WRITE
 
Constructor Summary
SoundSensor()
          Creates a sensor instance connected to port S1.
SoundSensor(SensorPort port)
          Creates a sensor instance connected to the given port.
 
Method Summary
 void addSoundListener(SoundListener soundListener, int triggerLevel)
          Registers the given sound listener for the given trigger level.
protected  void cleanup()
           
 int getValue()
          Polls the sensor.
protected  void init()
           
protected  void startSoundThread()
           
protected  void stopSoundThread()
           
 
Methods inherited from class ch.aplu.nxt.Sensor
getPort, getPortId, getPortLabel, LSRead, LSWrite, readBooleanValue, readNormalizedValue, readRawValue, readScaledValue, setTypeAndMode
 
Methods inherited from class ch.aplu.nxt.Part
setRobot
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SoundSensor

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

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

SoundSensor

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

Method Detail

init

protected void init()
Specified by:
init in class Part

cleanup

protected void cleanup()
Specified by:
cleanup in class Part

addSoundListener

public void addSoundListener(SoundListener soundListener,
                             int triggerLevel)
Registers the given sound listener for the given trigger level. If the sound thread is not yet started, start it now.

Parameters:
soundListener - the SoundListener to become registered.
triggerLevel - the trigger level where the callback is triggered

startSoundThread

protected void startSoundThread()

stopSoundThread

protected void stopSoundThread()

getValue

public int getValue()
Polls the sensor.

Returns:
the current value the sensor reported: 0 (quiet) .. 150 (loud)