Gcode에서 별표 (*)의 목적은 무엇입니까?


10

저수준 모니터링을 수행하면 다음 순서가 프린터로 전송됩니다.

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

이 순서는 팬을 켜고 프린터를 집어 넣은 다음 팬을 끕니다.

질문 : 별표 / 별 / (*)의 목적과 각 줄의 두 자리 숫자는 무엇입니까?


1
* 별표 -Asterix 는 만화 시리즈의 캐릭터입니다.
앤드류 모튼

1
@AndrewMorton 그렇다면 gcode를 로마인으로 만들 것입니다. Asterix를 체크섬으로 사용하여 지역의 부패를 막으셨습니까?
Mtl Dev

흠 ... 아마도. 로마인들은 3 차원 프린터처럼 많은 것을 만들었습니다.
앤드류 모튼

답변:


9

이것이 체크섬입니다. 호스트 소프트웨어에 의해 G 코드에 추가되어 G 코드가 변경되지 않은 상태로 전송되었음을 펌웨어에 의해 기본적으로 확인할 수 있습니다. G 코드의 의미를 변경하지 않으며 시퀀스가 ​​실제로 나타내는 것은 단지 M106, G28, M107입니다. 는 N0,N1,N2,...광고 번호이며, 행 번호와 체크섬의 조합은 전송 중에 손상 된 모든 라인들의 재전송을 요청하기 위해 사용된다.


여기서 사용 된 체크섬 알고리즘을 알고 있습니까?
Carl Witthoft

3
Marlin에서는 개별 문자의 모든 바이트가 함께 XOR되므로 결과는 체크섬과 동일해야합니다.
Tom van der Zanden

1
그냥 XOR :byte checksum = 0; byte count = 0; while(instruction[count] != '*') checksum = checksum^instruction[count++];
Mtl Dev 0시 17 분
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.