|
| | __init__ (self, str name, int motorID, configs.TalonFXConfiguration motorConfig, sysidConfig sysidConf, float limitWaitingDistance, Union[float, None] positionSetErrorBounds=None, Union[int, None] followerID=None, units.turns conversionRate=1/360, Union[int, None] encoderID=None, Union[configs.CANcoderConfiguration, None] encoderConfig=None, Union[float, None] initialPosition=None, Union[units.inches, units.degrees] initialTarget=0) |
| |
| | get (self, bool useTurns=False) |
| |
| bool | inPosition (self) |
| |
| | limit (self, Tuple[units.degrees] newLimits) |
| |
| | periodic (self) |
| |
| | set (self, Union[units.inches, units.degrees, None] target) |
| |
| | setEnabled (self, bool state) |
| |
| commands2.Command | sys_id_dynamic (self, SysIdRoutine.Direction direction) |
| |
| commands2.Command | sys_id_quasistatic (self, SysIdRoutine.Direction direction) |
| |
◆ __init__()
| __init__ |
( |
| self, |
|
|
str | name, |
|
|
int | motorID, |
|
|
configs.TalonFXConfiguration | motorConfig, |
|
|
sysidConfig | sysidConf, |
|
|
float | limitWaitingDistance, |
|
|
Union[float, None] | positionSetErrorBounds = None, |
|
|
Union[int, None] | followerID = None, |
|
|
units.turns | conversionRate = 1/360, |
|
|
Union[int, None] | encoderID = None, |
|
|
Union[configs.CANcoderConfiguration, None] | encoderConfig = None, |
|
|
Union[float, None] | initialPosition = None, |
|
|
Union[units.inches, units.degrees] | initialTarget = 0 ) |
◆ get()
| get |
( |
| self, |
|
|
bool | useTurns = False ) |
◆ inPosition()
◆ limit()
| limit |
( |
| self, |
|
|
Tuple[units.degrees] | newLimits ) |
◆ periodic()
◆ set()
| set |
( |
| self, |
|
|
Union[units.inches,units.degrees,None] | target ) |
◆ setEnabled()
| setEnabled |
( |
| self, |
|
|
bool | state ) |
◆ sys_id_dynamic()
| commands2.Command sys_id_dynamic |
( |
| self, |
|
|
SysIdRoutine.Direction | direction ) |
◆ sys_id_quasistatic()
| commands2.Command sys_id_quasistatic |
( |
| self, |
|
|
SysIdRoutine.Direction | direction ) |
◆ configs
◆ conversionRate
| conversionRate = conversionRate |
◆ enabled
◆ encoder
| encoder = CANcoder(encoderID) |
◆ follower
| follower = TalonFX(followerID) |
◆ lim_target
| lim_target = DebugSender(self.getName()+"LimTarget",False,) |
◆ limits
◆ limitWaitingDistance
| units.turns limitWaitingDistance = limitWaitingDistance * self.conversionRate |
◆ motor
◆ pos_debug
| pos_debug = DebugSender(self.getName()+"Position",False,self.get) |
◆ positionSetErrorBounds
| units.turns positionSetErrorBounds |
Initial value:= self.conversionRate * positionSetErrorBounds \
if positionSetErrorBounds is not None else self.limitWaitingDistance
◆ prevGoal
◆ sys_id_routine
Initial value:= SysIdRoutine(
SysIdRoutine.Config(
stepVoltage = sysidConf.stepVoltage,
rampRate = sysidConf.rampRate,
timeout = sysidConf.timeout,
recordState = lambda state: SignalLogger.write_string("state", SysIdRoutineLog.stateEnumToString(state))
),
SysIdRoutine.Mechanism(
lambda volts: self.motor.set_control(self.voltage_req.with_output(volts)),
lambda log: None,
self
)
)
◆ target
| units.turns target = target*self.conversionRate |
◆ target_debug
| target_debug = DebugSender(self.getName()+"Target",False,lambda: self.target/self.conversionRate) |
◆ voltage_req
| voltage_req = controls.VoltageOut(0) |
The documentation for this class was generated from the following file: