2023-Robot
Robot code for 2023 FRC season by Argos, FRC team #1756
Loading...
Searching...
No Matches
motors.h
Go to the documentation of this file.
1
4
5#pragma once
6
7#include "addresses.h"
9#include "control_loops.h"
10#include "ctre/Phoenix.h"
11#include "units/current.h"
12#include "units/time.h"
13#include "units/voltage.h"
14
15namespace motorConfig {
19 namespace common {
20 constexpr static auto neutralDeadband = 0.001;
21 constexpr static auto voltCompSat = 11.0_V;
22 } // namespace common
23
27 namespace comp_bot {
28 namespace drive {
29 struct genericDrive {
30 constexpr static auto inverted = ctre::phoenix::motorcontrol::InvertType::InvertMotorOutput;
31 constexpr static bool sensorPhase = false;
33 constexpr static auto neutralMode = ctre::phoenix::motorcontrol::NeutralMode::Brake;
36 constexpr static auto pid0_selectedSensor = ctre::phoenix::motorcontrol::FeedbackDevice::IntegratedSensor;
43 };
45 constexpr static auto inverted = ctre::phoenix::motorcontrol::InvertType::InvertMotorOutput;
46 constexpr static bool sensorPhase = true;
48 constexpr static auto neutralMode = ctre::phoenix::motorcontrol::NeutralMode::Brake;
52 constexpr static auto remoteFilter0_type =
53 ctre::phoenix::motorcontrol::RemoteSensorSource::RemoteSensorSource_CANCoder;
54 constexpr static auto pid0_selectedSensor = ctre::phoenix::motorcontrol::FeedbackDevice::RemoteSensor0;
61 };
63 constexpr static auto inverted = ctre::phoenix::motorcontrol::InvertType::InvertMotorOutput;
64 constexpr static bool sensorPhase = true;
66 constexpr static auto neutralMode = ctre::phoenix::motorcontrol::NeutralMode::Brake;
70 constexpr static auto remoteFilter0_type =
71 ctre::phoenix::motorcontrol::RemoteSensorSource::RemoteSensorSource_CANCoder;
72 constexpr static auto pid0_selectedSensor = ctre::phoenix::motorcontrol::FeedbackDevice::RemoteSensor0;
79 };
81 constexpr static auto inverted = ctre::phoenix::motorcontrol::InvertType::InvertMotorOutput;
82 constexpr static bool sensorPhase = true;
84 constexpr static auto neutralMode = ctre::phoenix::motorcontrol::NeutralMode::Brake;
88 constexpr static auto remoteFilter0_type =
89 ctre::phoenix::motorcontrol::RemoteSensorSource::RemoteSensorSource_CANCoder;
90 constexpr static auto pid0_selectedSensor = ctre::phoenix::motorcontrol::FeedbackDevice::RemoteSensor0;
97 };
98 struct backLeftTurn {
99 constexpr static auto inverted = ctre::phoenix::motorcontrol::InvertType::InvertMotorOutput;
100 constexpr static bool sensorPhase = true;
102 constexpr static auto neutralMode = ctre::phoenix::motorcontrol::NeutralMode::Brake;
106 constexpr static auto remoteFilter0_type =
107 ctre::phoenix::motorcontrol::RemoteSensorSource::RemoteSensorSource_CANCoder;
108 constexpr static auto pid0_selectedSensor = ctre::phoenix::motorcontrol::FeedbackDevice::RemoteSensor0;
115 };
116
117 } // namespace drive
118 namespace lifter {
122 constexpr static auto inverted = ctre::phoenix::motorcontrol::TalonFXInvertType::Clockwise;
123 constexpr static bool sensorPhase = false;
125 constexpr static auto neutralMode = ctre::phoenix::motorcontrol::NeutralMode::Brake;
128 constexpr static auto peakOutputForward = 1.0;
129 constexpr static auto peakOutputReverse = -1.0;
130 constexpr static auto pid0_selectedSensor = ctre::phoenix::motorcontrol::FeedbackDevice::IntegratedSensor;
137 };
139 constexpr static auto inverted = ctre::phoenix::motorcontrol::InvertType::None;
140 constexpr static bool sensorPhase = false;
142 constexpr static auto neutralMode = ctre::phoenix::motorcontrol::NeutralMode::Brake;
145 constexpr static auto pid0_selectedSensor = ctre::phoenix::motorcontrol::FeedbackDevice::IntegratedSensor;
152 constexpr static double peakOutputForward = 1;
153 constexpr static double peakOutputReverse = -1;
154 };
156 constexpr static auto inverted = ctre::phoenix::motorcontrol::InvertType::FollowMaster;
157 constexpr static bool sensorPhase = false;
159 constexpr static auto neutralMode = ctre::phoenix::motorcontrol::NeutralMode::Brake;
161 constexpr static auto statusFrameMotorMode =
162 argos_lib::status_frame_config::MotorPresetMode::FollowerFX; // As follower, send less CAN traffic
164 constexpr static auto remoteFilter0_type =
165 ctre::phoenix::motorcontrol::RemoteSensorSource::RemoteSensorSource_CANCoder;
166 constexpr static auto pid0_selectedSensor = ctre::phoenix::motorcontrol::FeedbackDevice::RemoteSensor0;
173 };
174
175 // Currently just generic drive with remote sensor
176 struct wrist {
177 constexpr static auto inverted = ctre::phoenix::motorcontrol::InvertType::InvertMotorOutput;
178 constexpr static bool sensorPhase = true;
179 constexpr static double peakOutputForward = 0.4;
180 constexpr static double peakOutputReverse = -0.4;
182 constexpr static auto neutralMode = ctre::phoenix::motorcontrol::NeutralMode::Brake;
185 constexpr static auto pid0_selectedSensor = ctre::phoenix::motorcontrol::FeedbackDevice::IntegratedSensor;
192 constexpr static auto statorCurrentLimit = 20_A;
193 };
194 } // namespace lifter
195 namespace intake {
196 struct intake {
197 constexpr static auto inverted = ctre::phoenix::motorcontrol::InvertType::InvertMotorOutput;
198 constexpr static bool sensorPhase = false;
200 constexpr static auto neutralMode = ctre::phoenix::motorcontrol::NeutralMode::Brake;
203 constexpr static auto continuousCurrentLimit = 15_A;
204 constexpr static auto peakCurrentLimit = 25_A;
205 constexpr static auto peakCurrentDuration = 1_s;
206 };
207 } // namespace intake
208 namespace bash_guard {
209 struct extension {
210 constexpr static auto inverted = ctre::phoenix::motorcontrol::InvertType::InvertMotorOutput;
211 constexpr static bool sensorPhase = false;
213 constexpr static auto neutralMode = ctre::phoenix::motorcontrol::NeutralMode::Brake;
216 constexpr static auto pid0_selectedSensor = ctre::phoenix::motorcontrol::FeedbackDevice::IntegratedSensor;
223 };
224 } // namespace bash_guard
226 constexpr static auto inverted = ctre::phoenix::motorcontrol::InvertType::InvertMotorOutput;
227 constexpr static bool sensorPhase = false;
229 constexpr static auto neutralMode = ctre::phoenix::motorcontrol::NeutralMode::Brake;
232 constexpr static auto pid0_selectedSensor = ctre::phoenix::motorcontrol::FeedbackDevice::IntegratedSensor;
239 }; // namespace oui_oui_placer
240 } // namespace comp_bot
241
245 namespace practice_bot {
246 namespace drive {
248
265 };
282 };
299 };
316 };
317 } // namespace drive
323 namespace intake {
325 } // namespace intake
326 namespace bash_guard {
328 } // namespace bash_guard
329
331 } // namespace practice_bot
332} // namespace motorConfig
@ LeaderFX
FX leader, fast reporting rate.
@ BasicFX
Baseline FX, slow sensor reporting rate.
@ FollowerFX
FX follower, near zero reporting rates.
static constexpr double kD
Definition control_loops.h:81
static constexpr double kP
Definition control_loops.h:79
static constexpr double kF
Definition control_loops.h:82
static constexpr double iZone
Definition control_loops.h:83
static constexpr double allowableError
Definition control_loops.h:84
static constexpr double kI
Definition control_loops.h:80
static constexpr auto neutralDeadband
Definition motors.h:20
static constexpr auto voltCompSat
Definition motors.h:21
Definition motors.h:15
static constexpr argos_lib::CANAddress frontRightEncoder
Definition addresses.h:40
static constexpr argos_lib::CANAddress backRightEncoder
Definition addresses.h:41
static constexpr argos_lib::CANAddress frontLeftEncoder
Definition addresses.h:39
static constexpr argos_lib::CANAddress backLeftEncoder
Definition addresses.h:42
static constexpr argos_lib::CANAddress shoulderEncoder
Definition addresses.h:45
static constexpr double kI
Definition control_loops.h:71
static constexpr double kD
Definition control_loops.h:72
static constexpr double allowableError
Definition control_loops.h:75
static constexpr double kP
Definition control_loops.h:70
static constexpr double iZone
Definition control_loops.h:74
static constexpr double kF
Definition control_loops.h:73
static constexpr double kF
Definition control_loops.h:25
static constexpr double iZone
Definition control_loops.h:26
static constexpr double kD
Definition control_loops.h:24
static constexpr double kP
Definition control_loops.h:22
static constexpr double allowableError
Definition control_loops.h:27
static constexpr double kI
Definition control_loops.h:23
static constexpr double iZone
Definition control_loops.h:18
static constexpr double kP
Definition control_loops.h:14
static constexpr double allowableError
Definition control_loops.h:19
static constexpr double kF
Definition control_loops.h:17
static constexpr double kI
Definition control_loops.h:15
static constexpr double kD
Definition control_loops.h:16
static constexpr double kP
Definition control_loops.h:44
static constexpr double kD
Definition control_loops.h:46
static constexpr double iZone
Definition control_loops.h:48
static constexpr double allowableError
Definition control_loops.h:49
static constexpr double kI
Definition control_loops.h:45
static constexpr double kF
Definition control_loops.h:47
static constexpr double kI
Definition control_loops.h:53
static constexpr double kF
Definition control_loops.h:55
static constexpr double kD
Definition control_loops.h:54
static constexpr double allowableError
Definition control_loops.h:57
static constexpr double kP
Definition control_loops.h:52
static constexpr double iZone
Definition control_loops.h:56
static constexpr double kF
Definition control_loops.h:63
static constexpr double allowableError
Definition control_loops.h:65
static constexpr double iZone
Definition control_loops.h:64
static constexpr double kP
Definition control_loops.h:60
static constexpr double kI
Definition control_loops.h:61
static constexpr double kD
Definition control_loops.h:62
static constexpr auto inverted
Definition motors.h:210
static constexpr bool sensorPhase
Definition motors.h:211
static constexpr auto pid0_kD
Definition motors.h:219
static constexpr auto statusFrameMotorMode
Definition motors.h:215
static constexpr auto voltCompSat
Definition motors.h:214
static constexpr auto neutralDeadband
Definition motors.h:212
static constexpr auto pid0_kP
Definition motors.h:217
static constexpr auto pid0_iZone
Definition motors.h:221
static constexpr auto pid0_kF
Definition motors.h:220
static constexpr auto pid0_selectedSensor
Definition motors.h:216
static constexpr auto pid0_kI
Definition motors.h:218
static constexpr auto pid0_allowableError
Definition motors.h:222
static constexpr auto neutralMode
Definition motors.h:213
static constexpr bool sensorPhase
Definition motors.h:100
static constexpr auto remoteFilter0_type
Definition motors.h:106
static constexpr auto pid0_iZone
Definition motors.h:113
static constexpr auto statusFrameMotorMode
Definition motors.h:104
static constexpr auto pid0_kF
Definition motors.h:112
static constexpr auto neutralMode
Definition motors.h:102
static constexpr auto pid0_selectedSensor
Definition motors.h:108
static constexpr auto inverted
Definition motors.h:99
static constexpr auto pid0_kI
Definition motors.h:110
static constexpr auto voltCompSat
Definition motors.h:103
static constexpr auto pid0_kP
Definition motors.h:109
static constexpr auto neutralDeadband
Definition motors.h:101
static constexpr auto pid0_allowableError
Definition motors.h:114
static constexpr auto pid0_kD
Definition motors.h:111
static constexpr auto remoteFilter0_addr
Definition motors.h:105
static constexpr auto remoteFilter0_addr
Definition motors.h:87
static constexpr auto neutralDeadband
Definition motors.h:83
static constexpr auto pid0_kI
Definition motors.h:92
static constexpr auto inverted
Definition motors.h:81
static constexpr auto voltCompSat
Definition motors.h:85
static constexpr auto statusFrameMotorMode
Definition motors.h:86
static constexpr auto pid0_iZone
Definition motors.h:95
static constexpr auto pid0_kP
Definition motors.h:91
static constexpr auto pid0_kF
Definition motors.h:94
static constexpr auto pid0_selectedSensor
Definition motors.h:90
static constexpr bool sensorPhase
Definition motors.h:82
static constexpr auto pid0_allowableError
Definition motors.h:96
static constexpr auto remoteFilter0_type
Definition motors.h:88
static constexpr auto pid0_kD
Definition motors.h:93
static constexpr auto neutralMode
Definition motors.h:84
static constexpr auto neutralDeadband
Definition motors.h:47
static constexpr auto pid0_iZone
Definition motors.h:59
static constexpr auto voltCompSat
Definition motors.h:49
static constexpr auto remoteFilter0_addr
Definition motors.h:51
static constexpr auto neutralMode
Definition motors.h:48
static constexpr auto pid0_allowableError
Definition motors.h:60
static constexpr auto pid0_selectedSensor
Definition motors.h:54
static constexpr auto remoteFilter0_type
Definition motors.h:52
static constexpr auto pid0_kP
Definition motors.h:55
static constexpr auto statusFrameMotorMode
Definition motors.h:50
static constexpr auto inverted
Definition motors.h:45
static constexpr auto pid0_kD
Definition motors.h:57
static constexpr auto pid0_kF
Definition motors.h:58
static constexpr bool sensorPhase
Definition motors.h:46
static constexpr auto pid0_kI
Definition motors.h:56
static constexpr auto pid0_allowableError
Definition motors.h:78
static constexpr auto pid0_kF
Definition motors.h:76
static constexpr auto pid0_kD
Definition motors.h:75
static constexpr auto statusFrameMotorMode
Definition motors.h:68
static constexpr auto neutralDeadband
Definition motors.h:65
static constexpr auto pid0_selectedSensor
Definition motors.h:72
static constexpr auto remoteFilter0_type
Definition motors.h:70
static constexpr bool sensorPhase
Definition motors.h:64
static constexpr auto voltCompSat
Definition motors.h:67
static constexpr auto inverted
Definition motors.h:63
static constexpr auto neutralMode
Definition motors.h:66
static constexpr auto pid0_iZone
Definition motors.h:77
static constexpr auto remoteFilter0_addr
Definition motors.h:69
static constexpr auto pid0_kP
Definition motors.h:73
static constexpr auto pid0_kI
Definition motors.h:74
static constexpr auto neutralDeadband
Definition motors.h:32
static constexpr auto voltCompSat
Definition motors.h:34
static constexpr auto pid0_kD
Definition motors.h:39
static constexpr auto neutralMode
Definition motors.h:33
static constexpr auto pid0_allowableError
Definition motors.h:42
static constexpr auto pid0_kF
Definition motors.h:40
static constexpr auto pid0_kI
Definition motors.h:38
static constexpr auto pid0_iZone
Definition motors.h:41
static constexpr auto pid0_selectedSensor
Definition motors.h:36
static constexpr auto pid0_kP
Definition motors.h:37
static constexpr bool sensorPhase
Definition motors.h:31
static constexpr auto statusFrameMotorMode
Definition motors.h:35
static constexpr auto inverted
Definition motors.h:30
static constexpr auto inverted
Definition motors.h:197
static constexpr bool sensorPhase
Definition motors.h:198
static constexpr auto statusFrameMotorMode
Definition motors.h:202
static constexpr auto peakCurrentLimit
Definition motors.h:204
static constexpr auto neutralDeadband
Definition motors.h:199
static constexpr auto voltCompSat
Definition motors.h:201
static constexpr auto continuousCurrentLimit
Definition motors.h:203
static constexpr auto peakCurrentDuration
Definition motors.h:205
static constexpr auto neutralMode
Definition motors.h:200
static constexpr auto peakOutputReverse
Definition motors.h:129
static constexpr auto peakOutputForward
Definition motors.h:128
static constexpr auto pid0_kD
Definition motors.h:133
static constexpr auto pid0_kP
Definition motors.h:131
static constexpr auto voltCompSat
Definition motors.h:126
static constexpr auto statusFrameMotorMode
Definition motors.h:127
static constexpr auto neutralMode
Definition motors.h:125
static constexpr auto pid0_iZone
Definition motors.h:135
static constexpr bool sensorPhase
Definition motors.h:123
static constexpr auto inverted
Definition motors.h:122
static constexpr auto pid0_kI
Definition motors.h:132
static constexpr auto neutralDeadband
Definition motors.h:124
static constexpr auto pid0_selectedSensor
Definition motors.h:130
static constexpr auto pid0_kF
Definition motors.h:134
static constexpr auto pid0_allowableError
Definition motors.h:136
static constexpr auto neutralDeadband
Definition motors.h:141
static constexpr auto pid0_kP
Definition motors.h:146
static constexpr auto pid0_iZone
Definition motors.h:150
static constexpr auto pid0_selectedSensor
Definition motors.h:145
static constexpr bool sensorPhase
Definition motors.h:140
static constexpr double peakOutputReverse
Definition motors.h:153
static constexpr auto pid0_kI
Definition motors.h:147
static constexpr auto neutralMode
Definition motors.h:142
static constexpr auto pid0_kF
Definition motors.h:149
static constexpr auto pid0_kD
Definition motors.h:148
static constexpr auto pid0_allowableError
Definition motors.h:151
static constexpr auto inverted
Definition motors.h:139
static constexpr auto statusFrameMotorMode
Definition motors.h:144
static constexpr double peakOutputForward
Definition motors.h:152
static constexpr auto voltCompSat
Definition motors.h:143
static constexpr auto remoteFilter0_type
Definition motors.h:164
static constexpr auto pid0_kF
Definition motors.h:170
static constexpr auto pid0_kI
Definition motors.h:168
static constexpr auto voltCompSat
Definition motors.h:160
static constexpr auto pid0_kP
Definition motors.h:167
static constexpr auto pid0_iZone
Definition motors.h:171
static constexpr auto neutralDeadband
Definition motors.h:158
static constexpr auto pid0_kD
Definition motors.h:169
static constexpr auto pid0_selectedSensor
Definition motors.h:166
static constexpr auto inverted
Definition motors.h:156
static constexpr auto statusFrameMotorMode
Definition motors.h:161
static constexpr auto pid0_allowableError
Definition motors.h:172
static constexpr bool sensorPhase
Definition motors.h:157
static constexpr auto neutralMode
Definition motors.h:159
static constexpr auto remoteFilter0_addr
Definition motors.h:163
static constexpr auto pid0_selectedSensor
Definition motors.h:185
static constexpr double peakOutputReverse
Definition motors.h:180
static constexpr auto inverted
Definition motors.h:177
static constexpr auto neutralMode
Definition motors.h:182
static constexpr auto pid0_kD
Definition motors.h:188
static constexpr bool sensorPhase
Definition motors.h:178
static constexpr auto pid0_kF
Definition motors.h:189
static constexpr auto statorCurrentLimit
Definition motors.h:192
static constexpr auto pid0_kI
Definition motors.h:187
static constexpr double peakOutputForward
Definition motors.h:179
static constexpr auto pid0_iZone
Definition motors.h:190
static constexpr auto pid0_kP
Definition motors.h:186
static constexpr auto statusFrameMotorMode
Definition motors.h:184
static constexpr auto pid0_allowableError
Definition motors.h:191
static constexpr auto neutralDeadband
Definition motors.h:181
static constexpr auto voltCompSat
Definition motors.h:183
static constexpr auto pid0_iZone
Definition motors.h:237
static constexpr auto voltCompSat
Definition motors.h:230
static constexpr auto inverted
Definition motors.h:226
static constexpr auto pid0_kD
Definition motors.h:235
static constexpr auto pid0_allowableError
Definition motors.h:238
static constexpr auto statusFrameMotorMode
Definition motors.h:231
static constexpr auto neutralMode
Definition motors.h:229
static constexpr bool sensorPhase
Definition motors.h:227
static constexpr auto neutralDeadband
Definition motors.h:228
static constexpr auto pid0_selectedSensor
Definition motors.h:232
static constexpr auto pid0_kI
Definition motors.h:234
static constexpr auto pid0_kF
Definition motors.h:236
static constexpr auto pid0_kP
Definition motors.h:233
static constexpr auto pid0_allowableError
Definition motors.h:315
static constexpr auto neutralDeadband
Definition motors.h:303
static constexpr auto voltCompSat
Definition motors.h:305
static constexpr auto pid0_kD
Definition motors.h:312
static constexpr auto neutralMode
Definition motors.h:304
static constexpr bool sensorPhase
Definition motors.h:302
static constexpr auto statusFrameMotorMode
Definition motors.h:306
static constexpr auto pid0_kI
Definition motors.h:311
static constexpr auto inverted
Definition motors.h:301
static constexpr auto remoteFilter0_addr
Definition motors.h:307
static constexpr auto pid0_kP
Definition motors.h:310
static constexpr auto pid0_selectedSensor
Definition motors.h:309
static constexpr auto pid0_iZone
Definition motors.h:314
static constexpr auto remoteFilter0_type
Definition motors.h:308
static constexpr auto pid0_kF
Definition motors.h:313
static constexpr auto remoteFilter0_addr
Definition motors.h:290
static constexpr auto pid0_kD
Definition motors.h:295
static constexpr auto neutralMode
Definition motors.h:287
static constexpr auto pid0_kP
Definition motors.h:293
static constexpr auto pid0_kF
Definition motors.h:296
static constexpr auto pid0_kI
Definition motors.h:294
static constexpr auto remoteFilter0_type
Definition motors.h:291
static constexpr auto voltCompSat
Definition motors.h:288
static constexpr auto pid0_allowableError
Definition motors.h:298
static constexpr auto neutralDeadband
Definition motors.h:286
static constexpr bool sensorPhase
Definition motors.h:285
static constexpr auto statusFrameMotorMode
Definition motors.h:289
static constexpr auto pid0_selectedSensor
Definition motors.h:292
static constexpr auto inverted
Definition motors.h:284
static constexpr auto pid0_iZone
Definition motors.h:297
static constexpr auto pid0_kD
Definition motors.h:261
static constexpr auto remoteFilter0_addr
Definition motors.h:256
static constexpr auto pid0_kF
Definition motors.h:262
static constexpr auto statusFrameMotorMode
Definition motors.h:255
static constexpr bool sensorPhase
Definition motors.h:251
static constexpr auto voltCompSat
Definition motors.h:254
static constexpr auto pid0_kP
Definition motors.h:259
static constexpr auto pid0_allowableError
Definition motors.h:264
static constexpr auto inverted
Definition motors.h:250
static constexpr auto pid0_iZone
Definition motors.h:263
static constexpr auto pid0_kI
Definition motors.h:260
static constexpr auto remoteFilter0_type
Definition motors.h:257
static constexpr auto pid0_selectedSensor
Definition motors.h:258
static constexpr auto neutralDeadband
Definition motors.h:252
static constexpr auto neutralMode
Definition motors.h:253
static constexpr auto voltCompSat
Definition motors.h:271
static constexpr auto pid0_kI
Definition motors.h:277
static constexpr bool sensorPhase
Definition motors.h:268
static constexpr auto neutralDeadband
Definition motors.h:269
static constexpr auto neutralMode
Definition motors.h:270
static constexpr auto pid0_iZone
Definition motors.h:280
static constexpr auto pid0_kD
Definition motors.h:278
static constexpr auto pid0_allowableError
Definition motors.h:281
static constexpr auto statusFrameMotorMode
Definition motors.h:272
static constexpr auto inverted
Definition motors.h:267
static constexpr auto remoteFilter0_type
Definition motors.h:274
static constexpr auto pid0_kP
Definition motors.h:276
static constexpr auto pid0_kF
Definition motors.h:279
static constexpr auto remoteFilter0_addr
Definition motors.h:273
static constexpr auto pid0_selectedSensor
Definition motors.h:275