Страница 43 из 47
Re: Помогите настроить прошивку Klipper
Добавлено: 12 мар 2022, 06:05
Nik777
Соглашусь, что эта команда не создаёт , а меняет переменную . Тогда подскажите . Как можно выйти из цикла <For>. по условию , не дожидаясь его окончания. Оператор <break> здесь не работает. Все мои попытки изменить счётчик цикла не помогли.
Re: Помогите настроить прошивку Klipper
Добавлено: 12 мар 2022, 13:19
Avtonomys
Nik777 писал(а): ↑12 мар 2022, 06:05
Соглашусь, что эта команда не создаёт , а меняет переменную . Тогда подскажите . Как можно выйти из цикла <For>. по условию , не дожидаясь его окончания. Оператор <break> здесь не работает. Все мои попытки изменить счётчик цикла не помогли.
Вам типа такого нужно?
Код: Выделить всё
[gcode_macro QUERY_BMP280]
gcode:
{% set num = params.N|default(5)|int %}
{% for i in range(num) %}
set_my_sensor
print_my_sensor
{% endfor %}
[gcode_macro set_my_sensor]
variable_pressure: 1100.0
gcode:
SET_GCODE_VARIABLE MACRO=set_my_sensor VARIABLE=pressure VALUE={printer["gcode_macro set_my_sensor"].pressure - 50.0}
[gcode_macro print_my_sensor]
variable_press_bmp280: 1008.99
gcode:
{% set press = printer["gcode_macro set_my_sensor"].pressure %}
{% if not press < press_bmp280 - 20.0 %}
M118 print_my_sensor {printer["gcode_macro set_my_sensor"].pressure}
{% endif %}
- 12345.png (4.48 КБ) 2110 просмотров
Re: Помогите настроить прошивку Klipper
Добавлено: 13 мар 2022, 06:46
Nik777
Но ведь в этом цикле нет выхода по условию.Он всё равно выполнит его 5 раз .Если условие не истинно он просто не будет выводить на терминал.
Re: Помогите настроить прошивку Klipper
Добавлено: 13 мар 2022, 11:48
Avtonomys
Nik777 писал(а): ↑13 мар 2022, 06:46
Но ведь в этом цикле нет выхода по условию.Он всё равно выполнит его 5 раз .Если условие не истинно он просто не будет выводить на терминал.
Он у вас в любом случаи будет выполнено N раз.
Запись тот же if делает:
Nik777 писал(а): ↑10 мар 2022, 12:14
{% for i in range(n) if not printer["gcode_macro IF_PRESS"].flag|int == 1.0 %}
Только вместо того что бы проверять прям в момент вызова.... Вы запускаете "QUERY_BMP280" > "IF_PRESS", а в нем меняете переменную "variable_flag", которую в "TEST_LCD" проверяете. Если я правильно понял суть....
Re: Помогите настроить прошивку Klipper
Добавлено: 13 мар 2022, 15:08
Nik777
Avtonomys писал(а): ↑13 мар 2022, 11:48
if not printer["gcode_macro IF_PRESS"].flag|int == 1.0
Это была попытка выйти из цикла по условию , но она не сработала.
Re: Помогите настроить прошивку Klipper
Добавлено: 13 мар 2022, 16:40
Avtonomys
Nik777 писал(а): ↑13 мар 2022, 15:08
Это была попытка выйти из цикла по условию
В jinja2 нет такого.
Re: Помогите настроить прошивку Klipper
Добавлено: 13 мар 2022, 18:44
Nik777
Avtonomys писал(а): ↑13 мар 2022, 16:40
В jinja2 нет такого.
Да... похоже что это так .
Re: Помогите настроить прошивку Klipper
Добавлено: 13 мар 2022, 18:45
Nik777
Спасибо , что помогли и потратили на меня своё время.
Re: Помогите настроить прошивку Klipper
Добавлено: 15 мар 2022, 11:45
Avtonomys
Nik777 писал(а): ↑13 мар 2022, 18:44
Да... похоже что это так .
По идее, что-то такое можно сделать через Delayed Gcodes (
https://www.klipper3d.org/Command_Templ ... yed-gcodes)
проверяя каждый раз условия и обновляя duration если условие было не выполнено.
Re: Помогите настроить прошивку Klipper
Добавлено: 17 мар 2022, 07:35
Nik777
Не совсем понятно каким образом это будет работать . Ведь duration это вызов макроса через заданное время.
Re: Помогите настроить прошивку Klipper
Добавлено: 17 мар 2022, 10:02
Avtonomys
Nik777 писал(а): ↑17 мар 2022, 07:35
Не совсем понятно каким образом это будет работать . Ведь duration это вызов макроса через заданное время.
Это по сути бесконечный for, если постоянно обновлять duration. А не обновления duration будет выходом из цикла.
Re: Помогите настроить прошивку Klipper
Добавлено: 17 мар 2022, 11:26
Nik777
Avtonomys писал(а): ↑17 мар 2022, 10:02
Nik777 писал(а): ↑17 мар 2022, 07:35
Не совсем понятно каким образом это будет работать . Ведь duration это вызов макроса через заданное время.
Это по сути бесконечный for, если постоянно обновлять duration. А не обновления duration будет выходом из цикла.
А вот как .. Надо попробовать, только там время задаётся ,по моему, в секундах. И минимальное получится тогда 1сек.
Re: Помогите настроить прошивку Klipper
Добавлено: 17 мар 2022, 12:46
Avtonomys
Nik777 писал(а): ↑17 мар 2022, 11:26
А вот как .. Надо попробовать, только там время задаётся ,по моему, в секундах. И минимальное получится тогда 1сек.
Код: Выделить всё
[delayed_gcode welcome]
initial_duration: 1
gcode:
M118 Welcome!
UPDATE_DELAYED_GCODE ID=welcome DURATION=.25
Первый вызов welcome будет автоматический (initial_duration) - через 1 сек после того как запустится klipper.
Остальные каждые 0.25сек:
- 1234567890.png (5.65 КБ) 2051 просмотр
Re: Помогите настроить прошивку Klipper
Добавлено: 08 апр 2022, 10:48
rafage
Всем привет! Собрал прошивку klipper для принтера anet et4. Все работает кроме одного момента, было перепутано направление оси z, убрал восклицательный знак в dir_pin:, все работает как надо паркуется в правильном направлении, но теперь при управлении через веб интерфейс при команде поднять он опускает, при опускании поднимает, где это можно настроить?
Re: Помогите настроить прошивку Klipper
Добавлено: 08 апр 2022, 11:35
Avtonomys
rafage писал(а): ↑08 апр 2022, 10:48
Всем привет! Собрал прошивку klipper для принтера anet et4. Все работает кроме одного момента, было перепутано направление оси z, убрал восклицательный знак в dir_pin:, все работает как надо паркуется в правильном направлении, но теперь при управлении через веб интерфейс при команде поднять он опускает, при опускании поднимает, где это можно настроить?
fluidd?
натсройки > инструмент > Инвертировать управление по оси Z (settings > Tool > Invert Z control)