# web_links **Repository Path**: yanbin-ha/web_links ## Basic Information - **Project Name**: web_links - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-07-26 - **Last Updated**: 2021-02-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 收藏夹 ## 数控 1. [速度前馈增益的解释](http://www.iyeya.cn/forum.php?mod=viewthread&tid=65941) 2. [beckhoff 样条插补文档](https://infosys.beckhoff.com/english.php?content=../content/1033/hsc/html/hscfunctionsandcontouringmethodsd3.htm&id=) ## other 1. [源码阅读](https://code.woboq.org/) 2. [pid调节经验](https://blog.csdn.net/zyboy2000/article/details/9418257/) 3. [增量式和位置式pid算法](https://www.zhihu.com/question/32678336) 4. [交流电机三环控制关系](https://wenku.baidu.com/view/9d8f573543323968011c927b.html) 5. [pid公式](https://wenku.baidu.com/view/88e379a285868762caaedd3383c4bb4cf7ecb794.html) 6. [成大资工](http://wiki.csie.ncku.edu.tw/_categories) ## c_c++ 1. [cmake教程](https://github.com/Campanula/CMake-tutorial) 2. [正则表达式](https://www.jb51.net/tools/zhengze.html) 3. [qt绘图相关_窗口透明](https://www.cnblogs.com/dalanjing/p/8724876.html) 4. [opencv帮助文档](https://docs.opencv.org/3.4.6/d2/d75/namespacecv.html) 5. [qt插件下载](http://download.qt.io/development_releases/vsaddin/) 6. [c++模板技术](https://segmentfault.com/a/1190000003901666) 7. [opencv svm源码](https://github.com/cybertk/opencv/blob/master/opencv/ml/src/mlsvm.cpp) 8. [opencv 角点检测](https://blog.csdn.net/guduruyu/article/details/69537083) 9. [c++数值计算库] (http://eigen.tuxfamily.org/dox/group__TutorialMatrixArithmetic.html) 10.[halcon image to Qimage] (https://blog.csdn.net/liyuanbhu/article/details/91356988) 11. [c#加解密] (https://www.codeproject.com/Articles/1380/A-C-Implementation-of-the-Rijndael-Encryption-Decr) 12. [c++读取cpu信息] (https://www.codeproject.com/Questions/1112929/Get-cpuid-serial-number-by-Cplusplus) 13. [c++使用硬件信息类](https://docs.microsoft.com/en-us/dotnet/api/system.management.managementclass?view=netframework-4.8) http://www.programmer-club.com.tw/ShowSameTitleN/vcdotnet/3213.html https://books.google.com.tw/books?id=uhzDXkpEWWoC&pg=PA179&lpg=PA179&dq=c%2B%2B+CryptoStream&source=bl&ots=cqynBIHVl9&sig=ACfU3U3ttR6VbGfEWTTUiIyy7XUwN96qcw&hl=zh-CN&sa=X&ved=2ahUKEwifgNWw0cPlAhXPxosBHRN5APwQ6AEwBnoECAgQAQ#v=onepage&q=c%2B%2B%20CryptoStream&f=false https://github.com/GiovanniDicanio/WinReg 14. [st语言相关](https://github.com/topics/iec61131-3) 15. [st编译](https://github.com/innir/matiec) 16. [linux ioctl中_IO,_IOW等宏的用法](https://blog.csdn.net/weixin_36924912/article/details/77601324) 17. [qt属性展示控件](https://github.com/qtproject/qt-solutions/tree/master/qtpropertybrowser) - 17.1 [qtwidgetes 列表](https://github.com/Qt-Widgets?page=1) - 17.2 [qt资料](https://github.com/Qt-Widgets/qtkaifajingyan-Qt-FAQS-Books) - 17.3 [各种qt控件](https://github.com/Qt-Widgets/Widgets-collection-image-dials-gauges-video-etc) - 17.4 [基于qtree的propertygrid](https://github.com/Qt-Widgets/Property-Editor) 18. [一些qt第三方库](https://github.com/Qt-Widgets/3rdparty-widgets-collection) - 18.1 [自定义的一些ui](https://github.com/Qt-Widgets/TTKWidgetTools) 19. [c/c++printf颜色控制](https://blog.csdn.net/qq_41037945/article/details/92759586) ## 图像 1. [halcon相机标定](https://blog.csdn.net/weixin_43197380/article/details/90438976) ## 数学 1. [参数方程求导](https://jingyan.baidu.com/article/ed2a5d1f95fc7509f6be170c.html) 2. [线性代数教程](http://immersivemath.com/ila/index.html) 3. [b样条和贝塞尔曲线教程](http://pages.mtu.edu/~shene/COURSES/cs3621/NOTES/) 4. [在线绘制函数图](https://www.geogebra.org/graphing) 5. [西安建筑科技大学精品课程高等数学](http://netedu.xauat.edu.cn/jpkc/netedu/jpkc/gdsx/homepage/5jxsd/51/513/530.htm) 6. [椭圆的最小二乘拟合](http://blog.sina.com.cn/s/blog_471e6c930102x96q.html) 7. [三次样条插值](https://blog.csdn.net/limingmcu/article/details/91492214) 8. [三对角矩阵求值](https://www.cnblogs.com/xpvincent/archive/2013/01/25/2877411.html) 9. 高斯混合模型 - 9.1 [em算法](https://www.cnblogs.com/xingshansi/p/6557665.html) - 9.2 [高斯混合](https://www.cnblogs.com/xingshansi/p/6584555.html) - 9.3 [前导资料](https://www.cnblogs.com/xingshansi/p/6533840.html) - 9.4 [高斯拟合](https://www.cnblogs.com/xingshansi/p/6545162.html) ## EtherCat相关 1. [Igh的配置](https://blog.51cto.com/13941677/2345470) ## 重要 1. [hal论文检索](https://hal.archives-ouvertes.fr/) 2. [资源下载](http://qcsdn.com/) 3. [安装包下载](https://sourceforge.net/) 4. [GTK+安装包下载](http://ftp.acc.umu.se/pub/gnome/binaries/win32/gtk+/2.24/) 5. [在线字符画](http://asciiflow.com/) 6. [csdn代下载平台](http://qcsdn.com/) 7. [最佳编程字体](https://github.com/source-foundry/Hack) 8. [Rust编程教程](https://doc.rust-lang.org/rust-by-example/primitives/tuples.html) 9. [计算库1,openblas](https://github.com/xianyi/OpenBLAS) 10. [计算库2 armadillo](http://arma.sourceforge.net/docs.html) ## python 1. [swig帮助文档](http://www.swig.org/Doc3.0/SWIGDocumentation.html) 2. [Qsci文档](https://qscintilla.com/an-editor-in-a-gui/) 3. [wheel包下载](https://www.lfd.uci.edu/~gohlke/pythonlibs/#pywin32) 4. [sip的文档](https://www.riverbankcomputing.com/static/Docs/sip/) ## c_# 1. [picturebox scroll bar](https://stackoverflow.com/questions/4710145/how-can-i-get-scrollbars-on-picturebox) ## 其他 1. 企业邮箱: yanbin@noctec.cn ## linux 1. [linux内核:__user,__kernel,__safe,__force,__iomem](https://blog.csdn.net/Rong_Toa/article/details/86585086) 2. [linux驱动开发--copy_to_user 、copy_from_user函数](https://blog.csdn.net/xiaodingqq/article/details/80150347) 3. [关于list_for_each_entry相关函数](https://www.jianshu.com/p/2a42d3e20e10) 4. [linux内核中likely与unlikely](https://blog.csdn.net/u014470361/article/details/81193023) 5. [list_add_tail函数的实现内容](https://blog.csdn.net/qingkongyeyue/article/details/76089257) 6. [skb_put, skb_reserve等的使用](https://www.cnblogs.com/x_wukong/p/6048136.html) 7. [mmap中的内存nopage的使用](http://blog.chinaunix.net/uid-28718587-id-3627127.html) 8. [linux中的makefile基本原理](https://www.jianshu.com/p/d91cc6ff75a5) 9. [等待队列的使用和原理](https://blog.csdn.net/younger_china/article/details/7176851) 10. [驱动编译中的makefile基本规则](https://blog.csdn.net/qq_40334837/article/details/89515751) 11. [驱动开发资料Linux Device Drivers, Third Edition](https://lwn.net/Kernel/LDD3/)![avatar](cover.gif) 12. [igh 初始化流程](http://www.pianshen.com/article/8947188017/) 13. [Linux内核哈希表](http://www.nowamagic.net/academy/detail/3008086) - 13.1 [常用哈希算法](https://www.jianshu.com/p/b660865efafc) 14. [树莓派实时补丁](https://www.maplefeng.com/archives/article-717.html) 15. [linux系统镜像备份和还原](https://www.jianshu.com/p/b3ce0d945c7a) 16. [MacOS下树莓派烧录img/iso文件到SD卡](https://www.jianshu.com/p/e95c406badaa) 17. [rufus下载链接,镜像制作](https://rufus.ie/) 18. [Firefly 商城](https://store.t-firefly.com/goods.php?id=120) 19. lua和c交互 - 19.1 [基于swig的交互](https://blog.csdn.net/u010640235/article/details/52073130) - 19.2 [纯c接口的交互](https://zhuanlan.zhihu.com/p/76250674) 20. [libxml的使用](https://www.cnblogs.com/catgatp/p/6505451.html) 21. Linux makefile - 21.1 [利用makefile文件编译c++源文件](https://blog.csdn.net/zhaocuit/article/details/74782789) - 21.2 [一步一步的写出你自己的makefile文件](https://blog.csdn.net/andrewgithub/article/details/78756429) - 21.3 [万能makefile](https://www.cnblogs.com/prettyshuang/p/5552328.html) - 21.4 [makefile 配合常用函数](https://blog.csdn.net/shaosunrise/article/details/79968921) - 21.5 [遍历子目录](https://www.cnblogs.com/Anker/p/3242207.html) - 21.6 [子目录编译](https://blog.csdn.net/u010312436/article/details/52461906) - 21.7 [完整的工程编译makefile](https://www.cnblogs.com/Shirlies/p/4282182.html) 22. [交叉编译](https://blog.csdn.net/qq_38632611/article/details/79084923) 23. [树莓派preempt-rt](https://elinux.org/images/d/d8/Rpi-rt-linux.pdf) 24. [ubuntu打preempt-rt补丁](https://stackoverflow.com/questions/51669724/install-rt-linux-patch-for-ubuntu) 25. [xenomai相关](http://wiki.csie.ncku.edu.tw/embedded/xenomai) - 25.1 [树莓派相关](https://hackmd.io/@nKngvyhpQdGagg1V6GKLwA/H19m8lWgx?type=view) - 26.1 [编程帮组文档](http://www.cs.ru.nl/lab/xenomai/) 26. [有关实时的介绍](http://events17.linuxfoundation.org/sites/events/files/slides/linux-con-rt-into-mainline-2015.pdf) - 26.1 [相关硬件平台的测试](https://events19.linuxfoundation.org/wp-content/uploads/2017/12/Preempt-RT-Latency-Benchmarking-of-the-Cortex-A53-Processor-Paul-Thomas-AMSC.pdf) - 26.2 [preempt-rt使用介绍](https://www.get-edi.io/assets/pdfs/RealTimeLinux.pdf) - 26.3 [各种cpu以及内核版本的实时性测试](https://www.osadl.org/Latency-plot-of-system-in-rack-0-slot.qa-latencyplot-r0s2.0.html?latencies=&showno=&shadow=0&slider=400) 27. ring buffer 的实现 - 27.1 [原版](https://blog.csdn.net/yusiguyuan/article/details/41985907) - 27.2 [go语言版本](https://blog.zjyl1994.com/post/ringbuffer/) 28. 内核源码下载 - 28.1 [preempt_rt](https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/4.19/) - 28.2 [树莓派linux kernel](https://github.com/raspberrypi/linux/releases/tag/raspberrypi-kernel_1.20190925-1) 29. [linux系统调优](https://www.jianshu.com/p/94e6292d895a) - 29.1 [将中断从cpu隔离出来](https://msd.misuland.com/pd/13461800224083706?page=1) 30. [单片机相关学习](http://wiki.jikexueyuan.com/list/microcontrollers/) 31. [内核线程绑定cpu运行](https://blog.csdn.net/noWorries/article/details/8916508) 32. [linux配置模块开机自动加载](https://www.jianshu.com/p/69e0430a7d20) 33. [加载用户程序](https://blog.csdn.net/qq_21792169/article/details/50848146) 34. [完整的上电启动过程](https://how-to.fandom.com/wiki/Guide_to_linux_boot_sequence) 35. [完整的上电启动过程2](https://www.tecmint.com/understanding-shell-initialization-files-and-user-profiles-linux/) 36. [树莓派修改root密码](https://www.cnblogs.com/sheng9hhd/p/10294795.html) 37. [linux内核揭秘](https://xinqiu.gitbooks.io/linux-insides-cn/content/Booting/linux-bootstrap-1.html) 38. [在linux下使用igh主站配置教程](https://www.cnblogs.com/zhouyh/p/7262844.html) 39. [内核函数帮助文档查询](https://docs.huihoo.com/doxygen/linux/kernel/3.7/) 40. [设备树的格式和使用](https://www.cnblogs.com/hellokitty2/p/10992949.html) 41. [i2c协议内容,以及c实现](https://www.cnblogs.com/Tangledice/p/7622794.html) 42. [cmake的使用](https://blog.csdn.net/whahu1989/article/details/82078563) 43. [linux下domain socket](https://www.cnblogs.com/sparkdev/p/8359028.html) 44. [代码对比工具破解方法](https://www.cnblogs.com/ios9/p/11660172.html) 45. [spi总线代码](https://blog.csdn.net/renqingxin2011/article/details/91047802) 46. [linux中slab分配器的原理介绍](https://www.ibm.com/developerworks/cn/linux/l-linux-slab-allocator/) 47. [linuxsocket can 文档翻译](https://www.cnblogs.com/eaggle/p/7641406.html) 48. [linux usb 驱动接口说明](https://www.cnblogs.com/chd-zhangbo/p/5261045.html) ``` type RingBuffer struct { data []byte size uint in uint out uint } func NewRingBuffer(size uint) RingBuffer { // if size not pow of 2 round up it if (size & (size - 1)) != 0 { size = size | (size >> 1) size = size | (size >> 2) size = size | (size >> 4) size = size | (size >> 8) size = size | (size >> 16) size++ } var rb RingBuffer rb.size = size rb.data = make([]byte, size) rb.in = 0 rb.out = 0 return rb } func (rb *RingBuffer) Write(p []byte) (n int, err error) { lData := uint(len(p)) lData = min(lData, rb.size-rb.in+rb.out) l := min(lData, rb.size-(rb.in&(rb.size-1))) copy(rb.data[rb.in&(rb.size-1):], p[:l]) copy(rb.data[:lData-l], p[l:]) rb.in += lData return int(lData), nil } func (rb *RingBuffer) Read(p []byte) (n int, err error) { lData := uint(len(p)) lData = min(lData, rb.in-rb.out) l := min(lData, rb.size-(rb.out&(rb.size-1))) copy(p, rb.data[rb.out&(rb.size-1):rb.out&(rb.size-1)+l]) copy(p[l:], rb.data[:lData-l]) rb.out += lData return int(lData), nil } func min(x, y uint) uint { if x < y { return x } return y } ``` ``` /** * @brief HImage2QImage 将 Halcon 的 HImage 转换为 Qt 的 QImage * @param from HImage ,暂时只支持 8bits 灰度图像和 8bits 的 3 通道彩色图像 * @param to QImage ,这里 from 和 to 不共享内存。如果 to 的内存大小合适,那么就不用重新分配内存。所以可以加快速度。 * @return true 表示转换成功,false 表示转换失败 */ bool HImage2QImage(HalconCpp::HImage &from, QImage &to) { Hlong width; Hlong height; from.GetImageSize(&width, &height); HTuple channels = from.CountChannels(); HTuple type = from.GetImageType(); if( strcmp(type[0].S(), "byte" )) // 如果不是 byte 类型,则失败 { return false; } QImage::Format format; switch(channels[0].I()) { case 1: format = QImage::Format_Grayscale8; break; case 3: format = QImage::Format_RGB32; break; default: return false; } if(to.width() != width || to.height() != height || to.format() != format) { to = QImage(static_cast(width), static_cast(height), format); } HString Type; if(channels[0].I() == 1) { unsigned char * pSrc = reinterpret_cast( from.GetImagePointer1(&Type, &width, &height) ); memcpy( to.bits(), pSrc, static_cast(width) * static_cast(height) ); return true; } else if(channels[0].I() == 3) { uchar *R, *G, *B; from.GetImagePointer3(reinterpret_cast(&R), reinterpret_cast(&G), reinterpret_cast(&B), &Type, &width, &height); for(int row = 0; row < height; row ++) { QRgb* line = reinterpret_cast(to.scanLine(row)); for(int col = 0; col < width; col ++) { line[col] = qRgb(*R++, *G++, *B++); } } return true; } return false; } /** * @brief QImage2HImage 将 Qt QImage 转换为 Halcon 的 HImage * @param from 输入的 QImage * @param to 输出的 HImage ,from 和 to 不共享内存数据。 每次都会为 to 重新分配内存。 * @return true 表示转换成功,false 表示转换失败。 */ bool QImage2HImage(QImage &from, HalconCpp::HImage &to) { if(from.isNull()) return false; int width = from.width(), height = from.height(); QImage::Format format = from.format(); if(format == QImage::Format_RGB32 || format == QImage::Format_ARGB32 || format == QImage::Format_ARGB32_Premultiplied) { to.GenImageInterleaved(from.bits(), "rgbx", width, height, 0, "byte", width, height, 0, 0, 8, 0); return true; } else if(format == QImage::Format_RGB888) { to.GenImageInterleaved(from.bits(), "rgb", width, height, 0, "byte", width, height, 0, 0, 8, 0); return true; } else if(format == QImage::Format_Grayscale8 || format == QImage::Format_Indexed8) { to.GenImage1("byte", width, height, from.bits()); return true; } return false; } ```