Klipper 源码分析-serialhdl.py

本文详细分析了Klipper源码中的serialhdl.py模块,该模块负责与3D打印机的下位机通信,支持多种连接方式如CAN、管道、UART和文件。SerialReader类是核心,它包含了初始化、发送命令、处理消息等功能,同时也通过C接口提高了效率。文中还具体解释了UART连接的步骤,包括建立连接、错误处理和后台线程的使用。

        在上一章Klipper 源码解析-console_专注&突破的博客-优快云博客 我们看到控制台消息经过处理后主要是通过serialhdl 模块发送给打印机,serialhdl 模块主要负责和下位机通信,该模块提供了多种连接方式,包括CAN总线连接、管道连接、UART连接和文件连接。它实现了接口读取、发送命令、处理消息等功能。

        此外,serialhdl模块还提供了一个C接口,用于高效处理一些中间业务。通过学习该模块,我们能够更好地了解C和Python之间的交互。

       回顾一下上一章console中的KeyboardReader,他在

        __init__时self.ser = serialhdl.SerialReader(reactor)初始化

        connect 中设置

        if self.canbus_iface is not None:
            self.ser.connect_canbus(self.seri
pi@rk3318-box:/root$ ~/klipper/scripts/install-octopi-dependencies.sh bash: /home/pi/klipper/scripts/install-octopi-dependencies.sh: No such file or directory pi@rk3318-box:/root$ cd /klipper/scripts/ bash: cd: /klipper/scripts/: No such file or directory pi@rk3318-box:/root$ cd ~ pi@rk3318-box:~$ ls crowsnest kiauh-backups klippy-env OctoPrint fluidd klipper moonraker printer_data fluidd-config KlipperScreen moonraker-env timelapse kiauh klipper_tmc_autotune moonraker-timelapse pi@rk3318-box:~$ cd /klipper/scripts/ bash: cd: /klipper/scripts/: No such file or directory pi@rk3318-box:~$ cd /klipper/scripts bash: cd: /klipper/scripts: No such file or directory pi@rk3318-box:~$ cd /klipper bash: cd: /klipper: No such file or directory pi@rk3318-box:~$ ls crowsnest kiauh-backups klippy-env OctoPrint fluidd klipper moonraker printer_data fluidd-config KlipperScreen moonraker-env timelapse kiauh klipper_tmc_autotune moonraker-timelapse pi@rk3318-box:~$ cd klipper pi@rk3318-box:~/klipper$ ls config COPYING docs klippy lib Makefile README.md scripts src test pi@rk3318-box:~/klipper$ cd scripts/ pi@rk3318-box:~/klipper/scripts$ ls avrsim.py flash-sdcard.sh klipper-mcu.service buildcommands.py flash_usb.py klipper-pru-start.sh calibrate_shaper.py graph_accelerometer.py klipper-start.sh canbus_query.py graph_extruder.py klipper-uninstall.sh check-gcc.sh graph_motion.py klippy-requirements.txt checkstack.py graph_shaper.py logextract.py check_whitespace.py graphstats.py make_version.py check_whitespace.sh graph_temp_sensor.py motan ci-build.sh install-arch.sh parsecandump.py ci-install.sh install-beaglebone.sh spi_flash Dockerfile install-centos.sh stepstats.py dump_mcu.py install-debian.sh test_klippy.py flash-ar100.py install-octopi.sh update_chitu.py flash-linux.sh install-ubuntu-18.04.sh update_mks_robin.py flash-pru.sh install-ubuntu-22.04.sh whconsole.py pi@rk3318-box:~/klipper/scripts$
06-30
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值