ラベル オプティマイズ の投稿を表示しています。 すべての投稿を表示
ラベル オプティマイズ の投稿を表示しています。 すべての投稿を表示

2008年3月18日火曜日

とりあえずの「変なキーボード」 というページ

around@taichi - around@taichi

例の自作したキーボードについて、
ここに載せた写真数点(まだ全部作業していないだけですが)などを

いつものページ、というほど頻繁に載せていませんが
このページとりあえずの「変なキーボード」 というページを追加しました。

ファームウェアソースも見れるので
みなさまごひいきに~

2008年3月17日月曜日

変なキーボード5

今回は写真なしです…

小さな箱(タッパーなんですが)に入れていた基盤は
はじめは細いリード線で配線したまま箱につっこんでいたのですが
あとから一本一本丁寧にテープで留めて絶縁しました。

思わぬ接触があったようで、予期せぬ動作は
この絶縁作業でなくなりました。


また、スイッチもハンダゴテのあてすぎで
内部が溶けちゃって、常時通電状態というものが2つありましたので
取り替えました。
(中が溶けてたのは分解して確認しました…)

チャタリング対策をハードウェア的にとっていないので
ファームウェアでウェイトをかけて吸収するようにしているのですが
スイッチの重さと指の力のかねあいか、なんだかわからないですが
2回押したつもりが3回入力されたりすることがあって
(薬指で操作するスイッチで頻発)、もしかしたらそのスイッチを取り替えると
うまく行くのかもしれません。


このへんなキーボードをEM・ONEにつないでみたところ、
当然のようですがキーボードとして使うことができました。

あとはブート時にBIOSが認識してくれるかどうかを実験する必要があります。


この後する事は
 チャタリング対策のためのウェイト時間の最適化
 キャップスロック等のLEDの実装
 マウス機能の実装
 ファームウェアの公開
 キーマトリックスの公開

といったところでしょうか。

ファームウェアとキーマトリックスはとりあえず現在のものを公開すべく
準備中です。

変なキーボード4

今日の1つ目は、醜いのですが
スイッチの下側の配線のごちゃごちゃ具合です。


2つ目は、右のモジュールの側面です。
スイッチを支えているアクリル版が半透明なので、配線が透けて見えています。


3つ目は右のモジュールの親指部分です。
こちらにはマイクロスイッチの針金が1本だけついています。


4つ目は、右のモジュールの奥側 人差し指から小指までで操作するスイッチです。

2008年3月13日木曜日

変なキーボード3

↓これは左のモジュールのキーマトリクスの基盤です。
逆流防止のダイオードと、上のほうにプルアップ抵抗が写っています。


↓これは左モジュールのキーの奥側です。
モードを切り替えながら使うキーボードなので、キートップへの文字の表示は
意味がないというか文字が小さくなりすぎるので やめました。
↓これは左手の親指用のキーです。
白いキーが前後に2つあり、さらに左右に針金がのびているのが
この写真なら見えるのではないでしょうか。
この針金2本と右手の親指でも1本あつかうので
合計3本の針金(マイクロスイッチ)でモードを切り替えます。

変なキーボード2

↓一枚目は、左のモジュールを上から撮影したものです。
見ての通り、キーがかなり少ないです。
左から、小指で4つ、薬指と中指で2つずつ、
人差し指で4つ、親指で2つです。
この写真では見えないのですが、親指にはあと2つ、マイクロスイッチから延びた針金があり、
これでモードを切り替えながら打鍵します。



↓2枚目は、USBケーブルが出ている方の箱のふたを開けたところ。
オプティマイズさんのFX2はピンが順番通りに出ていないのと
同じピンに複数のスイッチなどをつなぐことがあるので、ピンの整列と
各ピン毎に2つずつコネクタをつけられるように
ユニバーサル基盤を一つ挟んでから左右のモジュールに配線しています。
これから先、まだまだ機能を追加していくので
その際の接続もここに行います。



↓3枚目は、上の写真の箱の裏側です。
オプティマイズさんのFX2がうっすらとみえる…はず…
ピンク色の線は、ファームウェアを書き換えるときに一旦はずすジャンパピンに
スイッチをつないで箱の上から操作するためのものです。
そのスイッチを押しながらUSBケーブルをPCに接続するとファームウェアを書き換えることができるようになります。

2008年3月12日水曜日

変なキーボード1





