package at.acdp.urweb; import at.acdp.urweb.sclient.data.MasterBoardData; import at.acdp.urweb.sclient.data.ScReadThread; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class URBot { private ScReadThread sc; private static final Logger log = LoggerFactory.getLogger(URBot.class); public URBot(String ip) { sc=new ScReadThread(ip); Thread t=new Thread(sc); t.start(); } public void sendProgram(String program) { String[] lines=program.split("[\\r\\n]+"); String res=""; for(String line:lines) { line=line.trim(); if(line.startsWith("//")) continue; if(line.startsWith("#")) continue; if(!line.endsWith("\n")) line+="\n"; res+=line; } if(!program.endsWith("\n")) program+="\n"; sc.writeCmd(program); } public void sendFreedrive(int timeout) { sc.writeCmd(String.format("def myProg():\n\tfreedrive_mode()\n\tsleep(%d)\nend", timeout)); } public void sendMessage(String message) { sc.writeCmd(String.format("textmsg(%s)", message)); } public void setDigital(int which, boolean val) { String c=String.format("digital_out[%d]=%s", which, val?"True":"False"); sc.writeCmd(c); } public boolean getDigital(int which) { MasterBoardData mb = sc.getRde().getLastMB(); return ((mb.digitalOutputBits&(1<0) ; } }