忍者ブログ
  • 2024.04
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 2024.06
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【2024/05/04 19:23 】 |
USBキーボードの信号について
昨日に引き続き、USBキーボードの信号について

課題①については、
KT software様(http://kts.sakaiweb.com/index.html)の
Keymillというソフトで、既製品のUSBキーボードの動作を確認して、
それと同じような動きになるようにプログラムを修正したところ、
想定する動作をさせることができるようになってので、解決できたと思います。

課題②については、
AN58726にキーコードを入力する配列の内容について記載してありました。
Keyboard_Data[2]~[7]に同時にキーコードを格納することで、ボタンを同時入力できたました。
正しく仕様を確認していないですが、USBキーボードの仕様だと、6ボタン同時入力が最大だと思います。


図:Keyboard_Dataの構造


と、いうわけで昨日課題とした内容は、
なんとなくで、解決することができました。

ほかのマイコンもそうなのかもしれないですが、
PSoCはサンプル・アプリノートが充実してて、
なんとなくで動かせてしまうのが、便利ですね。
逆に細かい仕様を把握せず動かしているので、
機能変更が難しかったり、予期せぬバグがでてきそうですが。
(このソフトも愚直に記述しています)

また、補助キー(capsとかctrlとか)の処理ができるようになれば、USBキーボードを作成できそうです。
あと、キーコンフィグとかできるとより良いですね。

とりあえず今回の目的は、手元のゲームで遊べるコントローラを作ることだったため、
そこまでは到達できたかなと思います。
PR
【2017/08/16 08:58 】 | PSoC | 有り難いご意見(0)
キーコードの受信タイミング
結局、上下左右もスイッチ入力にして、入力可能にしました。
8入力スイッチのキーボードとなっています。

トップデザインはこんな感じ。
中身は、PSoCのサンプルまんまです。

図:トップデザイン

とりあえずやりたいことができるようになったので、ひとまずとします。

◆課題(気が向いたらやりたい程度)

PSoC Creator上では問題なく動いてるように見えましたが、
これでゲームをしたところ、
ボタン入力をしているはずなのに入力を受け付けないことが多かった。
ゲームとかだと60FPSであることが多いと思うけど、
それと同期しないと正しく動かないのでしょうか。


現在のソフトだと、同時押しに対応していません。
(ボタンを押下した1回のみ信号を出力しています)

【2017/08/16 00:12 】 | PSoC | 有り難いご意見(0)
ハットスイッチ問題?
せっかくゲームコントローラができたので、早速遊んでみようとしたところ、
十字キーとして正しく動作しない。
joystickとしては正しく反応しているように見えたが、
受け側との信号が正しく対応していないのではないだろうか。

・ハットスイッチ問題
http://pc98.skr.jp/post/2014/0311.htm

十字キーとして使うか、アナログスティックで使うか、切り替えられるようにしないと、
使えないみたいです。
十字キーとしてしか基本的にしようしないので、構成を直そうと思います。

HIDのキーボードの設定は、
AN58726のサンプルで設定の仕方を確認中。

サンプルのCompositeは自分の環境ではデバッグができませんでした。


図:Compositeをデバッグ時のエラー


また、USBキーボードのキーコードはサンプルと下記URLの内容を参照しています。
http://www2d.biglobe.ne.jp/~msyk/keyboard/layout/usbkeycode.html
【2017/08/14 16:08 】 | PSoC | 有り難いご意見(0)
PSoCで作るUSB-HID(2)
昨日の続きとなります。

USBFSの設定をアプリノート(AN57473)を読みながら
というか設定・ソースコードをコピーして、
Joystickとして認識させることができました。

作業中に問題となったのは、接続時にホストからのACK信号が帰ってこなかったことでした。
原因は、USBFSの設定ミスでした。
ちゃんとアプリノートどおりに設定していれば、何も問題なく動作させることができてたでしょう。


図:設定を間違ったところ



まんまサンプルを動かしただけですが、無事USBHIDを使うことができました。
USBの中身をこれっぽっちも理解せず、実装できるのが、いいところですね。
ちょうど手元にケースがあったので、それっぽくしました。


図:完成図



図:Joystickの動作確認
【2017/08/14 15:20 】 | PSoC | 有り難いご意見(0)
PSoCで作るUSB-HID
先日に引き続き、PSoC5について勉強中。

AN57473とFull Speed USB (USBFS) を見ながら設定します。

USBの仕様はまったくわかっていないが、
ドキュメントどおりに設定していけばできるだろうという魂胆で、
データシートの絵と一緒になるように設定。

サンプルコードをコピーしてビルド。

間違った箇所
・端子名のスペル
・ADCを単入力にしていなかった
変更した点
・LCDのモジュールはつけていないので、LCD関係のプログラムを削除

PCに挿したらjoystickとして認識されました。


PSoCは、中身がわからなくてもできてしまうのが、よいですね。
あとは、PC側にキーボードと同じ用に、ZとかXとか認識させる方法がわかれば、
作れるようになりそうです。
【2017/08/13 16:43 】 | PSoC | 有り難いご意見(0)
| ホーム | 次ページ>>