lejos.nxt.remote
Class RemoteMotor
java.lang.Object
   lejos.nxt.remote.RemoteMotor
lejos.nxt.remote.RemoteMotor
- All Implemented Interfaces: 
- NXTProtocol
- public class RemoteMotor 
- extends Object- implements NXTProtocol
Motor class. Contains three instances of Motor.
 Usage: Motor.A.forward(500);
- Author:
- Brian Bagnall
 
| 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_FIND_FIRST, NXJ_FIND_NEXT, NXJ_PACKET_MODE, 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 | 
 
 
| Method Summary | 
|  int | backward()Causes motor to rotate backward.
 | 
|  int | flt()Stops the motor without using brakes.
 | 
|  int | forward()Causes motor to rotate forward indefinitely.
 | 
|  int | getBlockTacho()Deprecated.
 | 
|  char | getId()Get the ID of the motor.
 | 
|  int | getPower()Return the power that the motor is set to
 | 
|  int | getRotationCount()Deprecated.
 | 
|  int | getSpeed()Get the current speed that the motor is set to (not the actual speed)
 | 
|  int | getTachoCount()Returns the rotation count for the motor.
 | 
|  boolean | isMoving()
 | 
|  boolean | isRotating()CURRENTLY NOT IMPLEMENTED! Use isMoving() for now.
 | 
|  int | resetBlockTacho()Deprecated.
 | 
|  int | resetRotationCounter()Deprecated.
 | 
|  int | resetTachoCount()Resets the rotation counter to zero.
 | 
|  int | rotate(long count)Causes the motor to rotate  a certain count.
 | 
|  int | rotate(long count,
       boolean returnNow)Causes the motor to rotate a certain count.
 | 
|  int | rotateTo(long target)Rotates to a desired tacho count.
 | 
|  int | rotateTo(long target,
         boolean returnNow)Rotates to a desired tacho count.
 | 
|  void | setPower(int power)Sets the power of the motor
 | 
|  void | setRegulationMode(int mode)This method determines if and how the motor will be regulated.
 | 
|  void | setSpeed(int speed)Sets motor speed , in degrees per second; Up to 900 is possible with 8 volts.
 | 
|  int | stop()Stops the motor using brakes.
 | 
 
| Methods inherited from class java.lang.Object | 
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
 
turnRatio
public byte turnRatio
RemoteMotor
public RemoteMotor(NXTCommand nxtCommand,
                   int id)
getId
public final char getId()
- Get the ID of the motor. One of 'A', 'B' or 'C'.
 
- 
 
- 
 
forward
public int forward()
- Causes motor to rotate forward indefinitely.
 
- 
 
- 
- Returns:
- Error value. 0 means succcess. See icommand.nxtcomm.ErrorMessages for details.
 
backward
public int backward()
- Causes motor to rotate backward.
 
- 
 
- 
- Returns:
- Error value. 0 means succcess. See icommand.nxtcomm.ErrorMessages for details.
 
setSpeed
public void setSpeed(int speed)
- Sets motor speed , in degrees per second; Up to 900 is possible with 8 volts.
 NOTE: If using LEGO firmware this will convert the number into power.
 900 = 100% power, 450 = 50% power.
 
- 
 
- 
- Parameters:
- speed- value in degrees/sec
 
setPower
public void setPower(int power)
- Sets the power of the motor
 
- 
 
- 
- Parameters:
- power- the power (-100 to +100)
 
getSpeed
public int getSpeed()
- Get the current speed that the motor is set to (not the actual speed)
 
- 
 
- 
- Returns:
- the speed in degrees per second
 
getPower
public int getPower()
- Return the power that the motor is set to
 
- 
 
- 
- Returns:
- the power (-100 to +100)
 
getTachoCount
public int getTachoCount()
- Returns the rotation count for the motor. 
 NOTE: If you are using leJOS NXJ firmware this will
 return the same value as getRotationCount() 
 because the leJOS NXJ firmware only uses one Tachometer
 variable.
 
