-
Notifications
You must be signed in to change notification settings - Fork 706
Expand file tree
/
Copy pathEpilogueConfiguration.java
More file actions
69 lines (59 loc) · 2.71 KB
/
EpilogueConfiguration.java
File metadata and controls
69 lines (59 loc) · 2.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
// Copyright (c) FIRST and other WPILib contributors.
// Open Source Software; you can modify and/or share it under the terms of
// the WPILib BSD license file in the root directory of this project.
package org.wpilib.epilogue;
import org.wpilib.epilogue.logging.EpilogueBackend;
import org.wpilib.epilogue.logging.NTEpilogueBackend;
import org.wpilib.epilogue.logging.errors.ErrorHandler;
import org.wpilib.epilogue.logging.errors.ErrorPrinter;
import org.wpilib.networktables.NetworkTableInstance;
import org.wpilib.units.measure.Time;
/**
* A configuration object to be used by the generated {@code Epilogue} class to customize its
* behavior.
*/
@SuppressWarnings("checkstyle:MemberName")
public class EpilogueConfiguration {
/**
* The backend implementation for Epilogue to use. By default, this will log data directly to
* NetworkTables. NetworkTable data can be mirrored to a log file on disk by calling {@code
* DataLogManager.start()} in your robot class constructor.
*/
public EpilogueBackend backend = new NTEpilogueBackend(NetworkTableInstance.getDefault());
/**
* The period Epilogue will log at. By default this is the period that the robot runs at. This is
* the field used by bind to configure speed when adding the periodic logging function
*/
public Time loggingPeriod;
/**
* The offset from the periodic run that Epilogue will log at. By default this will be half of the
* robots period. This is the field used by bind when adding the periodic logging function
*/
public Time loggingPeriodOffset;
/**
* The minimum importance level of data to be logged. Defaults to debug, which logs data of all
* importance levels. Any data tagged with an importance level lower than this will not be logged.
*/
public Logged.Importance minimumImportance = Logged.Importance.DEBUG;
/**
* The error handler for loggers to use if they encounter an error while logging. Defaults to
* printing an error to the standard output.
*/
public ErrorHandler errorHandler = new ErrorPrinter();
/**
* The root identifier to use for all logged data. Defaults to "Robot", but can be changed to any
* string.
*/
public String root = "Robot";
/**
* Whether to automatically log the default commands v3 scheduler. If set to {@code true}, the
* scheduler will be logged under the "Command Scheduler" indentifier in the {@link #root root
* namespace}. If you want to manually log the scheduler with a different identifier, set this to
* {@code false} to avoid duplicating logged data.
*
* <p>Has no effect if the CommandsV3 vendordep is not present.
*/
public boolean automaticallyLogCommandScheduler = true;
/** Default constructor. */
public EpilogueConfiguration() {}
}