SparkFlex
This page refers to the REV Spark Flex while attached to a BRUSHLESS MOTOR (REV Vortex's) .
Getting Started
An small example program to create a CANSparkFlex
object is as follows.
import com.revrobotics.CANSparkFlex;
import com.revrobotics.CANSparkLowLevel.MotorType;
new CANSparkFlex(, MotorType.kBrushless);
Documentation
The Spark Flex allows you to test the motor controller PID, run the motor at a set percentage, and update the firmware all from the REV Hardware Client. Installation of the REV Hardware client is required to use the SparkFlex for YAGSL.
The Spark Flex must be disconnected from the CAN bus on startup to run via the REV Hardware Client!
Tuning PID
To tune the PID of the Spark Flex you need to open up the REV Hardware Client select the Spark Flex then open the telemetry tab and set it to position control while messing with the parameters in the lefthand pane.
YAGSL Checklist
Communication
The Spark Flex is only capable of communicating via CAN and may see some exciting new features soon with CAN FD support!
Module example configuration
The following example is one for a module configuration file, e.g. frontleft.json
, frontright.json
, backleft.json
, and backright.json
.
{
"drive": {
"type": ,
"id": ,
"canbus":
},
"angle": {
"type": ,
"id": ,
"canbus":
},
"encoder": {
"type": "cancoder",
"id": 11,
"canbus": null
},
"inverted": {
"drive": ,
"angle":
},
"absoluteEncoderOffset": -18.281,
"location": {
"front": -12,
"left": -12
}
}
Example pidfproperties.json
pidfproperties.json
{
"drive": {
"p": ,
"i": ,
"d": ,
"f": ,
"iz": 0
},
"angle": {
"p": ,
"i": ,
"d": ,
"f": ,
"iz": 0
}
}
Example physicalproperties.json
physicalproperties.json
{
"conversionFactor": {
"drive": ,
"angle":
},
"currentLimit": {
"drive": ,
"angle":
},
"rampRate": {
"drive": ,
"angle":
},
"wheelGripCoefficientOfFriction": 1.19,
"optimalVoltage": 12
}
Last updated
Was this helpful?