12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- 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<<which)) >0) ;
- }
- }
|