首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

vxworks系统下基于windml的操纵杆串口驱动设计方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:天津津航计算技术研究所

摘要:本发明属于vxworks系统技术领域,具体涉及一种vxworks系统下基于windml的操纵杆串口驱动设计方法。其首先配置windml虚拟鼠标设备;其次,基于windml虚拟鼠标设备实现操纵杆串口驱动;包括:初始化串口设备使用环境;解析串口数据获取操纵杆发送的力敏调节坐标;根据操纵杆回弹过程速率过滤回弹力敏调节坐标值;将过滤后的力敏坐标值转为系统鼠标事件;通过以上步骤,实现操纵杆在vxwork系统下的串口驱动功能。与现有技术相比较,本发明简化了操纵杆串口驱动加载过程,针对操纵杆力敏移动位移特点过滤回弹过程数据,缩短了操纵杆移动事件转化为鼠标事件的响应时间,同时可兼容其他类型鼠标配置使用,并保证了系统的接口性能和安全性。

主权项:1.一种vxworks系统下基于windml的操纵杆串口驱动设计方法,其特征在于,所述方法包括如下步骤:步骤1:配置windml虚拟鼠标设备;为了vxworks系统能将操纵杆移动事件模拟成系统鼠标事件,同时为了兼容系统正常使用其他类型鼠标,不占用其他类型鼠标的系统事件,需要在windml配置文件中添加虚拟鼠标设备;通过调用虚拟鼠标设备的鼠标事件实现操纵杆移动事件转化为鼠标移动事件的目的;步骤2:基于windml虚拟鼠标设备实现操纵杆串口驱动;所述步骤2包括:步骤21:初始化串口设备使用环境;步骤22:解析串口数据获取操纵杆发送的力敏调节坐标;步骤23:根据操纵杆回弹过程速率过滤回弹力敏调节坐标值;步骤24:将过滤后的力敏坐标值转为系统鼠标事件;通过以上步骤,实现操纵杆在vxwork系统下的串口驱动功能;其中,所述步骤1具体包括:步骤11:创建windml工程;步骤12:在工程中打开config.windml文件添加display设备,根据需求添加PS2或者USB鼠标;步骤13:用文本编辑器打开config.windml中手动添加虚拟鼠标设备配置语句;其中,所述步骤21包括:首先,在vxworks系统所接的设备中,指定与操纵杆通信的串口设备描述符;其次,通过vxworks系统函数打开与操纵杆通信的串口设备;然后,配置串口的波特率、校验位参数;最后,创建串口接收任务进行操纵杆串口数据接收;其中,所述步骤22包括:首先,通过串口接收任务,获取操纵杆设备发送的移动事件数据报文内容;然后,对报文的进行合法性验证,对于不合法的报文进行滑窗处理,减少串口数据的丢包率;如果报文合法,则获取移动事件数据报文内容中操纵杆相对中心点的力敏调节坐标x,y;其中,所述步骤23包括:首先,根据操纵杆串口发送的数据速率估算单点移动的最大距离MLS;然后,计算本坐标点相对上次坐标点的单点移动位移;其次,比较单点移动位移与MLS过滤回弹过程的坐标点,过滤其中的回弹力敏调节坐标值;其中,所述步骤24包括:首先,将力敏坐标点与中心点在X和Y轴上的相对位移乘以比例值rate获取本次操纵杆的鼠标相对移动点;然后,将鼠标移动点作为虚拟鼠标设备的鼠标事件函数的输入参数;最后,通过调用虚拟鼠标设备的鼠标事件函数模拟成系统鼠标事件;其中,所述步骤21中创建串口接收任务进行操纵杆串口数据接收的过程中,循环使用vxworks系统的ioctl函数判断串口端口是否有新数据接收;当接收长度大于零时,则使用read函数读取串口数据;其中,所述步骤22中,通过串口接收任务获取的串口数据经过报文合法性判断后才能获取正确的操纵杆力敏坐标值,具体为:将本次接收到的所有串口数据存放到临时数组Temp;对临时数组Temp中的每一个数据依次进行处理,并对合法数据的总个数count进行计数,当总计数count为帧头个数时,判断帧头是否符合要求,存入缓冲数组,不符合则置总计数count为1继续处理后续数据;当总计数为帧长度时,判断帧尾和校验和是否符合要求,如果符合要求则计算操纵杆的力敏调节坐标x,y并将总计数置0,否则在缓冲数组中从第一帧头位置z1到总计数所指位置中继续查找第二个帧头:如果找到,则第二个帧头位置z2后所有数据移位到数组头并将帧长减去z2赋值给count;如果没找到则将count置1;判断处理的个数是否小于本次接收的串口数据个数,如果是则继续处理,如果不是则退出本次循环;其中,所述步骤23中,如果步骤22中获取了有效的力敏坐标点数据,则判断该数据是否属于操纵杆自动回弹过程中发送的点数据;具体步骤如下:设定操纵杆左右移动的总位移为S0,上下移动的总位移为S1;每次回弹过程中操纵杆发送的点个数为N,则点与点之间的横坐标平均距离为D0=S0N,纵坐标平均距离为D1=S1N;假使中心点坐标为x0,y0,本次接收到的力敏坐标点为x2,y2,上次接收到的力敏坐标点为x1,y1,设定d0=|x1-x2|,d1=|y1-y2|,判断d0与D0的大小,以及d1与D1的大小;当d0D0且d1D1时,判断此力敏坐标点符合要求;其中,所述步骤23中,如果步骤23中获取了非回弹过程的力敏坐标点数据,将操纵杆移动事件模拟成系统鼠标事件;具体步骤如下:根据力敏坐标点计算屏幕光标的坐标点;设定换算比例值rate,操纵杆移动的方向为左正右负,上正下负;屏幕光标的坐标点的x3=x0-x2*rate,y3=y2-y0*rate;将屏幕光标的坐标点作为虚拟鼠标事件的输入,模拟系统鼠标事件。

全文数据:

权利要求:

百度查询: 天津津航计算技术研究所 vxworks系统下基于windml的操纵杆串口驱动设计方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。