Fang-Robotics-MCB
Fang Robotics Team Codebase
Loading...
Searching...
No Matches
dji_m2006_old.hpp
Go to the documentation of this file.
1#pragma once
6
10#include "tap/util_macros.hpp"
11#include "driver/drivers.hpp"
12
13namespace trap
14{
15 namespace motor
16 {
21 {
22 public:
44 const char* name, bool inverted, double gearRatio, const DjiSpeedPid::Config& speedConfig);
45
46
48
52 mockable void initialize() override;
53
57 mockable void update() override;
58
62 mockable void setTargetSpeed(const RPM& targetSpeed) override;
63
67 mockable RPM getSpeed() const;
68
72 mockable void setDesiredOutput(DjiMotorOutput desiredOutput);
73
78 mockable bool isMotorOnline() const;
79
85
87
88 mockable const char* getName() const;
89
92
95 private:
96 tap::motor::DjiMotor m_djiMotor;
97 DjiSpeedPid m_speedPid;
98 const double m_gearRatio;
99
100 RPM m_targetSpeed{0.0};
101
102 //Current control in DjiMotor is for the GM6020s only
103 //Setting it to true will mean the motor does not respond
104 static constexpr bool mk_requiredCurrentMode{false};
105 };
106 }
107}
Definition drivers.hpp:70
static constexpr float GEAR_RATIO_M2006
Definition dji_motor_encoder.hpp:66
Definition dji_motor.hpp:71
static constexpr uint16_t MAX_OUTPUT_C610
Definition dji_motor.hpp:75
tap::algorithms::SmoothPidConfig Config
Definition smooth_pid.hpp:25
Definition dji_m2006_old.hpp:21
mockable void update() override
Definition dji_m2006_old.cpp:25
mockable ~DjiM2006Old()=default
mockable RPM getSpeed() const
Definition dji_m2006_old.cpp:36
mockable void setTargetSpeed(const RPM &targetSpeed) override
Definition dji_m2006_old.cpp:31
mockable Celsius getTemperature() const
Definition dji_m2006_old.cpp:57
mockable tap::can::CanBus getCanBus() const
Definition dji_m2006_old.cpp:62
mockable bool isMotorOnline() const
Definition dji_m2006_old.cpp:52
static constexpr DjiMotorOutput k_maxOutput
Maximum output for C610 controller.
Definition dji_m2006_old.hpp:91
mockable void initialize() override
Definition dji_m2006_old.cpp:41
mockable void setDesiredOutput(DjiMotorOutput desiredOutput)
Definition dji_m2006_old.cpp:46
mockable const char * getName() const
Definition dji_m2006_old.cpp:67
static constexpr double k_factoryGearboxRatio
gear ratio of the gearbox that usually ships with the motor.
Definition dji_m2006_old.hpp:94
Definition pwm_info.hpp:4
rail::motor::ISpeedMotor< RPM > ISpeedMotor
Definition ispeed_motor.hpp:9
Definition brushlessutils.cpp:4
CanBus
Definition can_bus.hpp:30
MotorId
Definition dji_motor_ids.hpp:38
int16_t DjiMotorOutput
Definition dji_motor_aliases.hpp:13
Definition dimensional_smooth_pid.hpp:8
fang::Drivers & drivers
Definition robot_singleton.cpp:45
Definition smooth_pid.hpp:36
Definition dji_m2006_old.hpp:24
double gearRatio
Definition dji_m2006_old.hpp:29
DjiSpeedPid::Config speedPidConfig
Definition dji_m2006_old.hpp:30
tap::motor::MotorId motorId
Definition dji_m2006_old.hpp:25
const char * name
Definition dji_m2006_old.hpp:27
tap::can::CanBus canBus
Definition dji_m2006_old.hpp:26
bool inverted
Definition dji_m2006_old.hpp:28
units::temperature::celsius_t Celsius
Definition units_alias.hpp:21
units::angular_velocity::revolutions_per_minute_t RPM
Definition units_alias.hpp:30
#define mockable
Wrap class functions that are not already virtual in this function if you wish to mock them.
Definition util_macros.hpp:38