Using M581 - External Triggers and Building a Control Panel
Установил на передней панели корпуса кнопку и подключил нормально открытые контакты к выводам GND и io3.in разъема IO3.
Duet 3 Mini 5plus Wiring
Назначение входа
В файле /sys/config.g назначил вход управления командой M950: Create heater, fan, spindle or GPIO/servo pin
Код: Выделить всё
; Triggers
M950 J1 C"io3.in"
- J1 - номер "виртуального" входа (цифру выбираете Вы).
- C"io3.in" - цифровой вход на плате управления, к которому подключена кнопка.
Параметры триггера
В файле /sys/config.g создал триггер командой M581: Configure external trigger
Код: Выделить всё
; Triggers
M950 J1 C"io3.in"
M581 T2 P1 S1 R0
- T2 - триггер с номером 2 (цифру выбираете Вы).
С таким же номером должен быть создан файл trigger2.g, содержащий сценарий триггера.
Триггеры с номерами 0 (аварийная остановка) и 1 (пауза при печати) заняты, поэтому используем номера от 2 до 32 (для DUET 3) или до 16 (для DUET 2). - P1 - триггер привязан к "виртуальному" входу 1, который назначен ранее командой M950 J1 C"io3.in"
- S0 - срабатывание триггера при замыкании контакта.
S1 - срабатывание триггера при размыкании контакта. - R0 - триггер срабатывает в любое время.
R1 - триггер срабатывает только при печати с SD-карты.
R2 - триггер срабатывает только НЕ при печати с SD-карты.
Сценарий триггера
Создал сценарий /sys/trigger2.g, переключает яркость светодиодной подсветки между 0.1 и 0.9 при каждом нажатии кнопки:
Тоже самое только с плавным изменением яркости.
Такой вариант не будет исполняться во время печати, так как требует большого количества времени.
Код: Выделить всё
;tigger2.g
if {fans[5].actualValue < 0.9}
M106 P5 S0.9
else
M106 P5 S0.1
Тоже самое только с плавным изменением яркости.
Такой вариант не будет исполняться во время печати, так как требует большого количества времени.
Код: Выделить всё
;tigger2.g
if {fans[5].actualValue < 0.9}
while {fans[5].actualValue < 0.9}
G4 P20
M106 P5 S{fans[5].actualValue+0.025}
else
while {fans[5].actualValue > 0.1}
G4 P20
M106 P5 S{fans[5].actualValue-0.025}
Принудительная проверка триггера
Если необходимо проверить состояние триггера, используется команда M582: Check external trigger
Код: Выделить всё
M582 T2
- T2 - проверить триггер с номером 2.