2013年09月14日

USB-IO関連iAG用PluginおよびASCOM Driverの整備

 iAGのUSB-IOv1/v2向 Telescope Control PluginおよびExposure Control Pluginと、ASCOM USB-IO Telescope Driverに少し手を加えました。
 内容的には、従来はデバイス側に書き込んみっぱなしで、デバイスからの戻り値は確認していなかったのですが、これを確認するようにしました。またASCOM Driverはより仕様に沿った実装になるよう修正しました。

 これらのPluginおよびDriverは、HIDとしてOSから認識されますので、その制御に、CodeProjectにある"A USB HID Component for C#"(http://www.codeproject.com/Articles/18099/A-USB-HID-Component-for-C)を使用しています。しかし、これの読み込み関数は非同期読み込みしか用意されておらず、USB-IOの戻り値を確認しようとするとタイムラグが発生したり、品質ももうひとつの傾向がありました。
 そこで元のライブラリに同期読み込みのメソッドを追加実装して、値を書き出し後、そのまま処理の中で戻り値をチェックするようにしました。
 なおUSB-IO2.0(Aki)は「出入力機能」がなく「入出力機能」だけのため、単純には出力の戻り値を拾うことができないため、依然として書きっぱなしの状態にしています。
 手持ちのUSB-IOはTechnoKit版とUSB-IO2.0(aki)だけですが、これらでは一応まともに動いてそうです。
 他のUSB-IOシリーズでも動作すると思いますが、今のところ未検証です。

 あとASCOM Driverの方はSiderealtime値の計算の実装や、Exceptionのはき方をASCOMの流儀に変える等の修正を行い、Conformance CheckerでのERROR数は残り2つとなりました。残るはRA値とDEC値の取得の部分なのですが、NotImplementを返してもChecker上はERRORになるため、今のところ放置しています。適当な値を返しても良いのですが、それではあまり意味がありませんので。

 今回修正したものは以下においております。いずれも実戦でのチェックはまだ行なっていませんのでご留意ください。

iAG Telescope Control Plugin for USBIOv2 v0.9.5
iAG Exposure Control Plugin for USBIOv2 v0.9.5
http://www.swetake.com/astro/iAG/iAG.html

ASCOM USB-IO Telescope Driver 0.3.0
http://www.swetake.com/astro/ASCOM_USBIO/index.html


posted by 開発者 at 20:25| Comment(0) | TrackBack(0) | 機能 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。