docs: Describe running Klippy in batch mode for debugging
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
parent
1bbcb51066
commit
06dbc40f53
|
@ -1,5 +1,47 @@
|
||||||
The Klippy host code has some tools to help in debugging the firmware.
|
The Klippy host code has some tools to help in debugging the firmware.
|
||||||
|
|
||||||
|
Translating gcode files to firmware commands
|
||||||
|
============================================
|
||||||
|
|
||||||
|
The Klippy host code can run in a batch mode to produce the low-level
|
||||||
|
firmware commands associated with a gcode file. Inspecting these
|
||||||
|
low-level firmware commands is useful when trying to understand the
|
||||||
|
actions of the low-level hardware. It can also be useful to compare
|
||||||
|
the difference in firmware commands after a code change.
|
||||||
|
|
||||||
|
To run Klippy in this batch mode, there is a one time step necessary
|
||||||
|
to generate the firmware "data dictionary". This is done by compiling
|
||||||
|
the firmware code to obtain the **out/klipper.dict** file:
|
||||||
|
|
||||||
|
```
|
||||||
|
make menuconfig
|
||||||
|
make
|
||||||
|
```
|
||||||
|
|
||||||
|
Once the above is done it is possible to run Klipper in batch mode
|
||||||
|
(see [installation](Installation.md) for the steps necessary to build
|
||||||
|
the python virtual environment and a printer.cfg file):
|
||||||
|
|
||||||
|
```
|
||||||
|
~/klippy-env/bin/python ./klippy/klippy.py ~/printer.cfg -i test.gcode -o test.serial -v -d out/klipper.dict
|
||||||
|
```
|
||||||
|
|
||||||
|
The above will produce a file **test.serial** with the binary serial
|
||||||
|
output. This output can be translated to readable text with:
|
||||||
|
|
||||||
|
```
|
||||||
|
~/klippy-env/bin/python ./klippy/parsedump.py out/klipper.dict test.serial > test.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
The resulting file **test.txt** contains a human readable list of
|
||||||
|
firmware commands.
|
||||||
|
|
||||||
|
The batch mode disables certain response / request commands in order
|
||||||
|
to function. As a result, there will be some differences between
|
||||||
|
actual firmware commands and the above output. The generated data is
|
||||||
|
useful for testing and inspection; it is not useful for sending to a
|
||||||
|
real micro-controller.
|
||||||
|
|
||||||
Testing with simulavr
|
Testing with simulavr
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue