001/* Copyright (C) Cross The Road Electronics 2024 */ 002package com.ctre.phoenix; 003 004import com.ctre.phoenix.CustomParamConfiguration; 005import com.ctre.phoenix.VelocityPeriod; 006 007 008 009/** 010 * Configurables available to CANifier 011 */ 012public class CANifierConfiguration extends CustomParamConfiguration{ 013 /** 014 * Velocity measurement period to use 015 */ 016 public VelocityPeriod velocityMeasurementPeriod; 017 /** 018 * Velocity measurement window to use 019 */ 020 public int velocityMeasurementWindow; 021 /** 022 * Whether to clear sensor position on forward limit 023 */ 024 public boolean clearPositionOnLimitF; 025 /** 026 * Whether to clear sensor position on reverse limit 027 */ 028 public boolean clearPositionOnLimitR; 029 /** 030 * Whether to clear sensor position on index 031 */ 032 public boolean clearPositionOnQuadIdx; 033 034 public CANifierConfiguration() { 035 velocityMeasurementPeriod = VelocityPeriod.Period_100Ms; 036 velocityMeasurementWindow = 64; 037 clearPositionOnLimitF = false; 038 clearPositionOnLimitR = false; 039 clearPositionOnQuadIdx = false; 040 041 } 042 043 /** 044 * @return String representation of configs 045 */ 046 public String toString() { 047 return toString(""); 048 } 049 050 /** 051 * @param prependString 052 * String to prepend to configs 053 * @return String representation of configs 054 */ 055 public String toString(String prependString) { 056 057 String retstr = prependString + ".velocityMeasurementPeriod = " + velocityMeasurementPeriod.toString() + ";\n"; 058 retstr += prependString + ".velocityMeasurementWindow = " + String.valueOf(velocityMeasurementWindow) + ";\n"; 059 retstr += prependString + ".clearPositionOnLimitF = " + String.valueOf(clearPositionOnLimitF) + ";\n"; 060 retstr += prependString + ".clearPositionOnLimitR = " + String.valueOf(clearPositionOnLimitR) + ";\n"; 061 retstr += prependString + ".clearPositionOnQuadIdx = " + String.valueOf(clearPositionOnQuadIdx) + ";\n"; 062 063 064 retstr += super.toString(prependString); 065 066 return retstr; 067 } 068 069}