mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
[hal, wpilib] PWM Rewrite (#7845)
The HAL will only contain the output period and the raw microseconds. Higher level things such as SimDevice can handle everything else.
This commit is contained in:
@@ -11,7 +11,7 @@
|
||||
#include <frc/simulation/BatterySim.h>
|
||||
#include <frc/simulation/ElevatorSim.h>
|
||||
#include <frc/simulation/EncoderSim.h>
|
||||
#include <frc/simulation/PWMSim.h>
|
||||
#include <frc/simulation/PWMMotorControllerSim.h>
|
||||
#include <frc/simulation/RoboRioSim.h>
|
||||
#include <frc/smartdashboard/Mechanism2d.h>
|
||||
#include <frc/smartdashboard/MechanismLigament2d.h>
|
||||
@@ -50,7 +50,7 @@ class Elevator {
|
||||
frc::Encoder m_encoder{Constants::kEncoderAChannel,
|
||||
Constants::kEncoderBChannel};
|
||||
frc::PWMSparkMax m_motor{Constants::kMotorPort};
|
||||
frc::sim::PWMSim m_motorSim{m_motor};
|
||||
frc::sim::PWMMotorControllerSim m_motorSim{m_motor};
|
||||
|
||||
// Simulation classes help us simulate what's going on, including gravity.
|
||||
frc::sim::ElevatorSim m_elevatorSim{m_elevatorGearbox,
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
#include <frc/simulation/BatterySim.h>
|
||||
#include <frc/simulation/ElevatorSim.h>
|
||||
#include <frc/simulation/EncoderSim.h>
|
||||
#include <frc/simulation/PWMSim.h>
|
||||
#include <frc/simulation/PWMMotorControllerSim.h>
|
||||
#include <frc/simulation/RoboRioSim.h>
|
||||
#include <frc/smartdashboard/Mechanism2d.h>
|
||||
#include <frc/smartdashboard/MechanismLigament2d.h>
|
||||
@@ -46,7 +46,7 @@ class Elevator {
|
||||
frc::Encoder m_encoder{Constants::kEncoderAChannel,
|
||||
Constants::kEncoderBChannel};
|
||||
frc::PWMSparkMax m_motor{Constants::kMotorPort};
|
||||
frc::sim::PWMSim m_motorSim{m_motor};
|
||||
frc::sim::PWMMotorControllerSim m_motorSim{m_motor};
|
||||
|
||||
// Simulation classes help us simulate what's going on, including gravity.
|
||||
frc::sim::ElevatorSim m_elevatorSim{m_elevatorGearbox,
|
||||
|
||||
@@ -70,9 +70,6 @@ int main(void) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
// Set PWM config to standard servo speeds
|
||||
HAL_SetPWMConfigMicroseconds(pwmPort, 2000, 1501, 1500, 1499, 1000, &status);
|
||||
|
||||
// Create an Input
|
||||
status = 0;
|
||||
HAL_DigitalHandle dio = HAL_InitializeDIOPort(2, 1, NULL, &status);
|
||||
@@ -105,9 +102,9 @@ int main(void) {
|
||||
case TeleopMode:
|
||||
status = 0;
|
||||
if (HAL_GetDIO(dio, &status)) {
|
||||
HAL_SetPWMSpeed(pwmPort, 1.0, &status);
|
||||
HAL_SetPWMPulseTimeMicroseconds(pwmPort, 2000, &status);
|
||||
} else {
|
||||
HAL_SetPWMSpeed(pwmPort, 0, &status);
|
||||
HAL_SetPWMPulseTimeMicroseconds(pwmPort, 1500, &status);
|
||||
}
|
||||
break;
|
||||
case AutoMode:
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#include <frc/Preferences.h>
|
||||
#include <frc/simulation/DriverStationSim.h>
|
||||
#include <frc/simulation/JoystickSim.h>
|
||||
#include <frc/simulation/PWMSim.h>
|
||||
#include <frc/simulation/PWMMotorControllerSim.h>
|
||||
#include <frc/simulation/SimHooks.h>
|
||||
#include <gtest/gtest.h>
|
||||
#include <hal/simulation/MockHooks.h>
|
||||
@@ -23,7 +23,7 @@ class ArmSimulationTest : public testing::TestWithParam<units::degree_t> {
|
||||
std::optional<std::thread> m_thread;
|
||||
|
||||
protected:
|
||||
frc::sim::PWMSim m_motorSim{kMotorPort};
|
||||
frc::sim::PWMMotorControllerSim m_motorSim{kMotorPort};
|
||||
frc::sim::EncoderSim m_encoderSim =
|
||||
frc::sim::EncoderSim::CreateForChannel(kEncoderAChannel);
|
||||
frc::sim::JoystickSim m_joystickSim{kJoystickPort};
|
||||
@@ -41,7 +41,6 @@ class ArmSimulationTest : public testing::TestWithParam<units::degree_t> {
|
||||
m_thread->join();
|
||||
|
||||
m_encoderSim.ResetData();
|
||||
m_motorSim.ResetData();
|
||||
frc::sim::DriverStationSim::ResetData();
|
||||
frc::Preferences::RemoveAll();
|
||||
}
|
||||
@@ -61,7 +60,6 @@ TEST_P(ArmSimulationTest, Teleop) {
|
||||
frc::sim::DriverStationSim::SetEnabled(true);
|
||||
frc::sim::DriverStationSim::NotifyNewData();
|
||||
|
||||
EXPECT_TRUE(m_motorSim.GetInitialized());
|
||||
EXPECT_TRUE(m_encoderSim.GetInitialized());
|
||||
}
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
#include <frc/simulation/DriverStationSim.h>
|
||||
#include <frc/simulation/JoystickSim.h>
|
||||
#include <frc/simulation/PWMSim.h>
|
||||
#include <frc/simulation/PWMMotorControllerSim.h>
|
||||
#include <frc/simulation/SimHooks.h>
|
||||
#include <gtest/gtest.h>
|
||||
#include <hal/simulation/MockHooks.h>
|
||||
@@ -25,7 +25,7 @@ class ElevatorSimulationTest : public testing::Test {
|
||||
std::optional<std::thread> m_thread;
|
||||
|
||||
protected:
|
||||
frc::sim::PWMSim m_motorSim{Constants::kMotorPort};
|
||||
frc::sim::PWMMotorControllerSim m_motorSim{Constants::kMotorPort};
|
||||
frc::sim::EncoderSim m_encoderSim =
|
||||
frc::sim::EncoderSim::CreateForChannel(Constants::kEncoderAChannel);
|
||||
frc::sim::JoystickSim m_joystickSim{Constants::kJoystickPort};
|
||||
@@ -43,7 +43,6 @@ class ElevatorSimulationTest : public testing::Test {
|
||||
m_thread->join();
|
||||
|
||||
m_encoderSim.ResetData();
|
||||
m_motorSim.ResetData();
|
||||
frc::sim::DriverStationSim::ResetData();
|
||||
}
|
||||
};
|
||||
@@ -55,7 +54,6 @@ TEST_F(ElevatorSimulationTest, Teleop) {
|
||||
frc::sim::DriverStationSim::SetEnabled(true);
|
||||
frc::sim::DriverStationSim::NotifyNewData();
|
||||
|
||||
EXPECT_TRUE(m_motorSim.GetInitialized());
|
||||
EXPECT_TRUE(m_encoderSim.GetInitialized());
|
||||
}
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
#include <frc/simulation/DriverStationSim.h>
|
||||
#include <frc/simulation/ElevatorSim.h>
|
||||
#include <frc/simulation/JoystickSim.h>
|
||||
#include <frc/simulation/PWMSim.h>
|
||||
#include <frc/simulation/PWMMotorControllerSim.h>
|
||||
#include <frc/simulation/SimHooks.h>
|
||||
#include <frc/system/plant/DCMotor.h>
|
||||
#include <gtest/gtest.h>
|
||||
@@ -39,7 +39,7 @@ class PotentiometerPIDTest : public testing::Test {
|
||||
Robot::kFullHeight,
|
||||
true,
|
||||
0.0_m};
|
||||
frc::sim::PWMSim m_motorSim{Robot::kMotorChannel};
|
||||
frc::sim::PWMMotorControllerSim m_motorSim{Robot::kMotorChannel};
|
||||
frc::sim::AnalogInputSim m_analogSim{Robot::kPotChannel};
|
||||
frc::sim::JoystickSim m_joystickSim{Robot::kJoystickChannel};
|
||||
int32_t m_callback;
|
||||
@@ -85,7 +85,6 @@ class PotentiometerPIDTest : public testing::Test {
|
||||
|
||||
HALSIM_CancelSimPeriodicBeforeCallback(m_callback);
|
||||
m_analogSim.ResetData();
|
||||
m_motorSim.ResetData();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -96,7 +95,6 @@ TEST_F(PotentiometerPIDTest, Teleop) {
|
||||
frc::sim::DriverStationSim::SetEnabled(true);
|
||||
frc::sim::DriverStationSim::NotifyNewData();
|
||||
|
||||
EXPECT_TRUE(m_motorSim.GetInitialized());
|
||||
EXPECT_TRUE(m_analogSim.GetInitialized());
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
#include <frc/DoubleSolenoid.h>
|
||||
#include <frc/simulation/DoubleSolenoidSim.h>
|
||||
#include <frc/simulation/PWMSim.h>
|
||||
#include <frc/simulation/PWMMotorControllerSim.h>
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include "Constants.h"
|
||||
@@ -13,7 +13,7 @@
|
||||
class IntakeTest : public testing::Test {
|
||||
protected:
|
||||
Intake intake; // create our intake
|
||||
frc::sim::PWMSim simMotor{
|
||||
frc::sim::PWMMotorControllerSim simMotor{
|
||||
IntakeConstants::kMotorPort}; // create our simulation PWM
|
||||
frc::sim::DoubleSolenoidSim simPiston{
|
||||
frc::PneumaticsModuleType::CTREPCM, IntakeConstants::kPistonFwdChannel,
|
||||
|
||||
Reference in New Issue
Block a user