001/* 002 * Copyright (c) 2018-2021 REV Robotics 003 * 004 * Redistribution and use in source and binary forms, with or without 005 * modification, are permitted provided that the following conditions are met: 006 * 007 * 1. Redistributions of source code must retain the above copyright notice, 008 * this list of conditions and the following disclaimer. 009 * 2. Redistributions in binary form must reproduce the above copyright 010 * notice, this list of conditions and the following disclaimer in the 011 * documentation and/or other materials provided with the distribution. 012 * 3. Neither the name of REV Robotics nor the names of its 013 * contributors may be used to endorse or promote products derived from 014 * this software without specific prior written permission. 015 * 016 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 017 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 018 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 019 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 020 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 021 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 022 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 023 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 024 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 025 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 026 * POSSIBILITY OF SUCH DAMAGE. 027 */ 028 029package com.revrobotics; 030 031public enum REVLibError { 032 kOk(0), 033 kError(1), 034 kTimeout(2), 035 kNotImplemented(3), 036 kHALError(4), 037 kCantFindFirmware(5), 038 kFirmwareTooOld(6), 039 kFirmwareTooNew(7), 040 kParamInvalidID(8), 041 kParamMismatchType(9), 042 kParamAccessMode(10), 043 kParamInvalid(11), 044 kParamNotImplementedDeprecated(12), 045 kFollowConfigMismatch(13), 046 kInvalid(14), 047 kSetpointOutOfRange(15), 048 kUnknown(16), 049 kCANDisconnected(17), 050 kDuplicateCANId(18), 051 kInvalidCANId(19), 052 kSparkMaxDataPortAlreadyConfiguredDifferently(20); 053 054 @SuppressWarnings("MemberName") 055 public final int value; 056 057 REVLibError(int value) { 058 this.value = value; 059 } 060 061 public static REVLibError fromInt(int id) { 062 for (REVLibError type : values()) { 063 if (type.value == id) { 064 return type; 065 } 066 } 067 return kInvalid; 068 } 069}