View Javadoc
1   /*
2    * Copyright © 2016 Greg Chabala
3    *
4    * This file is part of brick-control-lab.
5    *
6    * brick-control-lab is free software: you can redistribute it and/or modify
7    * it under the terms of the GNU Lesser General Public License as
8    * published by the Free Software Foundation, either version 3 of the
9    * License, or (at your option) any later version.
10   *
11   * brick-control-lab is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   * GNU Lesser General Public License for more details.
15   *
16   * You should have received a copy of the GNU Lesser General Public License
17   * along with brick-control-lab.  If not, see http://www.gnu.org/licenses/.
18   */
19  package org.chabala.brick.controllab;
20  
21  /**
22   * Identifiers for the input ports on the control lab.
23   * <p>
24   * Inputs 1-4 are passive, they read the resistence of the sensor
25   * connected to them. They are colored yellow on the control lab.
26   * <p>
27   * Inputs 5-8 are active, they supply power to the connected sensor
28   * in order for it to work. They are colored blue on the control lab.
29   */
30  public enum InputId {
31      /** Input 1. */ I1(InputType.PASSIVE),
32      /** Input 2. */ I2(InputType.PASSIVE),
33      /** Input 3. */ I3(InputType.PASSIVE),
34      /** Input 4. */ I4(InputType.PASSIVE),
35      /** Input 5. */ I5(InputType.ACTIVE),
36      /** Input 6. */ I6(InputType.ACTIVE),
37      /** Input 7. */ I7(InputType.ACTIVE),
38      /** Input 8. */ I8(InputType.ACTIVE);
39  
40      private final InputType inputType;
41  
42      InputId(InputType inputType) {
43          this.inputType = inputType;
44      }
45  
46      /**
47       * Returns an {@link InputType} to indicate if this {@link InputId} is
48       * active or passive.
49       * @return the input type for this input ID
50       */
51      public InputType getInputType() {
52          return inputType;
53      }
54  }