001/* 002 * Copyright (C) Cross The Road Electronics. All rights reserved. 003 * License information can be found in CTRE_LICENSE.txt 004 * For support and suggestions contact support@ctr-electronics.com or file 005 * an issue tracker at https://github.com/CrossTheRoadElec/Phoenix-Releases 006 */ 007package com.ctre.phoenixpro.signals; 008 009import java.util.HashMap; 010 011/** 012 * The range of the absolute sensor, either [0, 1) or [-0.5, 0.5). 013 */ 014public enum AbsoluteSensorRangeValue 015{ 016 Unsigned_0To1(0), 017 Signed_PlusMinusHalf(1),; 018 019 public final int value; 020 021 AbsoluteSensorRangeValue(int initValue) 022 { 023 this.value = initValue; 024 } 025 026 private static HashMap<Integer, AbsoluteSensorRangeValue> _map = null; 027 static 028 { 029 _map = new HashMap<Integer, AbsoluteSensorRangeValue>(); 030 for (AbsoluteSensorRangeValue type : AbsoluteSensorRangeValue.values()) 031 { 032 _map.put(type.value, type); 033 } 034 } 035 036 /** 037 * Gets AbsoluteSensorRangeValue from specified value 038 * @param value Value of AbsoluteSensorRangeValue 039 * @return AbsoluteSensorRangeValue of specified value 040 */ 041 public static AbsoluteSensorRangeValue valueOf(int value) 042 { 043 AbsoluteSensorRangeValue retval = _map.get(value); 044 if(retval != null) return retval; 045 return AbsoluteSensorRangeValue.values()[0]; 046 } 047}