Fang-Robotics-MCB
Fang Robotics Team Codebase
Loading...
Searching...
No Matches
modded_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 ModdedCascadePosition<trap::motor::DjiMotorOutput, RPM>
21{
22public:
25
30
33 const Config& config,
34 std::unique_ptr<MainModder> mainModder = std::make_unique<trap::algorithms::NullPidModder<RPM>>(),
35 std::unique_ptr<IntermediateModder> intermediateModder = std::make_unique<trap::algorithms::NullPidModder<trap::motor::DjiMotorOutput>>()
36 ):
38 {make(drivers, config)}
39 {
40 }
41
42private:
43 PidMotor make(Drivers& drivers, const Config& config)
44 {
45 auto motor{
46 std::make_unique<Motor>(
47 drivers,
48 config.motorConfig
49 )
50 };
51
52 auto positionTelemetry{
53 std::make_unique<telemetry::IAngularPositionAdapter>(
54 *motor
55 )
56 };
57
58 auto velocityTelemetry{
59 std::make_unique<telemetry::IAngularVelocityAdapter>(
60 *motor
61 )
62 };
63
64 return PidMotor{
65 config.pidMotorConfig,
66 std::move(motor),
67 std::move(positionTelemetry),
68 std::move(velocityTelemetry)
69 };
70 }
71};
72}
Definition drivers.hpp:31
Definition modded_cascade_gm6020.hpp:21
ModdedCascadePosition< trap::motor::DjiMotorOutput, RPM > PidMotor
Definition modded_cascade_gm6020.hpp:24
ModdedCascadeGm6020(Drivers &drivers, const Config &config, std::unique_ptr< MainModder > mainModder=std::make_unique< trap::algorithms::NullPidModder< RPM > >(), std::unique_ptr< IntermediateModder > intermediateModder=std::make_unique< trap::algorithms::NullPidModder< trap::motor::DjiMotorOutput > >())
Definition modded_cascade_gm6020.hpp:31
Definition modded_cascade_position.hpp:28
CascadeMotor::Config Config
Definition modded_cascade_position.hpp:39
Definition ipid_modder.hpp:28
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 modded_cascade_gm6020.hpp:26
Motor::Config motorConfig
Definition modded_cascade_gm6020.hpp:27
PidMotor::Config pidMotorConfig
Definition modded_cascade_gm6020.hpp:28
Definition dji_motor.hpp:28