Skip to content

Commit

Permalink
Apply suggestions from code review
Browse files Browse the repository at this point in the history
Co-authored-by: Takeshi ISHII <[email protected]>
  • Loading branch information
shelaf and mtei committed Jan 27, 2021
1 parent 39a78e3 commit b41a43a
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions docs/ja/feature_debounce_type.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ voltage +----------------------
----> time
```

しかし実際の世界では、値が最終的に落ち着くまでに 0 と 1 の間を行ったり来たりする接点バウンスを見ることになるでしょう。(訳注:日本語では、チャタリングと呼んでいることが多いです
しかし実際の世界では、値が最終的に落ち着くまでに 0 と 1 の間を行ったり来たりする接点バウンスを見ることになるでしょう。(訳注:日本語では、バウンスとチャタリングを区別せずにチャタリングと呼んでいることが多いようです。
```
+-+ +--+ +-------------
| | | | |
Expand All @@ -39,17 +39,17 @@ voltage +----------------------
```

多くのデバウンスメソッド(全てではないですが)は、デバイスにノイズ耐性を持たせます。
ノイズの影響を受けやすい技術を使っている場合は、ノイズを軽減するデバウンスメソッドを選択しなければなりません
ノイズの影響を受けやすい技術を使っている場合は、ノイズを緩和するデバウンスメソッドを選択しなければなりません

## デバウンスアルゴリズムの種類

1) 時間の単位: タイムスタンプ (ミリ秒) vs 周期 (スキャン)
* デバウンスアルゴリズムは1つの「デバウンス時間」パラメータを持つことがよくあり、スイッチ接点の最大整定時間を指定します
* デバウンスアルゴリズムは1つの「デバウンス時間」パラメータを持つことがよくあり、スイッチ接点の最大セトリング時間を指定します
この時間は様々な単位で測定される場合があります:
* 周期ベースデバウンスは n 周期(スキャン)待機し、matrix_scan ごとにカウントを1減らします。
* タイムスタンプベースのデバウンスは、変更が発生したミリ秒のタイムスタンプを格納し、経過時間を計算するために減算を行います。
* 通常、タイムスタンプベースのデバウンスは、特にノイズ耐性のあるデバイスで優れています。なぜなら、物理スイッチの整定時間は時間の単位で指定されており、キーボードのマトリックススキャンレートに依存しないからです。
* 周期ベースのデバウンスは劣ると見なされる場合があります。なぜなら、補正できる整定時間がマトリックススキャンコードのパフォーマンスに依存するからです
* 周期ベースのデバウンスは、補正できる整定時間がマトリックススキャンコードのパフォーマンスに依存するため、劣ると見なされる場合があります
周期ベースのデバウンスを使う場合、スキャンコードのパフォーマンスを大幅に向上させると、デバウンスの効果が低下する場合があります。
周期ベースのデバウンスが望ましい状況は、ノイズが存在し、スキャンアルゴリズムが遅い、もしくは速度が可変である場合です。
デバウンスアルゴリズムが基本的にノイズ耐性がある場合でも、スキャンが遅く、タイムスタンプベースのアルゴリズムを使っている場合は、
Expand Down

0 comments on commit b41a43a

Please sign in to comment.