Package lejos.remote.ev3
Interface RMIRegulatedMotor
-
- All Superinterfaces:
java.rmi.Remote
- All Known Implementing Classes:
RMIRemoteRegulatedMotor
public interface RMIRegulatedMotor extends java.rmi.Remote
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddListener(RegulatedMotorListener listener)Adds a listener object that will be notified when rotation has started or stoppedvoidbackward()voidclose()voidflt(boolean immediateReturn)Set the motor into float mode.voidforward()intgetLimitAngle()Return the limit angle (if any)floatgetMaxSpeed()Returns the maximim speed of the motor.intgetSpeed()Returns the current motor speed.intgetTachoCount()booleanisMoving()booleanisStalled()returns true if motor is stalledRegulatedMotorListenerremoveListener()Removes the RegulatedMotorListener from this class.voidresetTachoCount()voidrotate(int angle)Causes motor to rotate by a specified angle.voidrotate(int angle, boolean immediateReturn)causes motor to rotate through angle;
iff immediateReturn is true, method returns immediately and the motor stops by itself
If any motor method is called before the limit is reached, the rotation is canceled.voidrotateTo(int limitAngle)Causes motor to rotate to limitAngle;
Then getTachoCount should be within +- 2 degrees of the limit angle when the method returnsvoidrotateTo(int limitAngle, boolean immediateReturn)causes motor to rotate to limitAngle;
if immediateReturn is true, method returns immediately and the motor stops by itself
and getTachoCount should be within +- 2 degrees if the limit angle If any motor method is called before the limit is reached, the rotation is canceled.voidsetAcceleration(int acceleration)Set the required rate of acceleration degrees/s/svoidsetSpeed(int speed)Set motor speed.voidsetStallThreshold(int error, int time)Set the parameters for detecting a stalled motor.voidstop(boolean immediateReturn)Causes motor to stop, pretty much instantaneously.voidwaitComplete()Wait until the current movement operation is complete (this can include the motor stalling).
-
-
-
Method Detail
-
addListener
void addListener(RegulatedMotorListener listener) throws java.rmi.RemoteException
Adds a listener object that will be notified when rotation has started or stopped- Parameters:
listener-- Throws:
java.rmi.RemoteException
-
removeListener
RegulatedMotorListener removeListener() throws java.rmi.RemoteException
Removes the RegulatedMotorListener from this class.- Returns:
- The RegulatedMotorListener that was removed, if any. Null if none existed.
- Throws:
java.rmi.RemoteException
-
stop
void stop(boolean immediateReturn) throws java.rmi.RemoteException
Causes motor to stop, pretty much instantaneously. In other words, the motor doesn't just stop; it will resist any further motion. Cancels any rotate() orders in progress- Parameters:
immediateReturn- if true do not wait for the motor to actually stop- Throws:
java.rmi.RemoteException
-
flt
void flt(boolean immediateReturn) throws java.rmi.RemoteException
Set the motor into float mode. This will stop the motor without braking and the position of the motor will not be maintained.- Parameters:
immediateReturn- If true do not wait for the motor to actually stop- Throws:
java.rmi.RemoteException
-
waitComplete
void waitComplete() throws java.rmi.RemoteExceptionWait until the current movement operation is complete (this can include the motor stalling).- Throws:
java.rmi.RemoteException
-
rotate
void rotate(int angle, boolean immediateReturn) throws java.rmi.RemoteExceptioncauses motor to rotate through angle;
iff immediateReturn is true, method returns immediately and the motor stops by itself
If any motor method is called before the limit is reached, the rotation is canceled. When the angle is reached, the method isMoving() returns false;- Parameters:
angle- through which the motor will rotateimmediateReturn- iff true, method returns immediately, thus allowing monitoring of sensors in the calling thread.- Throws:
java.rmi.RemoteException- See Also:
RegulatedMotor.rotate(int, boolean)
-
rotate
void rotate(int angle) throws java.rmi.RemoteExceptionCauses motor to rotate by a specified angle. The resulting tachometer count should be within +- 2 degrees on the NXT. This method does not return until the rotation is completed.- Parameters:
angle- by which the motor will rotate.- Throws:
java.rmi.RemoteException
-
rotateTo
void rotateTo(int limitAngle) throws java.rmi.RemoteExceptionCauses motor to rotate to limitAngle;
Then getTachoCount should be within +- 2 degrees of the limit angle when the method returns- Parameters:
limitAngle- to which the motor will rotate, and then stop (in degrees). Includes any positive or negative int, even values > 360.- Throws:
java.rmi.RemoteException
-
rotateTo
void rotateTo(int limitAngle, boolean immediateReturn) throws java.rmi.RemoteExceptioncauses motor to rotate to limitAngle;
if immediateReturn is true, method returns immediately and the motor stops by itself
and getTachoCount should be within +- 2 degrees if the limit angle If any motor method is called before the limit is reached, the rotation is canceled. When the angle is reached, the method isMoving() returns false;- Parameters:
limitAngle- to which the motor will rotate, and then stop (in degrees). Includes any positive or negative int, even values > 360.immediateReturn- iff true, method returns immediately, thus allowing monitoring of sensors in the calling thread.- Throws:
java.rmi.RemoteException
-
getLimitAngle
int getLimitAngle() throws java.rmi.RemoteExceptionReturn the limit angle (if any)- Returns:
- the current limit angle
- Throws:
java.rmi.RemoteException
-
setSpeed
void setSpeed(int speed) throws java.rmi.RemoteExceptionSet motor speed. As a rule of thumb 100 degrees per second are possible for each volt on an NXT motor. Therefore, disposable alkaline batteries can achieve a top speed of 900 deg/sec, while a rechargable lithium battery pack can achieve 740 deg/sec.- Parameters:
speed- in degrees per second.- Throws:
java.rmi.RemoteException
-
getSpeed
int getSpeed() throws java.rmi.RemoteExceptionReturns the current motor speed.- Returns:
- motor speed in degrees per second
- Throws:
java.rmi.RemoteException
-
getMaxSpeed
float getMaxSpeed() throws java.rmi.RemoteExceptionReturns the maximim speed of the motor.- Returns:
- the maximum speed of the Motor in degrees per second.
- Throws:
java.rmi.RemoteException
-
isStalled
boolean isStalled() throws java.rmi.RemoteExceptionreturns true if motor is stalled- Returns:
- true if stalled
- Throws:
java.rmi.RemoteException
-
setStallThreshold
void setStallThreshold(int error, int time) throws java.rmi.RemoteExceptionSet the parameters for detecting a stalled motor. A motor will be recognized as stalled if the movement error (the amount the motor lags the regulated position) is greater than error for a period longer than time.- Parameters:
error- The error thresholdtime- The time that the error threshold needs to be exceeded for.- Throws:
java.rmi.RemoteException
-
setAcceleration
void setAcceleration(int acceleration) throws java.rmi.RemoteExceptionSet the required rate of acceleration degrees/s/s- Parameters:
acceleration-- Throws:
java.rmi.RemoteException
-
close
void close() throws java.rmi.RemoteException- Throws:
java.rmi.RemoteException
-
forward
void forward() throws java.rmi.RemoteException- Throws:
java.rmi.RemoteException
-
backward
void backward() throws java.rmi.RemoteException- Throws:
java.rmi.RemoteException
-
resetTachoCount
void resetTachoCount() throws java.rmi.RemoteException- Throws:
java.rmi.RemoteException
-
getTachoCount
int getTachoCount() throws java.rmi.RemoteException- Throws:
java.rmi.RemoteException
-
isMoving
boolean isMoving() throws java.rmi.RemoteException- Throws:
java.rmi.RemoteException
-
-