7e因为MCU的资源有限,D固件阉割了多语言支持。之前也有大神们做出了G固件和M固件,但是很久都没更新了。
今年D固件升到了5.0版,新增了很多新协议支持(比如K110等),但是仍然不支持多语言。
牛人们纷纷换MCU,升级成了U7e,成了真正的小号D10。但是换MCU这事,难度实在太大........
我研究了一下D固件的源代码,发现还是有可能把中文找回来的(仅仅是中文,其它语言还不行)。
D固件是原生英文界面,在支持多语言的版本里,会额外占用10K左右的内存用来存储对应的英文翻译。而7e总共也只有20K内存,连正常的功能都不够,开发小组把协议模块化了,需要用什么通讯协议临时装到内存里来。(所以7e刷D固件还要额外复制一下protocol文件夹,U7e和D10就不需要)
翻译文件釆用UTF-8编码,对中文来说,每个汉字要占用3个字节,对其它语言,比如说俄语,每个字母也要占3字节空间。不同的语言包占用的空间差距很大,为了能适应更多的语言,所以开发小组才设置了10K的内存空间来存储翻译文字,其实对中文来说,用不了那么多
接下来就简单了,修改代码,减小内存占用,瘦身中文翻译文件,减小内存需求.......
于是就有了这个D7e的中文D5固件。仅是找回了中文,其它被阉割的功能还是忍了吧。
具体刷机方法就不详细说了,以前的贴子里都有。如果之前是其它固件,那么刷DFU文件,然后复制除DFU文件以外的所有文件到U盘中。
如果之前是老版D固件,最好先备份一下U盘里的设置、模板什么的,然后刷DFU文件,只复制protocol和language两个文件夹到U盘中。
layout文件夹自愿复制,我调整了一下主界面布局,把左侧的两个定时器,油门指示还有上面5个开关图标往下挪了一点点,这样开关图标和左上角的模型名称就不会贴得太近,美观一些。
链接: http://pan.baidu.com/s/1dEFEkjJ 密码: hnyj
中文翻译是按照我的个人习惯调整的,如果有个人偏好的话,可以自行修改翻译文件,要保存成UTF-8编码,要注意控制字数,超过内存容量会进行截断。
|