天嵌科技-TQi.MX6UL开发板制作医疗监护仪软件的过程;软件分为几个模块:1.软件界面2.算法代码3.驱动代码4.底层系统。此设备将采用高品质高性能的天嵌科技-TQi.MX6UL开发板,天嵌科技的产品在业界以高稳定性和高品质著称,使用了天嵌的产品等同于提供了优质的硬件保障!承接上文【i.MX6UL试用体验】医疗监护仪制作(二)软件,今天来说下代码方面的准备:
从系统底层开始构建捕捉处理信号及显示的代码,首先,在linux环境下解压源码,把接收器功放接着的口开起来,加入以下代码:
pinctrl_uart1:
uart1grp {
fsl,pins =
<
MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX
0x1b0b1
MX6UL_PAD_UART1_RX_DATA__UART1_DCE_RX
0x1b0b1
>;
};
如果插在其他口,就开其他的,因地制宜,捕捉过来再把算法映射到内部通讯输出,这儿定义到8102,算法代码贴这儿太长,本文底下的附件中有弄好的固件,解压开来能看到这个,反编译一下把那文件直接提取出来用即可。然后再把屏幕显示起来,屏幕先把背光开起来,不然显示出来也很难看到内容,背光是pwm的,用下述代码先把pwm属性给配置起来:
&pwm1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm1>;
status = "okay";
};
然后,天嵌科技-TQi.MX6UL开发板的背光能支持很多级别,可以把这些功能都用起来:
backlight {
compatible = "pwm-backlight";
pwms = <&pwm1 0 5000000>; // 使用的 pwm 和频率, 这儿的pwm1 和上面的 pwm1 相对应
brightness-levels = <0 4 8 16 32 64 128 255>;// 支持的级数,从左往右0到7,0不亮,7最亮。
default-brightness-level = <6>; // 默认亮度等于6( 6 就前述的 128 )
status = "okay";
};
其实还可以在交互UI中做个亮度调节设置,或者插个感光元件让它自动调节,天嵌科技-TQi.MX6UL开发板的接口很丰富,多插几个感光元件都足够,也可以把温湿度红外等这些都插上,那它的功能会超过所有同类产品。配一下上面这个管脚:
pinctrl_pwm1: pwm1grp {
fsl,pins = <
MX6UL_PAD_GPIO1_IO08__PWM1_OUT 0x110b0
>;
};
然后就是在指定坐标显示前面界面中的内容了,不断刷新指定区域显示即可,这样直接编译出来试试效果先,没拖影就行了,其他显示区域容易刷没掉或弄成黑色条状的话可以试试把显存区域读出来再抄回来,或者读取在累加,如果想更美观,可以做个开机画面,比如这张图:
放在media文件夹里,然后开机时挂载一下即可。当这些都搞好后,源码工程文件保存一份,方便下次修改,如果下次不改了,又觉得源码占空间,可以把它删了,把编译好的文件留下即可。
以下是我编译好的固件,可以烧录到板子里试试,可以直接变成心电监护仪用哦,编译时没用混淆,变量跟代码串都是暴露在外面的,方便大家反编译与修改,大家可以改成你们想要的UI。
烧录方法:【i.MX6UL试用体验】固件烧录方法
如果您对医用软件感兴趣,推荐个不错的软件,以前国外的网站下过来的,只讲名称的话可能你们不好下载到,直接放上来方便大家学习研究之用吧,有linux跟windows版的(下载地址:surfice_linux.part1.rar,surfice_linux.part2.rar),用天嵌科技-TQi.MX6UL开发板安装标准的linux可以跑linux版的,很早的软件,在今天看来对配置要求不高,运行起来很流畅。还有其他一些医学软件也是linux平台的,用天嵌科技-TQi.MX6UL开发板安装标准的linux也能流畅运行,想要学习研究的可以直接跟天嵌技术人员探讨,一起交流探讨共同进步。