Melakukan pemantauan tingkat rendah, urutan berikut dikirim ke printer:
N0 M106*36
N1 G28*18
N2 M107*39
Urutan ini hanya menyalakan kipas, rumah printer, lalu mematikan kipas.
Pertanyaan: Apa tujuan asterix / bintang / (*) dan dua digit berikutnya pada setiap baris?
Jawaban:
Itu sebuah checksum. Itu ditambahkan oleh perangkat lunak host ke kode-G, untuk memungkinkan beberapa verifikasi dasar oleh firmware bahwa kode-G dikirimkan tidak berubah. Itu tidak mengubah arti dari G-code, dan apa yang sebenarnya diwakili oleh urutan Anda adalah adil
M106, G28, M107
. TheN0,N1,N2,...
adalah nomor baris, dan kombinasi nomor baris dan checksum digunakan untuk meminta re-send dari setiap garis yang rusak selama transmisi.sumber
byte checksum = 0; byte count = 0; while(instruction[count] != '*') checksum = checksum^instruction[count++];