จุดประสงค์ของ asterix (*) ใน Gcode คืออะไร?


10

ทำการตรวจสอบระดับต่ำลำดับต่อไปนี้จะถูกส่งไปยังเครื่องพิมพ์:

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

ลำดับนี้จะเปิดพัดลมติดตั้งเครื่องพิมพ์จากนั้นปิดพัดลม

คำถาม: จุดประสงค์ของ asterix / star / (*) และตัวเลขสองตัวที่สำเร็จในแต่ละบรรทัดคืออะไร?


1
* asterisk - Asterixเป็นตัวละครในซีรีย์การ์ตูน
Andrew Morton

1
@AndrewMorton ดังนั้นจะทำให้ gcode ชาวโรมันนั้น - ด้วย Asterix เป็น checksum ของพวกเขาหยุดการทุจริตในพื้นที่ท้องถิ่นของเขา?
Mtl Dev

อืม ... อาจจะเป็น ชาวโรมันได้สร้างหลายสิ่งหลายอย่างเช่นเครื่องพิมพ์ 3 มิติ
Andrew Morton

คำตอบ:


9

นั่นคือการตรวจสอบ มันถูกเพิ่มโดยซอฟต์แวร์โฮสต์ไปยัง G-code เพื่ออนุญาตการตรวจสอบพื้นฐานบางอย่างโดยเฟิร์มแวร์ที่ G-code ถูกส่งไม่เปลี่ยนแปลง มันไม่ได้เปลี่ยนความหมายของ M106, G28, M107G-รหัสและสิ่งที่ลำดับของคุณจริงหมายถึงเป็นเพียง N0,N1,N2,...มีหมายเลขบรรทัดและการรวมกันของตัวเลขและเส้น checksums จะใช้ในการขอการส่งของสายการใด ๆ ที่ได้รับความเสียหายในระหว่างการส่ง


คุณรู้จักอัลกอริทึม checksum ที่ใช้ที่นี่หรือไม่
Carl Witthoft

3
ใน Marlin ไบต์ทั้งหมดสำหรับอักขระแต่ละตัวคือ XOR-ed พร้อมกันและผลลัพธ์ควรเป็นค่าเดียวกันกับ checksum
Tom van der Zanden

1
เพียงแฮคเกอร์:byte checksum = 0; byte count = 0; while(instruction[count] != '*') checksum = checksum^instruction[count++];
Dev
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.