太勤快了,点子太多了,生产队的猪都没这么勤快。
其实前面的几篇文章就相当于阅读完毕,只是代码进行了较大规模的改变,所以这里重新读,安装功能模块更新若干篇,感谢姜主任的持续工作!
谢谢,次次拉下来的代码都不是最新的
目前看,这个库已经很完善了,最近最大的变化就是全部面向对象的重写,大概重构了1300多行。
是的,改完的代码清爽了许多~
其次就是速度的提升,使用了一种探针(其实就是加了计时代码):
就像这样
作者言传身教(因材施教?)他最近脾气挺好哈
果然又失去了理智
因为mpy虽然开发速度很OK,但是它太慢了,所以就需要找到拉跨的代码,这也是探针出现的缘故。
对了这东西不叫探针,应该叫时间戳?
实例化的时候会被打印出来
可以看到关于时间运行的结果,这个结论就是:从boot出来之后到第一个I2C被例化 中键隔了能有3.3s。
另外OTA的功能也完善了,就是缺个美工:
其实看着还不错
另外也调整了一些文件的实现行为:
主要是再不写,可能明天就又更新了
另外值得一提的是,使用visio重新绘制的图,有点好看~~~
示意图
另外,看看人家的项目主页
再看贡献者,哟,还有我呢!
因为更新的快速,所以这里使用了桌面的Github,做增量的下载:
写HTTPS链接
注意需要科学上网
一次写完肯定不好,因为代码解耦的已经很好了,所以源码的阅读上面也是按照模块来写,多写几篇。
基本的文件结构没有变化,为了阅读的体验做了一些文件的删除,留主体:
就是这样,但是商业化什么的,记得按照规则来,不是你删除就可以的事情。
Sony multi+FlowBox
FlowShutter-硬件原理即&代码解读
flowshutter Win环境下烧录教程
另外读以前,也可以研究一下我以前写的东西。
通用的版权声明我也删除了,另外以前的main文件是很长的一堆,现在分开了:
就像这样
因为我还没有细致研究,这里先挖个坑。
另外有个小细节,版权的文件也是写入固件的
写这个文章期间,作者吐槽别的,我以为又改了代码,没改就行
太难了,勤快
当然是继续写
作者写法
PEP8得规则,这个倒是无所谓
一开始得机器频率就开到最大,不过这个东西东西也不用考虑功耗。
设置这块调用read方法,这里写得很健壮,而且这个json文件是机内生成的,不是提前载入。
_load_方法就是生成这个json文件,让我们看看:
在此
在内部又调用了:
把版本号,设备的模式,触发的模式,相机协议,ota的信息打包成字典,通过dump函数写入json。也就是默认的设置。
尝试在已经有的设置里面的取设置,而且将索引拿到。
如果写入的设置超过了设置索引,就把文件强行关了,接着调用update(),覆写一次默认的设置文件。
回到这里,下面的except无非就是有错的时候做什么,不写了
刺激不,这才是主文件里面的一句话而已
任务的类里面,除了初始化以外有两个函数。
里面的子函数我就先不进去了,以后单独写文章。
持续的内存回收
这段代码,我觉得写的很出色,一是把UI的绘制线程单摘出来了,绘制过一次将任务的列表清空一次。
其次是使用倒数的方法,自动的在20个周期后GC一下。后面的三个函数就不说了,注释很ok。
使用了一个定时器,200HZ的发包,以及回调函数就是我上面说的函数,UI,电压,按键等都放入定时器中处理。
其实按照ISR写法的规则,这个函数其实是有点长的,可以考虑把后面的函数:
写成中断好一些,可能性能会高一些。
另外,默认的协议是SONY。
这块异步的代码,舍不得写了,下篇文章继续
最后也期待姜主任的新品
你的代码由我来守护(由我来BB)
好了,没心愿了
哎,就是这么简单