Prusa MINI Firmware overview
pins.h File Reference
#include "../core/boards.h"

Go to the source code of this file.

Macros

#define MAX_EXTRUDERS   6
 
#define HAS_FREE_AUX2_PINS   !(BOTH(ULTRA_LCD, NEWPANEL) && ANY(PANEL_ONE, VIKI2, miniVIKI, MINIPANEL, REPRAPWORLD_KEYPAD))
 
#define X_MS1_PIN   -1
 
#define X_MS2_PIN   -1
 
#define X_MS3_PIN   -1
 
#define Y_MS1_PIN   -1
 
#define Y_MS2_PIN   -1
 
#define Y_MS3_PIN   -1
 
#define Z_MS1_PIN   -1
 
#define Z_MS2_PIN   -1
 
#define Z_MS3_PIN   -1
 
#define E0_MS1_PIN   -1
 
#define E0_MS2_PIN   -1
 
#define E0_MS3_PIN   -1
 
#define E1_MS1_PIN   -1
 
#define E1_MS2_PIN   -1
 
#define E1_MS3_PIN   -1
 
#define E2_MS1_PIN   -1
 
#define E2_MS2_PIN   -1
 
#define E2_MS3_PIN   -1
 
#define E3_MS1_PIN   -1
 
#define E3_MS2_PIN   -1
 
#define E3_MS3_PIN   -1
 
#define E4_MS1_PIN   -1
 
#define E4_MS2_PIN   -1
 
#define E4_MS3_PIN   -1
 
#define E5_MS1_PIN   -1
 
#define E5_MS2_PIN   -1
 
#define E5_MS3_PIN   -1
 
#define E0_STEP_PIN   -1
 
#define E0_DIR_PIN   -1
 
#define E0_ENABLE_PIN   -1
 
#define E1_STEP_PIN   -1
 
#define E1_DIR_PIN   -1
 
#define E1_ENABLE_PIN   -1
 
#define E2_STEP_PIN   -1
 
#define E2_DIR_PIN   -1
 
#define E2_ENABLE_PIN   -1
 
#define E3_STEP_PIN   -1
 
#define E3_DIR_PIN   -1
 
#define E3_ENABLE_PIN   -1
 
#define E4_STEP_PIN   -1
 
#define E4_DIR_PIN   -1
 
#define E4_ENABLE_PIN   -1
 
#define E5_STEP_PIN   -1
 
#define E5_DIR_PIN   -1
 
#define E5_ENABLE_PIN   -1
 
#define X_CS_PIN   -1
 
#define Y_CS_PIN   -1
 
#define Z_CS_PIN   -1
 
#define E0_CS_PIN   -1
 
#define E1_CS_PIN   -1
 
#define E2_CS_PIN   -1
 
#define E3_CS_PIN   -1
 
#define E4_CS_PIN   -1
 
#define E5_CS_PIN   -1
 
#define FAN_PIN   -1
 
#define FAN0_PIN   FAN_PIN
 
#define FAN1_PIN   -1
 
#define FAN2_PIN   -1
 
#define CONTROLLER_FAN_PIN   -1
 
#define FANMUX0_PIN   -1
 
#define FANMUX1_PIN   -1
 
#define FANMUX2_PIN   -1
 
#define HEATER_0_PIN   -1
 
#define HEATER_1_PIN   -1
 
#define HEATER_2_PIN   -1
 
#define HEATER_3_PIN   -1
 
#define HEATER_4_PIN   -1
 
#define HEATER_5_PIN   -1
 
#define HEATER_BED_PIN   -1
 
#define TEMP_0_PIN   -1
 
#define TEMP_1_PIN   -1
 
#define TEMP_2_PIN   -1
 
#define TEMP_3_PIN   -1
 
#define TEMP_4_PIN   -1
 
#define TEMP_5_PIN   -1
 
#define TEMP_BED_PIN   -1
 
#define SD_DETECT_PIN   -1
 
