hybrid
Class HybridRCX

java.lang.Object
  |
  +--java.lang.Thread
        |
        +--hybrid.HybridRCX
All Implemented Interfaces:
AbstractRobot, HybridCommandConstants, java.lang.Runnable

public class HybridRCX
extends java.lang.Thread
implements AbstractRobot, HybridCommandConstants

Acts as an interface between the PC and an RCX running the HybridOnBoard class. Enables controllers to be run on the PC, and communicate directly with the RCX over the IR link.

Author:
Graham Ritchie

Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Fields inherited from interface hybrid.HybridCommandConstants
BEEP, GET_S1, GET_S2, GET_S3, MOVE_BACKWARD, MOVE_FORWARD, MOVE_LEFT, MOVE_RIGHT, STOP_MOVING
 
Constructor Summary
HybridRCX(Controller controller)
          Constructor: sets up the data ports
 
Method Summary
 void backward()
          Sets the robot moving backwards, this will continue until some other method is called to stop it.
 void backward(int time)
          Makes the robot move backwards for the given amount of time
 void beep()
          Makes the robot beep
 void forward()
          Sets the robot moving forwards, this will continue until some other method is called to stop it.
 void forward(int time)
          Makes the robot move forwards for the given amount of time
 int getSensor1()
          Get the current reading of this sensor
 int getSensor2()
          Get the current reading of this sensor
 int getSensor3()
          Get the current reading of this sensor
 void left()
          Sets the robot spinning left, this will continue until some other method is called to stop it.
 void left(int time)
          Spins the robot left for the given amount of time
 void right()
          Sets the robot spinning right, this will continue until some other method is called to stop it.
 void right(int time)
          Spins the robot right for the given amount of time
 void run()
           
 void stopMoving()
          Stops all motors immediately
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

HybridRCX

public HybridRCX(Controller controller)
Constructor: sets up the data ports
Method Detail

run

public void run()
Overrides:
run in class java.lang.Thread

forward

public void forward()
Sets the robot moving forwards, this will continue until some other method is called to stop it.
Specified by:
forward in interface AbstractRobot

forward

public void forward(int time)
Makes the robot move forwards for the given amount of time
Specified by:
forward in interface AbstractRobot
Parameters:
time - the time in milliseconds

backward

public void backward()
Sets the robot moving backwards, this will continue until some other method is called to stop it.
Specified by:
backward in interface AbstractRobot

backward

public void backward(int time)
Makes the robot move backwards for the given amount of time
Specified by:
backward in interface AbstractRobot
Parameters:
time - the time in milliseconds

right

public void right()
Sets the robot spinning right, this will continue until some other method is called to stop it.
Specified by:
right in interface AbstractRobot

right

public void right(int time)
Spins the robot right for the given amount of time
Specified by:
right in interface AbstractRobot
Parameters:
time - the time in milliseconds

left

public void left()
Sets the robot spinning left, this will continue until some other method is called to stop it.
Specified by:
left in interface AbstractRobot

left

public void left(int time)
Spins the robot left for the given amount of time
Specified by:
left in interface AbstractRobot
Parameters:
time - the time in milliseconds

stopMoving

public void stopMoving()
Stops all motors immediately
Specified by:
stopMoving in interface AbstractRobot

beep

public void beep()
Makes the robot beep
Specified by:
beep in interface AbstractRobot

getSensor1

public int getSensor1()
Get the current reading of this sensor
Specified by:
getSensor1 in interface AbstractRobot
Returns:
the current value

getSensor2

public int getSensor2()
Get the current reading of this sensor
Specified by:
getSensor2 in interface AbstractRobot
Returns:
the current value

getSensor3

public int getSensor3()
Get the current reading of this sensor
Specified by:
getSensor3 in interface AbstractRobot
Returns:
the current value