2013年09月15日

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

 昨晩updateした、USB-IO向けiAG用PluginおよびASCOM Driverですが、折角なので、USB-IO2.0(Aki)を用いた半アッセンブリを追加で用意し、USB-IO Technokit版とともに追加検証を行ないました。

IMG_0349s.jpg
USB-IO2.0(Aki)を用いたリレーユニット半アッセンブリ

 USB-IO2.0(Aki)は起動時(USB接続時)は各ポートがLowレベルになるため、Technokit版を使用した際に用いた吸い込み型の設計では、起動時全リレーがON状態になります。今回は手持ちの基板のパターンを一部カットし、また、わたり線を這わして、ポートがHigh時にリレーがONになるよう変更して作製しました。
 ちなみに、仕様書をよく読んでみると、ポートの初期状態を設定できないのはUSB-IO2.0(Aki)だけで他のUSB-IO2.0ファミリは設定できるようです。

 これを用いて検証をすすめていくと、以下の問題が発生しました
1.レスポンスが悪い
2.少し不安定なときがある。

 レスポンスが悪い件ですが、USB-IOからの戻り値を読み込むときに時間がかかっているようでした。仕方がないので、読み込みロジックを外してやると、いい感じになります。仕方がないので、最初の仕様と同じ書き込み一辺倒の仕様に戻すことにしました。
 不安定問題も読み込みロジックを外したものでは発生しませんので、このあたりの問題のようです。

 更新したものは以下においております。

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

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



posted by 開発者 at 22:23| Comment(0) | TrackBack(0) | 機能 | このブログの読者になる | 更新情報をチェックする

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) | 機能 | このブログの読者になる | 更新情報をチェックする

2013年09月08日

ASCOM USB-IO Telescope Driver

 ASCOM Platformのサービスパックをあげたついで(?)に、USB-IO用のASCOM Telescope Driverを書いてみました。
 これにより、iAGでASCOM経由のUSB-IO制御ができるだけでなく、例えば PHD Guiding 等のASCOM対応アプリケーションでUSB-IOを用いたリレーボックスでの制御が可能になると思われます。
 とはいえASCOMのAPI的にはPulseGuideしか対応させておりませんので、その他のAPIをコールするような挙動を示すアプリケーションではうまく動かないかもしれません。

 ベースロジックはiAGのUSB-IOv2プラグイン(http://iag.seesaa.net/article/299002242.html)と同じです。ですので、従来型USB-IOとUSB-IO2.0の両方に対応し、またActiveLow/ActiveHighの切り替えが可能となっています。回路は従来型はActiveLow設計、2.0はActiveHigh設計が良いかと思います。

setup_img.png

 一応 iAG と PHD Guiding で机上のチェックしてみて、問題はなさそうな感じですが、実戦でどうかとか、他のアプリケーションでうまく動くか、USB-IOの種類によってどうか等々、α版レベルの品質と思いますので、利用の際はご注意ください。

http://www.swetake.com/astro/ASCOM_USBIO/index.html
においています。
posted by 開発者 at 00:01| Comment(0) | TrackBack(0) | 機能 | このブログの読者になる | 更新情報をチェックする

2013年09月07日

ASCOM Platform 6.0 SP2

 かなり出遅れていますが、6月にリリースされたASCOM Platform 6.0 SP2をインストールしてみました。

 ascom6sp2_install_s.png

 とりあえずTelescope Simulator for .NETを試してみましたが、動作はかなり改善されているようで、机上ではわりとまともに動作しています。全体的にある程度bug fixが進んでいることが期待されますので、実機側もupdateしてみたいと思います。
posted by 開発者 at 15:43| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2013年05月19日

DirectShow向CaptureDeviceプラグインのバージョンアップ

 従来DirectShow向けのCAptureDeveiceプラグインは640x480の入力を前提としていて、それより大きい解像度での入力した場合は640x480にリサイズして処理していました。
 この場合、カメラの解像度を十分活かしきれないという課題があり、これに対するご要望がありましたので、入力画像を640x480のサイズで切り出す機能を実装してみました。

config.png
設定画面

[カメラ設定]をクリックすると上記画面が表示されます。従来の設定画面は[プロパティ表示]で表示されます。
 この画面で「トリミングを有効にする」にチェックを入れると等倍で切り出して表示します。
切り出す位置は9つのラジオボタンが対応しています。

 なおカメラの解像度は起動時にのみ設定可能ですので、この機能を利用するには起動時に640x480以上の設定にしておく必要があります。

http://www.swetake.com/astro/iAG/iAG.html
の試作品置き場にある
iAG CaptureDevice Control Plugin for DirectShow 5.0.0 beta
です。

PluginInstallerでAddしてください。
従来のプラグインと区別するためにデバイス名に DS2: が付加されます。

 問題なければ、そのうち本体にマージする予定です。
posted by 開発者 at 00:49| Comment(0) | TrackBack(0) | 機能 | このブログの読者になる | 更新情報をチェックする
×

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