Klipper
KlipperScreen HDMI 屏幕旋转
KlipperScreen 安装教程
Klipper——纵维立方Mega Zero 升级
CANOpen协议栈 —— CANOpenNode
MKS Robin Nano V3.1
KlipperScreen 的本地化——多语言支持
KlipperScreen 架构分析
Klipper 配置参考
Klipper参考文档
mainsail 前端界面语言选择
mainsail 前端控制界面源码分析
OracSlicer 编译环境搭建 —— windows
KlipperScreen 源码分析
BigTreeTECH 安装Klipper
Klipper 源码分析
OrcaSlicer 通过配置文件添加自定义打印机
Klipper 风扇/气泵/断料/堵料配置
Klipper 挤出头温度调节
如何覆盖Klipper 的G-code 指令
Klipper 3D打印机调试笔记
切片软件中挤出头移动速度的决定因素
螺杆挤出机生产过程中气泡问题的控制
自适应网床调平
Klipper 重新定义M84命令 强制移动
KlipperScreen 的Network 模块出现No module named 'sdbus'问题
klipper 自动配置 mcu 的串口id
使用 udisksctl 的可靠 USB 自动挂载方案(基于 systemd-run)
Klipper 断电续打
本文档使用 MrDoc 发布
-
+
首页
Klipper 源码分析
klipper 上位机采用了基于事件驱动处理的框架,其中reactor.py中使用 select/poll 和 greenlet 实现了 reactor 模式的事件循环管理器,负责处理IO事件、定时器、回调函数和协程; 关于 reactor.py 的使用可参考 klippy/console.py ; * **事件循环管理:** Reactor 类启动并维护一个事件循环,不断检查是否有定时器到期、文件描述符上有 I/O 事件发生等。通过持续循环,确保系统能够及时响应各种异步事件。 * **定时器管理:** 允许用户注册定时器事件,指定在未来某个时间点或按一定时间间隔执行特定的回调函数。Reactor 会负责跟踪这些定时器,在到期时调用相应的回调。 * **文件描述符(I/O)监控:** 可以注册对文件描述符(如网络套接字、串口等)的读、写等 I/O 事件的监控。当这些文件描述符上发生指定的事件时,Reactor 会调用对应的回调函数进行处理。
qingkai
2025年2月20日 16:17
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码