Skip to content

Commit

Permalink
Merge pull request #19 from MarlinFirmware/bugfix-2.0.x
Browse files Browse the repository at this point in the history
Bugfix 2.0.x
  • Loading branch information
Serhiy-K authored Jun 21, 2021
2 parents 4f90fab + 44c41ce commit ed1f556
Show file tree
Hide file tree
Showing 10 changed files with 77 additions and 33 deletions.
21 changes: 12 additions & 9 deletions Marlin/src/MarlinCore.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -282,19 +282,22 @@ bool wait_for_heatup = true;
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wnarrowing"

#ifdef RUNTIME_ONLY_ANALOG_TO_DIGITAL
static const pin_t sensitive_pins[] PROGMEM = { SENSITIVE_PINS };
#else
#ifndef RUNTIME_ONLY_ANALOG_TO_DIGITAL
template <pin_t ...D>
constexpr pin_t OnlyPins<-2, D...>::table[sizeof...(D)];
#define sensitive_pins OnlyPins<SENSITIVE_PINS>::table
constexpr pin_t OnlyPins<_SP_END, D...>::table[sizeof...(D)];
#endif

bool pin_is_protected(const pin_t pin) {
LOOP_L_N(i, COUNT(sensitive_pins)) {
pin_t sensitive_pin;
memcpy_P(&sensitive_pin, &sensitive_pins[i], sizeof(pin_t));
if (pin == sensitive_pin) return true;
#ifdef RUNTIME_ONLY_ANALOG_TO_DIGITAL
static const pin_t sensitive_pins[] PROGMEM = { SENSITIVE_PINS };
const size_t pincount = COUNT(sensitive_pins);
#else
static constexpr size_t pincount = OnlyPins<SENSITIVE_PINS>::size;
static const pin_t (&sensitive_pins)[pincount] PROGMEM = OnlyPins<SENSITIVE_PINS>::table;
#endif
LOOP_L_N(i, pincount) {
const pin_t * const pptr = &sensitive_pins[i];
if (pin == (sizeof(pin_t) == 2 ? (pin_t)pgm_read_word(pptr) : (pin_t)pgm_read_byte(pptr))) return true;
}
return false;
}
Expand Down
2 changes: 1 addition & 1 deletion Marlin/src/inc/Version.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
* version was tagged.
*/
#ifndef STRING_DISTRIBUTION_DATE
#define STRING_DISTRIBUTION_DATE "2021-06-20"
#define STRING_DISTRIBUTION_DATE "2021-06-21"
#endif

/**
Expand Down
2 changes: 1 addition & 1 deletion Marlin/src/lcd/extui/dgus/fysetc/DGUSDisplayDef.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ enum DGUSLCD_Screens : uint8_t {
DGUSLCD_SCREEN_KILL = 250, ///< Kill Screen. Must always be 250 (to be able to display "Error wrong LCD Version")
DGUSLCD_SCREEN_WAITING = 251,
DGUSLCD_SCREEN_POPUP = 252, ///< special target, popup screen will also return this code to say "return to previous screen"
DGUSLDC_SCREEN_UNUSED = 255
DGUSLCD_SCREEN_UNUSED = 255
};

// Display Memory layout used (T5UID)
Expand Down
2 changes: 1 addition & 1 deletion Marlin/src/lcd/extui/dgus/hiprecy/DGUSDisplayDef.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ enum DGUSLCD_Screens : uint8_t {
DGUSLCD_SCREEN_KILL = 250, ///< Kill Screen. Must always be 250 (to be able to display "Error wrong LCD Version")
DGUSLCD_SCREEN_WAITING = 251,
DGUSLCD_SCREEN_POPUP = 252, ///< special target, popup screen will also return this code to say "return to previous screen"
DGUSLDC_SCREEN_UNUSED = 255
DGUSLCD_SCREEN_UNUSED = 255
};

// Display Memory layout used (T5UID)
Expand Down
2 changes: 1 addition & 1 deletion Marlin/src/lcd/extui/dgus/mks/DGUSDisplayDef.h
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ enum DGUSLCD_Screens : uint8_t {
DGUSLCD_SCREEN_KILL = 250, ///< Kill Screen. Must always be 250 (to be able to display "Error wrong LCD Version")
DGUSLCD_SCREEN_WAITING = 251,
DGUSLCD_SCREEN_POPUP = 252, ///< special target, popup screen will also return this code to say "return to previous screen"
DGUSLDC_SCREEN_UNUSED = 255
DGUSLCD_SCREEN_UNUSED = 255
};


Expand Down
2 changes: 1 addition & 1 deletion Marlin/src/lcd/extui/dgus/origin/DGUSDisplayDef.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ enum DGUSLCD_Screens : uint8_t {
DGUSLCD_SCREEN_KILL = 250, ///< Kill Screen. Must always be 250 (to be able to display "Error wrong LCD Version")
DGUSLCD_SCREEN_WAITING = 251,
DGUSLCD_SCREEN_POPUP = 252, ///< special target, popup screen will also return this code to say "return to previous screen"
DGUSLDC_SCREEN_UNUSED = 255
DGUSLCD_SCREEN_UNUSED = 255
};

// Display Memory layout used (T5UID)
Expand Down
2 changes: 1 addition & 1 deletion Marlin/src/lcd/language/language_en.h
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,7 @@ namespace Language_en {
PROGMEM Language_Str MSG_MOVE_0001IN = _UxGT("Move 0.001in");
PROGMEM Language_Str MSG_MOVE_001IN = _UxGT("Move 0.01in");
PROGMEM Language_Str MSG_MOVE_01IN = _UxGT("Move 0.1in");
PROGMEM Language_Str MSG_MOVE_10IN = _UxGT("Move 1.0in");
PROGMEM Language_Str MSG_MOVE_1IN = _UxGT("Move 1.0in");
PROGMEM Language_Str MSG_SPEED = _UxGT("Speed");
PROGMEM Language_Str MSG_BED_Z = _UxGT("Bed Z");
PROGMEM Language_Str MSG_NOZZLE = _UxGT("Nozzle");
Expand Down
73 changes: 57 additions & 16 deletions Marlin/src/lcd/language/language_it.h
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,12 @@ namespace Language_it {
PROGMEM Language_Str MSG_DEBUG_MENU = _UxGT("Menu di debug");
PROGMEM Language_Str MSG_PROGRESS_BAR_TEST = _UxGT("Test barra avanzam.");
PROGMEM Language_Str MSG_AUTO_HOME = _UxGT("Auto Home");
PROGMEM Language_Str MSG_AUTO_HOME_X = _UxGT("Home asse X");
PROGMEM Language_Str MSG_AUTO_HOME_Y = _UxGT("Home asse Y");
PROGMEM Language_Str MSG_AUTO_HOME_Z = _UxGT("Home asse Z");
PROGMEM Language_Str MSG_AUTO_HOME_X = _UxGT("Home X");
PROGMEM Language_Str MSG_AUTO_HOME_Y = _UxGT("Home Y");
PROGMEM Language_Str MSG_AUTO_HOME_Z = _UxGT("Home Z");
PROGMEM Language_Str MSG_AUTO_HOME_I = _UxGT("Home ") LCD_STR_I;
PROGMEM Language_Str MSG_AUTO_HOME_J = _UxGT("Home ") LCD_STR_J;
PROGMEM Language_Str MSG_AUTO_HOME_K = _UxGT("Home ") LCD_STR_K;
PROGMEM Language_Str MSG_AUTO_Z_ALIGN = _UxGT("Allineam.automat. Z");
PROGMEM Language_Str MSG_ITERATION = _UxGT("Iterazione G34: %i");
PROGMEM Language_Str MSG_DECREASING_ACCURACY = _UxGT("Precisione in calo!");
Expand All @@ -80,6 +83,12 @@ namespace Language_it {
PROGMEM Language_Str MSG_LEVEL_BED_DONE = _UxGT("Livel. terminato!");
PROGMEM Language_Str MSG_Z_FADE_HEIGHT = _UxGT("Fade Height");
PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Imp. offset home");
PROGMEM Language_Str MSG_HOME_OFFSET_X = _UxGT("Offset home X");
PROGMEM Language_Str MSG_HOME_OFFSET_Y = _UxGT("Offset home Y");
PROGMEM Language_Str MSG_HOME_OFFSET_Z = _UxGT("Offset home Z");
PROGMEM Language_Str MSG_HOME_OFFSET_I = _UxGT("Offset home ") LCD_STR_I;
PROGMEM Language_Str MSG_HOME_OFFSET_J = _UxGT("Offset home ") LCD_STR_J;
PROGMEM Language_Str MSG_HOME_OFFSET_K = _UxGT("Offset home ") LCD_STR_K;
PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Offset applicato");
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Imposta Origine");
PROGMEM Language_Str MSG_ASSISTED_TRAMMING = _UxGT("Tramming assistito");
Expand Down Expand Up @@ -112,10 +121,13 @@ namespace Language_it {
PROGMEM Language_Str MSG_LASER_POWER = _UxGT("Potenza laser");
PROGMEM Language_Str MSG_SPINDLE_POWER = _UxGT("Potenza mandrino");
PROGMEM Language_Str MSG_LASER_TOGGLE = _UxGT("Alterna Laser");
PROGMEM Language_Str MSG_LASER_EVAC_TOGGLE = _UxGT("Alterna soffiatore");
PROGMEM Language_Str MSG_LASER_ASSIST_TOGGLE = _UxGT("Alterna aria supp.");
PROGMEM Language_Str MSG_LASER_PULSE_MS = _UxGT("ms impulso di test");
PROGMEM Language_Str MSG_LASER_FIRE_PULSE = _UxGT("Spara impulso");
PROGMEM Language_Str MSG_FLOWMETER_FAULT = _UxGT("Err.flusso refrig.");
PROGMEM Language_Str MSG_SPINDLE_TOGGLE = _UxGT("Alterna mandrino");
PROGMEM Language_Str MSG_SPINDLE_EVAC_TOGGLE = _UxGT("Alterna vuoto");
PROGMEM Language_Str MSG_SPINDLE_FORWARD = _UxGT("Mandrino in avanti");
PROGMEM Language_Str MSG_SPINDLE_REVERSE = _UxGT("Inverti mandrino");
PROGMEM Language_Str MSG_SWITCH_PS_ON = _UxGT("Accendi aliment.");
Expand Down Expand Up @@ -158,6 +170,7 @@ namespace Language_it {
PROGMEM Language_Str MSG_UBL_LEVEL_BED = _UxGT("Livel.letto unificato");
PROGMEM Language_Str MSG_LCD_TILTING_MESH = _UxGT("Punto inclinaz.");
PROGMEM Language_Str MSG_UBL_MANUAL_MESH = _UxGT("Mesh Manuale");
PROGMEM Language_Str MSG_UBL_MESH_WIZARD = _UxGT("Creaz.guid.mesh UBL");
PROGMEM Language_Str MSG_UBL_BC_INSERT = _UxGT("Metti spes. e misura");
PROGMEM Language_Str MSG_UBL_BC_INSERT2 = _UxGT("Misura");
PROGMEM Language_Str MSG_UBL_BC_REMOVE = _UxGT("Rimuovi e mis.piatto");
Expand Down Expand Up @@ -258,16 +271,21 @@ namespace Language_it {
PROGMEM Language_Str MSG_MOVE_X = _UxGT("Muovi X");
PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Muovi Y");
PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Muovi Z");
PROGMEM Language_Str MSG_MOVE_I = _UxGT("Muovi ") LCD_STR_I;
PROGMEM Language_Str MSG_MOVE_J = _UxGT("Muovi ") LCD_STR_J;
PROGMEM Language_Str MSG_MOVE_K = _UxGT("Muovi ") LCD_STR_K;
PROGMEM Language_Str MSG_MOVE_E = _UxGT("Estrusore");
PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Estrusore *");
PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("Ugello freddo");
PROGMEM Language_Str MSG_MOVE_N_MM = _UxGT("Muovi di %smm");
PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Muovi di 0.1mm");
PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Muovi di 1mm");
PROGMEM Language_Str MSG_MOVE_10MM = _UxGT("Muovi di 10mm");
PROGMEM Language_Str MSG_MOVE_0001IN = _UxGT("Muovi di 0.001in");
PROGMEM Language_Str MSG_MOVE_001IN = _UxGT("Muovi di 0.01in");
PROGMEM Language_Str MSG_MOVE_01IN = _UxGT("Muovi di 0.1in");
PROGMEM Language_Str MSG_MOVE_100MM = _UxGT("Muovi di 100mm");
PROGMEM Language_Str MSG_MOVE_0001IN = _UxGT("Muovi di 0.001\"");
PROGMEM Language_Str MSG_MOVE_001IN = _UxGT("Muovi di 0.01\"");
PROGMEM Language_Str MSG_MOVE_01IN = _UxGT("Muovi di 0.1\"");
PROGMEM Language_Str MSG_MOVE_1IN = _UxGT("Muovi di 1\"");
PROGMEM Language_Str MSG_SPEED = _UxGT("Velocità");
PROGMEM Language_Str MSG_BED_Z = _UxGT("Piatto Z");
PROGMEM Language_Str MSG_NOZZLE = _UxGT("Ugello");
Expand Down Expand Up @@ -312,12 +330,18 @@ namespace Language_it {
PROGMEM Language_Str MSG_VA_JERK = _UxGT("V") LCD_STR_A _UxGT("-jerk");
PROGMEM Language_Str MSG_VB_JERK = _UxGT("V") LCD_STR_B _UxGT("-jerk");
PROGMEM Language_Str MSG_VC_JERK = _UxGT("V") LCD_STR_C _UxGT("-jerk");
PROGMEM Language_Str MSG_VI_JERK = _UxGT("V") LCD_STR_I _UxGT("-jerk");
PROGMEM Language_Str MSG_VJ_JERK = _UxGT("V") LCD_STR_J _UxGT("-jerk");
PROGMEM Language_Str MSG_VK_JERK = _UxGT("V") LCD_STR_K _UxGT("-jerk");
PROGMEM Language_Str MSG_VE_JERK = _UxGT("Ve-jerk");
PROGMEM Language_Str MSG_JUNCTION_DEVIATION = _UxGT("Deviaz. giunzioni");
PROGMEM Language_Str MSG_VELOCITY = _UxGT("Velocità");
PROGMEM Language_Str MSG_VMAX_A = _UxGT("Vmax ") LCD_STR_A;
PROGMEM Language_Str MSG_VMAX_B = _UxGT("Vmax ") LCD_STR_B;
PROGMEM Language_Str MSG_VMAX_C = _UxGT("Vmax ") LCD_STR_C;
PROGMEM Language_Str MSG_VMAX_I = _UxGT("Vmax ") LCD_STR_I;
PROGMEM Language_Str MSG_VMAX_J = _UxGT("Vmax ") LCD_STR_J;
PROGMEM Language_Str MSG_VMAX_K = _UxGT("Vmax ") LCD_STR_K;
PROGMEM Language_Str MSG_VMAX_E = _UxGT("Vmax ") LCD_STR_E;
PROGMEM Language_Str MSG_VMAX_EN = _UxGT("Vmax *");
PROGMEM Language_Str MSG_VMIN = _UxGT("Vmin");
Expand All @@ -326,18 +350,24 @@ namespace Language_it {
PROGMEM Language_Str MSG_AMAX_A = _UxGT("Amax ") LCD_STR_A;
PROGMEM Language_Str MSG_AMAX_B = _UxGT("Amax ") LCD_STR_B;
PROGMEM Language_Str MSG_AMAX_C = _UxGT("Amax ") LCD_STR_C;
PROGMEM Language_Str MSG_AMAX_I = _UxGT("Amax ") LCD_STR_I;
PROGMEM Language_Str MSG_AMAX_J = _UxGT("Amax ") LCD_STR_J;
PROGMEM Language_Str MSG_AMAX_K = _UxGT("Amax ") LCD_STR_K;
PROGMEM Language_Str MSG_AMAX_E = _UxGT("Amax ") LCD_STR_E;
PROGMEM Language_Str MSG_AMAX_EN = _UxGT("Amax *");
PROGMEM Language_Str MSG_A_RETRACT = _UxGT("A-Ritrazione");
PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("A-Spostamento");
PROGMEM Language_Str MSG_XY_FREQUENCY_LIMIT = _UxGT("Frequenza max");
PROGMEM Language_Str MSG_XY_FREQUENCY_FEEDRATE = _UxGT("Feed min");
PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Passi/mm");
PROGMEM Language_Str MSG_A_STEPS = LCD_STR_A _UxGT("passi/mm");
PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT("passi/mm");
PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT("passi/mm");
PROGMEM Language_Str MSG_E_STEPS = _UxGT("Epassi/mm");
PROGMEM Language_Str MSG_EN_STEPS = _UxGT("*passi/mm");
PROGMEM Language_Str MSG_A_STEPS = LCD_STR_A _UxGT(" passi/mm");
PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT(" passi/mm");
PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT(" passi/mm");
PROGMEM Language_Str MSG_I_STEPS = LCD_STR_I _UxGT(" passi/mm");
PROGMEM Language_Str MSG_J_STEPS = LCD_STR_J _UxGT(" passi/mm");
PROGMEM Language_Str MSG_K_STEPS = LCD_STR_K _UxGT(" passi/mm");
PROGMEM Language_Str MSG_E_STEPS = _UxGT("E passi/mm");
PROGMEM Language_Str MSG_EN_STEPS = _UxGT("* passi/mm");
PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Temperatura");
PROGMEM Language_Str MSG_MOTION = _UxGT("Movimento");
PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filamento");
Expand Down Expand Up @@ -469,6 +499,9 @@ namespace Language_it {
PROGMEM Language_Str MSG_BABYSTEP_X = _UxGT("Babystep X");
PROGMEM Language_Str MSG_BABYSTEP_Y = _UxGT("Babystep Y");
PROGMEM Language_Str MSG_BABYSTEP_Z = _UxGT("Babystep Z");
PROGMEM Language_Str MSG_BABYSTEP_I = _UxGT("Babystep ") LCD_STR_I;
PROGMEM Language_Str MSG_BABYSTEP_J = _UxGT("Babystep ") LCD_STR_J;
PROGMEM Language_Str MSG_BABYSTEP_K = _UxGT("Babystep ") LCD_STR_K;
PROGMEM Language_Str MSG_BABYSTEP_TOTAL = _UxGT("Totali");
PROGMEM Language_Str MSG_ENDSTOP_ABORT = _UxGT("Finecorsa annullati");
PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("Risc.Fallito"); // Max 12 caratteri
Expand Down Expand Up @@ -545,10 +578,13 @@ namespace Language_it {
PROGMEM Language_Str MSG_INFO_MAX_TEMP = _UxGT("Temp max");
PROGMEM Language_Str MSG_INFO_PSU = _UxGT("Alimentatore");
PROGMEM Language_Str MSG_DRIVE_STRENGTH = _UxGT("Potenza Drive");
PROGMEM Language_Str MSG_DAC_PERCENT_X = _UxGT("X Driver %");
PROGMEM Language_Str MSG_DAC_PERCENT_Y = _UxGT("Y Driver %");
PROGMEM Language_Str MSG_DAC_PERCENT_Z = _UxGT("Z Driver %");
PROGMEM Language_Str MSG_DAC_PERCENT_E = _UxGT("E Driver %");
PROGMEM Language_Str MSG_DAC_PERCENT_X = _UxGT("Driver X %");
PROGMEM Language_Str MSG_DAC_PERCENT_Y = _UxGT("Driver Y %");
PROGMEM Language_Str MSG_DAC_PERCENT_Z = _UxGT("Driver Z %");
PROGMEM Language_Str MSG_DAC_PERCENT_I = _UxGT("Driver I %");
PROGMEM Language_Str MSG_DAC_PERCENT_J = _UxGT("Driver J %");
PROGMEM Language_Str MSG_DAC_PERCENT_K = _UxGT("Driver K %");
PROGMEM Language_Str MSG_DAC_PERCENT_E = _UxGT("Driver E %");
PROGMEM Language_Str MSG_ERROR_TMC = _UxGT("ERR.CONNESSIONE TMC");
PROGMEM Language_Str MSG_DAC_EEPROM_WRITE = _UxGT("Scrivi DAC EEPROM");
PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER = _UxGT("CAMBIO FILAMENTO");
Expand Down Expand Up @@ -681,10 +717,15 @@ namespace Language_it {

PROGMEM Language_Str MSG_SOUND = _UxGT("Suoni");

PROGMEM Language_Str MSG_TOP_LEFT = _UxGT("Alto sinistra");
PROGMEM Language_Str MSG_TOP_LEFT = _UxGT("Alto sinistra");
PROGMEM Language_Str MSG_BOTTOM_LEFT = _UxGT("Basso sinistra");
PROGMEM Language_Str MSG_TOP_RIGHT = _UxGT("Alto destra");
PROGMEM Language_Str MSG_BOTTOM_RIGHT = _UxGT("Basso destra");
PROGMEM Language_Str MSG_CALIBRATION_COMPLETED = _UxGT("Calibrazione completata");
PROGMEM Language_Str MSG_CALIBRATION_FAILED = _UxGT("Calibrazione fallita");

PROGMEM Language_Str MSG_DRIVER_BACKWARD = _UxGT(" driver invertito");

PROGMEM Language_Str MSG_SD_CARD = _UxGT("Scheda SD");
PROGMEM Language_Str MSG_USB_DISK = _UxGT("Disco USB");
}
2 changes: 1 addition & 1 deletion Marlin/src/lcd/menu/menu_motion.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ void _menu_move_distance(const AxisEnum axis, const screenFunc_t func, const int

BACK_ITEM(MSG_MOVE_AXIS);
if (parser.using_inch_units()) {
if (LARGE_BED_TEST) SUBMENU(MSG_MOVE_10IN, []{ _goto_manual_move(IN_TO_MM(1.000f)); });
if (LARGE_BED_TEST) SUBMENU(MSG_MOVE_1IN, []{ _goto_manual_move(IN_TO_MM(1.000f)); });
SUBMENU(MSG_MOVE_01IN, []{ _goto_manual_move(IN_TO_MM(0.100f)); });
SUBMENU(MSG_MOVE_001IN, []{ _goto_manual_move(IN_TO_MM(0.010f)); });
SUBMENU(MSG_MOVE_0001IN, []{ _goto_manual_move(IN_TO_MM(0.001f)); });
Expand Down
2 changes: 1 addition & 1 deletion Marlin/src/pins/sensitive_pins.h
Original file line number Diff line number Diff line change
Expand Up @@ -882,7 +882,7 @@

// Remove -2 from the front, emit the rest, cease propagation
template<pin_t ...D>
struct OnlyPins<_SP_END, D...> { static constexpr pin_t table[sizeof...(D)] PROGMEM = { D... }; };
struct OnlyPins<_SP_END, D...> { static constexpr size_t size = sizeof...(D); static constexpr pin_t table[sizeof...(D)] PROGMEM = { D... }; };
#endif

#define SENSITIVE_PINS \
Expand Down

0 comments on commit ed1f556

Please sign in to comment.