Parameters
Writing parameters
To write a parameter, send an F22 P V command, where P is the parameter number and V is the parameter value.
Reading parameters
To read parameters, use one of the following two commands.
| Action | Command | Parameter Number |
|---|---|---|
| Report all parameters | F20 | |
| Read parameter | F21 | P |
The firmware will respond in the format R21 P V, where P is the parameter number and V is the parameter value.
List of parameters
The firmware uses the following parameters, as found in the code repository at src/ParameterList.h.
General
| ID | Name | Description |
|---|---|---|
| 0 | PARAM_VERSION |
Version number of the parameter set |
| 1 | PARAM_TEST |
Used for diagnostics |
| 2 | PARAM_CONFIG_OK |
Set when the firmware is sufficiently configured |
Movements
| ID | Name | Description |
|---|---|---|
| 4 | PARAM_E_STOP_ON_MOV_ERR |
Determines wether or not the firmware should emergency stop upon movement error |
| 5 | PARAM_MOV_NR_RETRY |
Number of times to retry a movement before stopping with error |
| 11 12 13 |
MOVEMENT_TIMEOUT_XMOVEMENT_TIMEOUT_YMOVEMENT_TIMEOUT_Z |
Time in seconds before a movement along an axis times out and stops with error |
Motors
| ID | Name | Description |
|---|---|---|
| 15 16 17 |
MOVEMENT_KEEP_ACTIVE_XMOVEMENT_KEEP_ACTIVE_YMOVEMENT_KEEP_ACTIVE_Z |
Determines if motors should remain powered when idle |
| 31 32 33 |
MOVEMENT_INVERT_MOTOR_XMOVEMENT_INVERT_MOTOR_YMOVEMENT_INVERT_MOTOR_Z |
Reverses the direction a motor spins when moving in both the positive and negative directions |
| 36 | MOVEMENT_SECONDARY_MOTOR_X |
Enables the use of a second X-axis motor |
| 37 | MOVEMENT_SECONDARY_MOTOR_INVERT_X |
Inverts the rotation of the second X-axis motor |
| 51 52 53 |
MOVEMENT_HOME_UP_XMOVEMENT_HOME_UP_YMOVEMENT_HOME_UP_Z |
Determines which direction the bot must move to reach the home (zero) position |
| 55 56 57 |
MOVEMENT_STEP_PER_MM_XMOVEMENT_STEP_PER_MM_YMOVEMENT_STEP_PER_MM_Z |
Determines the steps/mm scaling factor |
Motor speeds
| ID | Name | Description |
|---|---|---|
| 41 42 43 |
MOVEMENT_STEPS_ACC_DEC_XMOVEMENT_STEPS_ACC_DEC_YMOVEMENT_STEPS_ACC_DEC_Z |
Number of steps used to accelerate along an axis |
| 61 62 63 |
MOVEMENT_MIN_SPD_XMOVEMENT_MIN_SPD_YMOVEMENT_MIN_SPD_Z |
Minimum speed in steps/second |
| 71 72 73 |
MOVEMENT_MAX_SPD_XMOVEMENT_MAX_SPD_YMOVEMENT_MAX_SPD_Z |
Maximum speed in steps/second |
| 65 66 67 |
MOVEMENT_HOME_SPEED_XMOVEMENT_HOME_SPEED_YMOVEMENT_HOME_SPEED_Z |
Homing and calibrating speed in steps/second |
Endpoints
| ID | Name | Description |
|---|---|---|
| 25 26 27 |
MOVEMENT_ENABLE_ENDPOINTS_XMOVEMENT_ENABLE_ENDPOINTS_YMOVEMENT_ENABLE_ENDPOINTS_Z |
Enables the use of endstop hardware such as limit switches |
| 21 22 23 |
MOVEMENT_INVERT_ENDPOINTS_XMOVEMENT_INVERT_ENDPOINTS_YMOVEMENT_INVERT_ENDPOINTS_Z |
Inverts which endstop represents the maximum and minimum locations along an axis |
| 75 76 77 |
MOVEMENT_INVERT_2_ENDPOINTS_XMOVEMENT_INVERT_2_ENDPOINTS_YMOVEMENT_INVERT_2_ENDPOINTS_Z |
Changes the type of limit switch being used from NO to NC |
| 45 46 47 |
MOVEMENT_STOP_AT_HOME_XMOVEMENT_STOP_AT_HOME_YMOVEMENT_STOP_AT_HOME_Z |
Determines if the bot is allowed to move past the minimum/home (zero) position |
| 145 146 147 |
MOVEMENT_STOP_AT_MAX_XMOVEMENT_STOP_AT_MAX_YMOVEMENT_STOP_AT_MAX_Z |
Determines if the bot is allowed to move past the maximum position |
| 141 142 143 |
MOVEMENT_AXIS_NR_STEPS_XMOVEMENT_AXIS_NR_STEPS_YMOVEMENT_AXIS_NR_STEPS_Z |
Size of an axis in steps (lower byte) |
| 151 152 153 |
MOVEMENT_AXIS_NR_STEPS_H_XMOVEMENT_AXIS_NR_STEPS_H_YMOVEMENT_AXIS_NR_STEPS_H_Z |
Size of an axis in steps (higher byte) |
| 161 162 163 |
MOVEMENT_CALIBRATION_RETRY_XMOVEMENT_CALIBRATION_RETRY_YMOVEMENT_CALIBRATION_RETRY_Z |
Number of calibration attempts |
| 171 172 173 |
MOVEMENT_CALIBRATION_DEADZONE_XMOVEMENT_CALIBRATION_DEADZONE_YMOVEMENT_CALIBRATION_DEADZONE_Z |
Calibration retry grouping distance |
TMC2130 stepper drivers
| ID | Name | Description |
|---|---|---|
| 81 82 83 |
MOVEMENT_MOTOR_CURRENT_XMOVEMENT_MOTOR_CURRENT_YMOVEMENT_MOTOR_CURRENT_Z |
Sets the current in milliamps |
| 85 86 87 |
MOVEMENT_STALL_SENSITIVITY_XMOVEMENT_STALL_SENSITIVITY_YMOVEMENT_STALL_SENSITIVITY_Z |
Sets the amount of back emf required to trigger a stall |
| 91 92 93 |
MOVEMENT_MICROSTEPS_XMOVEMENT_MICROSTEPS_YMOVEMENT_MICROSTEPS_Z |
Sets the number of microsteps per step |
| 165 166 167 |
MOVEMENT_AXIS_STEALTH_XMOVEMENT_AXIS_STEALTH_YMOVEMENT_AXIS_STEALTH_Z |
Enables quiet motor mode |
Encoders
| ID | Name | Description |
|---|---|---|
| 101 102 103 |
ENCODER_ENABLED_XENCODER_ENABLED_YENCODER_ENABLED_Z |
Enables the use of rotary encoders |
| 105 106 107 |
ENCODER_TYPE_XENCODER_TYPE_YENCODER_TYPE_Z |
Sets the type of encoder being used (single ended or differential) |
| 111 112 113 |
ENCODER_MISSED_STEPS_MAX_XENCODER_MISSED_STEPS_MAX_YENCODER_MISSED_STEPS_MAX_Z |
Sets the maximum number of steps an encoder can deviate from the expected count before determining a stall has occurred |
| 115 116 117 |
ENCODER_SCALING_XENCODER_SCALING_YENCODER_SCALING_Z |
Determines the scaling factor between encoder steps and motor steps |
| 121 122 123 |
ENCODER_MISSED_STEPS_DECAY_XENCODER_MISSED_STEPS_DECAY_YENCODER_MISSED_STEPS_DECAY_Z |
Sets the amount the missed encoder step count should decrease by with each recorded step |
| 125 126 127 |
ENCODER_USE_FOR_POS_XENCODER_USE_FOR_POS_YENCODER_USE_FOR_POS_Z |
Determines if the controller should continue moving based on the position as reported by the encoders |
| 131 132 133 |
ENCODER_INVERT_XENCODER_INVERT_YENCODER_INVERT_Z |
Reverses the direction the encoder must rotate to count in each direction |
Pin guard
| ID | Name | Description |
|---|---|---|
| 201 202 203 |
PIN_GUARD_1_PIN_NRPIN_GUARD_1_TIME_OUTPIN_GUARD_1_ACTIVE_STATE |
Pin guard 1 pin number, timeout (in seconds), and active state (low or high) |
| 205 206 207 |
PIN_GUARD_2_PIN_NRPIN_GUARD_2_TIME_OUTPIN_GUARD_2_ACTIVE_STATE |
Pin guard 2 pin number, timeout (in seconds), and active state (low or high) |
| 211 212 213 |
PIN_GUARD_3_PIN_NRPIN_GUARD_3_TIME_OUTPIN_GUARD_3_ACTIVE_STATE |
Pin guard 3 pin number, timeout (in seconds), and active state (low or high) |
| 215 216 217 |
PIN_GUARD_4_PIN_NRPIN_GUARD_4_TIME_OUTPIN_GUARD_4_ACTIVE_STATE |
Pin guard 4 pin number, timeout (in seconds), and active state (low or high) |
| 221 222 223 |
PIN_GUARD_5_PIN_NRPIN_GUARD_5_TIME_OUTPIN_GUARD_5_ACTIVE_STATE |
Pin guard 5 pin number, timeout (in seconds), and active state (low or high) |
Deprecated
The following parameters are no longer used, though support for them may still remain in the firmware.
| ID | Name | Description |
|---|---|---|
| 3 | PARAM_USE_EEPROM |
|
| 18 19 20 |
MOVEMENT_HOME_AT_BOOT_XMOVEMENT_HOME_AT_BOOT_YMOVEMENT_HOME_AT_BOOT_Z |
Deprecated |