blob: 61c33653d3d30ed2be94d048ee48bb0280973444 [file] [log] [blame]
James Kuszmauld67f6d22023-02-05 17:37:25 -08001include "frc971/vision/calibration.fbs";
Yash Chainani2ac8cb62023-01-14 16:36:36 -08002include "frc971/vision/target_map.fbs";
James Kuszmaul667b0592023-02-25 16:32:59 -08003include "y2023/localizer/scoring_map.fbs";
James Kuszmauld67f6d22023-02-05 17:37:25 -08004
5namespace y2023;
6
7table CameraConfiguration {
8 calibration:frc971.vision.calibration.CameraCalibration (id: 0);
9}
10
James Kuszmaul202e4382023-03-05 14:56:55 -080011// Data point for a single time of flight sensor reading. Used in a linear
12// interpolation table.
13table TimeOfFlightDatum {
14 // Time-of-flight sensor reading for the datum.
15 tof_reading:double (id: 0);
16 // Where the game piece is laterally in the robot frame. 0 = centered;
17 // positive = to the left of the robot.
18 // In meters.
19 lateral_position:double (id: 1);
20}
21
22table TimeOfFlight {
23 interpolation_table:[TimeOfFlightDatum] (id: 0);
24}
25
26table RobotConstants {
27 // Table of time-of-flight reading positions. Until we bother using one
28 // of our interpolation classes, should just contain two values.
29 tof:TimeOfFlight (id: 0);
30}
31
James Kuszmaul4fe845a2023-03-26 12:57:30 -070032// Set of april tag targets, by april tag ID, to ignore when on a
33// given alliance.
34table IgnoreTargets {
35 red:[uint64] (id: 0);
36 blue:[uint64] (id: 1);
37}
38
James Kuszmauld67f6d22023-02-05 17:37:25 -080039table Constants {
40 cameras:[CameraConfiguration] (id: 0);
Yash Chainani2ac8cb62023-01-14 16:36:36 -080041 target_map:frc971.vision.TargetMap (id: 1);
James Kuszmaul667b0592023-02-25 16:32:59 -080042 scoring_map:localizer.ScoringMap (id: 2);
James Kuszmaul202e4382023-03-05 14:56:55 -080043 robot:RobotConstants (id: 3);
James Kuszmaul4fe845a2023-03-26 12:57:30 -070044 ignore_targets:IgnoreTargets (id: 4);
James Kuszmauld67f6d22023-02-05 17:37:25 -080045}
46
47root_type Constants;