blob: 891005132ebacd087f0a7a227e634ef60919e068 [file] [log] [blame]
include "frc971/vision/calibration.fbs";
include "frc971/vision/target_map.fbs";
include "frc971/control_loops/profiled_subsystem.fbs";
include "frc971/zeroing/constants.fbs";
include "y2023/localizer/scoring_map.fbs";
namespace y2023;
table CameraConfiguration {
calibration:frc971.vision.calibration.CameraCalibration (id: 0);
}
// Data point for a single time of flight sensor reading. Used in a linear
// interpolation table.
table TimeOfFlightDatum {
// Time-of-flight sensor reading for the datum.
tof_reading:double (id: 0);
// Where the game piece is laterally in the robot frame. 0 = centered;
// positive = to the left of the robot.
// In meters.
lateral_position:double (id: 1);
}
table TimeOfFlight {
interpolation_table:[TimeOfFlightDatum] (id: 0);
}
table RobotConstants {
// Table of time-of-flight reading positions. Until we bother using one
// of our interpolation classes, should just contain two values.
tof:TimeOfFlight (id: 0);
wrist_zero:frc971.zeroing.AbsoluteEncoderZeroingConstants (id: 1);
}
// Set of april tag targets, by april tag ID, to ignore when on a
// given alliance.
table IgnoreTargets {
red:[uint64] (id: 0);
blue:[uint64] (id: 1);
}
table Constants {
cameras:[CameraConfiguration] (id: 0);
target_map:frc971.vision.TargetMap (id: 1);
scoring_map:localizer.ScoringMap (id: 2);
robot:RobotConstants (id: 3);
ignore_targets:IgnoreTargets (id: 4);
wrist:frc971.control_loops.StaticZeroingSingleDOFProfiledSubsystemCommonParams (id: 5);
}
root_type Constants;