Let'sDo第2期活动---成果贴之花絮篇
这次DIY2活动的主要目标是电子书的浏览阅读器,其实就是TXT文件的显示,翻页等操作。根据TXT文件或者说书籍的内容,是英文还是中文可以考虑做支持两种文字的功能。当然MCU支持中文字体一向都是比较麻烦的事情。
好在开源社区已经有大佬开源了ufont这个汉字显示的microPython模块,避免了我们重复设计轮子的尴尬处境哈哈。因为之前有测试过PICOW结合SSD1306屏幕模组显示汉字的经历,就是用的ufont模块,所以我也没多想,主观臆测就是轻车熟路的玩法。
我自己当时也觉得剩下的就是纯粹的电子书阅读器APP流程开发,于是也没放在心上就忙别的事去了,准备最后提交的时候再来实现。就连过程贴中的图片显示等流程也只是早早的写了代码,而没有及时的提交帖子到EEPW论坛,不料最后竟然就在汉字显示的功能上踩到了大坑,这当然是后话了。
在临近提交日期时,先是提交了过程贴,然后就碰上了大麻烦。因为我不考虑去采用SDK模式,只关注microPython生态,所以汉字显示还是要用microPython实现显示驱动程序。但是好死不死的这次pimoroni-inky这个墨水屏驱动IC是UC8151,和常规的微雪墨水屏用的st7789/il9341等不太一样。而ufont模块操作方式又适配的是st7789那些驱动IC,它们之间更加匹配一些,以至于在UC8151上显示汉字成了个大难题。至于具体差异,那就需要去查看UC8151驱动IC的数据表,这里不再细诉。
最后,我修改了一下最底层UC8151的驱动程序,尽可能没动ufont汉字显示模块这种中层或者是上层的应用逻辑,多花了几个钟的代价还是利用ufont模块显示出来了汉字,效果如下图。
还有经典的诗朗诵------杜甫《登高》篇,深受程序员群体青睐的竖屏显示方式。
图片上灰色的那个小区块,就是直接调用UC8151驱动程序的FB是无法显示出汉字的,留下了bug的铁证如山。
因为时间关系,目前只能先发个花絮贴,毕竟能显示汉字已经是个里程碑,而电子书的完成帖子则后续有来。