3660|11

359

帖子

9

TA的资源

一粒金砂(高级)

空中游戏手柄 [复制链接]

 
演示视频

https://training.eeworld.com.cn/course/4059/learn#lesson/9343

1.设计包含的功能 通过监测游戏手柄的角度变化和变化的强度,接入手机游戏,控制APP的执行过程,这个过程开发使用的是javascript,随着开发板的运动,显示出方向的变化。。2.实现的效果
2.1 接受sensortile的角度传感器信号,并显示出角度的变化。2.2 在这个基础上,sensorTile的编程和开发已经完成,能够提供准确自定义的的合适的数据信息。而且,也完成了在cavans上显示这个变化的数据。2.3 这个过程中,已经把x,y数据量化成小于1.28的数据,可以直接在X-Y平面上移动鼠标图形的位置,并导入到APP的程序控制中,因为时间不够,还没有完成。
2.4 这个数据可以在APP通过云后台连接到远方,这个拟接入OneNet中去,在以后的帖子中,把这个项目可以逐步演示出来。
3. 经验和总结
3.1 对于SensorTile这次项目,几乎没有按时完成项目。主要的原因是st提供的框架非常完整丰富,如果希望有自定义的功能,就必须把全部程序都读一遍,这个大概243M,十几万行程序。最核心的4个程序,也有3000行,需要仔细分析(main.c,sensor_service.c,uuid_ble_service.h,motenv1_config.h)
3.2 同时,必须对蓝牙协议熟悉,知道read,notify等的区别和应用。其中notify功能,如果没有要求的话,是不会发送数据的。
3.3 其中有个小坑,就是ST的框架中有2中更新数据的方式,一种是自动的notify和read,还有一个是用tim_channel_x,去定时启动,这里使用的是20Hz。所以,没有搞清楚,就会把2种同时用,这样,传感器的数据在很短的时间内,被两个调用刷新,使得数据传输始终是错误的,没有逻辑设计的数据。这个例程中,ramark了时钟驱动的信号,当然,时钟驱动的更节能和方便,我都测试过的。
3.4 主要的问题是这个过程中,导致的程序大,占用内存多,虽然这个对于强悍的,L476并不是问题。在解决以上的问题后,其实sensorTile可以直接进行工业开发,而且也不需要硬件开发了,这个sensorTile自带光环,可以直接嵌入在任何小尺寸的空间使用。
4. 开发过程,基于独立开发,所以在参数匹配,格式转换等基本的问题上,使用了比较多的时间。不过也发现了很多特点,更熟悉了这个产品。
不过,总算在最后调试通过了。这样的基础上,完全可以开发比较全面的产品了。这里也没有使用ST的姿态监测库,这样有更多的空间去创造子自己的方案。收获很大。

这个是SensorTile的工程代码,以及APP的javascript代码,可以用phoneGap直接生成手机apk程序包。
uuid_ble_service.h (6.09 KB, 下载次数: 6)
fyaocn.png

最新回复

太高深了,听不懂啊 期待你的作品早日完成  详情 回复 发表于 2017-5-8 12:55

回复
举报

5260

帖子

239

TA的资源

管理员

fyaocn参与活动的相关帖子如下:


加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

回复

9789

帖子

24

TA的资源

版主

游戏操纵杆应该用HID实现,如果你了解过HID,使用ST官方提供的例程做一些简单修改就能实现你要的功能,不需要从头学的

点评

谢谢。不过,不给自己找些麻烦,活动的意义就不大了。 还有,本来是希望基于这个做一个原生OS,直接访问sensor,这个项目编译后的文件都太大了,其实应该在8K内完成任务。 ST提供的中间层工具太多了,反倒不好用了  详情 回复 发表于 2017-5-5 16:26
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾

回复

2774

帖子

8

TA的资源

版主

嗯!跟着学习一下经验,我的还没有完成,正好参考下!

点评

注意数据格式,32位定义是前低位后高位。即使你定义8位发送,app也可能读出32位,其他的补零,一定要调试一下,因为这个耽误时间就不值得了  详情 回复 发表于 2017-4-28 20:57

回复

359

帖子

9

TA的资源

一粒金砂(高级)

strong161 发表于 2017-4-28 19:26
嗯!跟着学习一下经验,我的还没有完成,正好参考下!

注意数据格式,32位定义是前低位后高位。即使你定义8位发送,app也可能读出32位,其他的补零,一定要调试一下,因为这个耽误时间就不值得了

点评

提醒及时呀  详情 回复 发表于 2017-4-28 21:58

回复

2774

帖子

8

TA的资源

版主

fyaocn 发表于 2017-4-28 20:57
注意数据格式,32位定义是前低位后高位。即使你定义8位发送,app也可能读出32位,其他的补零,一定要调试 ...

提醒及时呀

回复

5260

帖子

239

TA的资源

管理员

fyaocn参与活动的相关帖子如下:



加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

回复

5260

帖子

239

TA的资源

管理员

fyaocn参与活动的相关帖子如下:



加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

回复

359

帖子

9

TA的资源

一粒金砂(高级)

littleshrimp 发表于 2017-4-28 16:24
游戏操纵杆应该用HID实现,如果你了解过HID,使用ST官方提供的例程做一些简单修改就能实现你要的功能,不需 ...

谢谢。不过,不给自己找些麻烦,活动的意义就不大了。这么做其实也很简单,就是格式匹配调试用的时间太多。
还有,本来是希望基于这个做一个原生OS,直接访问sensor,这个项目编译后的文件都太大了,其实应该在8K内完成任务。
ST提供的中间层工具太多了,反倒不好用了,功能简单,代码也应该简单。

点评

做一个原生OS听起来应该是很大的工程 小活动结束后还想继续做吗?  详情 回复 发表于 2017-5-5 16:42

回复

9789

帖子

24

TA的资源

版主

fyaocn 发表于 2017-5-5 16:26
谢谢。不过,不给自己找些麻烦,活动的意义就不大了。这么做其实也很简单,就是格式匹配调试用的时间太多 ...

做一个原生OS听起来应该是很大的工程
小活动结束后还想继续做吗?

点评

正在做这个东东。刚把最难的FramWork搞明白,剩下的就是堆时间码代码了。 1、现在kw41的活动中,先用zephyr演示一下,用Intel原生的VxWorks是如何实现的。 2. 做一个极简内核OS,实现同样的功能, 3、OS看似很大  详情 回复 发表于 2017-5-8 09:39
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾

回复

359

帖子

9

TA的资源

一粒金砂(高级)

littleshrimp 发表于 2017-5-5 16:42
做一个原生OS听起来应该是很大的工程
小活动结束后还想继续做吗?

正在做这个东东。刚把最难的FramWork搞明白,剩下的就是堆时间码代码了。
1、现在kw41的活动中,先用zephyr演示一下,用Intel原生的VxWorks是如何实现的。
2. 做一个极简内核OS,实现同样的功能,
3、OS看似很大,其实如果能框架正确,目标分解。就嵌入式OS的部分,其实并不是想象中那么难的。最难的是这个OS做出来就是没用的,或者已经有更成熟的,前期的调研和对比更重要,也确实是个巨大的工程。不过开始做的时候就不那么纠结了。
谢谢

点评

太高深了,听不懂啊 期待你的作品早日完成  详情 回复 发表于 2017-5-8 12:55

回复

9789

帖子

24

TA的资源

版主

fyaocn 发表于 2017-5-8 09:39
正在做这个东东。刚把最难的FramWork搞明白,剩下的就是堆时间码代码了。
1、现在kw41的活动中,先用zep ...

太高深了,听不懂啊
期待你的作品早日完成
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表