При некотором низкоуровневом мониторинге на принтер отправляется следующая последовательность:
N0 M106*36
N1 G28*18
N2 M107*39
Эта последовательность просто включает вентилятор, включает принтер, затем выключает вентилятор.
Вопрос: Какова цель звездочки / звезды / (*) и двух последующих цифр в каждой строке?
Ответы:
Это контрольная сумма. Он добавляется программным обеспечением хоста в G-код, чтобы обеспечить некоторую базовую проверку встроенного ПО, что G-код был передан без изменений. Это не меняет смысла G-кода, и то, что на самом деле представляет ваша последовательность, просто
M106, G28, M107
. ЭтоN0,N1,N2,...
номера строк, а комбинация номеров строк и контрольных сумм используется для запроса повторной отправки любых строк, которые были повреждены во время передачи.источник
byte checksum = 0; byte count = 0; while(instruction[count] != '*') checksum = checksum^instruction[count++];