#define SDPOWER_PIN   -1
 
#define SDSS   -1
 
#define LED_PIN   -1
 
#define PS_ON_PIN   -1
 
#define KILL_PIN   -1
 
#define SUICIDE_PIN   -1
 
#define NUM_SERVO_PLUGS   4
 
#define E0_AUTO_FAN_PIN   -1
 
#define E1_AUTO_FAN_PIN   -1
 
#define E2_AUTO_FAN_PIN   -1
 
#define E3_AUTO_FAN_PIN   -1
 
#define E4_AUTO_FAN_PIN   -1
 
#define E5_AUTO_FAN_PIN   -1
 
#define CHAMBER_AUTO_FAN_PIN   -1
 
#define X_STOP_PIN   X_MAX_PIN
 
#define Y_STOP_PIN   Y_MAX_PIN
 
#define Z_STOP_PIN   Z_MAX_PIN
 
#define Z_MIN_PROBE_PIN   -1
 
#define LCD_PINS_D4   -1
 
#define __EPIN(p, q)   E##p##_##q##_PIN
 
#define _EPIN(p, q)   __EPIN(p,q)
 
#define X2_STEP_PIN   _EPIN(E_STEPPERS, STEP)
 
#define X2_DIR_PIN   _EPIN(E_STEPPERS, DIR)
 
#define X2_ENABLE_PIN   _EPIN(E_STEPPERS, ENABLE)
 
#define X2_CS_PIN   _EPIN(E_STEPPERS, CS)
 
#define X2_MS1_PIN   _EPIN(E_STEPPERS, MS1)
 
#define X2_MS2_PIN   _EPIN(E_STEPPERS, MS2)
 
#define X2_MS3_PIN   _EPIN(E_STEPPERS, MS3)
 
#define Y2_E_INDEX   INCREMENT(E_STEPPERS)
 
#define Z2_E_INDEX   Y2_E_INDEX
 
#define Z3_E_INDEX   Z2_E_INDEX
 

Macro Definition Documentation

◆ MAX_EXTRUDERS

#define MAX_EXTRUDERS   6

Marlin 3D Printer Firmware Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]

Based on Sprinter and grbl. Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/. Include pins definitions

Pins numbering schemes:

  • Digital I/O pin number if used by READ/WRITE macros. (e.g., X_STEP_DIR) The FastIO headers map digital pins to their ports and functions.
  • Analog Input number if used by analogRead or DAC. (e.g., TEMP_n_PIN) These numbers are the same in any pin mapping.

◆ HAS_FREE_AUX2_PINS

#define HAS_FREE_AUX2_PINS   !(BOTH(ULTRA_LCD, NEWPANEL) && ANY(PANEL_ONE, VIKI2, miniVIKI, MINIPANEL, REPRAPWORLD_KEYPAD))

◆ X_MS1_PIN

#define X_MS1_PIN   -1

◆ X_MS2_PIN

#define X_MS2_PIN   -1

◆ X_MS3_PIN

#define X_MS3_PIN   -1

◆ Y_MS1_PIN

#define Y_MS1_PIN   -1

◆ Y_MS2_PIN

#define Y_MS2_PIN   -1

◆ Y_MS3_PIN

#define Y_MS3_PIN   -1

◆ Z_MS1_PIN

#define Z_MS1_PIN   -1

◆ Z_MS2_PIN

#define Z_MS2_PIN   -1

◆ Z_MS3_PIN

#define Z_MS3_PIN   -1

◆ E0_MS1_PIN

#define E0_MS1_PIN   -1

◆ E0_MS2_PIN

#define E0_MS2_PIN   -1

◆ E0_MS3_PIN

#define E0_MS3_PIN   -1

◆ E1_MS1_PIN

#define E1_MS1_PIN   -1

◆ E1_MS2_PIN

#define E1_MS2_PIN   -1

◆ E1_MS3_PIN

#define E1_MS3_PIN   -1

◆ E2_MS1_PIN

