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_X MOVEMENT_TIMEOUT_Y MOVEMENT_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_X MOVEMENT_KEEP_ACTIVE_Y MOVEMENT_KEEP_ACTIVE_Z |
Determines if motors should remain powered when idle |
31 32 33 |
MOVEMENT_INVERT_MOTOR_X MOVEMENT_INVERT_MOTOR_Y MOVEMENT_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_X MOVEMENT_HOME_UP_Y MOVEMENT_HOME_UP_Z |
Determines which direction the bot must move to reach the home (zero) position |
55 56 57 |
MOVEMENT_STEP_PER_MM_X MOVEMENT_STEP_PER_MM_Y MOVEMENT_STEP_PER_MM_Z |
Determines the steps/mm scaling factor |
Motor speeds
ID | Name | Description |
---|---|---|
41 42 43 |
MOVEMENT_STEPS_ACC_DEC_X MOVEMENT_STEPS_ACC_DEC_Y MOVEMENT_STEPS_ACC_DEC_Z |
Number of steps used to accelerate along an axis |
61 62 63 |
MOVEMENT_MIN_SPD_X MOVEMENT_MIN_SPD_Y MOVEMENT_MIN_SPD_Z |
Minimum speed in steps/second |
71 72 73 |
MOVEMENT_MAX_SPD_X MOVEMENT_MAX_SPD_Y MOVEMENT_MAX_SPD_Z |
Maximum speed in steps/second |
65 66 67 |
MOVEMENT_HOME_SPEED_X MOVEMENT_HOME_SPEED_Y MOVEMENT_HOME_SPEED_Z |
Homing and calibrating speed in steps/second |
Endpoints
ID | Name | Description |
---|---|---|
25 26 27 |
MOVEMENT_ENABLE_ENDPOINTS_X MOVEMENT_ENABLE_ENDPOINTS_Y MOVEMENT_ENABLE_ENDPOINTS_Z |
Enables the use of endstop hardware such as limit switches |
21 22 23 |
MOVEMENT_INVERT_ENDPOINTS_X MOVEMENT_INVERT_ENDPOINTS_Y MOVEMENT_INVERT_ENDPOINTS_Z |
Inverts which endstop represents the maximum and minimum locations along an axis |
75 76 77 |
MOVEMENT_INVERT_2_ENDPOINTS_X MOVEMENT_INVERT_2_ENDPOINTS_Y MOVEMENT_INVERT_2_ENDPOINTS_Z |
Changes the type of limit switch being used from NO to NC |
45 46 47 |
MOVEMENT_STOP_AT_HOME_X MOVEMENT_STOP_AT_HOME_Y MOVEMENT_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_X MOVEMENT_STOP_AT_MAX_Y MOVEMENT_STOP_AT_MAX_Z |
Determines if the bot is allowed to move past the maximum position |
141 142 143 |
MOVEMENT_AXIS_NR_STEPS_X MOVEMENT_AXIS_NR_STEPS_Y MOVEMENT_AXIS_NR_STEPS_Z |
Size of an axis in steps (lower byte) |
151 152 153 |
MOVEMENT_AXIS_NR_STEPS_H_X MOVEMENT_AXIS_NR_STEPS_H_Y MOVEMENT_AXIS_NR_STEPS_H_Z |
Size of an axis in steps (higher byte) |
161 162 163 |
MOVEMENT_CALIBRATION_RETRY_X MOVEMENT_CALIBRATION_RETRY_Y MOVEMENT_CALIBRATION_RETRY_Z |
Number of calibration attempts |
171 172 173 |
MOVEMENT_CALIBRATION_DEADZONE_X MOVEMENT_CALIBRATION_DEADZONE_Y MOVEMENT_CALIBRATION_DEADZONE_Z |
Calibration retry grouping distance |
TMC2130 stepper drivers
ID | Name | Description |
---|---|---|
81 82 83 |
MOVEMENT_MOTOR_CURRENT_X MOVEMENT_MOTOR_CURRENT_Y MOVEMENT_MOTOR_CURRENT_Z |
Sets the current in milliamps |
85 86 87 |
MOVEMENT_STALL_SENSITIVITY_X MOVEMENT_STALL_SENSITIVITY_Y MOVEMENT_STALL_SENSITIVITY_Z |
Sets the amount of back emf required to trigger a stall |
91 92 93 |
MOVEMENT_MICROSTEPS_X MOVEMENT_MICROSTEPS_Y MOVEMENT_MICROSTEPS_Z |
Sets the number of microsteps per step |
165 166 167 |
MOVEMENT_AXIS_STEALTH_X MOVEMENT_AXIS_STEALTH_Y MOVEMENT_AXIS_STEALTH_Z |
Enables quiet motor mode |
Encoders
ID | Name | Description |
---|---|---|
101 102 103 |
ENCODER_ENABLED_X ENCODER_ENABLED_Y ENCODER_ENABLED_Z |
Enables the use of rotary encoders |
105 106 107 |
ENCODER_TYPE_X ENCODER_TYPE_Y ENCODER_TYPE_Z |
Sets the type of encoder being used (single ended or differential) |
111 112 113 |
ENCODER_MISSED_STEPS_MAX_X ENCODER_MISSED_STEPS_MAX_Y ENCODER_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_X ENCODER_SCALING_Y ENCODER_SCALING_Z |
Determines the scaling factor between encoder steps and motor steps |
121 122 123 |
ENCODER_MISSED_STEPS_DECAY_X ENCODER_MISSED_STEPS_DECAY_Y ENCODER_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_X ENCODER_USE_FOR_POS_Y ENCODER_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_X ENCODER_INVERT_Y ENCODER_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_NR PIN_GUARD_1_TIME_OUT PIN_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_NR PIN_GUARD_2_TIME_OUT PIN_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_NR PIN_GUARD_3_TIME_OUT PIN_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_NR PIN_GUARD_4_TIME_OUT PIN_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_NR PIN_GUARD_5_TIME_OUT PIN_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_X MOVEMENT_HOME_AT_BOOT_Y MOVEMENT_HOME_AT_BOOT_Z |
Deprecated |