|
楼主 |
发表于 2019-9-26 15:34:50
|
显示全部楼层
本帖最后由 leon...... 于 2019-9-26 15:38 编辑
谢谢楼上的支持。正式发布:
目前是一个可以运行的程序版本,但程序还不完整,没有模式切换(摇柄和按键互换),宏定义,马达振动功能。还没有加入省电功能。
这是HID描述文件,同时,求大神传授马达控制方法
- const uint8_t reportMapJoystick[] = { //This is where the amount, type, and value range of the inputs are declared
- USAGE_PAGE(1), 0x01, // USAGE_PAGE (Generic Desktop)
- USAGE(1), 0x05, // USAGE (Gamepad)
- COLLECTION(1), 0x01, // COLLECTION (Application)
- REPORT_ID(1), 0x01, // REPORT_ID (1)
-
- LOGICAL_MINIMUM(1), 0x00, // LOGICAL_MINIMUM (0)
- LOGICAL_MAXIMUM(1), 0x01, // LOGICAL_MAXIMUM (1)
- PHYSICAL_MINIMUM(1), 0x00, // PHYSICAL_MINIMUM (0)
- PHYSICAL_MAXIMUM(1), 0x01, // PHYSICAL_MAXIMUM (1)
- REPORT_SIZE(1), 0x01, // REPORT_SIZE (1)
- REPORT_COUNT(1), 0x10, // REPORT_COUNT (16)
- USAGE_PAGE(1), 0x09, //(Button)
- USAGE_MINIMUM(1), 0x01,
- USAGE_MAXIMUM(1), 0x10, // 16
- INPUT_(1), 0x02, // variable | absolute
- LOGICAL_MAXIMUM(2), 0xff, 0x00, // LOGICAL_MAXIMUM (255)
- PHYSICAL_MAXIMUM(2), 0xff, 0x00, // PHYSICAL_MAXIMUM (255)
- REPORT_SIZE(1), 0x08, // REPORT_SIZE (8)
- REPORT_COUNT(1), 0x04, // REPORT_COUNT (1)
- USAGE_PAGE(1), 0x01, // USAGE_PAGE (Generic Desktop)
- USAGE(1), 0x30, // X axis
- USAGE(1), 0x31, // Y axis
- USAGE(1), 0x32, // Z axis
- USAGE(1), 0x35, // Z-rotator axis
- INPUT_(1), 0x02, // INPUT (Data,Var,Abs)
- LOGICAL_MINIMUM(1), 0x00,
- LOGICAL_MAXIMUM(1), 0x07,
- PHYSICAL_MINIMUM(1), 0x01,
- PHYSICAL_MAXIMUM(2), (315 & 0xFF), ((315>>8) & 0xFF),
- REPORT_SIZE(1), 0x04,
- REPORT_COUNT(1), 0x01,
- UNIT(1), 20,
- USAGE_PAGE(1), 0x01,
- USAGE(1), 0x39, //hat switch
- INPUT_(1), 0x42, //variable | absolute | null state
- END_COLLECTION(0) // END_COLLECTION
- };
复制代码
库使用的是nkolban/ESP32_BLE_Arduino,有了库一切都简单了。
源代码在这:https://github.com/kkaoo/esp32_hid
程序在电脑上测试通过,玩了一会玛丽兄弟,还不错,所有键的扫描时间是10MS,灵敏度很高的了。上图:
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|