Page 62 - The Definitive Guide to Building Java Robots
P. 62
Preston_5564C02.fm Page 43 Wednesday, September 14, 2005 5:42 AM
CHAPTER 2 ■ SERIAL COMMUNICATION 43
Example 2-12. Controller.java
package com.scottpreston.javarobot.chapter2;
public abstract class Controller implements JController {
private JSerialPort serialPort;
public Controller(JSerialPort sPort) throws Exception {
serialPort = sPort;
serialPort.setDTR(false);
}
public String execute(byte[] cmd, int delay) throws Exception {
String out = null;
if ((serialPort instanceof WebSerialClient)
&& delay <= WebSerialClient.MAX_DELAY) {
serialPort.setTimeout(delay);
if (delay == 0) {
serialPort.write(cmd);
} else {
out = serialPort.readString(cmd);
}
} else {
if (delay == 0) {
serialPort.write(cmd);
} else {
serialPort.write(cmd);
Utils.pause(delay);
out = serialPort.readString();
}
}
return out;
}
public byte[] execute2(byte[] cmd, int delay) throws Exception {
byte[] out = null;
if ((serialPort instanceof WebSerialClient)
&& delay <= WebSerialClient.MAX_DELAY) {
serialPort.setTimeout(delay);
if (delay == 0) {
serialPort.write(cmd);
} else {
out = serialPort.read(cmd);
}