A “pin” is an input or output on the Smoothieboard.
In a lot of cases ( step/direction for external stepper motors, button inputs ), you can use any pin for any use.
If other cases, a given pin is tied to a given peripheral on the board.
See Pinout to learn about which pins are where.
You can have a pin's output inverted by adding a “!” after this pin's number in the config line, example :
my_pin_name 19!
There are other modifiers for pins :
All options
! | Exclamation mark | Invert pin |
o | Lowercase O letter | Set pin to open drain |
^ | Caret, Shift+6 on QWERTY keyboards | Set pin to pull up (Default on most pins) |
v | Lowercase v letter | Set pin to pull down |
- | Minus sign | To set no pullup |
@ | At / Arobase sign | To set repeater mode |
Nothing | No modifier, if you do not set any option/modifier for your pin, it will be in pullup mode as if it had ^ specified |
Hard-wired
Note some pins have hardware on the board itself, enforcing a given configuration.
The main example of this is the endstop inputs, which have on-board pull-up resistors, which means trying to deactivate pull-ups in configuration (- for them will not work
(configuration can not deactivate/remove physically present pull-up resistors, it can only act on pull-up pin-configuration peripherals “inside” the chip ).