[sim] Add SendableChooserSim (#6763)

Co-authored-by: Tyler Veness <calcmogul@gmail.com>
Co-authored-by: Joseph Eng <91924258+KangarooKoala@users.noreply.github.com>
This commit is contained in:
Gold856
2024-08-15 18:00:10 -04:00
committed by GitHub
parent 477907e4cc
commit 0c58426f4c
5 changed files with 138 additions and 15 deletions

View File

@@ -0,0 +1,24 @@
// 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.
#include "frc/simulation/SendableChooserSim.h"
using namespace frc::sim;
SendableChooserSim::SendableChooserSim(std::string_view path)
: SendableChooserSim(nt::NetworkTableInstance::GetDefault(), path) {}
SendableChooserSim::SendableChooserSim(nt::NetworkTableInstance inst,
std::string_view path) {
if constexpr (RobotBase::IsSimulation()) {
m_publisher =
inst.GetStringTopic(fmt::format("{}{}", path, "selected")).Publish();
}
}
void SendableChooserSim::SetSelected(std::string_view option) {
if constexpr (RobotBase::IsSimulation()) {
m_publisher.Set(option);
}
}