From 7cc760d3fb699204be9fed8ce0b4dcb49bca7cd5 Mon Sep 17 00:00:00 2001 From: CoolSpy3 Date: Sun, 9 Jul 2023 17:57:11 -0700 Subject: [PATCH 1/2] fix a bug where safe-mode may not be initialized --- .../org/carlmontrobotics/lib199/safeMode/SafeCommand.java | 4 ++++ .../lib199/safeMode/SafeExecuteBlockingCommand.java | 4 ++++ .../java/org/carlmontrobotics/lib199/safeMode/SafeMode.java | 5 +++++ .../org/carlmontrobotics/lib199/safeMode/UnsafeCommand.java | 4 ++++ .../lib199/safeMode/UnsafeExecuteBlockingCommand.java | 4 ++++ 5 files changed, 21 insertions(+) diff --git a/src/main/java/org/carlmontrobotics/lib199/safeMode/SafeCommand.java b/src/main/java/org/carlmontrobotics/lib199/safeMode/SafeCommand.java index bc90ae01..5580d148 100644 --- a/src/main/java/org/carlmontrobotics/lib199/safeMode/SafeCommand.java +++ b/src/main/java/org/carlmontrobotics/lib199/safeMode/SafeCommand.java @@ -14,6 +14,10 @@ public class SafeCommand extends FunctionalCommand { private final Command command; + static { + SafeMode.ensureRegistered(); + } + /** * Creates a new SafeCommand * @param command The command to run diff --git a/src/main/java/org/carlmontrobotics/lib199/safeMode/SafeExecuteBlockingCommand.java b/src/main/java/org/carlmontrobotics/lib199/safeMode/SafeExecuteBlockingCommand.java index 48e72fb9..814913d1 100644 --- a/src/main/java/org/carlmontrobotics/lib199/safeMode/SafeExecuteBlockingCommand.java +++ b/src/main/java/org/carlmontrobotics/lib199/safeMode/SafeExecuteBlockingCommand.java @@ -15,6 +15,10 @@ public class SafeExecuteBlockingCommand extends FunctionalCommand { private final Command command; + static { + SafeMode.ensureRegistered(); + } + public SafeExecuteBlockingCommand(Command command) { super( () -> command.initialize(), diff --git a/src/main/java/org/carlmontrobotics/lib199/safeMode/SafeMode.java b/src/main/java/org/carlmontrobotics/lib199/safeMode/SafeMode.java index 71e678b0..45112c0c 100644 --- a/src/main/java/org/carlmontrobotics/lib199/safeMode/SafeMode.java +++ b/src/main/java/org/carlmontrobotics/lib199/safeMode/SafeMode.java @@ -46,6 +46,11 @@ public class SafeMode { Lib199Subsystem.registerPeriodic(SafeMode::updateCallbacks); } + /** + * Ensures that the static block of this class is called, setting up safe-mode + */ + public static void ensureRegistered() {} + /** * Enables safe-mode */ diff --git a/src/main/java/org/carlmontrobotics/lib199/safeMode/UnsafeCommand.java b/src/main/java/org/carlmontrobotics/lib199/safeMode/UnsafeCommand.java index ce7b80a5..e6d9368d 100644 --- a/src/main/java/org/carlmontrobotics/lib199/safeMode/UnsafeCommand.java +++ b/src/main/java/org/carlmontrobotics/lib199/safeMode/UnsafeCommand.java @@ -14,6 +14,10 @@ public class UnsafeCommand extends FunctionalCommand { private final Command command; + static { + SafeMode.ensureRegistered(); + } + public UnsafeCommand(Command command) { super( () -> { if(!SafeMode.isEnabled()) command.initialize(); }, diff --git a/src/main/java/org/carlmontrobotics/lib199/safeMode/UnsafeExecuteBlockingCommand.java b/src/main/java/org/carlmontrobotics/lib199/safeMode/UnsafeExecuteBlockingCommand.java index c9072898..0bb4600d 100644 --- a/src/main/java/org/carlmontrobotics/lib199/safeMode/UnsafeExecuteBlockingCommand.java +++ b/src/main/java/org/carlmontrobotics/lib199/safeMode/UnsafeExecuteBlockingCommand.java @@ -15,6 +15,10 @@ public class UnsafeExecuteBlockingCommand extends FunctionalCommand { private final Command command; + static { + SafeMode.ensureRegistered(); + } + public UnsafeExecuteBlockingCommand(Command command) { super( command::initialize, From 8091a26df93f4a9387f3c3ded600e425e478a103 Mon Sep 17 00:00:00 2001 From: CoolSpy3 Date: Sun, 9 Jul 2023 18:15:12 -0700 Subject: [PATCH 2/2] documentation --- .../org/carlmontrobotics/lib199/safeMode/SafeCommand.java | 2 +- .../lib199/safeMode/SafeExecuteBlockingCommand.java | 2 +- .../java/org/carlmontrobotics/lib199/safeMode/SafeMode.java | 5 +++-- .../org/carlmontrobotics/lib199/safeMode/UnsafeCommand.java | 2 +- .../lib199/safeMode/UnsafeExecuteBlockingCommand.java | 2 +- 5 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/carlmontrobotics/lib199/safeMode/SafeCommand.java b/src/main/java/org/carlmontrobotics/lib199/safeMode/SafeCommand.java index 5580d148..f88fb082 100644 --- a/src/main/java/org/carlmontrobotics/lib199/safeMode/SafeCommand.java +++ b/src/main/java/org/carlmontrobotics/lib199/safeMode/SafeCommand.java @@ -15,7 +15,7 @@ public class SafeCommand extends FunctionalCommand { private final Command command; static { - SafeMode.ensureRegistered(); + SafeMode.ensureInitialized(); } /** diff --git a/src/main/java/org/carlmontrobotics/lib199/safeMode/SafeExecuteBlockingCommand.java b/src/main/java/org/carlmontrobotics/lib199/safeMode/SafeExecuteBlockingCommand.java index 814913d1..1a4eb902 100644 --- a/src/main/java/org/carlmontrobotics/lib199/safeMode/SafeExecuteBlockingCommand.java +++ b/src/main/java/org/carlmontrobotics/lib199/safeMode/SafeExecuteBlockingCommand.java @@ -16,7 +16,7 @@ public class SafeExecuteBlockingCommand extends FunctionalCommand { private final Command command; static { - SafeMode.ensureRegistered(); + SafeMode.ensureInitialized(); } public SafeExecuteBlockingCommand(Command command) { diff --git a/src/main/java/org/carlmontrobotics/lib199/safeMode/SafeMode.java b/src/main/java/org/carlmontrobotics/lib199/safeMode/SafeMode.java index 45112c0c..83954135 100644 --- a/src/main/java/org/carlmontrobotics/lib199/safeMode/SafeMode.java +++ b/src/main/java/org/carlmontrobotics/lib199/safeMode/SafeMode.java @@ -47,9 +47,10 @@ public class SafeMode { } /** - * Ensures that the static block of this class is called, setting up safe-mode + * Ensures that the static block of this class is called, setting up safe-mode. + * It is unlikely that you will need to call this function. */ - public static void ensureRegistered() {} + public static void ensureInitialized() {} /** * Enables safe-mode diff --git a/src/main/java/org/carlmontrobotics/lib199/safeMode/UnsafeCommand.java b/src/main/java/org/carlmontrobotics/lib199/safeMode/UnsafeCommand.java index e6d9368d..433dca8e 100644 --- a/src/main/java/org/carlmontrobotics/lib199/safeMode/UnsafeCommand.java +++ b/src/main/java/org/carlmontrobotics/lib199/safeMode/UnsafeCommand.java @@ -15,7 +15,7 @@ public class UnsafeCommand extends FunctionalCommand { private final Command command; static { - SafeMode.ensureRegistered(); + SafeMode.ensureInitialized(); } public UnsafeCommand(Command command) { diff --git a/src/main/java/org/carlmontrobotics/lib199/safeMode/UnsafeExecuteBlockingCommand.java b/src/main/java/org/carlmontrobotics/lib199/safeMode/UnsafeExecuteBlockingCommand.java index 0bb4600d..181f735a 100644 --- a/src/main/java/org/carlmontrobotics/lib199/safeMode/UnsafeExecuteBlockingCommand.java +++ b/src/main/java/org/carlmontrobotics/lib199/safeMode/UnsafeExecuteBlockingCommand.java @@ -16,7 +16,7 @@ public class UnsafeExecuteBlockingCommand extends FunctionalCommand { private final Command command; static { - SafeMode.ensureRegistered(); + SafeMode.ensureInitialized(); } public UnsafeExecuteBlockingCommand(Command command) {