その13.ストリームのカーソル移動量を小さくしてみる ←その12に戻る 最初のページに戻る その14に進む→ |
1.センサの仕様書を良く読んでみる
ストリームに使われている光学センサはアジレントのADNS-2051というマウス用としてはスタンダードなものらしい。サイプレスのUSBコントローラ(だよな?)CY7C63***と組み合わせて使う事が推奨されているようだ。
その仕様書の表紙に「400/800カウント対応」と書いてあるのは、以前から気が付いていたのだが、カウント数について勘違いしていたので、あまり気にしてなかった。
そして、なんとか大きすぎる移動量を小さくする方法は無いか、とイロイロと無駄に考えていた訳だが、最初の頃はカウント数が違っても移動量が違わないのなら、コントローラー内で演算しているのでは?と思っていたのだけど、テスト結果などから想像するに、コントローラーでは何もしてなさそう。
センサのカウント数の設定は、コマンドを投げると変更できるようだが、現状で800カウントになっていると仮定すると、それを変更するにはまたコマンドを投げれば良い・・・と書くと簡単そうだけど、実際にコマンドを投げているのはコントローラーなので、そのファームを書き換える・・・なんてオレには無理に決まってるだろう。
では別の方法として、センサにリセットを掛けると設定が初期値に戻るらしい。カウント数の初期値は400カウントなので、リセット出来れば・・・しかし、これもリセットスイッチが有る訳でも、リセット信号ピンが有るわけでも無いので、結局コントローラーから信号を送る必要が有り、一つ目の方法と大差が無い。
むう、これは手も足も出ないか?と思いつつ、コントローラーからセンサを設定するタイミングは、電源投入時だろうか?であれば、電源を投入した後でセンサを起動したらどうなるのだろうか?
ていうか、そもそもセンサの電源を切ったらリセットされるんじゃなかろうか?
というような気がしてきたので、強引に電源を切るという実験をしてみる事にした。
2.実験してみる
というわけで、例のごとくストリームを分解し、通電したままセンサへのコネクタをぶっこ抜いてみた。そしてそれを再度差し込み、その前後で例のカーソル移動量のテストを行ってみた。
すると、移動量はぴったり半分になった。
通常の状態で、ストリームの移動量は800カウントだとすると、センサの電源オフによりそれが400カウントになっているように見える。
これは目論見通りに、センサのリセット後コマンドが投げられないので、初期値に戻り400カウントになっているという解釈が成り立つ。
まあ、このストリームもずい分と無茶ないじり方をしてるし、そのせいで挙動不審になっている可能性は否定出来ないけど、400カウントで設計してたのが800カウントになるような挙動に偶然なることは有り得ないと思うんだよね。
てことは、やっぱりコントローラーICからわざわざ800カウントになるようにコマンドを投げるファームが書き込まれているのは間違いなさそうだ。
てことは、少なくともファームを書いた人には800カウントにする、という仕様が渡ったと考えるのが妥当だろう。
・・・サンワサプライ(の中の人)。
一体、何を考えてるんだ・・・ _| ̄|○
ああ、何も考えてないのか。
とりあえず、ガックリしてても仕方が無いので、より実用的に電源ラインにスイッチを入れて運用出来るかどうか検証してみることにする。
これで、口を開けるのは何度目だろう、ネジもずい分緩くなってしまったな。などと思いつつケーブルを引っ張ったら、またしても接着してあったカップの足(この前のとは別の)がもげたので補修した。 センサ基板に入るVCCのラインに、余ってた適当なスイッチをかませた。
これで上手くいったので、もう少し小さくて、ストリーム本体の底面に実装できそうなスイッチに交換する予定。スイッチを切るとUSBを接続した状態で、センサのLEDが消える。 スイッチを入れると、センサのLEDが点灯する。
これで、センサへのコネクタごと抜き差しした時と同様にカウント数が400カウントになった。
現在、この状態で問題無いかテスト中。
センサに供給される電源を切って再投入するだけで、期待どおりセンサにリセットがかかって初期化するという動作になるようだ。
スイッチの切り替えでの動作は、スイッチを入れたままPCの立ち上げ、あるいはUSBへの接続で800カウントで動作する。その状態からスイッチをOFF-ONして、センサをリセットすれば400カウントで動作する。
ということで、大変に力技だけどカウント数の切り替えが可能になった。
この手は、センサにアジレントのADNS-2051か2030を使っていて、設定が800になっているマウス・トラックボールなら使えるかも(って他にストリームRくらいか、そんなの)。
無論センサ辺りに余計な負担を掛けていて、すぐに壊れてしまうかも知れないので、改造はあくまで自己責任で(こんな改造をする人はオレの他には誰も居ないと思うが一応)。