<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[onj123的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/onj123</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; onj123]]></copyright><item><title><![CDATA[3D打印实战：打印&取消&暂停&续打&断料检测&断电保存&断电续打&打完关机]]></title><link>https://blog.youkuaiyun.com/onj123/article/details/142748084</link><guid>https://blog.youkuaiyun.com/onj123/article/details/142748084</guid><author>onj123</author><pubDate>Mon, 07 Oct 2024 22:44:46 +0800</pubDate><description><![CDATA[微动开关：有料时触动微动开关。]]></description><category></category></item><item><title><![CDATA[3D打印实战：通过socket获取klipper模块的属性值]]></title><link>https://blog.youkuaiyun.com/onj123/article/details/142623997</link><guid>https://blog.youkuaiyun.com/onj123/article/details/142623997</guid><author>onj123</author><pubDate>Sat, 28 Sep 2024 23:33:55 +0800</pubDate><description><![CDATA[总结：建立socket -> 发json -> 根据method的值找到endpoint -> 遍历所有订阅的模块，调用get_status方法 -> 返回json。参见Moonraker项目，该项目是一个流行的工具，可以将HTTP请求转发到Klipper的API服务器Unix域插座。通过socket获取klipper模块的属性值。]]></description><category></category></item><item><title><![CDATA[3D打印实战：自定义模块并调用C语言]]></title><link>https://blog.youkuaiyun.com/onj123/article/details/142623956</link><guid>https://blog.youkuaiyun.com/onj123/article/details/142623956</guid><author>onj123</author><pubDate>Sat, 28 Sep 2024 23:29:59 +0800</pubDate><description><![CDATA[如果c_helper.so不存在，则会生成。所以要删掉c_helper.so生成新的。添加hello.c到c_helper.so。运行klipper重新生成so。]]></description><category></category></item><item><title><![CDATA[3D打印：修改klipper源码]]></title><link>https://blog.youkuaiyun.com/onj123/article/details/142319387</link><guid>https://blog.youkuaiyun.com/onj123/article/details/142319387</guid><author>onj123</author><pubDate>Tue, 17 Sep 2024 21:39:52 +0800</pubDate><description><![CDATA[在__init__.py文件中指定编译器，要编译的文件，生成的so。注意：cfg配置有的属性，在py文件中一定要调用，否则报错。]]></description><category></category></item><item><title><![CDATA[3D打印：点灯]]></title><link>https://blog.youkuaiyun.com/onj123/article/details/142319374</link><guid>https://blog.youkuaiyun.com/onj123/article/details/142319374</guid><author>onj123</author><pubDate>Tue, 17 Sep 2024 21:38:35 +0800</pubDate><description><![CDATA[【代码】3D打印：点灯。]]></description><category></category></item><item><title><![CDATA[3D打印：gcode宏]]></title><link>https://blog.youkuaiyun.com/onj123/article/details/142319345</link><guid>https://blog.youkuaiyun.com/onj123/article/details/142319345</guid><author>onj123</author><pubDate>Tue, 17 Sep 2024 21:36:41 +0800</pubDate><description><![CDATA[SET_GCODE_VARIABLE 命令可以在宏调用之间保存状态。变量名不能包含任何大写字符。‵‵‵。]]></description><category></category></item><item><title><![CDATA[3D打印：gcode命令]]></title><link>https://blog.youkuaiyun.com/onj123/article/details/142319329</link><guid>https://blog.youkuaiyun.com/onj123/article/details/142319329</guid><author>onj123</author><pubDate>Tue, 17 Sep 2024 21:35:22 +0800</pubDate><description><![CDATA[M73”: “设置当前打印进程。“M205”: “高级设置，详见https://marlinfw.org/docs/gcode/M205.html”,“M82”: “耗材挤出模式，绝对挤出模式。“G18”: “平面设定,为XZ平面, 控制G2/G3(圆弧)、G73,G81-G89(封闭循环)”,“G19”: “平面设定,为YZ平面, 控制G2/G3(圆弧)、G73,G81-G89(封闭循环)”,“G29”: “（床调平（手动，3 点，双线性，线性，统一））测量网格中的 Z 高度，启用水平补偿”,]]></description><category></category></item><item><title><![CDATA[3D打印：printer.cfg配置]]></title><link>https://blog.youkuaiyun.com/onj123/article/details/142319251</link><guid>https://blog.youkuaiyun.com/onj123/article/details/142319251</guid><author>onj123</author><pubDate>Tue, 17 Sep 2024 21:34:10 +0800</pubDate><description><![CDATA[输入PID_CALIBRATE heater=heater_bed target=60，待热床温度曲线波动5次之后，输入SAVE_CONFIG保存配置。输入PID_CALIBRATE heater=extruder target=220，待喷头温度曲线波动5次之后，输入SAVE_CONFIG保存配置。执行关机动作：调用 Moonraker API、使用 shell_cmd 调用系统关机命令两种方式。改dir_pin参数，即增加或删除！按钮防抖动和按下两次才执行。监听按钮连接的引脚状态。]]></description><category></category></item><item><title><![CDATA[3D打印：klipper简单分析]]></title><link>https://blog.youkuaiyun.com/onj123/article/details/142319207</link><guid>https://blog.youkuaiyun.com/onj123/article/details/142319207</guid><author>onj123</author><pubDate>Tue, 17 Sep 2024 21:26:42 +0800</pubDate><description><![CDATA[在extras里创建模块，在cfg里配置，自动加载在chelper里创建c文件，添加到列表，删掉so，再编译在cfg里自定义配置：获取属性，引脚等。]]></description><category></category></item><item><title><![CDATA[3D打印：单片机模拟器]]></title><link>https://blog.youkuaiyun.com/onj123/article/details/142319162</link><guid>https://blog.youkuaiyun.com/onj123/article/details/142319162</guid><author>onj123</author><pubDate>Tue, 17 Sep 2024 21:24:42 +0800</pubDate><description><![CDATA[【代码】3D打印：单片机模拟器。]]></description><category></category></item><item><title><![CDATA[3D打印：klipper安装]]></title><link>https://blog.youkuaiyun.com/onj123/article/details/142319135</link><guid>https://blog.youkuaiyun.com/onj123/article/details/142319135</guid><author>onj123</author><pubDate>Tue, 17 Sep 2024 21:22:46 +0800</pubDate><description><![CDATA[fluidd和klipper通过socket和jsonn通信，klipper和下位机通过串口通信，不关心是什么单片机，通信协议一致就行。klipper作为上位机处理gcode，接收web的请求。单片机作为下位机，控制电机，传感器。fluidd作为web前端。]]></description><category></category></item><item><title><![CDATA[2024年Linux QT项目]]></title><link>https://blog.youkuaiyun.com/onj123/article/details/140000935</link><guid>https://blog.youkuaiyun.com/onj123/article/details/140000935</guid><author>onj123</author><pubDate>Wed, 26 Jun 2024 23:46:14 +0800</pubDate><description><![CDATA[使用QT实现的显示终端（抄麦当劳的取餐柜），后期考虑改成快递柜之类的终端。]]></description><category></category></item><item><title><![CDATA[2024年Android APP小项目]]></title><link>https://blog.youkuaiyun.com/onj123/article/details/140000476</link><guid>https://blog.youkuaiyun.com/onj123/article/details/140000476</guid><author>onj123</author><pubDate>Wed, 26 Jun 2024 23:26:44 +0800</pubDate><description><![CDATA[Android手机通过蓝牙连接LED氛围灯，控制LED氛围灯的亮度、颜色、闪烁等。后期考虑修改为温度贴、门锁、汽车胎压、蓝牙测试工具等产品的APP。]]></description><category></category></item><item><title><![CDATA[TCP和UDP总结]]></title><link>https://blog.youkuaiyun.com/onj123/article/details/137550876</link><guid>https://blog.youkuaiyun.com/onj123/article/details/137550876</guid><author>onj123</author><pubDate>Tue, 09 Apr 2024 14:25:12 +0800</pubDate><description><![CDATA[四次挥手：client发起请求，server发出收到（此时缓冲区可能有数据，先发完数据），server发出断开，client发出响应，2MSL最大段生存时间后关闭连接。TCP：面相连接，有三次握手建立连接，四次回收断开连接，有数据确认、超时丢失重传、拥塞机制等，以确保数据的准确、顺序。TCP/IP模型：应用层（HTTP、FTP）、传输层（TCP、UDP）、网络层（IP）、数据链路层（MAC地址）。OSI（开放式系统互联）模型：应用层、表示层、会话层（建立管理终止会话）、传输层、网络层、数据链路层。]]></description><category></category></item><item><title><![CDATA[Android总结（一）]]></title><link>https://blog.youkuaiyun.com/onj123/article/details/137545934</link><guid>https://blog.youkuaiyun.com/onj123/article/details/137545934</guid><author>onj123</author><pubDate>Tue, 09 Apr 2024 12:01:01 +0800</pubDate><description><![CDATA[C++调用java类：env->FindClass，env->GetMethodID，env->NewObject，CallVoidMethod。切换：getFrameManager().beginTransaction(), replace,commit，传参Bundle。使用cs架构，在Binder驱动空间创建缓冲，数据和内核缓冲区映射，接收进程的用户空间和数据缓冲区映射。跨进程通信：用户空间不共享，内核空间数据共享。重载：Java_包名_类名_方法__XX()继承BroadCastReceiver。]]></description><category></category></item><item><title><![CDATA[进程和线程总结]]></title><link>https://blog.youkuaiyun.com/onj123/article/details/137543360</link><guid>https://blog.youkuaiyun.com/onj123/article/details/137543360</guid><author>onj123</author><pubDate>Tue, 09 Apr 2024 11:03:34 +0800</pubDate><description><![CDATA[共享代码段、数据段、堆栈等，共享用户组、文件描述符、信号处理等，但有自己的进程ID、私有栈等。页表到物理内存：页表上有一串不连续的地址（间隔4K），找到指定的行，取出行里的值，这个地址对应物理内存的首地址，并且对应物理内存的4K大小。无名管道：用于父子兄弟等有血缘关系的进程，单向传输（读端写端），64K大小限制，当另一端关闭时，读会阻塞，写会管道破裂。一个进程占2^32=4G大小，3G为用户空间，1G为内核空间。2个进程是相互独立的地址空间，通信需要内核（进程A用户空间-》内核空间-》进程B用户空间）。]]></description><category></category></item><item><title><![CDATA[QT5总结]]></title><link>https://blog.youkuaiyun.com/onj123/article/details/137513572</link><guid>https://blog.youkuaiyun.com/onj123/article/details/137513572</guid><author>onj123</author><pubDate>Mon, 08 Apr 2024 16:16:14 +0800</pubDate><description><![CDATA[鼠标事件：QMouseEvent，mousePressEvent(QMouseEvent *e)，mouseMoveEvent(QMouseEvent *e)控件：Window,Rectangle,Image,Text,MouoseArea,ListView,ListModel,ListElement。当调用emit时，调用信号函数，并且传递发送信号的对象指针，元对象指针，信号索引，参数列表到active函数。]]></description><category></category></item><item><title><![CDATA[ROS2总结]]></title><link>https://blog.youkuaiyun.com/onj123/article/details/137513508</link><guid>https://blog.youkuaiyun.com/onj123/article/details/137513508</guid><author>onj123</author><pubDate>Mon, 08 Apr 2024 16:14:49 +0800</pubDate><description><![CDATA[分别创建Xxx.msg、Xxx.service、Xxx.action文件（首字母一定要大写，文件的格式也不能错）声明source install/local_setup.sh后，才能在调用方找到自定义的msg。action：开始用service，中间使用topic反馈，结束使用service。修改setup.py，把配置节点entry_points（可修改重命名）生成build编译过程产生的文件、install可执行文件、log日志。分别创建msg、service、action目录。创建工作空间（目录）]]></description><category></category></item><item><title><![CDATA[Linux内核驱动]]></title><link>https://blog.youkuaiyun.com/onj123/article/details/137513405</link><guid>https://blog.youkuaiyun.com/onj123/article/details/137513405</guid><author>onj123</author><pubDate>Mon, 08 Apr 2024 16:13:29 +0800</pubDate><description><![CDATA[LCD：设备树：bitwidth（RGB565、RGB888）、背光（开启PWM、时钟）、修改水平像素/垂直像素等屏参；I2C：同步半双工，从器件地址，寄存器地址、方向，i2cdetect、i2cget、i2cget，一个总线一个adapter。实现file_operation：owner、open/release、read/write。触摸：中断/复位引脚；常用属性：compatible、address、reg、status。查看：cat /proc/devices、cat /dev/XXX。]]></description><category></category></item><item><title><![CDATA[C++总结]]></title><link>https://blog.youkuaiyun.com/onj123/article/details/137513182</link><guid>https://blog.youkuaiyun.com/onj123/article/details/137513182</guid><author>onj123</author><pubDate>Mon, 08 Apr 2024 16:10:22 +0800</pubDate><description><![CDATA[异步：promise、get_future()、future、wait()、get()、async、launch（async、reference）智能指针：共享指针share_ptr（引用计数），独占指针uniqued_ptr（移动语义）、weak_ptr（引用计数不改变）针对不同对象：局部变量、全局变量、函数、类成员属性、类成员方法、指针、数组。类：继承构造、final、override、default、delete。在内存的位置：静态区、常量区、堆区、栈区、不占内存（引用、声明）]]></description><category></category></item></channel></rss>