ch.aplu.nxt
Class LightSensor

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

public class LightSensor
extends Sensor
implements SharedConstants

Class that represents a light 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
LightSensor()
          Creates a sensor instance connected to port S1.
LightSensor(SensorPort port)
          Creates a sensor instance connected to the given port.
 
Method Summary
 void activate(boolean enable)
          Turns on/off the LED used for reflecting light back into the sensor.
 void addLightListener(LightListener lightListener, int triggerLevel)
          Registers the given light listener for the given trigger level.
protected  void cleanup()
           
 int getValue()
          Polls the sensor.
protected  void init()
           
protected  void startLightThread()
           
protected  void stopLightThread()
           
 
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

LightSensor

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

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

LightSensor

public LightSensor()
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

addLightListener

public void addLightListener(LightListener lightListener,
                             int triggerLevel)
Registers the given light listener for the given trigger level. If the touch thread is not yet started, start it now.

Parameters:
lightListener - the LightListener to become registered.
triggerLevel - the trigger level where the callback is triggered

startLightThread

protected void startLightThread()

stopLightThread

protected void stopLightThread()

getValue

public int getValue()
Polls the sensor.

Returns:
the current value the sensor reported: 0 (dark) .. 1023 (bright)

activate

public void activate(boolean enable)
Turns on/off the LED used for reflecting light back into the sensor.

Parameters:
enable - if true, turn the LED on, otherwise turn it off