9#include "cool_serial/byte_queue.hpp"
58 flyRemote_{
drivers.commandMapper, flySkyByteQueue_},
62 BaseRobot{makeRobot(
drivers, holonomicInput_, gimbalInput_,
config)}
77 flySkyByteQueue_.push(data);
86 coolSerial::ByteQueue flySkyByteQueue_;
95 auto gimbal{std::make_unique<turret::SliceFieldGimbal>(
drivers,
config.subsystemConfig.gimbalConfig)};
96 auto feeder{std::make_unique<turret::M2006SimpleFeeder>(
drivers,
config.subsystemConfig.feederConfig)};
97 auto booster{std::make_unique<turret::SliceAmmoBooster>(
drivers,
config.subsystemConfig.boosterConfig)};
98 auto mecanumDrive{std::make_unique<chassis::SliceMecanumDrive>(
drivers,
config.subsystemConfig.chassisConfig)};
101 std::make_unique<command::PierceCommandPack>
114 Subsystems subsystems{};
115 subsystems.push_back(std::move(booster));
116 subsystems.push_back(std::move(feeder));
117 subsystems.push_back(std::move(gimbal));
118 subsystems.push_back(std::move(mecanumDrive));
120 CommandPacks commandPacks{};
121 commandPacks.push_back(std::move(commandPack));
Definition drivers.hpp:31
Definition fly_sky.hpp:24
Definition base_robot.hpp:20
virtual void initialize() override
Definition base_robot.cpp:25
void update() override
Not virtual so that it can be passed around in maker functions.
Definition slice.hpp:72
void initialize() override
Definition slice.hpp:65
Slice(Drivers &drivers, const Config &config)
Definition slice.hpp:53
control::CommandScheduler commandScheduler
Definition drivers.hpp:141
@ Uart1
Definition uart.hpp:52
Definition remote_map_state.hpp:56
Config(double p, double i, double d, double maxIntegralAccumulation, double maxOutput, double errorDerivativeFloor, double errorDeadzone=0.0, double tQDerivativeKalman=1.0, double tRDerivativeKalman=0.0, tRProportionalKalman=1.0)
Definition dimensional_smooth_pid.hpp:16
Definition pwm_info.hpp:4
rail::chassis::IHolonomicInput< math::AbstractVector2D, double > IHolonomicInput
Definition iholonomic_input.hpp:7
Definition base_robot.cpp:4
rail::IGimbalInput< double > IGimbalInput
Definition igimbal_input.hpp:5
fang::Drivers & drivers
Definition robot_singleton.cpp:45
Definition slice_mecanum_drive.hpp:17
Definition pierce_command_pack.hpp:65
InputConfig input
Definition slice.hpp:49
SubsystemConfig subsystemConfig
Definition slice.hpp:48
command::PierceCommandPack::Config commandPackConfig
Definition slice.hpp:50
turret::SliceAmmoBooster::Config boosterConfig
Definition slice.hpp:43
fang::turret::M2006SimpleFeeder::Config feederConfig
Definition slice.hpp:42
turret::SliceFieldGimbal::Config gimbalConfig
Definition slice.hpp:41
chassis::SliceMecanumDrive::Config chassisConfig
Definition slice.hpp:40
Definition m2006_simple_feeder.hpp:17
Definition slice_ammo_booster.hpp:17
Definition slice_field_gimbal.hpp:18