Яке призначення астериксу (*) у Gcode?


10

Здійснюючи моніторинг низького рівня, на принтер надсилається наступна послідовність:

N0 M106*36 
N1 G28*18 
N2 M107*39

Ця послідовність просто включає вентилятор, розміщує принтер, а потім вимикає вентилятор.

Питання: Яке призначення зірочки / зірки / (*) та двох наступних цифр на кожному рядку?


1
* зірочка - Астерікс - персонаж у мультсеріалі.
Ендрю Мортон

1
@AndrewMorton Отже, що зробить гкод у римлян тоді - коли Астерікс буде їх контрольною сумою, зупинивши корупцію у своєму районі?
Mtl Dev

Гммм ... можливо. Римляни створили багато речей, як це робить 3-d принтер.
Ендрю Мортон

Відповіді:


9

Це контрольна сума. Він додається програмним забезпеченням хосту до G-коду, щоб дозволити базову перевірку прошивкою на те, що G-код передано без змін. Це не змінює значення G-коду, і те, що насправді представляє ваша послідовність, просто M106, G28, M107. Номери N0,N1,N2,...рядків, а комбінація номерів рядків і контрольних сум використовується для запиту про повторне надсилання будь-яких рядків, які були пошкодженими під час передачі.


Чи знаєте ви алгоритм контрольної суми, який використовується тут?
Карл Віттофт

3
У Марліна всі байти для окремих символів є XOR-ed разом, і результат повинен бути таким же, як контрольна сума.
Том ван дер Занден

1
Тільки XOR:byte checksum = 0; byte count = 0; while(instruction[count] != '*') checksum = checksum^instruction[count++];
Mtl Dev
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.