klipper源码分析之simulavr测试

     分析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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/769076.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux常见指令解析一

Linux常见指令解析一 常见指令1. ls 指令2.pwd 命令3.cd 命令4.touch 命令5.mkdir 命令6.rmdir指令 && rm 指令7.man 指令8.cp 指令9.cat 命令 && tac 命令10.mv 指令11.more 指令12.less 指令13.head 指令14.tail 指令15.cal 指令 常见指令 1. ls 指令 语法…

Vscode创建php项目

1.安装中文插件(可安装可不安装) 2.安装主题(可安装可不安装) 3.安装和php相关的插件 4.打开文件夹 5.路由操作 查看项目中的route路由 浏览器中访问think 隐藏index.php入口文件 访问ThinkPHP5.1开发手册,复制apa…

PHP安全技术

文章目录 一、攻击二、输入过滤 一、攻击 万能密码:如 xxx‘or’1该密码拼凑出来的sql语句会直接执行 or’1则满足一切条件解决方法:将用户传过来的密码加密,如md5等万能用户名:如 xxx‘or 1# 该密码拼凑出来的sql语句会直接执行…

P5963 [BalticOI ?] Card 卡牌游戏 贪心

[P5963 BalticOI ?] Card 卡牌游戏【来源请求】 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 贪心模板题。 存在 ( x 1 , y 1 ) (x_1, y_1) (x1​,y1​), ( x 2 , y 2 ) (x_2, y_2) (x2​,y2​),假设 x i > y i x_i > y_i xi​>yi​&…

nginx的使用总结

http转https配置: upstream web { ip_hash; server 127.0.0.1:8081; } server { listen 8080; server_name www.example.com; rewrite ^(.*)$ https://$host$1 permanent; } server { listen 443 ssl; …

【Python实战】——神经网络识别手写数字

🍉CSDN小墨&晓末:https://blog.csdn.net/jd1813346972 个人介绍: 研一|统计学|干货分享          擅长Python、Matlab、R等主流编程软件          累计十余项国家级比赛奖项,参与研究经费10w、40w级横向 文…

鸿蒙APP应用开发教程—超详细的项目结构说明

1. 新建项目 打开DevEco Studio, 选择 Create Project: 1.1 选择模版 Create Project - Choose Template 1.2 配置项目 Create Project - Configure Project 如果使用的是 DevEco 3.X 版本, 可以根据 Compile SDK版本选择不同的模式, 比如: 3.0.0(API 8)及更早 - 仅支持 …

数字图像处理学习笔记(五)

数字图像处理学习笔记(五) 表示与描述表示链码最小周长多边形的多边形近似(MPP)标记边界片段骨骼(表示平面区域结构形状) SIFT原理(尺度不变特征变换匹配算法:Scale-invariant feature transform)SIFT算法分…

有名的爬虫框架 colly 的特性及2个详细采集案例

一. Colly概述 前言:colly 是 Go 实现的比较有名的一款爬虫框架,而且 Go 在高并发和分布式场景的优势也正是爬虫技术所需要的。它的主要特点是轻量、快速,设计非常优雅,并且分布式的支持也非常简单,易于扩展。 框架简…

Linux之时间子系统(四): tick 层模块(periodic 和dynamic )

一、时间子系统的软件架构 二、tick 层模块的文件 tick-common.c tick-oneshot.c tick-sched.c tick-broadcast.c tick-broadcast-hrtimer.c 这三个文件属于tick device layer。 tick-common.c文件是periodic tick模块,用于管理周期性tick事件。 tick-oneshot.c文…

ubuntu22.04物理机双系统手动分区

ubuntu22.04物理机双系统手动分区 文章目录 ubuntu22.04物理机双系统手动分区1. EFI系统分区2. 交换分区3. /根分区4. /home分区分区后的信息 手动分区顺序:EFI系统分区(/boot/efi)、交换分区(/swap)、/根分区、/home分区。 具体参数设置: 1. EFI系统分…

OpenHarmony使用智能指针管理动态分配内存对象

概述 智能指针是行为类似指针的类,在模拟指针功能的同时提供增强特性,如针对具有动态分配内存对象的自动内存管理等。 自动内存管理主要是指对超出生命周期的对象正确并自动地释放其内存空间,以避免出现内存泄漏等相关内存问题。智能指针对…

word文档修改批注字体方法

在最近的一次数据报告中需要增加对数据的批注,发现批注字体大小无法修改,并且发现网上对这个问题的解决方法很少,所以记录下来,方便有缘人学习借鉴。 前置条件:修改批注字体目前在wps中没有找到对应方法,需…

Vue复习

1. MVVM 模型 ● Model(模型):表示应用程序中的数据模型。它代表着应用程序中的业务逻辑和状态。 ● View(视图):表示应用程序的用户界面。它是用户与应用程序交互的方式。 ● ViewModel(视图模…

Docker 安装 Nginx 容器,反向代理

Docker官方镜像https://hub.docker.com/ 寻找Nginx镜像 下载Nginx镜像 docker pull nginx #下载最新版Nginx镜像 (其实此命令就等同于 : docker pull nginx:latest ) docker pull nginx:xxx #下载指定版本的Nginx镜像 (xxx指具体版本号)检查当前所有Docker下载的镜像 docker…

关于使用TCP-S7协议读写西门子PLC字符串的问题

我们可以使用TCP-S7协议读写西门子PLC, 比如PLC中定义一个String[50] 的地址DB300.20 地址DB300.20 DB块编号为300,偏移量【地址】是30 S7协议是西门子PLC自定义的协议,默认端口102,本质仍然是TCP协议的一种具体实现&#xff…

sed教程_使用sed命令向行尾添加字符(附sed元字符集)

sed教程_使用sed命令向行尾添加字符(附sed元字符集) sed 是一项 Linux 指令, 功能同 awk 类似, 差别在于, sed 简单, 对列处理的功能要差一些, awk 的功能复杂, 对列处理的功能比较强大。 sed 元字符集: ^ 锚定行的开始, 如: /^sed/ 匹配所有以 sed 开头的行。$ 锚定行的结束…

HMI界面之:医疗设备界面

一、什么是医疗HMI界面 医疗HMI界面是指医疗设备或系统中的人机界面(Human-Machine Interface),用于与医疗设备进行交互和操作的界面。它是医疗设备中的重要组成部分,通过图形化、直观化的界面,使医护人员能够方便地控…

短剧APP系统开发:探索短剧的发展机遇,提高收益

近年来,短剧在各大社交平台上快速发展,市场规模大幅度上升,成为了大众闲暇时光的娱乐的首选方式之一,深受大众的喜爱。 与传统的影视相比,短剧时间短、节奏快、剧情爽,让给观众更加容易“上头”。对于创业…

[leetcode] 994. 腐烂的橘子

在给定的 m x n 网格 grid 中,每个单元格可以有以下三个值之一: 值 0 代表空单元格;值 1 代表新鲜橘子;值 2 代表腐烂的橘子。 每分钟,腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子都会腐烂。 返回 直到单元格中没有…