攻め方

あめりあです。
吐息が真白です。
いい加減、SPYZのシャッタースピードを知る術を取得したいですね。
→データシートに記載されてました。VV6500ではmin:7.94us max:66msだそうです。さすがに半導体スイッチでの露光なんで、こんな瞬殺シャッターが出来るんでしょうかね。

Che-ez! SPYZ F2.8 6.2mm
F2.8とは思えないこの絞り具合。目指せポラロイド。なな?よくよく考えてみると、SPYZはパンフォーカスなので相当絞るはず、なのにF2.8て。えー、ちょっとわかんなーい。
→スペック参照するとAEでした(暗いところでシャッター切れないんだから測光しているのに決まっているのにね)。絞り固定(開放絞り)でシャッタースピード(CMOS露光時間)を測光算出する仕組みだと思います。。ミニマム露光時間値が凄いもんね(1/12600位)。メカじゃ無理。

昨晩、STV0680のドライバにアクセス(I/Oマネージャへのパイプオープン)しようと試みましたが、該当GUID(stv0680.infに記載されているアレ)のドライバインタフェース列挙に失敗するため、シンボリックリンクさえ作成出来ない状態。
不甲斐無い。
SetupDiGetClassDevs()にてGUID直接指定しハンドルが取得が出来るので間違いないと思いこんでいましたが、試しに出鱈目なGUIDを指定してもハンドルが返ってくる。
あぁ。。そういうことか。→ http://msdn2.microsoft.com/en-us/library/ms791134.aspx
フリダシ。
・現状分析
 - dsc.exeを用いてrawデータをファイリングしたものを線形補間してppmフォーマットで出力するコマンドをC++で作成。
 - USBクラスでのデバイス列挙は可能
 - stv0680.infのGUIDはイメージングデバイスクラスGUID
 - ドライバセットの様々な付加dll群のエクスポート機能とか調べるの面倒だから放置中(調べるちゅうてもシンボル名から機能のアタリを付けるだけだから大して意味ない
・問題点
 - dsc.exeでわざわざrawデータファイリングするのが面倒
 - ppmファイルを変換ツールで圧縮するのが面倒
 - ドライバインタフェースの取得が出来ないのでシンボリックリンクが作れない
・今後の課題
 - SPYZへパイプ開いてプロトコル発行しrawデータの吸い出しを行う
 - 吸い出したrawデータをサイレントで指定フォルダへ圧縮保存
 - サムネイル表示とか不要
 - Webカメラ機能とか不要
・調査点
 - TWAINドライバ、イメデバドライバに対してUSBインタフェースを介した直結が出来るのか?
  → stv0680.sysが直結利用不可ならばドライバを作るのか
  → TWAIN/イメージングデバイスアーキテクチャをよく調べること
簡単に言えば、コマンド叩くかGUIボタンを押せばチューと吸い出して補間イメージを圧縮保存してくれるだけで良いのです(笑

        • -

Device Descriptor:
bcdUSB: 0x0110
bDeviceClass: 0xFF
bDeviceSubClass: 0x00
bDeviceProtocol: 0x00
bMaxPacketSize0: 0x08 (8)
idVendor: 0x0553 (VLSI Vision Ltd.)
idProduct: 0x0202
bcdDevice: 0x0000
iManufacturer: 0x01
iProduct: 0x02
iSerialNumber: 0x00
bNumConfigurations: 0x01

ConnectionStatus: DeviceConnected
Current Config Value: 0x01
Device Bus Speed: Full
Device Address: 0x01
Open Pipes: 1

Endpoint Descriptor:
bEndpointAddress: 0x82
Transfer Type: Bulk
wMaxPacketSize: 0x0040 (64)
bInterval: 0x00

普通にDDKのBulkusb定義を修正してアプリからバルキングでプロトコル流し込めば良い気がした。
USBデバイスとして見ると物凄く素直な子に見えるのになぁ。。
きっと私がどこかで間違えていると思う。けど、その間違いを探すのが面倒くさい(ぉお

        • -

SPYZ英語マニュアル
http://yasuar.com/Camera/images/SPYZ/spyz-e-manual.pdf