JMotor
Loading...
Searching...
No Matches
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12345]
 CJControlLoopInterface for control loop used by JMotorControllerClosed
 CJControlLoopBasicSimple control loop for use with JMotorControllerClosed, can turn off motor if nothing has moved for a while
 CJDrivetrainBasicInterface for a drivetrain with only simple velocity control
 CJDrivetrainDefines interface for controlling any ground-based drivetrain
 CJDrivetrainControllerBasicBasic drivetrain controller, supports smoothed movements on each axis
 CJDrivetrainFieldOrientedInterface for a drivetrain that makes it into field oriented
 CJDrivetrainMecanumDrivetrain that controls a mecanum wheeled robot
 CJDrivetrainTwoSideChild class of JDrivetrain for controlling a drivetrain with one JMotorController for each side of the drivetrain
 CJDrivetrainSwerve< N >Number of swerve modules
 CJEncoderDefines common interface for JEncoder
 CJEncoderAS5048bI2CReads a type of absolute encoder https://ams.com/as0548b (uses I2C)
 CJEncoderAS5600I2CReads a type of absolute encoder https://ams.com/en/as5600 (uses I2C)
 CJEncoderBSEDReads a quadrature (incremental) encoder that is connected to a Byte Sized Encoder Decoder board connected over I2C to the main controller
 CJEncoderPWMAbsoluteReads a PWM signal from an absolute encoder
 CJEncoderPWMAbsoluteAttachInterruptUses attachInterrupt() (could be used with standard avr arduinos but only with pins that support attachInterrupt())
platform: esp32, teensy
 CJEncoderPWMAbsolutePinChangeUses a pin change interrupt library to support more pins than attachInterrupt()
 CJEncoderQuadratureReads a quadrature (incremental) encoder
 CJEncoderQuadratureAttachInterruptUses attachInterrupt() platform: esp32, teensy (could be used with standard avr arduinos but only with pins that support attachInterrupt())
 CJEncoderQuadraturePinChangeUses a pin change interrupt library to support more pins than attachInterrupt()
 CJEncoderSingleReads a single channel (incremental) encoder
 CJEncoderSingleAttachInterruptUses attachInterrupt() platform: esp32, teensy (could be used with standard avr arduinos but only with pins that support attachInterrupt())
 CJEncoderSinglePinChangeUses a pin change interrupt library to support more pins than attachInterrupt()
 CJMotorCompensatorThis class defines a common interface for converting from speed to driver input. It should compensate for factors like motor response and supply voltage
 CJMotorCompBasicConverts from speed to driver input compensating for variable supply voltage
 CJMotorCompDirectConverts from speed to driver input with a simple multiplier
 CJMotorCompStandardConverts from speed to driver input compensating for motors not being perfect
 CJMotorCompStandardConfigStruct for containing settings for JMotorCompStandard
 CJMotorControllerBaseThis class defines a common interface for classes which control velocity of a motor controlled by a JMotorDriver
 CJMotorControllerThis class defines a common interface for classes which control velocity and position of a motor controlled by a JMotorDriver
 CJMotorControllerClosedClosed loop (uses encoder) motor controller
 CJMotorControllerOpenThis class controls velocity and position of a motor without any encoder feedback
 CJServoControllerClass for controlling JMotorDriverServo, with angle calibration and accel and velocity limiting
 CJServoControllerAdvancedClass for controlling JMotorDriverServoAdvanced, with power reducing option along with standard JServoController features
 CJServoControllerStallProtectedThis child class of JServoController uses JServoStallSensing to reduce servo power
 CJServoControllerGentleJServoControllerGentle is an extension of JServoController that uses JServoStallSensing to make a servo grip with a specific amount of force
 CJMotorControllerBasicA motor controller object that uses a JMotorCompensator to set velocity of a motor
 CJMotorControllerOpenThis class controls velocity and position of a motor without any encoder feedback
 CJMotorControllerClosedClosed loop (uses encoder) motor controller
 CJMotorDriverDefines common interface for all types of JMotorDrivers
 CJMotorDriverAvrHBridge
 CJMotorDriverAvrL293L293 motor driver chip: https://www.ti.com/lit/ds/symlink/l293.pdf
 CJMotorDriverAvrPWMWrapper for analogWrite()
 CJMotorDriverAvrPWMDirFor motor controllers with one direction input and one speed input pin
 CJMotorDriverDualControl two JMotorDrivers (of any type) as if they are one driver
 CJMotorDriverEsp32HBridgeControls an H-bridge motor driver with two pins When wiring to an L293D or similar motor driver, connect the enable pin to 5 volts, and the two other input pins to the ESP32. Unlike JMotorDriverEsp32L293, this driver uses two pins to control the motor. Unlike JMotorDriverEsp32HBridgeTwoLedcChannels, this driver uses a single LEDc channel, so this is better than JMotorDriverEsp32HBridgeTwoLedcChannels
 CJMotorDriverEsp32HBridgeTwoLedcChannelsIn most cases, JMotorDriverESP32HBridge is better, this driver uses two ledc (pwm) channels instead of efficiently using just one
 CJMotorDriverEsp32L293L293 motor driver chip: https://www.ti.com/lit/ds/symlink/l293.pdf also works with L298 drivers or anything with two direction pins and an enable pin!
 CJMotorDriverEsp32PWMUses ledc to output PWM approximation of an analog output ESP32s now have normal analogWrite() so the "Avr" driver will work, but this driver gives a bit more control over resolution and frequency
 CJMotorDriverEsp32PWMDirFor motor controllers with one direction input and one speed input pin
 CJMotorDriverServoClass that can be used to specify a driver that controls specifically a servo
 CJMotorDriverAvrServoWraps standard servo library. For servos and motor controllers that use servo signals (ESCs)
 CJMotorDriverServoAdvancedDefines interface for servo driver with variable frequency, subclass of JMotorDriverServo and JMotorDriver
 CJMotorDriverEsp32ServoFor servos and motor controllers that use servo signals (ESCs)
 CJMotorDriverServoAdvancedDualControl two JMotorDriverServoAdvanced as if they are one driver
 CJMotorDriverServoDualControl two JMotorDriverServos as if they are one driver
 CJMotorDriverTMC7300Control a motor connected to a TMC7300 motor driver chip
 CJServoStallSensingDefines interface for classes that can measure how hard a servo is working
 CJServoCurrentSensor< N >Implements JServoStallSensing interface
 CJSwerveAngleControlLoop
 CJSwerveAngleControlLoopP
 CJSwerveModuleDefines a common interface for swerve modules
 CJSwerveModuleDifferential
 CJTwoDTransformStruct for storing a 2 dimensional transformation. Used for telling a drivetrain how to move
 CJVoltageCompensatorConvert voltage to value needed to set driver at to get that voltage
 CJVoltageCompAdjustConvert voltage to value needed to set driver at to get that voltage, uses reference to variable that should be equal to measured supply voltage
 CJVoltageCompConstConvert voltage to value needed to set driver at to get that voltage, with constant value for what supply voltage is
 CJVoltageCompMeasure< N >Measure supply voltage with analogRead and use that to convert voltage to value needed to set driver at to get that voltage
 CJDrivetrainMecanum::MotorFloats
 CJDrivetrainMecanum::Motors
 CJEncoderPWMAbsolute::pwmSettingsStruct for holding parameters for reading PWM Absolute Encoders