diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp
index dca5727d4ebf75d63038167e68e71323683cf214..1b3550d48cf34e5796ecf76e7e9bb9e10dd2499d 100644
--- a/Marlin/Marlin_main.cpp
+++ b/Marlin/Marlin_main.cpp
@@ -782,7 +782,7 @@ void setup_killpin() {
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
void setup_filrunoutpin() {
- pinMode(FIL_RUNOUT_PIN, INPUT);
+ SET_INPUT(FIL_RUNOUT_PIN);
#if ENABLED(ENDSTOPPULLUP_FIL_RUNOUT)
WRITE(FIL_RUNOUT_PIN, HIGH);
#endif
@@ -860,10 +860,9 @@ void servo_init() {
*/
#if HAS_STEPPER_RESET
void disableStepperDrivers() {
- pinMode(STEPPER_RESET_PIN, OUTPUT);
- digitalWrite(STEPPER_RESET_PIN, LOW); // drive it down to hold in reset motor driver chips
+ OUT_WRITE(STEPPER_RESET_PIN, LOW); // drive it down to hold in reset motor driver chips
}
- void enableStepperDrivers() { pinMode(STEPPER_RESET_PIN, INPUT); } // set to input, which allows it to be pulled high by pullups
+ void enableStepperDrivers() { SET_INPUT(STEPPER_RESET_PIN); } // set to input, which allows it to be pulled high by pullups
#endif
#if ENABLED(EXPERIMENTAL_I2CBUS) && I2C_SLAVE_ADDRESS > 0
@@ -9194,8 +9193,7 @@ void setup() {
#endif
#if ENABLED(Z_PROBE_SLED) && PIN_EXISTS(SLED)
- pinMode(SLED_PIN, OUTPUT);
- digitalWrite(SLED_PIN, LOW); // turn it off
+ OUT_WRITE(SLED_PIN, LOW); // turn it off
#endif // Z_PROBE_SLED
setup_homepin();
diff --git a/Marlin/Sd2Card.cpp b/Marlin/Sd2Card.cpp
index 190e4ad1ff53b88ea2bb336bb0c18cbd0136756d..900c73b53d9d7c445c5f351d57c497c050fff0c6 100644
--- a/Marlin/Sd2Card.cpp
+++ b/Marlin/Sd2Card.cpp
@@ -302,16 +302,16 @@ bool Sd2Card::init(uint8_t sckRateID, uint8_t chipSelectPin) {
// set pin modes
pinMode(chipSelectPin_, OUTPUT);
chipSelectHigh();
- pinMode(SPI_MISO_PIN, INPUT);
- pinMode(SPI_MOSI_PIN, OUTPUT);
- pinMode(SPI_SCK_PIN, OUTPUT);
+ SET_INPUT(SPI_MISO_PIN);
+ SET_OUTPUT(SPI_MOSI_PIN);
+ SET_OUTPUT(SPI_SCK_PIN);
#if DISABLED(SOFTWARE_SPI)
// SS must be in output mode even it is not chip select
- pinMode(SS_PIN, OUTPUT);
+ SET_OUTPUT(SS_PIN);
// set SS high - may be chip select for another SPI device
#if SET_SPI_SS_HIGH
- digitalWrite(SS_PIN, HIGH);
+ WRITE(SS_PIN, HIGH);
#endif // SET_SPI_SS_HIGH
// set SCK rate for initialization commands
spiRate_ = SPI_SD_INIT_RATE;
diff --git a/Marlin/stepper.cpp b/Marlin/stepper.cpp
index 00595e11057902c331c5a2b596bd3485b6e0ea66..f0c4f27fe9eb7d7e4c476f15cf91bfdeb1b1714c 100644
--- a/Marlin/stepper.cpp
+++ b/Marlin/stepper.cpp
@@ -1155,10 +1155,10 @@ void Stepper::report_positions() {
// From Arduino DigitalPotControl example
void Stepper::digitalPotWrite(int address, int value) {
- digitalWrite(DIGIPOTSS_PIN, LOW); // take the SS pin low to select the chip
+ WRITE(DIGIPOTSS_PIN, LOW); // take the SS pin low to select the chip
SPI.transfer(address); // send in the address and value via SPI:
SPI.transfer(value);
- digitalWrite(DIGIPOTSS_PIN, HIGH); // take the SS pin high to de-select the chip:
+ WRITE(DIGIPOTSS_PIN, HIGH); // take the SS pin high to de-select the chip:
//delay(10);
}
@@ -1275,21 +1275,21 @@ void Stepper::microstep_mode(uint8_t driver, uint8_t stepping_mode) {
void Stepper::microstep_readings() {
SERIAL_PROTOCOLLNPGM("MS1,MS2 Pins");
SERIAL_PROTOCOLPGM("X: ");
- SERIAL_PROTOCOL(digitalRead(X_MS1_PIN));
- SERIAL_PROTOCOLLN(digitalRead(X_MS2_PIN));
+ SERIAL_PROTOCOL(READ(X_MS1_PIN));
+ SERIAL_PROTOCOLLN(READ(X_MS2_PIN));
SERIAL_PROTOCOLPGM("Y: ");
- SERIAL_PROTOCOL(digitalRead(Y_MS1_PIN));
- SERIAL_PROTOCOLLN(digitalRead(Y_MS2_PIN));
+ SERIAL_PROTOCOL(READ(Y_MS1_PIN));
+ SERIAL_PROTOCOLLN(READ(Y_MS2_PIN));
SERIAL_PROTOCOLPGM("Z: ");
- SERIAL_PROTOCOL(digitalRead(Z_MS1_PIN));
- SERIAL_PROTOCOLLN(digitalRead(Z_MS2_PIN));
+ SERIAL_PROTOCOL(READ(Z_MS1_PIN));
+ SERIAL_PROTOCOLLN(READ(Z_MS2_PIN));
SERIAL_PROTOCOLPGM("E0: ");
- SERIAL_PROTOCOL(digitalRead(E0_MS1_PIN));
- SERIAL_PROTOCOLLN(digitalRead(E0_MS2_PIN));
+ SERIAL_PROTOCOL(READ(E0_MS1_PIN));
+ SERIAL_PROTOCOLLN(READ(E0_MS2_PIN));
#if HAS_MICROSTEPS_E1
SERIAL_PROTOCOLPGM("E1: ");
- SERIAL_PROTOCOL(digitalRead(E1_MS1_PIN));
- SERIAL_PROTOCOLLN(digitalRead(E1_MS2_PIN));
+ SERIAL_PROTOCOL(READ(E1_MS1_PIN));
+ SERIAL_PROTOCOLLN(READ(E1_MS2_PIN));
#endif
}
diff --git a/Marlin/stepper_dac.cpp b/Marlin/stepper_dac.cpp
index 6c71b89f640b4e6cdc75736ac9f4c5d55078e62f..25cd7e6ee9b69bf85d5410f6ef627c606965ae3b 100644
--- a/Marlin/stepper_dac.cpp
+++ b/Marlin/stepper_dac.cpp
@@ -52,8 +52,7 @@
int dac_init() {
#if PIN_EXISTS(DAC_DISABLE)
- pinMode(DAC_DISABLE_PIN, OUTPUT);
- digitalWrite(DAC_DISABLE_PIN, LOW); // set pin low to enable DAC
+ OUT_WRITE(DAC_DISABLE_PIN, LOW); // set pin low to enable DAC
#endif
mcp4728_init();
diff --git a/Marlin/ultralcd_impl_DOGM.h b/Marlin/ultralcd_impl_DOGM.h
index d7bf595fa71ab9bcd8531a9c66815808530a8bcf..73ed9db905cef97e5f97d8f6d3567ce23d353740 100644
--- a/Marlin/ultralcd_impl_DOGM.h
+++ b/Marlin/ultralcd_impl_DOGM.h
@@ -221,13 +221,11 @@ void lcd_printPGM(const char* str) {
static void lcd_implementation_init() {
#if PIN_EXISTS(LCD_BACKLIGHT) // Enable LCD backlight
- pinMode(LCD_BACKLIGHT_PIN, OUTPUT);
- digitalWrite(LCD_BACKLIGHT_PIN, HIGH);
+ OUT_WRITE(LCD_BACKLIGHT_PIN, HIGH);
#endif
#if PIN_EXISTS(LCD_RESET)
- pinMode(LCD_RESET_PIN, OUTPUT);
- digitalWrite(LCD_RESET_PIN, HIGH);
+ OUT_WRITE(LCD_RESET_PIN, HIGH);
#endif
#if DISABLED(MINIPANEL) // setContrast not working for Mini Panel