Fang-Robotics-MCB
Fang Robotics Team Codebase
Loading...
Searching...
No Matches
repeat_ultra_mk2.hpp
Go to the documentation of this file.
1#ifndef FANG_ROBOTICS_MCB_DRIVER_MOTOR_GEARBOX_REPEAT_ULTRA_MK2_HPP
2#define FANG_ROBOTICS_MCB_DRIVER_MOTOR_GEARBOX_REPEAT_ULTRA_MK2_HPP
3
4#include "vortex_80a_esc.hpp"
5#include "driver/drivers.hpp"
6
11
12#include "tap/util_macros.hpp"
13
14namespace fang::motor
15{
29 {
30 public:
53
55
57
72 mockable void setTargetSpeed(const RPM& speed);
73
80 void initialize() override;
81
82 void update();
83
84 static constexpr RPMPerVolt kKv{1450.0};
85 private:
86 void syncVotex();
87 void assertConfigValidity(const Config& config);
88
89 const Volts kControllerInputVoltage_;
90 const double kGearRatio_;
91 const int8_t kInversionMultiplier_;
93 // This was the Repeat Robotics provided value for the ratio between the rpm and the voltage associated with i
94 //kv value is ration of rpm per voltage applied to a brushless dc motor
95 Vortex80AEsc vortex_;
96
97 const RPM kMaxTheoreticalSpeed_{kKv * kControllerInputVoltage_};
98 };
99}
100#endif
Definition drivers.hpp:31
Definition repeat_ultra_mk2.hpp:29
mockable void setTargetSpeed(const RPM &speed)
Definition repeat_ultra_mk2.cpp:27
static constexpr RPMPerVolt kKv
Definition repeat_ultra_mk2.hpp:84
void initialize() override
Definition repeat_ultra_mk2.cpp:32
void update()
Definition repeat_ultra_mk2.cpp:37
mockable ~RepeatUltraMk2()=default
Definition vortex_80a_esc.hpp:19
Definition ramp.hpp:14
Definition pwm_info.hpp:4
Definition directionality.hpp:6
rail::motor::ISpeedMotor< RPM > ISpeedMotor
Definition ispeed_motor.hpp:9
fang::Drivers & drivers
Definition robot_singleton.cpp:45
Definition repeat_ultra_mk2.hpp:46
bool inverted
Definition repeat_ultra_mk2.hpp:49
double rampSpeed
Definition repeat_ultra_mk2.hpp:51
double gearRatio
Definition repeat_ultra_mk2.hpp:50
Volts controllerInputVoltage
Definition repeat_ultra_mk2.hpp:47
trap::gpio::PwmData pwmData
Definition repeat_ultra_mk2.hpp:48
Definition pwm_data.hpp:12
units::voltage::volt_t Volts
Definition units_alias.hpp:41
units::angular_velocity::revolutions_per_minute_t RPM
Definition units_alias.hpp:30
units::unit_t< RawRPMPerVolt > RPMPerVolt
Definition units_alias.hpp:51
#define mockable
Wrap class functions that are not already virtual in this function if you wish to mock them.
Definition util_macros.hpp:38