BowlerKernel
AsyncMode.java
Go to the documentation of this file.
1 package com.neuronrobotics.sdk.commands.bcs.io;
2 
3 import java.util.EnumSet;
4 import java.util.HashMap;
5 import java.util.Map;
6 
7 import com.neuronrobotics.sdk.common.ISendable;
8 
9 // TODO: Auto-generated Javadoc
13 public enum AsyncMode implements ISendable{
14 
17  NOTEQUAL(0x00),
18 
20  DEADBAND(0x01),
21 
23  THRESHHOLD(0x02),
24 
26  AUTOSAMP(0x03);
27  /* (non-Javadoc)
28  * @see java.lang.Enum#toString()
29  */
30  public String toString(){
31  String s="NOT VALID";
32  switch (value){
33  case 0x00:
34  return "NOTEQUAL";
35  case 0x01:
36  return "DEADBAND";
37  case 0x02:
38  return "THRESHHOLD";
39  case 0x03:
40  return "AUTOSAMP";
41  }
42  return s;
43  }
44 
46  private static final Map<Byte,AsyncMode> lookup = new HashMap<Byte,AsyncMode>();
47 
48  static {
49  for(AsyncMode cm : EnumSet.allOf(AsyncMode.class)) {
50  lookup.put(cm.getValue(), cm);
51  }
52  }
53 
55  private byte value;
56 
62  private AsyncMode(int val) {
63  value = (byte) val;
64  }
65 
71  public byte getValue() {
72  return value;
73  }
74 
81  public static AsyncMode get(byte code) {
82  return lookup.get(code);
83  }
84 
85  /* (non-Javadoc)
86  * @see com.neuronrobotics.sdk.common.ISendable#getBytes()
87  */
88  public byte[] getBytes() {
89  byte [] b = {getValue()};
90  return b;
91  }
92 
93 
94 }