diff --git a/wpilibc/src/main/native/cpp/PneumaticsHub.cpp b/wpilibc/src/main/native/cpp/PneumaticHub.cpp similarity index 71% rename from wpilibc/src/main/native/cpp/PneumaticsHub.cpp rename to wpilibc/src/main/native/cpp/PneumaticHub.cpp index 565c7a82d3..8217e86964 100644 --- a/wpilibc/src/main/native/cpp/PneumaticsHub.cpp +++ b/wpilibc/src/main/native/cpp/PneumaticHub.cpp @@ -2,7 +2,7 @@ // 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/PneumaticsHub.h" +#include "frc/PneumaticHub.h" #include #include @@ -16,28 +16,27 @@ using namespace frc; -wpi::mutex PneumaticsHub::m_handleLock; -std::unique_ptr>> - PneumaticsHub::m_handleMap = nullptr; +wpi::mutex PneumaticHub::m_handleLock; +std::unique_ptr>> + PneumaticHub::m_handleMap = nullptr; // Always called under lock, so we can avoid the double lock from the magic // static -std::weak_ptr& PneumaticsHub::GetDataStore( - int module) { +std::weak_ptr& PneumaticHub::GetDataStore(int module) { if (!m_handleMap) { m_handleMap = std::make_unique< - wpi::DenseMap>>(); + wpi::DenseMap>>(); } return (*m_handleMap)[module]; } -class PneumaticsHub::DataStore { +class PneumaticHub::DataStore { public: explicit DataStore(int module, const char* stackTrace) { int32_t status = 0; HAL_REVPHHandle handle = HAL_InitializeREVPH(module, stackTrace, &status); FRC_CheckErrorStatus(status, "Module {}", module); - m_moduleObject = PneumaticsHub{handle, module}; + m_moduleObject = PneumaticHub{handle, module}; m_moduleObject.m_dataStore = std::shared_ptr{this, wpi::NullDeleter()}; } @@ -48,17 +47,17 @@ class PneumaticsHub::DataStore { DataStore& operator=(DataStore&&) = delete; private: - friend class PneumaticsHub; + friend class PneumaticHub; uint32_t m_reservedMask{0}; bool m_compressorReserved{false}; wpi::mutex m_reservedLock; - PneumaticsHub m_moduleObject{HAL_kInvalidHandle, 0}; + PneumaticHub m_moduleObject{HAL_kInvalidHandle, 0}; }; -PneumaticsHub::PneumaticsHub() - : PneumaticsHub{SensorUtil::GetDefaultREVPHModule()} {} +PneumaticHub::PneumaticHub() + : PneumaticHub{SensorUtil::GetDefaultREVPHModule()} {} -PneumaticsHub::PneumaticsHub(int module) { +PneumaticHub::PneumaticHub(int module) { std::string stackTrace = wpi::GetStackTrace(1); std::scoped_lock lock(m_handleLock); auto& res = GetDataStore(module); @@ -71,61 +70,61 @@ PneumaticsHub::PneumaticsHub(int module) { m_module = module; } -PneumaticsHub::PneumaticsHub(HAL_REVPHHandle handle, int module) +PneumaticHub::PneumaticHub(HAL_REVPHHandle handle, int module) : m_handle{handle}, m_module{module} {} -bool PneumaticsHub::GetCompressor() const { +bool PneumaticHub::GetCompressor() const { int32_t status = 0; auto result = HAL_GetREVPHCompressor(m_handle, &status); FRC_CheckErrorStatus(status, "Module {}", m_module); return result; } -void PneumaticsHub::SetClosedLoopControl(bool enabled) { +void PneumaticHub::SetClosedLoopControl(bool enabled) { int32_t status = 0; HAL_SetREVPHClosedLoopControl(m_handle, enabled, &status); FRC_CheckErrorStatus(status, "Module {}", m_module); } -bool PneumaticsHub::GetClosedLoopControl() const { +bool PneumaticHub::GetClosedLoopControl() const { int32_t status = 0; auto result = HAL_GetREVPHClosedLoopControl(m_handle, &status); FRC_CheckErrorStatus(status, "Module {}", m_module); return result; } -bool PneumaticsHub::GetPressureSwitch() const { +bool PneumaticHub::GetPressureSwitch() const { int32_t status = 0; auto result = HAL_GetREVPHPressureSwitch(m_handle, &status); FRC_CheckErrorStatus(status, "Module {}", m_module); return result; } -double PneumaticsHub::GetCompressorCurrent() const { +double PneumaticHub::GetCompressorCurrent() const { int32_t status = 0; auto result = HAL_GetREVPHCompressorCurrent(m_handle, &status); FRC_CheckErrorStatus(status, "Module {}", m_module); return result; } -void PneumaticsHub::SetSolenoids(int mask, int values) { +void PneumaticHub::SetSolenoids(int mask, int values) { int32_t status = 0; HAL_SetREVPHSolenoids(m_handle, mask, values, &status); FRC_CheckErrorStatus(status, "Module {}", m_module); } -int PneumaticsHub::GetSolenoids() const { +int PneumaticHub::GetSolenoids() const { int32_t status = 0; auto result = HAL_GetREVPHSolenoids(m_handle, &status); FRC_CheckErrorStatus(status, "Module {}", m_module); return result; } -int PneumaticsHub::GetModuleNumber() const { +int PneumaticHub::GetModuleNumber() const { return m_module; } -int PneumaticsHub::GetSolenoidDisabledList() const { +int PneumaticHub::GetSolenoidDisabledList() const { return 0; // TODO Fix me // int32_t status = 0; @@ -134,14 +133,14 @@ int PneumaticsHub::GetSolenoidDisabledList() const { // return result; } -void PneumaticsHub::FireOneShot(int index) { +void PneumaticHub::FireOneShot(int index) { // TODO Fix me // int32_t status = 0; // HAL_FireREVPHOneShot(m_handle, index, &status); // FRC_CheckErrorStatus(status, "Module {}", m_module); } -void PneumaticsHub::SetOneShotDuration(int index, units::second_t duration) { +void PneumaticHub::SetOneShotDuration(int index, units::second_t duration) { // TODO Fix me // int32_t status = 0; // units::millisecond_t millis = duration; @@ -149,11 +148,11 @@ void PneumaticsHub::SetOneShotDuration(int index, units::second_t duration) { // &status); FRC_CheckErrorStatus(status, "Module {}", m_module); } -bool PneumaticsHub::CheckSolenoidChannel(int channel) const { +bool PneumaticHub::CheckSolenoidChannel(int channel) const { return HAL_CheckREVPHSolenoidChannel(channel); } -int PneumaticsHub::CheckAndReserveSolenoids(int mask) { +int PneumaticHub::CheckAndReserveSolenoids(int mask) { std::scoped_lock lock{m_dataStore->m_reservedLock}; uint32_t uMask = static_cast(mask); if ((m_dataStore->m_reservedMask & uMask) != 0) { @@ -163,12 +162,12 @@ int PneumaticsHub::CheckAndReserveSolenoids(int mask) { return 0; } -void PneumaticsHub::UnreserveSolenoids(int mask) { +void PneumaticHub::UnreserveSolenoids(int mask) { std::scoped_lock lock{m_dataStore->m_reservedLock}; m_dataStore->m_reservedMask &= ~(static_cast(mask)); } -bool PneumaticsHub::ReserveCompressor() { +bool PneumaticHub::ReserveCompressor() { std::scoped_lock lock{m_dataStore->m_reservedLock}; if (m_dataStore->m_compressorReserved) { return false; @@ -177,26 +176,26 @@ bool PneumaticsHub::ReserveCompressor() { return true; } -void PneumaticsHub::UnreserveCompressor() { +void PneumaticHub::UnreserveCompressor() { std::scoped_lock lock{m_dataStore->m_reservedLock}; m_dataStore->m_compressorReserved = false; } -Solenoid PneumaticsHub::MakeSolenoid(int channel) { +Solenoid PneumaticHub::MakeSolenoid(int channel) { return Solenoid{m_module, PneumaticsModuleType::REVPH, channel}; } -DoubleSolenoid PneumaticsHub::MakeDoubleSolenoid(int forwardChannel, - int reverseChannel) { +DoubleSolenoid PneumaticHub::MakeDoubleSolenoid(int forwardChannel, + int reverseChannel) { return DoubleSolenoid{m_module, PneumaticsModuleType::REVPH, forwardChannel, reverseChannel}; } -Compressor PneumaticsHub::MakeCompressor() { +Compressor PneumaticHub::MakeCompressor() { return Compressor{m_module, PneumaticsModuleType::REVPH}; } -std::shared_ptr PneumaticsHub::GetForModule(int module) { +std::shared_ptr PneumaticHub::GetForModule(int module) { std::string stackTrace = wpi::GetStackTrace(1); std::scoped_lock lock(m_handleLock); auto& res = GetDataStore(module); diff --git a/wpilibc/src/main/native/cpp/PneumaticsBase.cpp b/wpilibc/src/main/native/cpp/PneumaticsBase.cpp index 2291c87931..9d966511fa 100644 --- a/wpilibc/src/main/native/cpp/PneumaticsBase.cpp +++ b/wpilibc/src/main/native/cpp/PneumaticsBase.cpp @@ -5,8 +5,8 @@ #include "frc/PneumaticsBase.h" #include "frc/Errors.h" +#include "frc/PneumaticHub.h" #include "frc/PneumaticsControlModule.h" -#include "frc/PneumaticsHub.h" #include "frc/SensorUtil.h" using namespace frc; @@ -16,7 +16,7 @@ std::shared_ptr PneumaticsBase::GetForType( if (moduleType == PneumaticsModuleType::CTREPCM) { return PneumaticsControlModule::GetForModule(module); } else if (moduleType == PneumaticsModuleType::REVPH) { - return PneumaticsHub::GetForModule(module); + return PneumaticHub::GetForModule(module); } throw FRC_MakeError(err::InvalidParameter, "{}", moduleType); } diff --git a/wpilibc/src/main/native/include/frc/PneumaticsHub.h b/wpilibc/src/main/native/include/frc/PneumaticHub.h similarity index 90% rename from wpilibc/src/main/native/include/frc/PneumaticsHub.h rename to wpilibc/src/main/native/include/frc/PneumaticHub.h index f6a4b59e0a..857ed51c41 100644 --- a/wpilibc/src/main/native/include/frc/PneumaticsHub.h +++ b/wpilibc/src/main/native/include/frc/PneumaticHub.h @@ -13,12 +13,12 @@ #include "PneumaticsBase.h" namespace frc { -class PneumaticsHub : public PneumaticsBase { +class PneumaticHub : public PneumaticsBase { public: - PneumaticsHub(); - explicit PneumaticsHub(int module); + PneumaticHub(); + explicit PneumaticHub(int module); - ~PneumaticsHub() override = default; + ~PneumaticHub() override = default; bool GetCompressor() const override; @@ -61,7 +61,7 @@ class PneumaticsHub : public PneumaticsBase { class DataStore; friend class DataStore; friend class PneumaticsBase; - PneumaticsHub(HAL_REVPHHandle handle, int module); + PneumaticHub(HAL_REVPHHandle handle, int module); static std::shared_ptr GetForModule(int module); diff --git a/wpilibc/src/test/native/cpp/simulation/REVPHSimTest.cpp b/wpilibc/src/test/native/cpp/simulation/REVPHSimTest.cpp index f622a73e9f..7786b29754 100644 --- a/wpilibc/src/test/native/cpp/simulation/REVPHSimTest.cpp +++ b/wpilibc/src/test/native/cpp/simulation/REVPHSimTest.cpp @@ -8,7 +8,7 @@ #include "callback_helpers/TestCallbackHelpers.h" #include "frc/DoubleSolenoid.h" -#include "frc/PneumaticsHub.h" +#include "frc/PneumaticHub.h" #include "gtest/gtest.h" namespace frc::sim { @@ -22,14 +22,14 @@ TEST(REVPHSimTest, InitializedCallback) { BooleanCallback callback; auto cb = sim.RegisterInitializedCallback(callback.GetCallback(), false); - PneumaticsHub ph; + PneumaticHub ph; EXPECT_TRUE(sim.GetInitialized()); EXPECT_TRUE(callback.WasTriggered()); EXPECT_TRUE(callback.GetLastValue()); } TEST(REVPHSimTest, SolenoidOutput) { - PneumaticsHub ph; + PneumaticHub ph; REVPHSim sim(ph); sim.ResetData(); @@ -80,7 +80,7 @@ TEST(REVPHSimTest, SolenoidOutput) { } TEST(REVPHSimTest, SetCompressorOn) { - PneumaticsHub ph; + PneumaticHub ph; REVPHSim sim(ph); sim.ResetData(); @@ -97,7 +97,7 @@ TEST(REVPHSimTest, SetCompressorOn) { } TEST(REVPHSimTest, SetClosedLoopEnabled) { - PneumaticsHub ph; + PneumaticHub ph; REVPHSim sim(ph); sim.ResetData(); @@ -116,7 +116,7 @@ TEST(REVPHSimTest, SetClosedLoopEnabled) { } TEST(REVPHSimTest, SetPressureSwitchEnabled) { - PneumaticsHub ph; + PneumaticHub ph; REVPHSim sim(ph); sim.ResetData(); @@ -133,7 +133,7 @@ TEST(REVPHSimTest, SetPressureSwitchEnabled) { } TEST(REVPHSimTest, SetCompressorCurrent) { - PneumaticsHub ph; + PneumaticHub ph; REVPHSim sim(ph); sim.ResetData(); diff --git a/wpilibj/src/main/java/edu/wpi/first/wpilibj/PneumaticsHub.java b/wpilibj/src/main/java/edu/wpi/first/wpilibj/PneumaticHub.java similarity index 94% rename from wpilibj/src/main/java/edu/wpi/first/wpilibj/PneumaticsHub.java rename to wpilibj/src/main/java/edu/wpi/first/wpilibj/PneumaticHub.java index 104973ab01..546c7c03af 100644 --- a/wpilibj/src/main/java/edu/wpi/first/wpilibj/PneumaticsHub.java +++ b/wpilibj/src/main/java/edu/wpi/first/wpilibj/PneumaticHub.java @@ -8,8 +8,8 @@ import edu.wpi.first.hal.REVPHJNI; import java.util.HashMap; import java.util.Map; -/** Module class for controlling a REV Robotics Pneumatics Hub. */ -public class PneumaticsHub implements PneumaticsBase { +/** Module class for controlling a REV Robotics Pneumatic Hub. */ +public class PneumaticHub implements PneumaticsBase { private static class DataStore implements AutoCloseable { public final int m_module; public final int m_handle; @@ -66,17 +66,17 @@ public class PneumaticsHub implements PneumaticsBase { private final DataStore m_dataStore; private final int m_handle; - /** Constructs a PneumaticsHub with the default id (1). */ - public PneumaticsHub() { + /** Constructs a PneumaticHub with the default id (1). */ + public PneumaticHub() { this(SensorUtil.getDefaultREVPHModule()); } /** - * Constructs a PneumaticsHub. + * Constructs a PneumaticHub. * * @param module module number to construct */ - public PneumaticsHub(int module) { + public PneumaticHub(int module) { m_dataStore = getForModule(module); m_handle = m_dataStore.m_handle; } diff --git a/wpilibj/src/main/java/edu/wpi/first/wpilibj/PneumaticsBase.java b/wpilibj/src/main/java/edu/wpi/first/wpilibj/PneumaticsBase.java index d063227d63..67c0f259c9 100644 --- a/wpilibj/src/main/java/edu/wpi/first/wpilibj/PneumaticsBase.java +++ b/wpilibj/src/main/java/edu/wpi/first/wpilibj/PneumaticsBase.java @@ -16,7 +16,7 @@ public interface PneumaticsBase extends AutoCloseable { if (type == PneumaticsModuleType.CTREPCM) { return new PneumaticsControlModule(module); } else if (type == PneumaticsModuleType.REVPH) { - return new PneumaticsHub(module); + return new PneumaticHub(module); } throw new IllegalArgumentException("Unknown module type"); } diff --git a/wpilibj/src/main/java/edu/wpi/first/wpilibj/simulation/REVPHSim.java b/wpilibj/src/main/java/edu/wpi/first/wpilibj/simulation/REVPHSim.java index 31166626a3..8a5f0f81c7 100644 --- a/wpilibj/src/main/java/edu/wpi/first/wpilibj/simulation/REVPHSim.java +++ b/wpilibj/src/main/java/edu/wpi/first/wpilibj/simulation/REVPHSim.java @@ -9,7 +9,7 @@ import edu.wpi.first.hal.simulation.REVPHDataJNI; import edu.wpi.first.wpilibj.PneumaticsBase; import edu.wpi.first.wpilibj.SensorUtil; -/** Class to control a simulated PneumaticsHub (PH). */ +/** Class to control a simulated PneumaticHub (PH). */ @SuppressWarnings("AbbreviationAsWordInName") public class REVPHSim { private final int m_index; diff --git a/wpilibj/src/test/java/edu/wpi/first/wpilibj/simulation/REVPHSimTest.java b/wpilibj/src/test/java/edu/wpi/first/wpilibj/simulation/REVPHSimTest.java index ac5841f494..8bdf23e3a1 100644 --- a/wpilibj/src/test/java/edu/wpi/first/wpilibj/simulation/REVPHSimTest.java +++ b/wpilibj/src/test/java/edu/wpi/first/wpilibj/simulation/REVPHSimTest.java @@ -11,7 +11,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import edu.wpi.first.hal.HAL; import edu.wpi.first.wpilibj.DoubleSolenoid; -import edu.wpi.first.wpilibj.PneumaticsHub; +import edu.wpi.first.wpilibj.PneumaticHub; import edu.wpi.first.wpilibj.PneumaticsModuleType; import edu.wpi.first.wpilibj.simulation.testutils.BooleanCallback; import edu.wpi.first.wpilibj.simulation.testutils.DoubleCallback; @@ -30,7 +30,7 @@ class REVPHSimTest { BooleanCallback callback = new BooleanCallback(); try (CallbackStore cb = sim.registerInitializedCallback(callback, false); - PneumaticsHub ph = new PneumaticsHub(1)) { + PneumaticHub ph = new PneumaticHub(1)) { assertTrue(sim.getInitialized()); } assertFalse(sim.getInitialized()); @@ -40,7 +40,7 @@ class REVPHSimTest { void solenoidOutputTest() { HAL.initialize(500, 0); - try (PneumaticsHub ph = new PneumaticsHub(1); + try (PneumaticHub ph = new PneumaticHub(1); DoubleSolenoid doubleSolenoid = new DoubleSolenoid(1, PneumaticsModuleType.REVPH, 3, 4)) { REVPHSim sim = new REVPHSim(ph); sim.resetData(); @@ -96,7 +96,7 @@ class REVPHSimTest { REVPHSim sim = new REVPHSim(1); BooleanCallback callback = new BooleanCallback(); - try (PneumaticsHub ph = new PneumaticsHub(1); + try (PneumaticHub ph = new PneumaticHub(1); CallbackStore cb = sim.registerCompressorOnCallback(callback, false)) { assertFalse(ph.getCompressor()); assertFalse(sim.getCompressorOn()); @@ -115,7 +115,7 @@ class REVPHSimTest { REVPHSim sim = new REVPHSim(1); BooleanCallback callback = new BooleanCallback(); - try (PneumaticsHub ph = new PneumaticsHub(1); + try (PneumaticHub ph = new PneumaticHub(1); CallbackStore cb = sim.registerClosedLoopEnabledCallback(callback, false)) { ph.setClosedLoopControl(false); assertFalse(ph.getClosedLoopControl()); @@ -135,7 +135,7 @@ class REVPHSimTest { REVPHSim sim = new REVPHSim(1); BooleanCallback callback = new BooleanCallback(); - try (PneumaticsHub ph = new PneumaticsHub(1); + try (PneumaticHub ph = new PneumaticHub(1); CallbackStore cb = sim.registerPressureSwitchCallback(callback, false)) { assertFalse(ph.getPressureSwitch()); @@ -154,7 +154,7 @@ class REVPHSimTest { REVPHSim sim = new REVPHSim(1); DoubleCallback callback = new DoubleCallback(); - try (PneumaticsHub ph = new PneumaticsHub(1); + try (PneumaticHub ph = new PneumaticHub(1); CallbackStore cb = sim.registerCompressorCurrentCallback(callback, false)) { assertFalse(ph.getPressureSwitch());