JMotor
|
▼CJControlLoop | Interface for control loop used by JMotorControllerClosed |
CJControlLoopBasic | Simple control loop for use with JMotorControllerClosed, can turn off motor if nothing has moved for a while |
▼CJDrivetrainBasic | Interface for a drivetrain with only simple velocity control |
▼CJDrivetrain | Defines interface for controlling any ground-based drivetrain |
CJDrivetrainControllerBasic | Basic drivetrain controller, supports smoothed movements on each axis |
CJDrivetrainFieldOriented | Interface for a drivetrain that makes it into field oriented |
CJDrivetrainMecanum | Drivetrain that controls a mecanum wheeled robot |
CJDrivetrainTwoSide | Child class of JDrivetrain for controlling a drivetrain with one JMotorController for each side of the drivetrain |
CJDrivetrainSwerve< N > | Number of swerve modules |
▼CJEncoder | Defines common interface for JEncoder |
CJEncoderAS5048bI2C | Reads a type of absolute encoder https://ams.com/as0548b (uses I2C) |
CJEncoderAS5600I2C | Reads a type of absolute encoder https://ams.com/en/as5600 (uses I2C) |
CJEncoderBSED | Reads a quadrature (incremental) encoder that is connected to a Byte Sized Encoder Decoder board connected over I2C to the main controller |
▼CJEncoderPWMAbsolute | Reads a PWM signal from an absolute encoder |
CJEncoderPWMAbsoluteAttachInterrupt | Uses attachInterrupt() (could be used with standard avr arduinos but only with pins that support attachInterrupt()) platform: esp32, teensy |
CJEncoderPWMAbsolutePinChange | Uses a pin change interrupt library to support more pins than attachInterrupt() |
▼CJEncoderQuadrature | Reads a quadrature (incremental) encoder |
CJEncoderQuadratureAttachInterrupt | Uses attachInterrupt() platform: esp32, teensy (could be used with standard avr arduinos but only with pins that support attachInterrupt()) |
CJEncoderQuadraturePinChange | Uses a pin change interrupt library to support more pins than attachInterrupt() |
▼CJEncoderSingle | Reads a single channel (incremental) encoder |
CJEncoderSingleAttachInterrupt | Uses attachInterrupt() platform: esp32, teensy (could be used with standard avr arduinos but only with pins that support attachInterrupt()) |
CJEncoderSinglePinChange | Uses a pin change interrupt library to support more pins than attachInterrupt() |
▼CJMotorCompensator | This class defines a common interface for converting from speed to driver input. It should compensate for factors like motor response and supply voltage |
CJMotorCompBasic | Converts from speed to driver input compensating for variable supply voltage |
CJMotorCompDirect | Converts from speed to driver input with a simple multiplier |
CJMotorCompStandard | Converts from speed to driver input compensating for motors not being perfect |
CJMotorCompStandardConfig | Struct for containing settings for JMotorCompStandard |
▼CJMotorControllerBase | This class defines a common interface for classes which control velocity of a motor controlled by a JMotorDriver |
▼CJMotorController | This class defines a common interface for classes which control velocity and position of a motor controlled by a JMotorDriver |
CJMotorControllerClosed | Closed loop (uses encoder) motor controller |
CJMotorControllerOpen | This class controls velocity and position of a motor without any encoder feedback |
▼CJServoController | Class for controlling JMotorDriverServo, with angle calibration and accel and velocity limiting |
▼CJServoControllerAdvanced | Class for controlling JMotorDriverServoAdvanced, with power reducing option along with standard JServoController features |
CJServoControllerStallProtected | This child class of JServoController uses JServoStallSensing to reduce servo power |
CJServoControllerGentle | JServoControllerGentle is an extension of JServoController that uses JServoStallSensing to make a servo grip with a specific amount of force |
▼CJMotorControllerBasic | A motor controller object that uses a JMotorCompensator to set velocity of a motor |
CJMotorControllerOpen | This class controls velocity and position of a motor without any encoder feedback |
CJMotorControllerClosed | Closed loop (uses encoder) motor controller |
▼CJMotorDriver | Defines common interface for all types of JMotorDrivers |
CJMotorDriverAvrHBridge | |
CJMotorDriverAvrL293 | L293 motor driver chip: https://www.ti.com/lit/ds/symlink/l293.pdf |
CJMotorDriverAvrPWM | Wrapper for analogWrite() |
CJMotorDriverAvrPWMDir | For motor controllers with one direction input and one speed input pin |
CJMotorDriverDual | Control two JMotorDrivers (of any type) as if they are one driver |
CJMotorDriverEsp32HBridge | Controls 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 |
CJMotorDriverEsp32HBridgeTwoLedcChannels | In most cases, JMotorDriverESP32HBridge is better, this driver uses two ledc (pwm) channels instead of efficiently using just one |
CJMotorDriverEsp32L293 | L293 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! |
CJMotorDriverEsp32PWM | Uses 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 |
CJMotorDriverEsp32PWMDir | For motor controllers with one direction input and one speed input pin |
▼CJMotorDriverServo | Class that can be used to specify a driver that controls specifically a servo |
CJMotorDriverAvrServo | Wraps standard servo library. For servos and motor controllers that use servo signals (ESCs) |
▼CJMotorDriverServoAdvanced | Defines interface for servo driver with variable frequency, subclass of JMotorDriverServo and JMotorDriver |
CJMotorDriverEsp32Servo | For servos and motor controllers that use servo signals (ESCs) |
CJMotorDriverServoAdvancedDual | Control two JMotorDriverServoAdvanced as if they are one driver |
CJMotorDriverServoDual | Control two JMotorDriverServos as if they are one driver |
CJMotorDriverTMC7300 | Control a motor connected to a TMC7300 motor driver chip |
▼CJServoStallSensing | Defines interface for classes that can measure how hard a servo is working |
CJServoCurrentSensor< N > | Implements JServoStallSensing interface |
▼CJSwerveAngleControlLoop | |
CJSwerveAngleControlLoopP | |
▼CJSwerveModule | Defines a common interface for swerve modules |
CJSwerveModuleDifferential | |
CJTwoDTransform | Struct for storing a 2 dimensional transformation. Used for telling a drivetrain how to move |
▼CJVoltageCompensator | Convert voltage to value needed to set driver at to get that voltage |
CJVoltageCompAdjust | Convert voltage to value needed to set driver at to get that voltage, uses reference to variable that should be equal to measured supply voltage |
CJVoltageCompConst | Convert 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::pwmSettings | Struct for holding parameters for reading PWM Absolute Encoders |