Fix beambreak interpretation
Signed-off-by: Maxwell Henderson <mxwhenderson@gmail.com>
Change-Id: Ibd0d84ebe5762352cf5a6aabb74bd77c8e143cd8
diff --git a/y2023/control_loops/drivetrain/BUILD b/y2023/control_loops/drivetrain/BUILD
index 521fc09..063e972 100644
--- a/y2023/control_loops/drivetrain/BUILD
+++ b/y2023/control_loops/drivetrain/BUILD
@@ -162,6 +162,7 @@
"//y2023/constants:constants_fbs",
"//y2023/control_loops/superstructure:superstructure_position_fbs",
"//y2023/control_loops/superstructure:superstructure_status_fbs",
+ "//y2023/vision:game_pieces_fbs",
],
)
diff --git a/y2023/control_loops/drivetrain/target_selector.cc b/y2023/control_loops/drivetrain/target_selector.cc
index aacfbbf..16a0090 100644
--- a/y2023/control_loops/drivetrain/target_selector.cc
+++ b/y2023/control_loops/drivetrain/target_selector.cc
@@ -3,6 +3,7 @@
#include "aos/containers/sized_array.h"
#include "frc971/shooter_interpolation/interpolation.h"
#include "y2023/control_loops/superstructure/superstructure_position_generated.h"
+#include "y2023/vision/game_pieces_generated.h"
namespace y2023::control_loops::drivetrain {
namespace {
@@ -15,7 +16,8 @@
: joystick_state_fetcher_(
event_loop->MakeFetcher<aos::JoystickState>("/aos")),
hint_fetcher_(event_loop->MakeFetcher<TargetSelectorHint>("/drivetrain")),
- superstructure_status_fetcher_(event_loop->MakeFetcher<superstructure::Status>("/superstructure")),
+ superstructure_status_fetcher_(
+ event_loop->MakeFetcher<superstructure::Status>("/superstructure")),
status_sender_(
event_loop->MakeSender<TargetSelectorStatus>("/drivetrain")),
constants_fetcher_(event_loop) {
@@ -33,12 +35,14 @@
LateralOffsetForTimeOfFlight(msg.cone_position());
});
- event_loop->AddPhasedLoop([this](int){
- auto builder = status_sender_.MakeBuilder();
- auto status_builder = builder.MakeBuilder<TargetSelectorStatus>();
- status_builder.add_game_piece_position(game_piece_position_);
- builder.CheckOk(builder.Send(status_builder.Finish()));
- }, std::chrono::milliseconds(100));
+ event_loop->AddPhasedLoop(
+ [this](int) {
+ auto builder = status_sender_.MakeBuilder();
+ auto status_builder = builder.MakeBuilder<TargetSelectorStatus>();
+ status_builder.add_game_piece_position(game_piece_position_);
+ builder.CheckOk(builder.Send(status_builder.Finish()));
+ },
+ std::chrono::milliseconds(100));
}
void TargetSelector::UpdateAlliance() {
@@ -180,10 +184,13 @@
superstructure_status_fetcher_.Fetch();
if (superstructure_status_fetcher_.get() != nullptr) {
switch (superstructure_status_fetcher_->game_piece()) {
- case superstructure::GamePiece::NONE:
- case superstructure::GamePiece::CUBE:
+ case vision::Class::NONE:
+ case vision::Class::CUBE:
return 0.0;
- case superstructure::GamePiece::CONE:
+ case vision::Class::CONE_UP:
+ // execute logic below.
+ break;
+ case vision::Class::CONE_DOWN:
// execute logic below.
break;
}