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:
36
44
54
63
69
76
78 (
84 const Config& config
85 );
86
87 virtual void initialize() override;
88 private:
89 void registerIoMappings();
90 void setDefaultCommands();
91
96
97 Drivers& drivers_;
98 //Used only for initialization DO NOT ACCESS AFTERWARDS
99 const CommandConfig& kCommandConfig_;
100 const RemoteMapping& kRemoteMapping_;
101 const ComputerMapping& kComputerMapping_;
102
103 chassis::ChassisInputHandler chassisInput_;
104 turret::TurretInputHandler turretInput_;
105
106 turret::AimCommand aim_{gimbal_, turretInput_, kCommandConfig_.aimConfig};
107 turret::ActivateBoosterCommand activateBooster_{booster_};
108 fang::turret::FireCommand autofire_{feeder_};
109 fang::turret::UnjamCommand unjam_{feeder_};
110
111 tap::control::HoldCommandMapping activateBoosterRemote_{&drivers_, {&activateBooster_}, kRemoteMapping_.activateBooster};
112 tap::control::HoldCommandMapping activateAutofireRemote_{&drivers_, {&autofire_}, kRemoteMapping_.fire};
113
114 tap::control::HoldCommandMapping activateAutofireMouseMap_{&drivers_, {&autofire_}, kComputerMapping_.mouseFire};
115 tap::control::HoldCommandMapping unjamMouse_{&drivers_, {&unjam_}, kComputerMapping_.mouseUnjam};
116 tap::control::HoldCommandMapping unjamRemote_{&drivers_, {&unjam_}, kRemoteMapping_.unjam};
117
118 chassis::CounterStrikeCommand counterStrike_{chassis_, gimbal_, chassisInput_, kCommandConfig_.counterStrikeConfig};
119 chassis::ShurikenCommand shuriken_{chassis_, gimbal_, chassisInput_, kCommandConfig_.shurikenConfig};
120 chassis::TardisCommand tardis_{chassis_, gimbal_, chassisInput_, kCommandConfig_.tardisConfig};
121
122 tap::control::PressCommandMapping counterStrikeRemote_{&drivers_, {&counterStrike_}, kRemoteMapping_.counterStrike};
123 tap::control::PressCommandMapping shurikenRemote_{&drivers_, {&shuriken_}, kRemoteMapping_.shuriken};
124 tap::control::PressCommandMapping tardisRemote_{&drivers_, {&tardis_}, kRemoteMapping_.tardis};
125
126 tap::control::PressCommandMapping counterStrikeKeyboard_{&drivers_, {&counterStrike_}, kComputerMapping_.counterStrike};
127 tap::control::PressCommandMapping shruikenKeyboard_{&drivers_, {&shuriken_}, kComputerMapping_.shuriken};
128 tap::control::PressCommandMapping tardisKeyboard_{&drivers_, {&tardis_}, kComputerMapping_.tardis};
129 };
130}
Definition drivers.hpp:31
Definition chassis_input_handler.hpp:12
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 turret_input_handler.hpp:10
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_command_pack.hpp:38
chassis::ShurikenCommand::Config shurikenConfig
Definition pierce_command_pack.hpp:41
chassis::CounterStrikeCommand::Config counterStrikeConfig
Definition pierce_command_pack.hpp:40
chassis::TardisCommand::Config tardisConfig
Definition pierce_command_pack.hpp:42
turret::AimCommand::Config aimConfig
Definition pierce_command_pack.hpp:39
Definition pierce_command_pack.hpp:56
RemoteState mouseUnjam
Definition pierce_command_pack.hpp:58
RemoteState counterStrike
Definition pierce_command_pack.hpp:59
RemoteState shuriken
Definition pierce_command_pack.hpp:60
RemoteState tardis
Definition pierce_command_pack.hpp:61
RemoteState mouseFire
Definition pierce_command_pack.hpp:57
Definition pierce_command_pack.hpp:71
InputConfig inputConfig
Definition pierce_command_pack.hpp:72
MappingConfig mappingConfig
Definition pierce_command_pack.hpp:73
CommandConfig commandConfig
Definition pierce_command_pack.hpp:74
Definition pierce_command_pack.hpp:32
turret::TurretInputHandler::Config turretInputConfig
Definition pierce_command_pack.hpp:34
chassis::ChassisInputHandler::Config chassisInputConfig
Definition pierce_command_pack.hpp:33
Definition pierce_command_pack.hpp:65
ComputerMapping computer
Definition pierce_command_pack.hpp:67
RemoteMapping remote
Definition pierce_command_pack.hpp:66
Definition pierce_command_pack.hpp:46
RemoteState tardis
Definition pierce_command_pack.hpp:52
RemoteState unjam
Definition pierce_command_pack.hpp:49
RemoteState shuriken
Definition pierce_command_pack.hpp:51
RemoteState activateBooster
Definition pierce_command_pack.hpp:47
RemoteState fire
Definition pierce_command_pack.hpp:48
RemoteState counterStrike
Definition pierce_command_pack.hpp:50
Definition aim_command.hpp:17
Definition turret_input_handler.hpp:27