lejos.nxt
Class SensorPort

java.lang.Object
  extended by lejos.nxt.SensorPort
All Implemented Interfaces:
ADSensorPort, BasicSensorPort, I2CPort, LegacySensorPort, NXTProtocol, SensorConstants

public class SensorPort
extends java.lang.Object
implements NXTProtocol, LegacySensorPort, I2CPort

Port class. Contains 4 Port instances.
Usage: Port.S4.readValue(); This version of the SensorPort class supports remote execution.

Author:
Brian Bagnall

Field Summary
static SensorPort S1
           
static SensorPort S2
           
static SensorPort S3
           
static SensorPort S4
           
 
Fields inherited from interface lejos.nxt.remote.NXTProtocol
ANGLE, ANGLESTEPSMODE, BOOLEANMODE, BOOT, BRAKE, CELSIUSMODE, CLOSE, CUSTOM, 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_DEFRAG, NXJ_DISCONNECT, NXJ_GET_AUTO_RUN, NXJ_GET_DEFAULT_PROGRAM, NXJ_GET_KEY_CLICK_VOLUME, NXJ_GET_SLEEP_TIME, NXJ_GET_VERSION, NXJ_GET_VOLUME, NXJ_PACKET_MODE, NXJ_SET_AUTO_RUN, NXJ_SET_DEFAULT_PROGRAM, NXJ_SET_KEY_CLICK_VOLUME, NXJ_SET_SLEEP_TIME, NXJ_SET_VOLUME, 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, TRANSITIONCNTMODE, WRITE
 
Fields inherited from interface lejos.nxt.SensorConstants
BLACK, BLANK_INDEX, BLUE, BLUE_INDEX, GREEN, GREEN_INDEX, MAX_AD_RAW, MAX_TYPE, MIN_TYPE, MODE_ANGLESTEP, MODE_BOOLEAN, MODE_CELSIUS, MODE_FARENHEIT, MODE_PCTFULLSCALE, MODE_PERIODCOUNTER, MODE_RAW, MODE_TRANSITIONCNT, RED, RED_INDEX, TYPE_ANGLE, TYPE_COLORBLUE, TYPE_COLORFULL, TYPE_COLORGREEN, TYPE_COLORNONE, TYPE_COLORRED, TYPE_CUSTOM, TYPE_HISPEED, TYPE_LIGHT_ACTIVE, TYPE_LIGHT_INACTIVE, TYPE_LOWSPEED, TYPE_LOWSPEED_9V, TYPE_NO_SENSOR, TYPE_REFLECTION, TYPE_SOUND_DB, TYPE_SOUND_DBA, TYPE_SWITCH, TYPE_TEMPERATURE, WHITE, YELLOW
 
Fields inherited from interface lejos.nxt.I2CPort
ALWAYS_ACTIVE, HIGH_SPEED, LEGO_MODE, MAX_IO, NO_RELEASE, STANDARD_MODE
 
Method Summary
 void activate()
          Activate an RCX Light Sensor
 void enableColorSensor()
           
 int getId()
           
static SensorPort getInstance(int port)
           
 int getMode()
           
 int getType()
           
 void passivate()
          Passivate an RCX Light Sensor
 boolean readBooleanValue()
          Reads the boolean value of the sensor.
 int readNormalizedValue()
          Reads the normalized value of the sensor.
 int readRawValue()
          Reads the raw value of the sensor.
 int readRawValues(int[] values)
          Return a variable number of raw sensor values NOTE: Currently there is no way to return multiple results from a remote sensor, so we return an error.
 int readValue()
          Returns scaled value, depending on mode of sensor.
 int readValues(int[] values)
          Return a variable number of sensor values.
 void setMode(int mode)
           
 void setType(int type)
           
 void setTypeAndMode(int type, int mode)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

S1

public static SensorPort S1

S2

public static SensorPort S2

S3

public static SensorPort S3

S4

public static SensorPort S4
Method Detail

getId

public int getId()
Specified by:
getId in interface I2CPort

getInstance

public static SensorPort getInstance(int port)

setTypeAndMode

public void setTypeAndMode(int type,
                           int mode)
Specified by:
setTypeAndMode in interface BasicSensorPort

setType

public void setType(int type)
Specified by:
setType in interface BasicSensorPort

setMode

public void setMode(int mode)
Specified by:
setMode in interface BasicSensorPort

getType

public int getType()
Specified by:
getType in interface BasicSensorPort

getMode

public int getMode()
Specified by:
getMode in interface BasicSensorPort

readBooleanValue

public boolean readBooleanValue()
Reads the boolean value of the sensor.

Specified by:
readBooleanValue in interface ADSensorPort
Returns:
Boolean value of sensor.

readRawValue

public int readRawValue()
Reads the raw value of the sensor.

Specified by:
readRawValue in interface ADSensorPort
Returns:
Raw sensor value. Range is device dependent.

readNormalizedValue

public int readNormalizedValue()
Reads the normalized value of the sensor.

Returns:
Normalized value. 0 to 1023

readValue

public int readValue()
Returns scaled value, depending on mode of sensor. e.g. BOOLEANMODE returns 0 or 1. e.g. PCTFULLSCALE returns 0 to 100.

Specified by:
readValue in interface ADSensorPort
Returns:
the value
See Also:
setTypeAndMode(int, int)

activate

public void activate()
Activate an RCX Light Sensor

Specified by:
activate in interface LegacySensorPort

passivate

public void passivate()
Passivate an RCX Light Sensor

Specified by:
passivate in interface LegacySensorPort

readValues

public int readValues(int[] values)
Return a variable number of sensor values. NOTE: Currently there is no way to return multiple results from a remote sensor, so we return an error.

Parameters:
values - An array in which to return the sensor values.
Returns:
The number of values returned.

readRawValues

public int readRawValues(int[] values)
Return a variable number of raw sensor values NOTE: Currently there is no way to return multiple results from a remote sensor, so we return an error.

Parameters:
values - An array in which to return the sensor values.
Returns:
The number of values returned.

enableColorSensor

public void enableColorSensor()