Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## lejos.nxt
Class SensorPort

    java.lang.Object
      lejos.nxt.SensorPort

All Implemented Interfaces:
  ADSensorPort, BasicSensorPort, I2CPort, LegacySensorPort, ListenerCaller, SensorConstants

    public class SensorPort

extends Object
implements LegacySensorPort, I2CPort, ListenerCaller

Abstraction for a NXT input port.

Field Summary
`static SensorPort[]` | `PORTS` Array containing all three ports [0..3].
`static SensorPort` | `S1` Port labeled 1 on NXT.
`static SensorPort` | `S2` Port labeled 2 on NXT.
`static SensorPort` | `S3` Port labeled 3 on NXT.
`static SensorPort` | `S4` Port labeled 4 on NXT.

Fields inherited from interface lejos.nxt.SensorConstants
`MODE_ANGLESTEP, MODE_BOOLEAN, MODE_CELSIUS, MODE_FARENHEIT, MODE_PCTFULLSCALE, MODE_PERIODCOUNTER, MODE_RAW, MODE_TRANSITIONCNT, TYPE_ANGLE, TYPE_CUSTOM, 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`

Method Summary
`void` | `activate()` Activates an RCX sensor.
`void` | `addSensorPortListener(SensorPortListener aListener)` Adds a port listener.
`void` | `callListeners()` Call Port Listeners.
`int` | `getId()` Return the ID of the port.
`int` | `getMode()` Returns mode compatible with Lego firmware.
`int` | `getType()` Returns type compatible with Lego firmware.
`int` | `i2cBusy()` Low-level method to test if I2C connection is busy.
`static int` | `i2cBusyById(int aPortId)` Low-level method to test if I2C connection is busy.
`void` | `i2cDisable()` Low-level method to disable I2C on the port.
`static void` | `i2cDisableById(int aPortId)` Low-level method to disable I2C on the port.
`void` | `i2cEnable()` Low-level method to enable I2C on the port.
`static void` | `i2cEnableById(int aPortId)` Low-level method to enable I2C on the port.
`int` | `i2cStart(int address, int internalAddress, int numInternalBytes, byte[] buffer, int numBytes, int transferType)` Low-level method to start an I2C transaction.
`static int` | `i2cStartById(int aPortId, int address, int internalAddress, int numInternalBytes, byte[] buffer, int numBytes, int transferType)` Low-level method to start an I2C transaction.
`void` | `passivate()` Passivates an RCX sensor sensor.
`boolean` | `readBooleanValue()` Reads the boolean value of the sensor.
`int` | `readRawValue()` Reads the raw value of the sensor.
`int` | `readValue()` Returns value compatible with Lego firmware.
`void` | `setMode(int mode)` Sets mode compatible with Lego firmware.
`void` | `setType(int type)` Sets type compatible with Lego firmware.
`void` | `setTypeAndMode(int type, int mode)` Sets type and mode compatible with Lego firmware.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait`

Field Detail

### S1

    public static final SensorPort S1

  Port labeled 1 on NXT.

### S2

    public static final SensorPort S2

  Port labeled 2 on NXT.

### S3

    public static final SensorPort S3

  Port labeled 3 on NXT.

### S4

    public static final SensorPort S4

  Port labeled 4 on NXT.

### PORTS

    public static final SensorPort[] PORTS

  Array containing all three ports [0..3].

Method Detail

### readRawValue

    public final int readRawValue()

  Reads the raw value of the sensor.

  Specified by:
    `readRawValue` in interface `ADSensorPort`

### readBooleanValue

    public final boolean readBooleanValue()

  Reads the boolean value of the sensor. Do not use - currently returns the raw value.

  Specified by:
    `readBooleanValue` in interface `ADSensorPort`

### getId

    public final int getId()

  Return the ID of the port. One of 0, 1, 2 or 3.

### addSensorPortListener

    public void addSensorPortListener(SensorPortListener aListener)

  Adds a port listener.

  NOTE 1: You can add at most 8 listeners.
  NOTE 2: Synchronizing inside listener methods could result in a deadlock.

  See Also:
    `SensorPortListener`

### activate

    public final void activate()

  Activates an RCX sensor. This method should be called if you want to get accurate values from an RCX sensor. In the case of RCX light sensors, you should see the LED go on when you call this method.

  Specified by:
    `activate` in interface `LegacySensorPort`

### passivate

    public final void passivate()

  Passivates an RCX sensor sensor.

  Specified by:
    `passivate` in interface `LegacySensorPort`

### getMode

    public int getMode()

  Returns mode compatible with Lego firmware.

  Specified by:
    `getMode` in interface `BasicSensorPort`

### getType

    public int getType()

  Returns type compatible with Lego firmware.

  Specified by:
    `getType` in interface `BasicSensorPort`

### setTypeAndMode

    public void setTypeAndMode(int type,
                               int mode)

  Sets type and mode compatible with Lego firmware.

  Specified by:
    `setTypeAndMode` in interface `BasicSensorPort`

### setType

    public void setType(int type)

  Sets type compatible with Lego firmware.

  Specified by:
    `setType` in interface `BasicSensorPort`

### setMode

    public void setMode(int mode)

  Sets mode compatible with Lego firmware.

  Specified by:
    `setMode` in interface `BasicSensorPort`

### readValue

    public int readValue()

  Returns value compatible with Lego firmware.

  Specified by:
    `readValue` in interface `ADSensorPort`

### callListeners

    public void callListeners()

  Call Port Listeners. Used by ListenerThread.

  Specified by:
    `callListeners` in interface `ListenerCaller`

### i2cEnableById

    public static void i2cEnableById(int aPortId)

  Low-level method to enable I2C on the port.

### i2cDisableById

    public static void i2cDisableById(int aPortId)

  Low-level method to disable I2C on the port.

### i2cBusyById

    public static int i2cBusyById(int aPortId)

  Low-level method to test if I2C connection is busy.

### i2cStartById

    public static int i2cStartById(int aPortId,
                                   int address,
                                   int internalAddress,
                                   int numInternalBytes,
                                   byte[] buffer,
                                   int numBytes,
                                   int transferType)

  Low-level method to start an I2C transaction.

### i2cEnable

    public void i2cEnable()

  Low-level method to enable I2C on the port.

  Specified by:
    `i2cEnable` in interface `I2CPort`

### i2cDisable

    public void i2cDisable()

  Low-level method to disable I2C on the port.

  Specified by:
    `i2cDisable` in interface `I2CPort`

### i2cBusy

    public int i2cBusy()

  Low-level method to test if I2C connection is busy.

  Specified by:
    `i2cBusy` in interface `I2CPort`

### i2cStart

    public int i2cStart(int address,
                        int internalAddress,
                        int numInternalBytes,
                        byte[] buffer,
                        int numBytes,
                        int transferType)

  Low-level method to start an I2C transaction.

  Specified by:
    `i2cStart` in interface `I2CPort`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD