lejos.nxt.remote
Class RemoteMotor
java.lang.Object
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.