Помогите настроить прошивку Klipper

Собираем, настраиваем, печатаем, делимся опытом, помогаем новичкам

Модератор: Kaktus

Nik777
Сообщения: 38
Зарегистрирован: 14 дек 2017, 12:22

Re: Помогите настроить прошивку Klipper

Непрочитанное сообщение Nik777 » 12 мар 2022, 06:05

Соглашусь, что эта команда не создаёт , а меняет переменную . Тогда подскажите . Как можно выйти из цикла <For>. по условию , не дожидаясь его окончания. Оператор <break> здесь не работает. Все мои попытки изменить счётчик цикла не помогли.

Avtonomys
Сообщения: 1141
Зарегистрирован: 31 авг 2017, 14:26
Имя: Кирилл
Откуда: Москва, CAO
Благодарил (а): 38 раз
Поблагодарили: 167 раз
Контактная информация:

Re: Помогите настроить прошивку Klipper

Непрочитанное сообщение Avtonomys » 12 мар 2022, 13:19

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
12345.png (4.48 КБ) 1592 просмотра

Nik777
Сообщения: 38
Зарегистрирован: 14 дек 2017, 12:22

Re: Помогите настроить прошивку Klipper

Непрочитанное сообщение Nik777 » 13 мар 2022, 06:46

Но ведь в этом цикле нет выхода по условию.Он всё равно выполнит его 5 раз .Если условие не истинно он просто не будет выводить на терминал.

Avtonomys
Сообщения: 1141
Зарегистрирован: 31 авг 2017, 14:26
Имя: Кирилл
Откуда: Москва, CAO
Благодарил (а): 38 раз
Поблагодарили: 167 раз
Контактная информация:

Re: Помогите настроить прошивку Klipper

Непрочитанное сообщение Avtonomys » 13 мар 2022, 11:48

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" проверяете. Если я правильно понял суть....

Nik777
Сообщения: 38
Зарегистрирован: 14 дек 2017, 12:22

Re: Помогите настроить прошивку Klipper

Непрочитанное сообщение Nik777 » 13 мар 2022, 15:08

Avtonomys писал(а):
13 мар 2022, 11:48
if not printer["gcode_macro IF_PRESS"].flag|int == 1.0
Это была попытка выйти из цикла по условию , но она не сработала.

Avtonomys
Сообщения: 1141
Зарегистрирован: 31 авг 2017, 14:26
Имя: Кирилл
Откуда: Москва, CAO
Благодарил (а): 38 раз
Поблагодарили: 167 раз
Контактная информация:

Re: Помогите настроить прошивку Klipper

Непрочитанное сообщение Avtonomys » 13 мар 2022, 16:40

Nik777 писал(а):
13 мар 2022, 15:08
Это была попытка выйти из цикла по условию
В jinja2 нет такого.

Nik777
Сообщения: 38
Зарегистрирован: 14 дек 2017, 12:22

Re: Помогите настроить прошивку Klipper

Непрочитанное сообщение Nik777 » 13 мар 2022, 18:44

Avtonomys писал(а):
13 мар 2022, 16:40
В jinja2 нет такого.
Да... похоже что это так .

Nik777
Сообщения: 38
Зарегистрирован: 14 дек 2017, 12:22

Re: Помогите настроить прошивку Klipper

Непрочитанное сообщение Nik777 » 13 мар 2022, 18:45

Спасибо , что помогли и потратили на меня своё время.

Avtonomys
Сообщения: 1141
Зарегистрирован: 31 авг 2017, 14:26
Имя: Кирилл
Откуда: Москва, CAO
Благодарил (а): 38 раз
Поблагодарили: 167 раз
Контактная информация:

Re: Помогите настроить прошивку Klipper

Непрочитанное сообщение Avtonomys » 15 мар 2022, 11:45

