Fang-Robotics-MCB
Fang Robotics Team Codebase
Loading...
Searching...
No Matches
pierce_auto_test_command_pack.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "command_pack.hpp"
4
5// Input
9
10// Chassis Commands
14
15// Turret Commands
20
21// Mapping Types
24
26
27namespace fang::command
28{
30 {
31 public:
37
45
55
64
70
77
79 (
81 turret::ProxyTurretInput& turretInput,
86 const Config& config
87 );
88
89 virtual void initialize() override;
90 private:
91 void registerIoMappings();
92 void setDefaultCommands();
93
98
99 Drivers& drivers_;
100 //Used only for initialization DO NOT ACCESS AFTERWARDS
101 const CommandConfig& kCommandConfig_;
102 const RemoteMapping& kRemoteMapping_;
103 const ComputerMapping& kComputerMapping_;
104
105 chassis::ChassisInputHandler chassisInput_;
106 turret::ProxyTurretInput& turretInput_;
107
108 turret::PositionalAimCommand aim_{gimbal_, turretInput_, kCommandConfig_.aimConfig};
109 turret::ActivateBoosterCommand activateBooster_{booster_};
110 fang::turret::FireCommand autofire_{feeder_};
111 fang::turret::UnjamCommand unjam_{feeder_};
112
113 tap::control::HoldCommandMapping activateBoosterRemote_{&drivers_, {&activateBooster_}, kRemoteMapping_.activateBooster};
114 tap::control::HoldCommandMapping activateAutofireRemote_{&drivers_, {&autofire_}, kRemoteMapping_.fire};
115
116 tap::control::HoldCommandMapping activateAutofireMouseMap_{&drivers_, {&autofire_}, kComputerMapping_.mouseFire};
117 tap::control::HoldCommandMapping unjamMouse_{&drivers_, {&unjam_}, kComputerMapping_.mouseUnjam};
118 tap::control::HoldCommandMapping unjamRemote_{&drivers_, {&unjam_}, kRemoteMapping_.unjam};
119
120 chassis::CounterStrikeCommand counterStrike_{chassis_, gimbal_, chassisInput_, kCommandConfig_.counterStrikeConfig};
121 chassis::ShurikenCommand shuriken_{chassis_, gimbal_, chassisInput_, kCommandConfig_.shurikenConfig};
122 chassis::TardisCommand tardis_{chassis_, gimbal_, chassisInput_, kCommandConfig_.tardisConfig};
123
124 tap::control::HoldCommandMapping counterStrikeRemote_{&drivers_, {&counterStrike_}, kRemoteMapping_.counterStrike};
125 tap::control::PressCommandMapping shurikenRemote_{&drivers_, {&shuriken_}, kRemoteMapping_.shuriken};
126 tap::control::PressCommandMapping tardisRemote_{&drivers_, {&tardis_}, kRemoteMapping_.tardis};
127
128 tap::control::PressCommandMapping counterStrikeKeyboard_{&drivers_, {&counterStrike_}, kComputerMapping_.counterStrike};
129 tap::control::PressCommandMapping shruikenKeyboard_{&drivers_, {&shuriken_}, kComputerMapping_.shuriken};
130 tap::control::PressCommandMapping tardisKeyboard_{&drivers_, {&tardis_}, kComputerMapping_.tardis};
131 };
132}
Definition drivers.hpp:31
Definition chassis_input_handler.hpp:12
Definition holonomic_subsystem.hpp:12
Definition command_pack.hpp:20
Definition pierce_auto_test_command_pack.hpp:30
virtual void initialize() override
Definition pierce_auto_test_command_pack.cpp:31
Definition activate_booster_command.hpp:10
Definition field_gimbal_subsystem.hpp:16
Definition simple_fire_command.hpp:13
Definition positional_aim_command.hpp:17
Definition proxy_turret_input.hpp:14
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
Definition command_pack.cpp:4
fang::Drivers & drivers
Definition robot_singleton.cpp:45
Definition chassis_input_handler.hpp:30
Definition field_drift_command.hpp:27
Definition shuriken_command.hpp:23
Definition tardis_command.hpp:32
Definition pierce_auto_test_command_pack.hpp:39
chassis::TardisCommand::Config tardisConfig
Definition pierce_auto_test_command_pack.hpp:43
chassis::ShurikenCommand::Config shurikenConfig
Definition pierce_auto_test_command_pack.hpp:42
turret::PositionalAimCommand::Config aimConfig
Definition pierce_auto_test_command_pack.hpp:40
chassis::CounterStrikeCommand::Config counterStrikeConfig
Definition pierce_auto_test_command_pack.hpp:41
Definition pierce_auto_test_command_pack.hpp:57
RemoteState mouseFire
Definition pierce_auto_test_command_pack.hpp:58
RemoteState shuriken
Definition pierce_auto_test_command_pack.hpp:61
RemoteState counterStrike
Definition pierce_auto_test_command_pack.hpp:60
RemoteState mouseUnjam
Definition pierce_auto_test_command_pack.hpp:59
RemoteState tardis
Definition pierce_auto_test_command_pack.hpp:62
Definition pierce_auto_test_command_pack.hpp:72
CommandConfig commandConfig
Definition pierce_auto_test_command_pack.hpp:75
InputConfig inputConfig
Definition pierce_auto_test_command_pack.hpp:73
MappingConfig mappingConfig
Definition pierce_auto_test_command_pack.hpp:74
Definition pierce_auto_test_command_pack.hpp:33
turret::TurretInputHandler::Config turretInputConfig
Definition pierce_auto_test_command_pack.hpp:35
chassis::ChassisInputHandler::Config chassisInputConfig
Definition pierce_auto_test_command_pack.hpp:34
Definition pierce_auto_test_command_pack.hpp:66
RemoteMapping remote
Definition pierce_auto_test_command_pack.hpp:67
ComputerMapping computer
Definition pierce_auto_test_command_pack.hpp:68
Definition pierce_auto_test_command_pack.hpp:47
RemoteState tardis
Definition pierce_auto_test_command_pack.hpp:53
RemoteState counterStrike
Definition pierce_auto_test_command_pack.hpp:51
RemoteState shuriken
Definition pierce_auto_test_command_pack.hpp:52
RemoteState fire
Definition pierce_auto_test_command_pack.hpp:49
RemoteState activateBooster
Definition pierce_auto_test_command_pack.hpp:48
RemoteState unjam
Definition pierce_auto_test_command_pack.hpp:50
Definition positional_aim_command.hpp:20
Definition turret_input_handler.hpp:27