Верно все сказал коллега
RomanST77уточню его ответ.
Механические выключатели замыкают линию сигнала на массу, а нога данных контроллера определяет как логическую "1" высокий уровень сигнала это условно VCC (напряжение +5V).
Cоответственно этот VCC должен на ноге откуда то взяться, чтобы было изменение при замыкании на массу.
Такое повышение напряжения на ноге называется "подтяжкой" сигнала, и обычно решается установкой сопротивления нескольких десятков килоом между VCC и сигнальной ногой контроллера. Но о нас позаботились разработчики микроконтроллера и такое сопротивление установили внутри чипа, причем его активацию сделали программно управляемой.
В нашем случае мы просто включаем опцию прошивки
Код:
#define ENDSTOPPULLUPS
для подтяжки всех линий анализа концевиков и концевики подключаем так, чтобы они были замкнуты в нормальном состоянии, а при нажатии размыкались.
Теперь при нормально подключенном концевике он всегда замыкает ногу контроллера на массу, и резистор подтяжки не может из за своего высокого сопротивления поднять уровень напряжения до порога срабатывания = имеем логический ноль на линии.
При нажатии на концевик, контакты размыкаются, сопротивление подтяжки подает VCC на ногу и мы имеем логическую единицу на линии.
Это прямая работа концевиков (нажато = логическая единица), соответсвенно весь блок инвертирования логики срабатывания концевиков должен буть отключен (=false)
Код:
const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool X_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Y_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.