Fang-Robotics-MCB
Fang Robotics Team Codebase
Loading...
Searching...
No Matches
base_quad_drive.hpp
Go to the documentation of this file.
1#ifndef FANG_ROBOTICS_MCB_CONTROL_CHASSIS_DRIVE_QUAD_DRIVE_BASE_QUAD_DRIVE_HPP
2#define FANG_ROBOTICS_MCB_CONTROL_CHASSIS_DRIVE_QUAD_DRIVE_BASE_QUAD_DRIVE_HPP
5#include "driver/drivers.hpp"
6
8
9#include <array>
10#include <memory>
11
12namespace fang::chassis
13{
25 {
26 public:
29
31 (
33 std::unique_ptr<Motor> frontLeftMotor,
34 std::unique_ptr<Motor> frontRightMotor,
35 std::unique_ptr<Motor> rearLeftMotor,
36 std::unique_ptr<Motor> rearRightMotor
37 );
38
49
50 virtual void setTargetWheelSpeeds(const QuadRPM& wheelSpeeds) override;
51 virtual void initialize() override;
52 virtual void update() override;
53 virtual void refresh() override;
54 virtual ~BaseQuadDrive() {}
55 private:
56 std::array<std::unique_ptr<Motor>, 4> motors_;
57 };
58}
59#endif
Definition drivers.hpp:31
Definition base_quad_drive.hpp:25
virtual ~BaseQuadDrive()
Definition base_quad_drive.hpp:54
QuadCollection< std::unique_ptr< Motor > > Motors
Definition base_quad_drive.hpp:28
virtual void refresh() override
Definition base_quad_drive.cpp:64
virtual void setTargetWheelSpeeds(const QuadRPM &wheelSpeeds) override
Definition base_quad_drive.cpp:41
motor::ISpeedMotor Motor
Definition base_quad_drive.hpp:27
virtual void update() override
Definition base_quad_drive.cpp:57
virtual void initialize() override
Definition base_quad_drive.cpp:49
Definition quad_drive_data.hpp:12
Definition quad_drive_subsystem.hpp:12
Drivers * drivers
Definition subsystem.hpp:138
Definition basic_downscaler.cpp:4
rail::chassis::QuadDriveData< Element > QuadCollection
Definition quad_collection.hpp:10
rail::motor::ISpeedMotor< RPM > ISpeedMotor
Definition ispeed_motor.hpp:9