問題タブ [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.
c# - VisualStudioアセンブリにDriveraccess.dllがありません
Ascom Webサイト( http://ascom-standards.org/ )からC#サンプルプロジェクトをコンパイルしようとしています。
ただし、using DriverAccess;
コンパイラがインストール時に指定されたパスでdllを見つけることができないため、問題が発生します(すべて自動的に実行されます)。適合性チェッカーは、私のAscomプラットフォーム(最新の6 sp1)を検証します。これを解決する方法がわかりません。
c# - C# ファイナライザーでのコード実行の保証
私は ASCOM 望遠鏡ドライバーを作成しています。クライアント アプリケーションが適切に切断されなかったり、クラッシュしたりしたときに、いくつかのシリアル ポート コマンドがスコープに送信され、スコープの移動を停止することを保証する必要があります。
このようなファイナライザーを追加してみました
SendSerialPortCommand() メソッドに到達し、実際にバイトをネットワーク上に送信せずに終了し、lock ステートメントの直前で終了したように見えます。
レポはここで見ることができます
http://code.google.com/p/ascom-nexstar-telescope/source/browse/NexStar/
ファイナライザーは driver.cs にあり、呼び出されたメソッドは static クラス Common にあります
これを達成するためのより良い、またはより信頼できる方法はありますか?
c# - ac# フォームから既存のクラスを呼び出す
を呼び出した大規模な公開クラスがありTelescope
ます。新しいフォーム ( form1.cs
) を作成しました。クラスが持つ public void の一部を呼び出したいと思います。
クラスを初期化するためにフォームでこのようなことをします
Telescope controls = new Telescope();
controls.CommandString("Gs#",true);
その後、すべてのメソッドを確認できますが、クラスが既に初期化されており、既存のシリアル ポート接続が進行中であるため、実行に失敗します。そのため、シリアル ポート接続がないと報告されます。
何か助けはありますか?新しいフォームから既存のメソッドを使用するにはどうすればよいですか?
Telescope クラスは Driver.cs にあります
Driver.cs (望遠鏡クラスがある場所) で CommandString を使用すると、機能します。form1.cs からは機能しません
例外があります:
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 配列を作成できます。コンテキスト マネージャーはスレッド セーフです。あるスレッドでコンテキスト マネージャーを使用しても、他のスレッドの動作には影響しません。
ありがとう。