Fang-Robotics-MCB
Fang Robotics Team Codebase
Loading...
Searching...
No Matches
pierce_command_pack.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "command_pack.hpp"
4
5// Input
8
9// Chassis Commands
13
14// Turret Commands
19
20// Mapping Types
23
25
26namespace fang::command
27{
29 {
30 public:
38
48
57
63
69
71 (
77 turret::IGimbalInput& gimbalInput,
78 chassis::IHolonomicInput& holonomicInput,
79 const Config& config
80 );
81
82 virtual void initialize() override;
83 private:
84 void registerIoMappings();
85 void setDefaultCommands();
86
91
92 Drivers& drivers_;
93 //Used only for initialization DO NOT ACCESS AFTERWARDS
94 const CommandConfig& kCommandConfig_;
95 const RemoteMapping& kRemoteMapping_;
96 const ComputerMapping& kComputerMapping_;
97
98 chassis::IHolonomicInput& holonomicInput_;
99 turret::IGimbalInput& gimbalInput_;
100
101 turret::AimCommand aim_{gimbal_, gimbalInput_, kCommandConfig_.aimConfig};
102 turret::ActivateBoosterCommand activateBooster_{booster_};
103 fang::turret::FireCommand autofire_{feeder_};
104 fang::turret::UnjamCommand unjam_{feeder_};
105
106 tap::control::HoldCommandMapping activateBoosterRemote_{&drivers_, {&activateBooster_}, kRemoteMapping_.activateBooster};
107 tap::control::HoldCommandMapping activateAutofireRemote_{&drivers_, {&autofire_}, kRemoteMapping_.fire};
108
109 tap::control::HoldCommandMapping activateAutofireMouseMap_{&drivers_, {&autofire_}, kComputerMapping_.mouseFire};
110 tap::control::HoldCommandMapping unjamMouse_{&drivers_, {&unjam_}, kComputerMapping_.mouseUnjam};
111 tap::control::HoldCommandMapping unjamRemote_{&drivers_, {&unjam_}, kRemoteMapping_.unjam};
112
113 chassis::CounterStrikeCommand counterStrike_{chassis_, gimbal_, holonomicInput_, kCommandConfig_.counterStrikeConfig};
114 chassis::ShurikenCommand shuriken_{chassis_, gimbal_, holonomicInput_, kCommandConfig_.shurikenConfig};
115 chassis::TardisCommand tardis_{chassis_, gimbal_, holonomicInput_, kCommandConfig_.tardisConfig};
116
117 tap::control::PressCommandMapping counterStrikeRemote_{&drivers_, {&counterStrike_}, kRemoteMapping_.counterStrike};
118 tap::control::PressCommandMapping shurikenRemote_{&drivers_, {&shuriken_}, kRemoteMapping_.shuriken};
119 tap::control::PressCommandMapping tardisRemote_{&drivers_, {&tardis_}, kRemoteMapping_.tardis};
120
121 tap::control::PressCommandMapping counterStrikeKeyboard_{&drivers_, {&counterStrike_}, kComputerMapping_.counterStrike};
122 tap::control::PressCommandMapping shruikenKeyboard_{&drivers_, {&shuriken_}, kComputerMapping_.shuriken};
123 tap::control::PressCommandMapping tardisKeyboard_{&drivers_, {&tardis_}, kComputerMapping_.tardis};
124 };
125}
Definition drivers.hpp:31
Definition holonomic_subsystem.hpp:12
Definition command_pack.hpp:20
Definition pierce_command_pack.hpp:29
virtual void initialize() override
Definition pierce_command_pack.cpp:30
Definition activate_booster_command.hpp:10
Definition aim_command.hpp:14
Definition field_gimbal_subsystem.hpp:16
Definition simple_fire_command.hpp:13
Definition simple_ammo_booster_subsystem.hpp:9
Definition simple_feeder_subsystem.hpp:18
Definition simple_unjam_command.hpp:13
Definition hold_command_mapping.hpp:45
Definition press_command_mapping.hpp:43
Definition remote_map_state.hpp:56
Definition pwm_info.hpp:4
rail::chassis::IHolonomicInput< math::AbstractVector2D, double > IHolonomicInput
Definition iholonomic_input.hpp:7
Definition command_pack.cpp:4
rail::IGimbalInput< double > IGimbalInput
Definition igimbal_input.hpp:5
fang::Drivers & drivers
Definition robot_singleton.cpp:45
Definition field_drift_command.hpp:26
Definition shuriken_command.hpp:23
Definition tardis_command.hpp:31
Definition pierce_command_pack.hpp:32
chassis::ShurikenCommand::Config shurikenConfig
Definition pierce_command_pack.hpp:35
chassis::CounterStrikeCommand::Config counterStrikeConfig
Definition pierce_command_pack.hpp:34
chassis::TardisCommand::Config tardisConfig
Definition pierce_command_pack.hpp:36
turret::AimCommand::Config aimConfig
Definition pierce_command_pack.hpp:33
Definition pierce_command_pack.hpp:50
RemoteState mouseUnjam
Definition pierce_command_pack.hpp:52
RemoteState counterStrike
Definition pierce_command_pack.hpp:53
RemoteState shuriken
Definition pierce_command_pack.hpp:54
RemoteState tardis
Definition pierce_command_pack.hpp:55
RemoteState mouseFire
Definition pierce_command_pack.hpp:51
Definition pierce_command_pack.hpp:65
MappingConfig mappingConfig
Definition pierce_command_pack.hpp:66
CommandConfig commandConfig
Definition pierce_command_pack.hpp:67
Definition pierce_command_pack.hpp:59
ComputerMapping computer
Definition pierce_command_pack.hpp:61
RemoteMapping remote
Definition pierce_command_pack.hpp:60
Definition pierce_command_pack.hpp:40
RemoteState tardis
Definition pierce_command_pack.hpp:46
RemoteState unjam
Definition pierce_command_pack.hpp:43
RemoteState shuriken
Definition pierce_command_pack.hpp:45
RemoteState activateBooster
Definition pierce_command_pack.hpp:41
RemoteState fire
Definition pierce_command_pack.hpp:42
RemoteState counterStrike
Definition pierce_command_pack.hpp:44
Definition aim_command.hpp:17