public class Roomba extends Service
Modifier and Type | Field and Description |
---|---|
static org.slf4j.Logger |
log |
cfgDir, dnaPool, MESSAGE_RECORDING_FORMAT_BINARY, MESSAGE_RECORDING_FORMAT_XML
Constructor and Description |
---|
Roomba(java.lang.String n) |
Modifier and Type | Method and Description |
---|---|
void |
bark() |
boolean |
bump() |
void |
bumpTurn()
Read sensors to detect bumps and turn away from them while driving
|
void |
clean() |
void |
computeSensors()
called by serialEvent when we have enough bytes to make sensors valid
|
void |
connect(java.lang.String portName)
Connect to a serial port specified by portid doesn't guarantee connection
to Roomba, just to serial port
|
boolean |
connect(java.lang.String name,
int rate,
int databits,
int stopbits,
int parity) |
boolean |
connected() |
void |
control() |
void |
createTribblePurrSong() |
boolean |
disconnect() |
void |
drive(int velocity,
int radius)
Move the Roomba via the low-level velocity + radius method.
|
static ServiceType |
getMetaData()
This static method returns all the details of the class without it having
to be constructed.
|
java.lang.String |
getPortname() |
java.util.List<java.lang.String> |
getPortNames() |
java.lang.String |
getProtocol() |
int |
getSpeed() |
void |
goBackward()
Go backward at the current (negative) speed
|
void |
goBackward(int distance) |
void |
goBackwardAt(int aspeed) |
void |
goForward()
Go forward the current (positive) speed
|
void |
goForward(int distance) |
void |
goForwardAt(int aspeed) |
void |
goStraight(int distance)
Go straight at the current speed for a specified distance.
|
void |
goStraightAt(int velocity)
Go straight at a specified speed.
|
boolean |
isWaitForDSR() |
java.lang.String[] |
listPorts() |
static void |
main(java.lang.String[] args) |
void |
playNote(int i,
int j) |
void |
powerOff() |
void |
printSensors() |
void |
purr() |
void |
reset()
Reset Roomba after a fault.
|
boolean |
send(byte[] cmd) |
boolean |
send(int b) |
java.lang.String |
sensorsAsString() |
void |
setHardwareHandshake(boolean hardwareHandshake) |
void |
setLEDs(boolean status_green,
boolean status_red,
boolean spot,
boolean clean,
boolean max,
boolean dirt,
int power_color,
int power_intensity) |
void |
setPortname(java.lang.String p) |
void |
setProtocol(java.lang.String protocol) |
void |
setSpeed(int s) |
void |
setWaitForDSR(boolean waitForDSR) |
void |
spin(int angle)
Spin right or spin left a particular number of degrees
|
void |
spinLeft()
Spin in place anti-clockwise, at the current speed
|
void |
spinLeft(int angle)
Spin left a specified angle at a specified speed
|
void |
spinLeftAt(int aspeed)
Spin in place anti-clockwise, at the current speed.
|
void |
spinRight()
Spin in place clockwise, at the current speed
|
void |
spinRight(int angle)
Spin right the current speed for a specified angle
|
void |
spinRightAt(int aspeed)
Spin in place clockwise, at the current speed.
|
void |
spiro1(int velocity,
int radius,
int waittime) |
void |
spiro2(int velocity,
int radius,
int radius2,
int waittime,
int waittime2) |
void |
spot() |
void |
spy()
Spy on the Roomba as it goes about its normal business
|
void |
spyAuto() |
void |
spySimple() |
void |
square(RoombaComm rc,
int size)
Make a square with a Roomba.
|
void |
startService() |
void |
startup() |
void |
stop()
Stop Rooomba's motion.
|
void |
tribble() |
void |
turn(int radius) |
void |
turnLeft() |
void |
turnRight() |
boolean |
updateSensors() |
boolean |
updateSensors(int packetcode) |
void |
vacuum(boolean state)
Turn all vacuum motors on or off according to state
|
void |
waggle(int velocity,
int radius,
int waittime) |
void |
wakeup()
toggles DD line via serial port DTR (if available)
|
addListener, addListener, addTask, addTask, addTask, addTaskOneShot, allowDisplay, allowDisplay, attach, attach, broadcastState, buildDna, buildDna, buildDnaKeys, buildDnaNames, clearLastError, close, containsTask, copyShallowFrom, createPeer, createPeer, createRootReserved, detach, detach, detach, echoHeartbeat, error, error, error, getAttached, getCfgDir, getComm, getDeclaredMethodNames, getDeclaredMethods, getDescription, getDna, getDnaString, getHostName, getInbox, getInstanceId, getIntanceName, getInterfaceSet, getLastError, getMessageSet, getMetaData, getMethodMap, getMethodNames, getMethods, getMethodToolTip, getMsg, getName, getNotifyList, getNotifyListKeySet, getOutbox, getPeerKey, getPeerName, getServiceResourceFile, getSimpleName, getTasks, getThisThread, getType, hasError, hasPeers, help, help, in, info, info, invoke, invoke, invoke, invokeOn, isAttached, isAttached, isLocal, isReady, isRunning, isRuntime, isVirtual, load, load, logTimeEnable, mergeDna, mergeDna, mergePeerDna, movePeerDna, out, out, preProcessHook, preRoutingHook, publishError, publishQueueStats, publishState, publishStats, publishStatus, purgeTask, purgeTasks, releasePeers, releaseService, removeAllListeners, removeListener, requiresSecurity, reserve, reserve, reserveRoot, reserveRoot, reserveRootAs, run, save, save, save, send, send, send, send, sendBlocking, sendBlocking, sendBlocking, sendBlocking, sendPeer, setInstanceId, setName, setPeer, setSecurityProvider, setState, setThisThread, setVirtual, sleep, stackToString, startHeartbeat, startPeer, startPeer, startRecording, stopHeartbeat, stopMsgRecording, stopService, subscribe, subscribe, subscribe, toString, unsubscribe, unsubscribe, unsubscribe, updateStats, warn, warn
public static void main(java.lang.String[] args)
public void bark()
public boolean bump()
public void bumpTurn()
Run it with something like:
java roombacomm.BumpTurn /dev/cu.KeySerial1
Usage: roombacomm.Drive serialportname [protocol] [options] where: protocol (optional) is SCI or OI [options] can be one or more of: -debug -- turn on debug output -hwhandshake -- use hardware-handshaking, for Windows Bluetooth -nohwhandshake -- don't use hardware-handshaking
public void clean()
public void computeSensors()
public void connect(java.lang.String portName)
portName
- name of port, e.g. "/dev/cu.KeySerial1" or "COM3"public boolean connect(java.lang.String name, int rate, int databits, int stopbits, int parity)
public boolean connected()
public void control()
public void createTribblePurrSong()
public boolean disconnect()
public void drive(int velocity, int radius)
velocity
- speed in millimeters/second, positive forward, negative backwardradius
- radius of turn in millimeterspublic java.lang.String getPortname()
public java.util.List<java.lang.String> getPortNames()
public java.lang.String getProtocol()
public int getSpeed()
public void goBackward()
public void goBackward(int distance)
distance
- distance in millimeters, positivepublic void goBackwardAt(int aspeed)
public void goForward()
public void goForward(int distance)
distance
- distance in millimeters, positivepublic void goForwardAt(int aspeed)
public void goStraight(int distance)
distance
- distance in millimeters, positive or negativepublic void goStraightAt(int velocity)
velocity
- velocity of motion in mm/secpublic boolean isWaitForDSR()
public java.lang.String[] listPorts()
public void playNote(int i, int j)
public void powerOff()
public void printSensors()
public void purr()
public void reset()
startup()
,
updateSensors()
public boolean send(byte[] cmd)
public boolean send(int b)
public java.lang.String sensorsAsString()
public void setHardwareHandshake(boolean hardwareHandshake)
public void setLEDs(boolean status_green, boolean status_red, boolean spot, boolean clean, boolean max, boolean dirt, int power_color, int power_intensity)
public void setPortname(java.lang.String p)
public void setProtocol(java.lang.String protocol)
public void setSpeed(int s)
public void setWaitForDSR(boolean waitForDSR)
public void spin(int angle)
angle
- angle in degrees, positive to spin left, negative to spin rightpublic void spinLeft()
public void spinLeft(int angle)
angle
- angle in degrees, positivepublic void spinLeftAt(int aspeed)
aspeed
- speed to spin atpublic void spinRight()
public void spinRight(int angle)
angle
- angle in degrees, positivepublic void spinRightAt(int aspeed)
aspeed
- speed to spin at, positivepublic void spiro1(int velocity, int radius, int waittime)
public void spiro2(int velocity, int radius, int radius2, int waittime, int waittime2)
public void spot()
public void spy()
public void spyAuto()
public void spySimple()
public void square(RoombaComm rc, int size)
rc
- RoombaComm object connected to a Roombasize
- size of square in mmpublic void startService()
startService
in interface ServiceInterface
startService
in class Service
public void startup()
public void stop()
public void tribble()
public void turn(int radius)
public void turnLeft()
public void turnRight()
public boolean updateSensors()
public boolean updateSensors(int packetcode)
public void vacuum(boolean state)
state
- true to turn on vacuum function, false to turn it offpublic void waggle(int velocity, int radius, int waittime)
public void wakeup()
public static ServiceType getMetaData()