//package com.integreight.onesheeld.enums; // //import java.util.ArrayList; //import java.util.EnumSet; //import java.util.List; // //public enum ArduinoPin { // _0(0, EnumSet.of(ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT, // ArduinoPinCapability.RX)), _1(1, EnumSet.of( // ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT, // ArduinoPinCapability.TX)), _2(2, EnumSet.of( // ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT)), _3(3, // EnumSet.of(ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT, // ArduinoPinCapability.PWM)), _4(4, EnumSet.of( // ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT)), _5(5, // EnumSet.of(ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT, // ArduinoPinCapability.PWM)), _6(6, EnumSet.of( // ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT, // ArduinoPinCapability.PWM)), _7(7, EnumSet.of( // ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT)), _8(8, // EnumSet.of(ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT)), _9( // 9, EnumSet.of(ArduinoPinCapability.INPUT, // ArduinoPinCapability.OUTPUT, ArduinoPinCapability.PWM)), _10( // 10, EnumSet.of(ArduinoPinCapability.INPUT, // ArduinoPinCapability.OUTPUT, ArduinoPinCapability.PWM)), _11( // 11, EnumSet.of(ArduinoPinCapability.INPUT, // ArduinoPinCapability.OUTPUT, ArduinoPinCapability.PWM)), _12( // 12, EnumSet.of(ArduinoPinCapability.INPUT, // ArduinoPinCapability.OUTPUT)), _13(13, EnumSet.of( // ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT)), A0(14, // EnumSet.of(ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT, // ArduinoPinCapability.ANALOG)), A1(15, EnumSet.of( // ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT, // ArduinoPinCapability.ANALOG)), A2(16, EnumSet.of( // ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT, // ArduinoPinCapability.ANALOG)), A3(17, EnumSet.of( // ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT, // ArduinoPinCapability.ANALOG)), A4(18, EnumSet.of( // ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT, // ArduinoPinCapability.ANALOG)), A5(19, EnumSet.of( // ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT, // ArduinoPinCapability.ANALOG)); // EnumSet<ArduinoPinCapability> capabilitySet; // int microHardwarePin; // // ArduinoPin(int microHardwarePin, EnumSet<ArduinoPinCapability> set) { // this.microHardwarePin = microHardwarePin; // this.capabilitySet = set; // } // // public EnumSet<ArduinoPinCapability> getCapabilitySet() { // return capabilitySet;// .clone(); // } // // public static List<ArduinoPin> getDigitalPins() { // List<ArduinoPin> arduinoPins = new ArrayList<ArduinoPin>(); // for (ArduinoPin pin : ArduinoPin.values()) { // if (pin.getCapabilitySet().contains(ArduinoPinCapability.INPUT) // && pin.getCapabilitySet().contains( // ArduinoPinCapability.OUTPUT)) // arduinoPins.add(pin); // } // return arduinoPins; // } // //} package com.integreight.onesheeld.enums; import java.util.ArrayList; import java.util.EnumSet; import java.util.Hashtable; import java.util.List; public enum ArduinoPin { _0(0, EnumSet.of(ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT, ArduinoPinCapability.RX), new Hashtable<String, Boolean>()), _1(1, EnumSet.of(ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT, ArduinoPinCapability.TX), new Hashtable<String, Boolean>()), _2( 2, EnumSet.of(ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT), new Hashtable<String, Boolean>()), _3(3, EnumSet.of( ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT, ArduinoPinCapability.PWM), new Hashtable<String, Boolean>()), _4( 4, EnumSet.of(ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT), new Hashtable<String, Boolean>()), _5(5, EnumSet.of( ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT, ArduinoPinCapability.PWM), new Hashtable<String, Boolean>()), _6(6, EnumSet.of(ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT, ArduinoPinCapability.PWM), new Hashtable<String, Boolean>()), _7( 7, EnumSet.of(ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT), new Hashtable<String, Boolean>()), _8(8, EnumSet.of( ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT), new Hashtable<String, Boolean>()), _9(9, EnumSet.of( ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT, ArduinoPinCapability.PWM), new Hashtable<String, Boolean>()), _10( 10, EnumSet.of(ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT, ArduinoPinCapability.PWM), new Hashtable<String, Boolean>()), _11(11, EnumSet.of( ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT, ArduinoPinCapability.PWM), new Hashtable<String, Boolean>()), _12( 12, EnumSet.of(ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT), new Hashtable<String, Boolean>()), _13(13, EnumSet.of( ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT), new Hashtable<String, Boolean>()), A0(14, EnumSet.of( ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT, ArduinoPinCapability.ANALOG), new Hashtable<String, Boolean>()), A1( 15, EnumSet.of(ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT, ArduinoPinCapability.ANALOG), new Hashtable<String, Boolean>()), A2(16, EnumSet.of( ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT, ArduinoPinCapability.ANALOG), new Hashtable<String, Boolean>()), A3( 17, EnumSet.of(ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT, ArduinoPinCapability.ANALOG), new Hashtable<String, Boolean>()), A4(18, EnumSet.of( ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT, ArduinoPinCapability.ANALOG), new Hashtable<String, Boolean>()), A5( 19, EnumSet.of(ArduinoPinCapability.INPUT, ArduinoPinCapability.OUTPUT, ArduinoPinCapability.ANALOG), new Hashtable<String, Boolean>()); EnumSet<ArduinoPinCapability> capabilitySet; public int microHardwarePin; public Hashtable<String, Boolean> connectedPins; ArduinoPin(int microHardwarePin, EnumSet<ArduinoPinCapability> set, Hashtable<String, Boolean> connectedPins) { this.microHardwarePin = microHardwarePin; this.capabilitySet = set; this.connectedPins = connectedPins; } public EnumSet<ArduinoPinCapability> getCapabilitySet() { return capabilitySet;// .clone(); } public static List<ArduinoPin> getDigitalPins() { List<ArduinoPin> arduinoPins = new ArrayList<ArduinoPin>(); for (ArduinoPin pin : ArduinoPin.values()) { if (pin.getCapabilitySet().contains(ArduinoPinCapability.INPUT) && pin.getCapabilitySet().contains( ArduinoPinCapability.OUTPUT)) arduinoPins.add(pin); } return arduinoPins; } }