[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: xircom cf ethernet
鈴木(康)です。
<200002280648.PAA15892@shin1.sm.sony.co.jp>の記事において
takemura@netbsd.orgさんは書きました。
|
| モロに私の作成した箇所なので、取り急ぎコメントしますが、
|
| > | | ところで、タッチパネルのキャリブレーションってできるんですか?
| > |
| > | MGL の demos にある tap.c をベースに作ろうと思っています。
| >
| > 作ろうと思ってやってみたんですが、WSMOUSEIO_SCALIBCOORDS をすると
| > システムが止まってしまいます。
|
| > __assert+80 (0,0,8035ce70,0) ra 800310fc sz 32
| > mips3_KernIntr+84 (c003c014,100000,10,c003c000) ra 8016d584 sz 120
| > mra_Y_AX1_BX2_C+284 (c003c014,10,10,100000) ra 10 sz 168
| > PC 0x10: not in kernel space
| > _DYNAMIC_LINK+10 (c003c014,10,10,100000) ra 0 sz 0
| > User-level: pid 152
| > db>
|
| mra_Y_AX1_BX2_C という関数は、重回帰分析をしています。
| Z=aX +bY + c の a, b, c を求める、二次の最小二乗法です。
| で、上記の例外は、浮動小数点ではなく、整数の算術例外では
| ないでしょうか。
止まった命令に f って入っていたんで、
浮動小数点とばかりおもっていました。
mflo v0
ってどういう命令なんだろ?
| カーネルがブッ飛んでいるのに偉そうなことは言えないのですが、
| もしかして、解けないサンプルを入力しているのかも知れません。
| (解ける条件は?と聞かれると困ってしまうのですが...)
取って来たものに対して、rawx,rawy を それぞれ+1 しただけなんで、
変なサンプルってことはないと思うんですが...
patch 添付したんで、変なことしているか確認してもらえませんでしょうか。
ちなみに、printf で get したのは、正しそうな値でした。
ついでですので教えて欲しいんですが、
キャリブレーションは次のようにすれば良いのでしょうか?
1) WSMOUSEIO_GCALIBCOORDS してデータをセーブ。
2) x = rawx , y = rawy にしたデータでWSMOUSEIO_SCALIBCOORDS する。
3) tap.c の動作で 5 点の座標を取って来る。
4) 採取した座標を rawx ,rawy にしたデータでWSMOUSEIO_SCALIBCOORDS する。
err) 失敗したら、セーブしたデータで、WSMOUSEIO_SCALIBCOORDS する。
| この関数は、デバイスドライバ初期化時に 1 回呼ばれているはず
| なので、全く動作しないということはないと思います...(弱気)
一回は動いているのは確かですね。
なにか条件が違うのかな。
--
鈴木 康司 @NEC
suz@hpc.bs1.fc.nec.co.jp
TEL 0423-33-5381