[epilogue] Allow configuring logging period and logging period offset (#6893)

This commit is contained in:
Jade
2024-08-15 00:26:48 +08:00
committed by GitHub
parent dece2391f5
commit 70fa41c69e
4 changed files with 64 additions and 4 deletions

View File

@@ -52,6 +52,9 @@ public class EpilogueGenerator {
out.println("package edu.wpi.first.epilogue;");
out.println();
out.println("import static edu.wpi.first.units.Units.Seconds;");
out.println();
loggerClassNames.stream()
.sorted()
.forEach(
@@ -150,6 +153,13 @@ public class EpilogueGenerator {
*/
""");
out.println(" public static void bind(" + robotClassName + " robot) {");
out.println(" if (config.loggingPeriod == null) {");
out.println(" config.loggingPeriod = Seconds.of(robot.getPeriod());");
out.println(" }");
out.println(" if (config.loggingPeriodOffset == null) {");
out.println(" config.loggingPeriodOffset = config.loggingPeriod.divide(2);");
out.println(" }");
out.println();
out.println(" robot.addPeriodic(() -> {");
out.println(" long start = System.nanoTime();");
out.println(
@@ -158,7 +168,8 @@ public class EpilogueGenerator {
+ ".tryUpdate(config.dataLogger.getSubLogger(config.root), robot, config.errorHandler);");
out.println(
" edu.wpi.first.networktables.NetworkTableInstance.getDefault().getEntry(\"Epilogue/Stats/Last Run\").setDouble((System.nanoTime() - start) / 1e6);");
out.println(" }, robot.getPeriod(), robot.getPeriod() / 2);");
out.println(
" }, config.loggingPeriod.in(Seconds), config.loggingPeriodOffset.in(Seconds));");
out.println(" }");
}
}