Какова цель asterix (*) в Gcode?
При выполнении некоторого низкоуровневого мониторинга на принтер отправляется следующая последовательность:
N0 M106*36
N1 G28*18
N2 M107*39
Эта последовательность просто включает вентилятор, помещает принтер в дом, а затем выключает вентилятор.
Вопрос: Какова цель астерикса / звезды /(*) и двух последующих цифр в каждой строке?
@Mtl Dev, 👍16
Обсуждение1 ответ
Лучший ответ:
Это контрольная сумма. Он добавляется хост-программным обеспечением к G-коду, чтобы обеспечить некоторую базовую проверку прошивкой того, что G-код был передан без изменений. Это не меняет значения G-кода, и то, что на самом деле представляет ваша последовательность, - это просто M106, G28, M107
. N0, N1, N2, ...
- это номера строк, и комбинация номеров строк и контрольных сумм используется для запроса повторной отправки любых строк, которые были повреждены во время передачи.
Вы случайно не знаете алгоритм контрольной суммы, используемый здесь?, @Carl Witthoft
В Marlin все байты для отдельных символов упорядочиваются вместе, и результат должен совпадать с контрольной суммой., @Tom van der Zanden
Просто XOR: контрольная сумма байта = 0;
количество байтов = 0;
while(инструкция[количество] != '*')
контрольная сумма = контрольная сумма^инструкция[count++];
, @Mtl Dev
- Есть ли G-код для ожидания?
- Для чего используется G92 в G-коде
- Написание G-кода : проведите пальцем в начале печати
- Используя автоматическое выравнивание стола, нужно ли инициировать G29 перед каждой печатью?
- Cura: установить z-смещение
- Одновременный нагрев экструдера и стола при запуске печати
- В чем разница между M420 S и M420 S1?
- Код для перемещения вверх по оси Z после завершения печати
* звездочка - [Астерикс] (https://en.wikipedia.org/wiki/Asterix ) - персонаж мультсериала., @Andrew Morton
@AndrewMorton Значит, это сделало бы gcode римлянами, а Asterix - их контрольной суммой, останавливающей коррупцию в его регионе?, @Mtl Dev
Хммм... может быть. Римляне действительно создавали много вещей, как это делает 3D-принтер., @Andrew Morton