Motors Update
Created by: Baldstrom
New Motors Update
There are a lot of changes in this branch, some of which are breaking, but we believe that these changes make using motors and servos in Scarlet more intuitive.
Major Changes
- Makes motors more user-friendly. For example, TalonMC and Cytron MCs handle input filters and threading internally.
-
TalonMC
andCytronMD30C
now take advantage of newIFilter
requirement:IsSteadyState()
to handle threading internally. -
IMotor
andIServo
now useSetEnabled(bool Enabled)
to set whether or not the motor runs - Made filter changes to add
IsSteadyState()
functionality toLowPass
,Average
, andKalman
filters. - Added Testing files for
TalonMC
- Added
Constants
class toUtils
for across-code ease-of-use. - Removed file search utility in
Utilities
Notes
- All
TalonMC
tests pass - Added Testing playlists
- Added
LowPass
test class (not populated) - Added
TestablePWMOutput
for testing purposes (to see changes directly on the duty cycle output) - Did not directly test
CytronMD30C
, but it works in the exact same wayTalonMC
does, except that it uses a GPIO pin to set the direction of the motor which was tested when it was originally implemented on an actual motor controller - None of these classes have been directly tested on physical motor controllers.
- The generic
Servo
class is still not implemented.