Nik777 писал(а):
13 мар 2022, 18:44
Да... похоже что это так .
По идее, что-то такое можно сделать через Delayed Gcodes (https://www.klipper3d.org/Command_Templ ... yed-gcodes)
проверяя каждый раз условия и обновляя duration если условие было не выполнено.

Nik777
Сообщения: 38
Зарегистрирован: 14 дек 2017, 12:22

Re: Помогите настроить прошивку Klipper

Непрочитанное сообщение Nik777 » 17 мар 2022, 07:35

Avtonomys писал(а):
15 мар 2022, 11:45
Nik777 писал(а):
13 мар 2022, 18:44
Да... похоже что это так .
По идее, что-то такое можно сделать через Delayed Gcodes (https://www.klipper3d.org/Command_Templ ... yed-gcodes)
проверяя каждый раз условия и обновляя duration если условие было не выполнено.
Не совсем понятно каким образом это будет работать . Ведь duration это вызов макроса через заданное время.

Avtonomys
Сообщения: 1141
Зарегистрирован: 31 авг 2017, 14:26
Имя: Кирилл
Откуда: Москва, CAO
Благодарил (а): 38 раз
Поблагодарили: 167 раз
Контактная информация:

Re: Помогите настроить прошивку Klipper

Непрочитанное сообщение Avtonomys » 17 мар 2022, 10:02

Nik777 писал(а):
17 мар 2022, 07:35
Не совсем понятно каким образом это будет работать . Ведь duration это вызов макроса через заданное время.
Это по сути бесконечный for, если постоянно обновлять duration. А не обновления duration будет выходом из цикла.

Nik777
Сообщения: 38
Зарегистрирован: 14 дек 2017, 12:22

Re: Помогите настроить прошивку Klipper

Непрочитанное сообщение Nik777 » 17 мар 2022, 11:26

Avtonomys писал(а):
17 мар 2022, 10:02
Nik777 писал(а):
17 мар 2022, 07:35
Не совсем понятно каким образом это будет работать . Ведь duration это вызов макроса через заданное время.
Это по сути бесконечный for, если постоянно обновлять duration. А не обновления duration будет выходом из цикла.
А вот как .. Надо попробовать, только там время задаётся ,по моему, в секундах. И минимальное получится тогда 1сек.

Avtonomys
Сообщения: 1141
Зарегистрирован: 31 авг 2017, 14:26
Имя: Кирилл
Откуда: Москва, CAO
Благодарил (а): 38 раз
Поблагодарили: 167 раз
Контактная информация:

Re: Помогите настроить прошивку Klipper

Непрочитанное сообщение Avtonomys » 17 мар 2022, 12:46

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
1234567890.png (5.65 КБ) 1533 просмотра

rafage
Сообщения: 4
Зарегистрирован: 08 апр 2022, 10:44
Имя: Pavel

Re: Помогите настроить прошивку Klipper

Непрочитанное сообщение rafage » 08 апр 2022, 10:48

Всем привет! Собрал прошивку klipper для принтера anet et4. Все работает кроме одного момента, было перепутано направление оси z, убрал восклицательный знак в dir_pin:, все работает как надо паркуется в правильном направлении, но теперь при управлении через веб интерфейс при команде поднять он опускает, при опускании поднимает, где это можно настроить?

Avtonomys
Сообщения: 1141
Зарегистрирован: 31 авг 2017, 14:26
Имя: Кирилл
Откуда: Москва, CAO
Благодарил (а): 38 раз
Поблагодарили: 167 раз
Контактная информация:

Re: Помогите настроить прошивку Klipper

Непрочитанное сообщение Avtonomys » 08 апр 2022, 11:35

rafage писал(а):
08 апр 2022, 10:48
Всем привет! Собрал прошивку klipper для принтера anet et4. Все работает кроме одного момента, было перепутано направление оси z, убрал восклицательный знак в dir_pin:, все работает как надо паркуется в правильном направлении, но теперь при управлении через веб интерфейс при команде поднять он опускает, при опускании поднимает, где это можно настроить?
fluidd?
натсройки > инструмент > Инвертировать управление по оси Z (settings > Tool > Invert Z control)

Ответить

Вернуться в «3D принтеры и 3D печать»

Яндекс.Метрика