oscilloscope_py过程及所见

oscilloscope_py 是一个小项目。其开始的背景是,需要写一个驱动步进电机的小模块,能够运行新的速度和加速度算法。所以我们用光栅进行了速度采样,用来验证速度曲线是否和新算法保持一致。

同事,新同事bo仔对心跳传感器产生了兴趣。这个小项目就能够用来展示心跳曲线 xD

我的思路是,第一步用串口先写出原型,测试完成后,等到步进电机项目交差,然后用wifi进行链接试试看。

第一次尝试的原型地址: https://github.com/Toddl2r/oscilloscope_py/tree/prototype

第一天的尝试,就遇到了新的py语法:iterator 和 constructor:

http://www.cnblogs.com/tqsummer/archive/2010/12/27/1917927.html

关键词 yield和next 使得 迭代循环的表达更加有效率。

下一步是要把随机数生成器转移到arduino上,通过串口用计算机pyserial 采出来

时间: 2025-01-01 02:51:52

oscilloscope_py过程及所见的相关文章

JVM虚拟机之类加载的过程

我们都知道JVM虚拟机的可执行文件为.class文件,那么什么时候JVM虚拟机会加载自己所需要的类呢?之前自己一直有这样的问题,上网找过好多网友的解释,感觉好像理解但是自己却无法说清楚,今天看了<深入理解JVM虚拟机>一书的讲解感觉自己有些透了,在此记录下来自己的理解~! 类的生命周期 类加载过程(主动|被动) 类的主动引用(一定会发生类的初始化) - new一个类的对象 - 调用类的静态成员(除了final常量)和静态方法 - 使用java.lang.reflect包的方法对类进行反射调用

理解杀进程的实现原理(转)

基于Android 6.0的源码剖析, 分析kill进程的实现原理,以及讲讲系统调用(syscall)过程,涉及源码: /framework/base/core/java/android/os/Process.java /framework/base/core/jni/android_util_Process.cpp /system/core/libprocessgroup/processgroup.cpp /frameworks/base/core/jni/com_android_intern

优秀项目经理的习惯

刚网上看了两篇优秀项目经理应该养成的习惯,转载记录一下. 优秀项目经理的六个习惯 项目经理是项目的领头人,是项目团队灵魂型的人物.项目经理需要具备怎样的良好习惯方能更有助于团队.项目和自我的成功,史蒂芬·柯维博士在<高效能人士的七个习惯>一书中阐述了高效能人事所需要具备的七个习惯:积极主动.以终为始.要事第一.双赢思维.知彼解己.统合综效.不断更新.无疑,这七个习惯也是优秀项目经理所需要具备的.然而,作为项目经理这样一个特别的角色,除了需要具备上述七个习惯外,还需要具备如下与其职位息息相关的六

算法导论第十二章 二叉搜索树

一.二叉搜索树概览 二叉搜索树(又名二叉查找树.二叉排序树)是一种可提供良好搜寻效率的树形结构,支持动态集合操作,所谓动态集合操作,就是Search.Maximum.Minimum.Insert.Delete等操作,二叉搜索树可以保证这些操作在对数时间内完成.当然,在最坏情况下,即所有节点形成一种链式树结构,则需要O(n)时间.这就说明,针对这些动态集合操作,二叉搜索树还有改进的空间,即确保最坏情况下所有操作在对数时间内完成.这样的改进结构有AVL(Adelson-Velskii-Landis)

Java 实现堆排序

堆 堆排序和合并排序一样,是一种时间复杂度为O(nlgn)的算法,同时和插入排序一样,是一种就地排序算法(不需要额外的存储空间).堆排序需要用到一种被称为最大堆的数据结构,与java或者lisp的gc不一样,这里的堆是一种数据结构,他可以被视为一种完全二叉树,即树里面除了最后一层其他层都是填满的.也正是因为这样,树里面每个节点的子女和双亲节点的序号都可以根据当前节点的序号直接求出. Parent(i)=i/2 Left(i)=2*i Right(i)=2*i+1 如上图所示,1位置的子女节点分别

VMware 下扩展linux硬盘空间

linux下扩展硬盘有很多种方式,在扩展之前,尽量看看自己的空间存在的有哪些盘,然后再进行扩展.如果是扩展的话,磁盘的符号和已经有的符号一样,比如都是sda的设备,知识分区不同,可能是sda3 sda4 如果是添加的话,相对于一个新的硬盘,可能是sdb  sdc 很多人在学习Nutch.Hadoop或者熟悉Linux操作系统时都会选择在VMWare上安装Linux虚拟机,而又往往不想分配给Linux虚拟机足够大的硬盘空间,这就容易导致使用Linux一段时间后,发现虚拟机上的硬盘空间不够了,此时怎

总线及数据传输技术【待完善】

作者:桂. 时间:2017-08-05  14:41:36 链接:http://www.cnblogs.com/xingshansi/p/7290224.html 前言 最近的工作内容涉及硬件,三个高频词汇:总线.接口.协议,例如I2C.PCIe.RS-232C.RapidIO(SRIO)以及Aurora等等,往细里说还有数据的带宽.位宽.工作频率.数据传输可靠性等等,打算不定期更新,梳理出一篇文章,理理头绪. 一.高速数据传输 目前涉及的高速数据传输都是利用串口(并口不是更快?参考知乎).Xi

观察者模式实际应用:监听线程,意外退出线程后自动重启

摘要: 观察者模式,定义对象之间的一种一对多的依赖关系,当对象的状态发生改变时,所有依赖于它的对象都得到通知并且被自动更新.观察者模式在JDK中有现成的实现,java.util.Obserable. 首先说下需求:通过ftp上传约定格式的文件到服务器指定目录下,应用程序能实时监控该目录下文件变化,如果上传的文件格式符合要求,将将按照每一行读取解析再写入到数据库,解析完之后再将文件改名.(这个是原先已经实现了的功能,请看我的一篇文章java利用WatchService实时监控某个目录下的文件变化并

深入剖析神经网络的运行机理及实现

随着大数据和机器硬件水平的提升,神经网络特别是深度神经网络现在是大火特火.因为目前的深度学习模型都是基于神经网络进行的改进和加深,所以要想对深度学习有一些较深入的研究,先熟悉和了解人工神经网络是非常有帮助的. 本文基于神经网络实现一个手写体数字识别模型,此处使用的数据集为sklearn自带的digit数据,只要装了sklearn就可以直接获得. 1.手写体人工神经网络模型 图(一),mnist手写体数字识别网络结构,见[参考一] 神经网络是一个判别模型,它会利用训练集学到一个从输入到输出的映射关