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 and CytronMD30C now take advantage of new IFilter requirement: IsSteadyState() to handle threading internally.
IMotor and IServo now use SetEnabled(bool Enabled) to set whether or not the motor runs
Made filter changes to add IsSteadyState() functionality to LowPass, Average, and Kalman filters.
Added Testing files for TalonMC
Added Constants class to Utils 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 way TalonMC 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.
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
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 runsIsSteadyState()
functionality toLowPass
,Average
, andKalman
filters.TalonMC
Constants
class toUtils
for across-code ease-of-use.Utilities
Notes
TalonMC
tests passLowPass
test class (not populated)TestablePWMOutput
for testing purposes (to see changes directly on the duty cycle output)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 controllerServo
class is still not implemented.