ch.aplu.nxt
Class AccelerometerSensor

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.AccelerometerSensor
All Implemented Interfaces:
SharedConstants

public class AccelerometerSensor
extends I2CSensor

Class that represents a accelerometer sensor (HiTechnic). The axis are defined as follows:
Put sensor with white cover upside, cable connector to the left
x-axis from right to left
y-axis from back to front
z-axis from top to bottom

The following register layout is assumed:
0x00-0x07 Version number
0x08-0x0F Manufacturer
0x10-0x17 Sensor type
0x42 X axis, upper 8bits
0x43 Y axis, upper 8bits
0x44 Z axis, upper 8bits
0x45 X axis, lower 2bits
0x46 Y axis, lower 2bits
0x47 Z axis, lower 2bits

Values are 10 bit in two's complement


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
AccelerometerSensor()
          Creates a sensor instance connected to port S1.
AccelerometerSensor(SensorPort port)
          Creates a sensor instance connected to the given port.
 
Method Summary
 void addAccelerometerListener(AccelerometerListener listener, boolean enableX, boolean enableY, boolean enableZ)
          Registers the given accelerometer listener.
 int[] getAcceleration()
          Returns the current acceleration in x, y, z direction (10 bit, two's complement, -512..511).
 
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

AccelerometerSensor

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

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

AccelerometerSensor

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

Method Detail

getAcceleration

public int[] getAcceleration()
Returns the current acceleration in x, y, z direction (10 bit, two's complement, -512..511).


addAccelerometerListener

public void addAccelerometerListener(AccelerometerListener listener,
                                     boolean enableX,
                                     boolean enableY,
                                     boolean enableZ)
Registers the given accelerometer listener.

Parameters:
listener - the AccelerometerListener to become registered.
enableX - if true, x-axis value change triggers an event
enableY - if true, y-axis value change triggers an event
enableZ - if true, z-axis value change triggers an event