- 
 
- 
- Returns:
- Tachometer count.
 
getRotationCount
public int getRotationCount()
- Deprecated. 
 
- Returns the rotation count for the motor. The rotation count is something
 like the trip odometer on your car.  This count is reset each time a new function
 is called in Pilot.
 
- 
 
- 
- Returns:
- rotation count.
 
getBlockTacho
public int getBlockTacho()
- Deprecated. 
 
- Block Tachometer Count is the count used to synchronize motors
 with one another. 
 NOTE: If you are using leJOS NXJ firmware this will
 always return 0 because this variable is not used in 
 in leJOS NXJ firmware. Use getRotationCount() instead.
 
- 
 
- 
- Returns:
- Block Tachometer count.
 
rotate
public int rotate(long count,
                  boolean returnNow)
- Causes the motor to rotate a certain count. The motor will
 also backtrack to the desired count when done.
 NOTE: This method returns almost immediately if returnNow = true.
 
- 
 
- 
- Parameters:
- count- Number of counts to rotate motor.
- returnNow- When true, method returns before the rotation is complete.
- Returns:
- Error value. 0 means success. See lejos.pc.comm.ErrorMessages for details.
 
isMoving
public boolean isMoving()
- 
 
- 
 
isRotating
public boolean isRotating()
- CURRENTLY NOT IMPLEMENTED! Use isMoving() for now.
returns true when motor is rotating toward a specified angle
 
- 
 
- 
 
rotate
public int rotate(long count)
- Causes the motor to rotate  a certain count.
 This method returns after the rotation is completed.
 NOTE: This method currently doesn't work well with the LEGO firmware.
 
- 
 
- 
- Parameters:
- count- Number of counts to rotate motor.
- Returns:
- Error value. 0 means succcess. See icommand.nxtcomm.ErrorMessages for details.
 
setRegulationMode
public void setRegulationMode(int mode)
- This method determines if and how the motor will be regulated.
 REGULATION_MODE_IDLE turns off regulation
 REGULATION_MODE_MOTOR_SPEED regulates the speed (I think)
 REGULATION_MODE_MOTOR_SYNC synchronizes this and any other motor with SYNC enabled.
 
- 
 
- 
- Parameters:
- mode- See NXTProtocol for enumerations: REGULATION_MODE_MOTOR_SYNC, 
  REGULATION_MODE_MOTOR_SPEED,  REGULATION_MODE_IDLE
 
rotateTo
public int rotateTo(long target)
- Rotates to a desired tacho count. Does not return until rotation done.
 Note: The tachocount can not be reset to zero.
 
- 
 
- 
- Parameters:
- target-
 
rotateTo
public int rotateTo(long target,
                    boolean returnNow)
- Rotates to a desired tacho count. Returns before the rotation is done
 if you include true as the argument.
 
- 
 
- 
- Parameters:
- target-
 
resetTachoCount
public int resetTachoCount()
- Resets the rotation counter to zero.
 
- 
 
- 
- Returns:
- Error value. 0 means succcess. See icommand.nxtcomm.ErrorMessages for details.
 
resetRotationCounter
public int resetRotationCounter()
- Deprecated. 
 
- Calls resetTachoCount().
 
- 
 
- 
- Returns:
- the tacho count
 
resetBlockTacho
public int resetBlockTacho()
- Deprecated. 
 
- Resets the block tachometer.
 NOTE: If you are using leJOS NXJ firmware this will not do anything
 because BlockTacho is not used in the leJOS NXJ firmware.
 Use resetRotationCounter() instead.
 
- 
 
- 
- Returns:
- Error value. 0 means success. See lejos.pc.comm.ErrorMessages for details.
 
stop
public int stop()
- Stops the motor using brakes.
 
- 
 
- 
- Returns:
- Error value. 0 means success. See lejos.pc.comm.ErrorMessages for details.
 
flt
public int flt()
- Stops the motor without using brakes.
 
- 
 
- 
- Returns:
- Error value. 0 means success.