問題タブ [ascom]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
298 参照

c# - VisualStudioアセンブリにDriveraccess.dllがありません

Ascom Webサイト( http://ascom-standards.org/ )からC#サンプルプロジェクトをコンパイルしようとしています。

ただし、using DriverAccess;コンパイラがインストール時に指定されたパスでdllを見つけることができないため、問題が発生します(すべて自動的に実行されます)。適合性チェッカーは、私のAscomプラットフォーム(最新の6 sp1)を検証します。これを解決する方法がわかりません。

0 投票する
4 に答える
292 参照

c# - C# ファイナライザーでのコード実行の保証

私は ASCOM 望遠鏡ドライバーを作成しています。クライアント アプリケーションが適切に切断されなかったり、クラッシュしたりしたときに、いくつかのシリアル ポート コマンドがスコープに送信され、スコープの移動を停止することを保証する必要があります。

このようなファイナライザーを追加してみました

SendSerialPortCommand() メソッドに到達し、実際にバイトをネットワーク上に送信せずに終了し、lock ステートメントの直前で終了したように見えます。

レポはここで見ることができます

http://code.google.com/p/ascom-nexstar-telescope/source/browse/NexStar/

ファイナライザーは driver.cs にあり、呼び出されたメソッドは static クラス Common にあります

これを達成するためのより良い、またはより信頼できる方法はありますか?

0 投票する
2 に答える
61 参照

c# - ac# フォームから既存のクラスを呼び出す

を呼び出した大規模な公開クラスがありTelescopeます。新しいフォーム ( form1.cs) を作成しました。クラスが持つ public void の一部を呼び出したいと思います。

クラスを初期化するためにフォームでこのようなことをします

Telescope controls = new Telescope(); controls.CommandString("Gs#",true);

その後、すべてのメソッドを確認できますが、クラスが既に初期化されており、既存のシリアル ポート接続が進行中であるため、実行に失敗します。そのため、シリアル ポート接続がないと報告されます。

何か助けはありますか?新しいフォームから既存のメソッドを使用するにはどうすればよいですか?

Telescope クラスは Driver.cs にあります

Driver.cs (望遠鏡クラスがある場所) で CommandString を使用すると、機能します。form1.cs からは機能しません

例外があります:

0 投票する
0 に答える
106 参照

python - comtypes ndarray と ASCOM セーフアレイの問題

comtypes safearray_as_ndarray コンテキスト マネージャを使用すると、COM からの大きな配列の読み取り速度が向上すると言われています。ASCOMカメラクラスで試してみました。ASCOM は ImageArray int safearray および ImageArrayVariant バリアント safearray を返すことができます。ImageArrayVariant を使用すると、正常に実行できますが、通常の np.array(tuple) の方法よりもはるかに時間がかかります。ImageArray を使用すると、ライブラリで常にエラーが発生する

どうしてか分かりません。comtypes doc からの説明は次のとおりです。 デフォルトでは、comtypes は SAFEARRAY 出力引数をアイテムごとに python オブジェクトのタプルに変換します。大きな SAFEARRAY を扱う場合、この変換にはコストがかかる可能性があります。Comtypes は、この動作を変更して NumPy 配列を返すための safearray_as_ndarray コンテキスト マネージャー (comtypes.safearray から) を提供します。この変更された動作は、safearray のメモリのコピーに ndarray を配置することです。これは、アイテムごとに python を呼び出すよりも高速です。これが失敗した場合でも、アイテムごとに NumPy 配列を作成できます。コンテキスト マネージャーはスレッド セーフです。あるスレッドでコンテキスト マネージャーを使用しても、他のスレッドの動作には影響しません。

ありがとう。