分析Klipper源码,有时需要结合下位机一起分析,这样才能更加全面的了解Klipper的工作原理。如果手头上有打印机主板,电脑当做上位机运行Klipper,这样是比较方便。如果手头上没有打印机主板,可以用simulavr模拟AVR下位机。
官方提供了较为详细的文档(调试 - Klipper 文档 (klipper3d.org)),下面介绍一下如何使用simulavr。先安装SWIG(sudo apt install swig),然后克隆代码进行编译
git clone git://git.savannah.nongnu.org/simulavr.git
cd simulavr
make python
make build
编译完成后,查看是否有_pysimulavr.*.so文件。
ls ./build/pysimulavr/_pysimulavr.*.so
编译deb文件,然后进行安装
sudo apt update
sudo apt install g++ make cmake swig rst2pdf help2man texinfo
make cfgclean python debian
sudo dpkg -i build/debian/python3-simulavr*.deb
进入Klipper源码路径,进行配置
cd ~/klipper
make menuconfig
下位机选择atmega644p,配置如下
配置完成后用make指令进行编译,然后执行./scripts/avrsim.py out/klipper.elf启动下位机,有可能会报一些警告,这些警告并不影响运行,可以忽略。
启动Klipper命令 ~/klippy-env/bin/python ./klippy/klippy.py config/generic-simulavr.cfg -v