#define E2_MS1_PIN   -1

◆ E2_MS2_PIN

#define E2_MS2_PIN   -1

◆ E2_MS3_PIN

#define E2_MS3_PIN   -1

◆ E3_MS1_PIN

#define E3_MS1_PIN   -1

◆ E3_MS2_PIN

#define E3_MS2_PIN   -1

◆ E3_MS3_PIN

#define E3_MS3_PIN   -1

◆ E4_MS1_PIN

#define E4_MS1_PIN   -1

◆ E4_MS2_PIN

#define E4_MS2_PIN   -1

◆ E4_MS3_PIN

#define E4_MS3_PIN   -1

◆ E5_MS1_PIN

#define E5_MS1_PIN   -1

◆ E5_MS2_PIN

#define E5_MS2_PIN   -1

◆ E5_MS3_PIN

#define E5_MS3_PIN   -1

◆ E0_STEP_PIN

#define E0_STEP_PIN   -1

◆ E0_DIR_PIN

#define E0_DIR_PIN   -1

◆ E0_ENABLE_PIN

#define E0_ENABLE_PIN   -1

◆ E1_STEP_PIN

#define E1_STEP_PIN   -1

◆ E1_DIR_PIN

#define E1_DIR_PIN   -1

◆ E1_ENABLE_PIN

#define E1_ENABLE_PIN   -1

◆ E2_STEP_PIN

#define E2_STEP_PIN   -1

◆ E2_DIR_PIN

#define E2_DIR_PIN   -1

◆ E2_ENABLE_PIN

#define E2_ENABLE_PIN   -1

◆ E3_STEP_PIN

#define E3_STEP_PIN   -1

◆ E3_DIR_PIN

#define E3_DIR_PIN   -1

◆ E3_ENABLE_PIN

#define E3_ENABLE_PIN   -1

◆ E4_STEP_PIN

#define E4_STEP_PIN   -1

◆ E4_DIR_PIN

#define E4_DIR_PIN   -1

◆ E4_ENABLE_PIN

#define E4_ENABLE_PIN   -1

◆ E5_STEP_PIN

#define E5_STEP_PIN   -1

◆ E5_DIR_PIN

#define E5_DIR_PIN   -1

◆ E5_ENABLE_PIN

#define E5_ENABLE_PIN   -1

◆ X_CS_PIN

#define X_CS_PIN   -1

◆ Y_CS_PIN

#define Y_CS_PIN   -1

◆ Z_CS_PIN

#define Z_CS_PIN   -1

◆ E0_CS_PIN

#define E0_CS_PIN   -1

◆ E1_CS_PIN

#define E1_CS_PIN   -1

◆ E2_CS_PIN

#define E2_CS_PIN   -1

◆ E3_CS_PIN

#define E3_CS_PIN   -1

◆ E4_CS_PIN

#define E4_CS_PIN   -1

◆ E5_CS_PIN

#define E5_CS_PIN   -1

◆ FAN_PIN

#define FAN_PIN   -1

◆ FAN0_PIN

#define FAN0_PIN   FAN_PIN

◆ FAN1_PIN

#define FAN1_PIN   -1

◆ FAN2_PIN

#define FAN2_PIN   -1

◆ CONTROLLER_FAN_PIN

#define CONTROLLER_FAN_PIN   -1

◆ FANMUX0_PIN

#define FANMUX0_PIN   -1

◆ FANMUX1_PIN

#define FANMUX1_PIN   -1

◆ FANMUX2_PIN

#define FANMUX2_PIN   -1

◆ HEATER_0_PIN

#define HEATER_0_PIN   -1

◆ HEATER_1_PIN

#define HEATER_1_PIN   -1

◆ HEATER_2_PIN

#define HEATER_2_PIN   -1

◆ HEATER_3_PIN

#define HEATER_3_PIN   -1

◆ HEATER_4_PIN

#define HEATER_4_PIN   -1

◆ HEATER_5_PIN

#define HEATER_5_PIN   -1

◆ HEATER_BED_PIN

#define HEATER_BED_PIN   -1

◆ TEMP_0_PIN

#define TEMP_0_PIN   -1

◆ TEMP_1_PIN

#define TEMP_1_PIN   -1

◆ TEMP_2_PIN

#define TEMP_2_PIN   -1

◆ TEMP_3_PIN

#define TEMP_3_PIN   -1

◆ TEMP_4_PIN

#define TEMP_4_PIN   -1

◆ TEMP_5_PIN

#define TEMP_5_PIN   -1

◆ TEMP_BED_PIN

#define TEMP_BED_PIN   -1

◆ SD_DETECT_PIN

#define SD_DETECT_PIN   -1

◆ SDPOWER_PIN

#define SDPOWER_PIN   -1

◆ SDSS

#define SDSS   -1

◆ LED_PIN

#define LED_PIN   -1

◆ PS_ON_PIN

#define PS_ON_PIN   -1

◆ KILL_PIN

#define KILL_PIN   -1

◆ SUICIDE_PIN

#define SUICIDE_PIN   -1

◆ NUM_SERVO_PLUGS

#define NUM_SERVO_PLUGS   4

◆ E0_AUTO_FAN_PIN

#define E0_AUTO_FAN_PIN   -1

◆ E1_AUTO_FAN_PIN

#define E1_AUTO_FAN_PIN   -1

◆ E2_AUTO_FAN_PIN

#define E2_AUTO_FAN_PIN   -1

◆ E3_AUTO_FAN_PIN

#define E3_AUTO_FAN_PIN   -1

◆ E4_AUTO_FAN_PIN

#define E4_AUTO_FAN_PIN   -1

◆ E5_AUTO_FAN_PIN

#define E5_AUTO_FAN_PIN   -1

◆ CHAMBER_AUTO_FAN_PIN

#define CHAMBER_AUTO_FAN_PIN   -1

◆ X_STOP_PIN

#define X_STOP_PIN   X_MAX_PIN

◆ Y_STOP_PIN

#define Y_STOP_PIN   Y_MAX_PIN

◆ Z_STOP_PIN

#define Z_STOP_PIN   Z_MAX_PIN

◆ Z_MIN_PROBE_PIN

#define Z_MIN_PROBE_PIN   -1

◆ LCD_PINS_D4

#define LCD_PINS_D4   -1

◆ __EPIN

#define __EPIN (   p,
 
)    E##p##_##q##_PIN

Auto-Assignment for Dual X, Dual Y, Multi-Z Steppers

By default X2 is assigned to the next open E plug on the board, then in order, Y2, Z2, Z3. These can be overridden in Configuration.h or Configuration_adv.h.

◆ _EPIN

#define _EPIN (   p,
 
)    __EPIN(p,q)

◆ X2_STEP_PIN

#define X2_STEP_PIN   _EPIN(E_STEPPERS, STEP)

◆ X2_DIR_PIN

#define X2_DIR_PIN   _EPIN(E_STEPPERS, DIR)

◆ X2_ENABLE_PIN

#define X2_ENABLE_PIN   _EPIN(E_STEPPERS, ENABLE)

◆ X2_CS_PIN

#define X2_CS_PIN   _EPIN(E_STEPPERS, CS)

◆ X2_MS1_PIN

#define X2_MS1_PIN   _EPIN(E_STEPPERS, MS1)

◆ X2_MS2_PIN

#define X2_MS2_PIN   _EPIN(E_STEPPERS, MS2)

◆ X2_MS3_PIN

#define X2_MS3_PIN   _EPIN(E_STEPPERS, MS3)

◆ Y2_E_INDEX

#define Y2_E_INDEX   INCREMENT(E_STEPPERS)

◆ Z2_E_INDEX

#define Z2_E_INDEX   Y2_E_INDEX

◆ Z3_E_INDEX

#define Z3_E_INDEX   Z2_E_INDEX