1枚目は、全景です。
左右の黒いのが、今回作ったキーボードです。

2枚目は左の、
3枚目は右のモジュールです。

2007年9月10日月曜日

string descriptorは偶数アドレスから始めること

今回の注意点!
  • string descriptorは偶数アドレスから始めること
  • endpointへの書き込み(ホストへの報告)のバイト数はdescriptorどおりであること


シバ某様、ありがとうございます。

お時間を頂戴して、私の汚いコードをごらん頂き、
かつ、オプティマイズさんの掲示板(No.169)に丁寧な解説も付けてくださいました。

で、修正してみました。
ご指摘いただいたように、ファームの書き込み後に、1回目の接続ではマウス部分がエラーになり、
2回目の接続でマウスとして認識されます。

string descriptorは報告されたようです。


2回目でないと認識してくれない理由は、、、、

なんでしょうねぇ。
ホストが聞いてくる順番で答えてない、と言うことなのでしょうか。
なんかのアドレス指定が入れ替わってたりして。。。

詳しくはこちらのページに書きました。

がんばるっす!
またこちらにファイルを載せておこうと思います。
こちらのページからごらんになって、みなさまのお知恵を頂戴できれば幸せです。


当ブログ内Link

2007年6月14日木曜日

EZ-USB FX2LPのEEPROMに書き込みむ

EZ-USB FX2LPのEEPROMに書き込みむ方法を、ようやく会得しました。
時間かかりすぎだ〜

対象は、オプティマイズさんのMINI FX2 です。

まず、EEPROMと書かれた方のジャンパピンを抜いてからMINI FX2 ボードをPCに挿します。

挿したらジャンパピンを戻します。
オプティマイズさんのサイトに書かれているように、EEPROMの先頭に0xFFを書き込みます。
Downloadボタンを押して
C:\Cypress\USB\CY3684_EZ-USB_FX2LP_DVK\1.0\Firmware\Vend_ax\Vend_Ax.hex
C:\Cypress\USB\Examples\FX2\Vend_Ax\Vend_Ax.hex
をダウンロードします。
Vend Req というボタンが左端にあるところに次の値を入力します。
Req: 0xA9
Value: 0
Index: 0
Length: 1
Dir: 0 OUT
Hex Bytes: ff
Vend Req というボタンをクリックします。
下のペインに  0000  FF   と表示されたらOKです。

書き込めたら、PCからMINI FX2 ボードを抜きます。

つぎにまた
MINI FX2 ボードをPCに挿しますが、このときはジャンパピンは刺したままでOKです。

オプティマイズさんのサイトに書かれているように、iicファイルをダウンロードします。
EEPROMボタンをクリックして、目的のiicファイルを選択するとダウンロードされます。

以上

2007年2月27日火曜日

やっぱり分からない、ボールの動きのカウント方法

腱鞘炎が我慢できないくらい痛くなってきてます。

もう、ここが攻殻機動隊の世界なら、脳から直接PCに入力しているところです。
本物の腕と同じかそれ以上の制御が出来て、感覚があるなら、
義体化してもいいと思うほど。

が、この浮世ではそうもいかないので
自分の理想とする入力デバイスを作ろうとしているのですが…

トラックボールデバイスをバルクで買ってきました。
分解して、フォトトランジスタへの入出力の線を引き出しました。
で、これをオプティマイズ(電子工作・ゲームハード解析)さんのEZ-USB FX2 (56ピン)に接続して
ファームウェアを書けば出来上がり!
のはずでしたが、

なんとまあ、どうやってカウントしたものやら。

フォトトランジスタからのパルスがあったら、
もう一本の電圧を調べて、
プラスするべきかマイナスするべきかを判断し、
カウンタ変数に保存して、
ホストからのエンドポイント0が届いたら、
その変数の値を教えてあげる。

こういう筋書きで行こうと思っているのですが、
INT0とINT1の外部エンドポイントでの処理を
どうやってソースに書けばいいのか、さっぱり分かりません…

泣き泣きです。
もう一度、いちから勉強しようと、
眠すぎる頭で考えているような思っているような妄想しているような毎日です…

2007年1月12日金曜日


この写真は、オプティマイズ(電子工作・ゲームハード解析)さんのEZ-USB FX2 (56ピン)です。

めんどくさがりの私は製作まで注文しちゃいました。
早くこいつと遊びたいのに。

時間が作れず。