Fang-Robotics-MCB
Fang Robotics Team Codebase
Loading...
Searching...
No Matches
dual_cascade_gm6020.hpp
Go to the documentation of this file.
1#pragma once
2
4
7
11
13
14#include <memory>
15
16namespace fang::motor
17{
19 :
20 public DualCascadePosition<trap::motor::DjiMotorOutput, RPM>
21 {
22 public:
24
26
31
34 {make(drivers, config)}
35 {
36 }
37
38 private:
39 PidMotor make(Drivers& drivers, const Config& config)
40 {
41 auto motor{
42 std::make_unique<Motor>(
43 drivers,
44 config.motorConfig
45 )
46 };
47
48 auto positionTelemetry{
49 std::make_unique<telemetry::IAngularPositionAdapter>(
50 *motor
51 )
52 };
53
54 auto velocityTelemetry{
55 std::make_unique<telemetry::IAngularVelocityAdapter>(
56 *motor
57 )
58 };
59
60 return PidMotor{
61 config.pidMotorConfig,
62 std::move(motor),
63 std::move(positionTelemetry),
64 std::move(velocityTelemetry)
65 };
66 }
67 };
68}
Definition drivers.hpp:31
Definition dual_cascade_gm6020.hpp:21
DualCascadeGm6020(Drivers &drivers, const Config &config)
Definition dual_cascade_gm6020.hpp:32
DualCascadePosition< trap::motor::DjiMotorOutput, RPM > PidMotor
Definition dual_cascade_gm6020.hpp:25
Definition dual_cascade_position.hpp:28
CascadeMotor::Config Config
Definition dual_cascade_position.hpp:39
Definition dji_gm6020.hpp:14
Definition pwm_info.hpp:4
Definition directionality.hpp:6
Definition brushlessutils.cpp:4
fang::Drivers & drivers
Definition robot_singleton.cpp:45
Definition dual_cascade_gm6020.hpp:27
PidMotor::Config pidMotorConfig
Definition dual_cascade_gm6020.hpp:29
Motor::Config motorConfig
Definition dual_cascade_gm6020.hpp:28
Definition dji_motor.hpp:28