diff --git a/src/main/java/org/lasarobotics/hardware/revrobotics/SparkMonitor.java b/src/main/java/org/lasarobotics/hardware/revrobotics/SparkMonitor.java index ce4eec1..1a2d69a 100644 --- a/src/main/java/org/lasarobotics/hardware/revrobotics/SparkMonitor.java +++ b/src/main/java/org/lasarobotics/hardware/revrobotics/SparkMonitor.java @@ -4,13 +4,12 @@ package org.lasarobotics.hardware.revrobotics; -import java.util.HashMap; +import java.util.HashSet; import org.lasarobotics.hardware.PurpleManager; import org.lasarobotics.utils.GlobalConstants; import org.tinylog.Logger; -import com.revrobotics.spark.SparkBase; import com.revrobotics.spark.SparkBase.Faults; import edu.wpi.first.units.Units; @@ -18,7 +17,7 @@ /** This is a basic monitor class separate from the HealthMonitor setup. */ public class SparkMonitor { private static SparkMonitor s_instance = new SparkMonitor(); - private static HashMap s_sparks = new HashMap<>(); + private static HashSet s_sparks = new HashSet<>(); private static int s_runCount = 0; /** Creates a new SparkMonitor. */ @@ -40,9 +39,7 @@ public static SparkMonitor getInstance() { * @return True if added successfully */ public boolean add(Spark spark) { - if (s_sparks.containsKey(spark)) return false; - s_sparks.put(spark, new SparkBase.Faults(0)); - return true; + return s_sparks.add(spark); } /** @@ -51,10 +48,7 @@ public boolean add(Spark spark) { * @return True if removed successfully */ public boolean remove(Spark spark) { - if (s_sparks.containsKey(spark)) { - s_sparks.remove(spark); - return true; - } else return false; + return s_sparks.remove(spark); } public void periodic() { @@ -63,9 +57,9 @@ public void periodic() { s_runCount = 0; - s_sparks.forEach((sparkMax, prevFaults) -> { + s_sparks.forEach((sparkMax) -> { Faults faults = sparkMax.getStickyFaults(); - if (faults != prevFaults) { + if (faults.rawBits != 0) { Logger.tag("Spark Monitor") .warn( "{} faults: {}", @@ -80,7 +74,6 @@ public void periodic() { " Firmware: " + faults.firmware ); } - s_sparks.put(sparkMax, faults); }); } }