md update

This commit is contained in:
AnalogDragon 2023-06-26 19:03:54 +08:00
parent a052600373
commit 39b7de3459
3 changed files with 34 additions and 5 deletions

View File

@ -85,3 +85,28 @@ TK_usb_CH552_mini/软件适配单鼓硬件可以枚举成USB-HID键盘或n***
![系统框图](./HW/img/hardware.png "系统框图")
<center>系统框图</center>
# 做的一些裂开设计
主要是通过观察游戏运行的特征,去做体验上的优化。可能合理也可能不合理。
## 游戏软件运行的观察
- 输入频率限制ns平台的作品与虹均有输入频率限制经过测试这个频率每个player单个通道限制最高30次每秒四个通道一起限制60次每秒。超过这个频率的输入大概率就会被扔掉。
也就是说如果只敲左咚或者右咚则最多30打每秒而如果左右咚交替输入能提高到60打每秒。
- ns平台本身的硬件限制按键输入会有一个很长的滤波且按下与松开均需要一段时间才能生效。
在ns运行的游戏内这个一段时间大于20ms时不再出现丢输入。但是主页上20ms仍会无响应可能是ns可以允许输入滤波时间动态变化。
<br/>
## 输出交叉分配
功能实现放在了[USB 单片机](./USB-MCU/)
由于机能或软件运行方式,不同的软件支持的输入最大频率不同,分配输出主要原因是为了能使输入频率达到这台设备的上限。
表现就是在触发频率高的时候,同一个通道的输入会分配到另一个通道,不同的设备采取的方案不相同。
- ns按键消抖做的比较激进直接在有高频输入的时候优先分配给同侧的两个按键。
- 虹:游戏软件限制了全局输入的最高频率和单个通道输入的最高频率,可能是为了方便计算图像,这边限制了单一个通道的输入频率,且将同为“咚”的输入分配给空闲的通道。
![交叉分配](./USB-MCU/img/cross.png "交叉分配")
适配虹的交叉分配示意图

View File

@ -10,7 +10,7 @@ MCUCH552IDEKEIL 4
</br>
## 软件流程
软件按照如下运行
软件按照如下流程运行
```
采样输入 -> 输出频率限制 -> 分配输出 -> 键值映射 -> USB
@ -27,9 +27,13 @@ n******o switch限制输入信号的时间为20ms按下与抬起都为20ms左
</br>
### 分配输出
分配输出主要用于使输入频率能达到这台设备的上限,不同的设备采取的方案不相同。
- 虹由于有着所有通道最高60Hz同颜色最高30Hz的频率限制所以在这里会缓存每个通道3次输入并将多出来的“咚”分配到另一个鼓面使输入带宽占满。
- nsns的键位通常为左右手各4个按键在输入频率高的时候需要将其分配到不同的按键上比如说Y与B都为“咚”则输入频率高的时候的时候Y与B交替键入频率低的时候只键入B
由于机能或软件运行方式,不同的软件支持的输入最大频率不同,分配输出主要用于使输入频率能达到这台设备的上限。
表现就是在触发频率高的时候,同一个通道的输入会分配到另一个通道,不同的设备采取的方案不相同。
- ns按键消抖做的比较激进直接在有高频输入的时候优先分配给同侧的两个按键。
- 虹:游戏软件限制了全局输入的最高频率和单个通道输入的最高频率,可能是为了方便计算图像,这边限制了单一个通道的输入频率,且将同为“咚”的输入分配给空闲的通道。
![交叉分配](./img/cross.png "交叉分配")
适配虹的交叉分配示意图
</br>
@ -56,7 +60,7 @@ n******o switch限制输入信号的时间为20ms按下与抬起都为20ms左
</br>
### 单鼓软件
单鼓软件内集成了三种模式分别是ns模式盗用了HORI的PID/VID适配虹的键盘模式锁60Hz输入适配其他太鼓软件的键盘模式解锁限制并关闭分配输出三种。
单鼓软件内集成了三种模式分别是ns模式借用了HORI的PID/VIDns只校验了PID/VID没做其他加密适配虹的键盘模式输出锁60Hz输入适配其他太鼓软件的键盘模式解锁限制并关闭分配输出三种。
- 修改`CompatibilityHID.C`内的宏`MODE_STARTUP`,则可以修改启动时候默认的模式。
- 启动前1s内按如下按键则可以切换模式

BIN
USB-MCU/img/cross.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB