123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- package urgrip.toolbar;
- import java.util.Collection;
- import java.util.Iterator;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- import com.ur.urcap.api.domain.io.AnalogIO;
- import com.ur.urcap.api.domain.io.DigitalIO;
- import com.ur.urcap.api.domain.io.IO;
- import com.ur.urcap.api.domain.io.IOModel;
- public class IOHandler {
- private final IOModel ioModel;
- public final static String NotConnected="N/C";
- public IOHandler(IOModel ioModel) {
- this.ioModel = ioModel;
- }
- /*Returns a DigitalIO object found by its default name
- * Default names are:
- * digital_in[0]
- * digital_in[1]
- * ...
- * digital_in[7]
- * digital_out[0]
- * digital_out[1]
- * ...
- * digital_out[7]
- * tool_in[0]
- * tool_in[1]
- * tool_out[0]
- * tool_out[1]
- * config_in[0]
- * config_in[1]
- * ...
- * config_in[7]
- * config_out[0]
- * config_out[1]
- * ...
- * config_out[7]
- *
- */
- public DigitalIO getDigitalIO(String defaultName){
- Collection<DigitalIO> IOcollection = ioModel.getIOs(DigitalIO.class);
- int IO_count = IOcollection.size();
- if(IO_count > 0){
- Iterator<DigitalIO> IO_itr = IOcollection.iterator();
- while(IO_itr.hasNext()){
- DigitalIO thisIO = IO_itr.next();
- String thisDefaultName = thisIO.getDefaultName();
- // System.out.println("Found an IO named "+thisDefaultName);
- if(thisDefaultName.equals(defaultName)){
- return thisIO;
- }
- }
- }
- return null;
- }
- private final static Pattern ioPattern = Pattern.compile("\\[(.*?)\\]");
- public static int getIOIndex(String ioName) {
- Matcher m = ioPattern.matcher(ioName);
- if(m.find()) {
- return Integer.parseInt(m.group(1));
- }
- return -1;
- }
- /*Returns an AnalogIO object found by its default name
- * Default names are:
- * analog_in[0]
- * analog_in[1]
- * analog_in[2] (Tool analog in 0)
- * analog_in[3] (Tool analog in 1)
- * analog_out[0]
- * analog_out[1]
- *
- */
- public AnalogIO getAnalogIO(String defaultName){
- Collection<AnalogIO> IOcollection = ioModel.getIOs(AnalogIO.class);
- int IO_count = IOcollection.size();
- if(IO_count > 0){
- Iterator<AnalogIO> IO_itr = IOcollection.iterator();
- while(IO_itr.hasNext()){
- AnalogIO thisIO = IO_itr.next();
- String thisDefaultName = thisIO.getDefaultName();
- // System.out.println("Found an IO named "+thisDefaultName);
- if(thisDefaultName.equals(defaultName)){
- return thisIO;
- }
- }
- }
- return null;
- }
- }
|