SSブログ

WindowsXP USBドライバ開発 [プログラミング]

問題を抱えてしまった。
【現象】
USBケーブルでターゲット接続して、DeviceOpen,PipeOpenした状態で、
USBケーブルを抜き挿しする。
APからPipeClose,DeviceCloseを行うと、2度とDeviceOpenできない。
再度USBケーブルを抜き挿しするとOKとなる。
この問題はWin98では発生しない。
【調査】
USBケーブルを抜いた時に発生するメッセージイベントでは、
Win98とWinXPで下記の違いがある。
Win98ではIRP_MN_REMOVE_DEVICEが発生するのに対して、
WinXPではIRP_MN_SURPRISE_REMOVEとなる。

IRP_MN_SURPRISE_REMOVEが発生した時、
DeviceOpen、PipeOpen状態で、
続いてUSBケーブルを挿入すると、
CallUSBDにてc000009dのエラーとなり、
処理がUnloadまで至らない。 ※1
DeviceOpen、PipeOpenされていない状態では、
エラーにならず、続いてIRP_MN_REMOVE_DEVICE
が発生してUnloadとなる。

c000009dはデバイズの準備が整っていないエラーである。
このエラーが発生した場合の後処理に問題があるようだ。
【対策】
IRP_MN_SURPRISE_REMOVEが発生するときにも、
IRP_MN_REMOVE_DEVICEと同じ処理をするようにした。
※時間がないので結果オーライで対策したが、もっと良い解決方法があると思う。


モバイル端末利用 [調査]

アドエスを利用して業務改善するお手伝いをすることになり、
調査中である。
とりあえず、検索してみた。
http://www.itmedia.co.jp/enterprise/articles/0707/24/news005.html
http://www.itmedia.co.jp/enterprise/articles/0705/30/news006.html
http://www.itmedia.co.jp/enterprise/articles/0707/18/news097.html
重要なことは、なにが問題であるかを調べることからとなる。
客先担当者の興味レベルでスタートしたこの問題をどう進めるかを
決めていくにはかなりの時間が必要になりそうである。


何語? [調査]

何語かがわかるソフトが格納されているHPです。

http://www.polyglot3000.com/

情報収集がインターネット依存するようになって、
せっかく探し当てた情報が、何語かがわからない場合があり、
翻訳すらできない。
その様な場合に使えるのがこのソフトです。


Linuxデバイスドライバー情報 [調査]

今度仕事でLinuxデバイスドライバーを開発することになりそうなので、情報収集を行った。
この本は必須と思われる。
①Linuxデバイスドライバ 第3版
http://www.oreilly.co.jp/books/4873112532/
②詳解Linuxカーネル 第3版
http://www.bk1.co.jp/product/2759436
③Linuxカーネル2.6解読室 (単行本)
http://www.cbook24.com/bm_detail.asp?sku=4797338261


水電池 [調査]

1800年イタリアの物理学者が発明したボルダ電池がもとになっている。
テレビ東京のWBCで放映された。
http://www.tv-tokyo.co.jp/wbs/2006/10/25/toretama/tt.html


人との出会い [モチベーション]

怪物経営者は
夢や目標を信じ高いモチベーションを維持して、
コツコツと努力している。
自分の夢、人生に大きな刺激を与えてくれそうな人を
見出し、積極的にアプローチして対面を果たす。
人との出会いに刺激を求める気持ちが大切です。

人と会って情報を引き出す能力を持ちたい。

『一冊の手帳で夢は必ずかなう』熊谷正寿 著より


アクティビティ図の応用 [UML]

料理にアクティビティ図を利用サイトを見つけました。
このサイトはなかなかです。
http://d.hatena.ne.jp/gutskun/20060920/1158717360


HSPサンプル動作確認:ファイル保存 [調査]

onerror gosub *txt_save ;エラー発生分岐定義
notesel buf
noteload "test.txt" ;既に存在する場合にbufに読み込む
mesbox buf,200,200,1 ;表示
button gosub "save",*txt_save ;saveボタンが押された場合はtxt_saveへジャンプ
button goto "end",*txt_end ;endボタンが押された場合はtxt_endへジャンプ
stop
*txt_save ;saveボタンが押された場合の処理
notesave "test.txt"
return
*txt_end ;endボタンが押された場合の処理
end


イヤホン購入でインピーダンス? [調査]

イヤホンを購入したとき、インピーダンス:16Ωと記載されていた。
ちょっと気になったので調べてみた。
インピーダンスとは回路に交流電流を流した際に生じる抵抗(交流抵抗)。
下記HPは判りやすい説明がある。
http://home.s00.itscom.net/large/ELEC/orm/index.html
コイルにて生じて、交流のみで発生する。
周波数が高い程、インピーダンスも高くなる。
インピーダンスを表す場合は周波数の記載もある。
イヤホンの規格には再生周波数帯域:18~22,000Hzとなっていた。
とすると、22,000Hzで16Ωの理解でよいのかな。


HSPサンプル動作確認:カーソル追尾 [調査]

カーソルを追尾して向きをかえるサンプルの動作確認

screen 0,320,240
cx=160:cy=120 ; 中心のX,Y座標
repeat
redraw 0
dir=atan(cy-mousey,cx-mousex)
color 255,255,255:boxf
color 0,0,0:pos 0,0
mes "mouse=("+mousex+","+mousey+") dir="+dir
grect cx,cy,dir,100,100
redraw 1
await 20
loop

三角関数で角度計算をしている。
動きが速く、いろいろ応用次第では使えそう。


この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。