package roombacomm;
import java.io.*;
/**
Spy on the Roomba as it goes about its normal business
Run it with something like:
java roombacomm.SpyAuto /dev/cu.KeySerial1
Usage:
roombacomm.SpyAuto serialportname [protocol] [options]
where: protocol (optional) is SCI or OI
[options] can be one or more of:
-pause n -- pause n millseconds between sensor read
-debug -- turn on debug output
-hwhandshake -- use hardware-handshaking, for Windows Bluetooth
-nohwhandshake -- don't use hardware-handshaking
-flush -- flush on sends(), normally not needed
-power -- power on/off Roomba (if interface supports it)
*
*/
public class SpyAuto {
static String usage =
"Usage: \n"+
" roombacomm.SpyAuto [protocol] [options]\n" +
"where: protocol (optional) is SCI or OI\n" +
"[options] can be one or more of:\n"+
" -pause -- pause n millseconds between sensor read\n"+
" -debug -- turn on debug output\n"+
" -hwhandshake -- use hardware-handshaking, for Windows Bluetooth\n"+
" -nohwhandshake -- don't use hardware-handshaking\n"+
" -flush -- flush on sends(), normally not needed\n"+
" -power -- power on/off Roomba (if interface supports it)\n"+
"\n";
static boolean debug = false;
static boolean hwhandshake = false;
static boolean power = false;
static int pausetime = 500;
public static void main(String[] args) {
if( args.length == 0 ) {
System.out.println( usage );
System.exit(0);
}
String portname = args[0]; // e.g. "/dev/cu.KeySerial1"
RoombaCommSerial roombacomm = new RoombaCommSerial(true, pausetime);
for( int i=1; i60; i-- ) {
roombacomm.spinLeftAt( 1000 );
roombacomm.pause( s64ths/2 );
roombacomm.spinRightAt( 1000 );
roombacomm.pause( s64ths/2 );
roombacomm.stop();
}
}
public static void createTribblePurrSong() {
byte cmd[] = {
(byte)RoombaComm.SONG, 2, 7, // define song
68, 4, 67, 4, 66, 4, 65, 4,
64, 4, 63, 4, 62, 4 };
roombacomm.send( cmd );
}
public static void bark() {
System.out.println("bark");
roombacomm.vacuum(true);
roombacomm.playNote( 50, 5 );
roombacomm.pause(150);
roombacomm.vacuum(false);
}
*/