Commands - HeribertHechtersheim/Z-CodeReverseEngineering GitHub Wiki
Wiki ▸ [Z-Code Documentation](Z Code Documentation) ▸ Command Overview
A list of all the commands I was able to find. "?" means that I was able to find the commands in .zcode files, but I don't know what they do. "??" means that I was not able to find the commands and I don't know what they do.
01
move to, extrude and nozzle fan2 speed
01 type bitfield [unknown coordinate] [x-coordinate] [y-coordinate] [z-coordinate] [e-coordinate] [fan2 speed]
Table of parameters:
| name | Type | Content |
|---|---|---|
| type | uint8_t | seems to be the line-color for the preview in Z-Suite. 01 - blue (object), 02 , 0A-0D - grey (raft layers), FD-FF - invisible (new layer), ... |
| bitfield | uint8_t | sets which parameters will be changed in the command |
| unknown coordinate | int32_t | only appears in conjuntion with the z-coordinate. Maybe it is the z-coordinate for another mechanical z-axis design(M200 v3) |
| x-coordinate, y-coordinate | int32_t | position of the x- and y-axis. 65,536 seems to roughly correspond to 10cm |
| z-coordinate | int32_t | position of the z-axis. 65,536 seems to roughly correspond to 8cm |
| e-coordinate | int32_t | extruder position |
| fan2 speed | uint8_t with 3 empty bytes following | speed of fan2 (fan that cools down the print surface at the nozzle) |
Note: All parameters after the bitfield have a 4-byte length. The first byte stores the first 8 least significant bits, the second byte the next 8 bits and so on.
Examples
set speed of fan2 to full power:
| command | type | bitfield | fan2 speed |
|---|---|---|---|
01 |
FF |
20 (00100000) |
FF 00 00 00 |
move 10cm (~65,536) on the x- and y-axis and extrude:
| command | type | bitfield | x-coordinate | y-coordinate | e-coordinate |
|---|---|---|---|---|---|
01 |
01 |
0B (00001011) |
00 00 01 00 |
00 00 01 00 |
00 D0 00 00 |
02
set speed
02 speed
| name | Type | Content |
|---|---|---|
| speed | (u)int_32t? | movement speed |
03
??
04
set position
04 bitfield [unknown coordinate] [x-coordinate] [y-coordinate] [z-coordinate] [e-coordinate]
| name | Type | Content |
|---|---|---|
| bitfield | uint8_t | sets which parameters will be changed in the command |
| unknown coordinate | int32_t | only appears in conjuntion with the z-coordinate. Maybe it is the z-coordinate for another mechanical z-axis design(M200 v3) |
| x-coordinate, y-coordinate | int32_t | position of the x- and y-axis. 65,536 seems to roughly correspond to 10cm |
| z-coordinate | int32_t | position of the z-axis. 65,536 seems to roughly correspond to 8cm |
| e-coordinate | int32_t | extruder position |
05
homing
05 homing_bitfield
| Bit | Content |
|---|---|
| 0 | x-coordinate |
| 1 | y-coordinate |
| 2 | z-coordinate |
06
??
07
??
08
nozzle temperature
08 unknown_parameter temperature
| name | Type | Content |
|---|---|---|
| unknown parameter | int8_t | 00 |
| temperature | int32_t | nozzle target temperature in °C |
09
?
0A
?
0B
progress in percent
0B progress
| name | Type | Content |
|---|---|---|
| progress | uint8_t | displayed printing progress in percent |
0C
??
0D
??
0E
bed temperature
0B temperature
| name | Type | Content |
|---|---|---|
| temperature | int32_t | bed target temperature in °C |
0F
pause
0F 32bit 32bit
Appendix
Bitfield
The bitfield sets which parameters will be changed in the command. Explanation for each bit (bit 0 is least significant bit):
| Bit | Content |
|---|---|
| 0 | x-coordinate |
| 1 | y-coordinate |
| 2 | z-coordinate |
| 3 | e(extruder)-coordinate |
| 4 | ?? |
| 5 | fan speed |
| 6 | unknown coordinate |
| 7 | ?? |