学习数码相框1.1.0.0数码相框之系统框架

2019-07-14 11:29发布

学习数码相框1.1.0.0数码相框之系统框架

项目的流程
1.弄清需求
2.设计框架
3.编写代码
4.测试
分为两个方向:专家和系统。

数码相框项目的弄清需求

数码相框项目的弄清需求
①上电,LCD显示一张图片
②根据配置文件,决定顶流还是自动显示下一幅图片
③点击一下,出现对话框
|————————————|
| •手动显示 o自动显示 |
| 确认 取消 |
|————————————|
④根据下(缩小)下(放大)左(下一幅)右(上一幅)来改变。
⑤左右移动很快时,显示下下一幅。

数码相框项目的框架图

Created with Raphaël 2.1.2数码相框项目的框架图硬件硬件输入进程输入进程显示进程显示进程触摸屏tslib触摸屏事件:1.时间 2.类型类型:点击。移动。数据:1.位置。2方向,速度,幅度。触摸屏封装事件按键按键事件:与触摸屏类似按键封装事件按键事件:与触摸屏类似发送socket,显示进程接收socket当前左:准备好左边的照片右:准备好右边的照片上:准备好放大的图片下:准备好缩小的图片上面5副图片,都开内存用libjpeg库内存->DMA->显存->LCD如果向左滑,把做的内存图片DMA发送给显存
线程分为:触摸屏ts线程,按键线程。
上报 主控线程,然后发送socket
主控线程接收socket,然后根据,再调用不同内存,显示不同。

总结

1.输入进程
①主控线程,得到上报的时间,用socket发出
②ts线程,使用tslib读TS,封装事件,上报
③按键线程,读按键,封装事件,上报
2.显示进程
①socket线程,接收socket信息
②放大线程,准备好当先图片的放大数据
③缩小线程,准备好当前图片的缩小数据
④上一幅线程,准备好要保留的上一幅图片
⑤下一幅线程,准备好下一幅图片
⑥当前图片线程,准备好当前图片
⑦主控线程,根据得到的socket时间,决定显示哪一幅图片。
3.驱动
①分配5块内存。DMA的操作