Fang-Robotics-MCB
Fang Robotics Team Codebase
Loading...
Searching...
No Matches
gm6020_counter_chassis_field_yaw.hpp
Go to the documentation of this file.
1#pragma once
2
6
9#include "driver/drivers.hpp"
10
11namespace fang::turret
12{
13
14class Gm6020CounterChassisFieldYaw : public CounterChassisFieldYaw<trap::motor::DjiMotorOutput>
15{
16public:
19
25
28 std::unique_ptr<Imu> chassisImu,
29 std::unique_ptr<telemetry::IAngularVelocity> baseVelocityYawSensor,
30 const Config& config
31 ):
32 CounterYaw{make(drivers, std::move(chassisImu), std::move(baseVelocityYawSensor), config)}
33 {}
34
35private:
36 CounterYaw make(
38 std::unique_ptr<Imu> chassisImu,
39 std::unique_ptr<telemetry::IAngularVelocity> baseVelocityYawSensor,
40 const Config& config
41 )
42 {
43 auto motor{
44 std::make_unique<Motor>(
45 drivers,
46 config.motorConfig
47 )
48 };
49
50 auto positionTelemetry{
51 std::make_unique<telemetry::IAngularPositionAdapter>(
52 *motor
53 )
54 };
55
56 auto velocityTelemetry{
57 std::make_unique<telemetry::IAngularVelocityAdapter>(
58 *motor
59 )
60 };
61
62 return CounterYaw{
63 std::move(motor),
64 std::move(positionTelemetry),
65 std::move(velocityTelemetry),
66 std::move(baseVelocityYawSensor),
67 std::move(chassisImu),
68 config.fieldYawConfig
69 };
70 }
71};
72}
Definition drivers.hpp:31
Definition counter_chassis_field_yaw.hpp:20
Definition gm6020_counter_chassis_field_yaw.hpp:15
CounterChassisFieldYaw< trap::motor::DjiMotorOutput > CounterYaw
Definition gm6020_counter_chassis_field_yaw.hpp:18
Gm6020CounterChassisFieldYaw(Drivers &drivers, std::unique_ptr< Imu > chassisImu, std::unique_ptr< telemetry::IAngularVelocity > baseVelocityYawSensor, const Config &config)
Definition gm6020_counter_chassis_field_yaw.hpp:26
Definition dji_gm6020.hpp:14
Definition pwm_info.hpp:4
Definition activate_booster_command.cpp:5
Definition brushlessutils.cpp:4
fang::Drivers & drivers
Definition robot_singleton.cpp:45
Definition chassis_field_yaw_system.hpp:30
Definition gm6020_counter_chassis_field_yaw.hpp:21
Motor::Config motorConfig
Definition gm6020_counter_chassis_field_yaw.hpp:22
CounterYaw::Config fieldYawConfig
Definition gm6020_counter_chassis_field_yaw.hpp:23
Definition dji_motor.hpp:28