问题标签 [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# - Visual Studio 程序集中缺少 Driveraccess.dll
我正在尝试从 Ascom 网站编译 C# 示例项目:http: //ascom-standards.org/。
但是,using DriverAccess;
给我带来了问题,因为编译器无法在安装时指定的路径中找到 dll(全部自动完成)。一致性检查器验证我的 Ascom 平台(最新的 6 sp1)。我不知道如何解决这个问题。
c# - 保证代码在 C# 终结器中运行
我正在编写一个 ASCOM 望远镜驱动程序,当客户端应用程序无法正确断开连接或崩溃时,我需要保证向示波器发送一些串行端口命令以阻止示波器移动。
我尝试添加一个看起来像这样的终结器
它进入了 SendSerialPortCommand() 方法,然后退出而不实际将字节发送到线路上,并且似乎在锁定语句之前退出。
回购可以在这里查看
http://code.google.com/p/ascom-nexstar-telescope/source/browse/NexStar/
终结器在 driver.cs 中调用的方法在静态类 Common
有没有更好或更可靠的方法来做到这一点?
c# - 从 ac# 表单调用现有类
我有一个名为Telescope
. 我创建了一个新表单 ( form1.cs
),我想调用该类的一些公共 void。
我在表单中做这样的事情来初始化类
Telescope controls = new Telescope();
controls.CommandString("Gs#",true);
之后,我可以看到所有方法,但由于该类已经初始化并且现有的串行端口连接正在进行,因此它在执行中失败,因此它报告没有串行端口连接。
有什么帮助吗?如何使用新表单中的现有方法?
Telescope 类在 Driver.cs 中
当我在 Driver.cs(望远镜类所在的位置)中使用 CommandString 时,它可以工作。它不适用于 form1.cs
我得到一个例外:
python - 用于控制 ASCOM CCD 相机的 Python 脚本?
我想使用 ASCOM 驱动程序在 Python 中控制一个 CCD 天文相机,但还没有找到一个示例脚本来展示它是如何完成的。
我想看看相机的基本控制是如何完成的——设置曝光长度、开始曝光、下载图像数据。
有人可以发布一个我可以用作起点的示例 Python 脚本吗?
python - win32com.client.Dispatch 类标签
我正在尝试使用 python 连接到 COM 对象。
更具体地说,我正在使用 ASCOM 标准驱动程序连接到 MaxDome II,并且不知道如何引用该驱动程序。
在此链接中,作者使用“Celestron.Telescope”作为 win32com.client.Dispatch 实例化的参数。
我的问题是如何找到这个字符串。我知道它与已安装的驱动程序有关,这些驱动程序安装在计算机上,但我不知道如何找到特定的字符串。有没有办法使用 win32com.client 列出 COM 对象?
顺便说一句,在 Windows 7 pro 上运行,64 位。
谢谢
python - comtypes ndarray 与 ASCOM safearray 问题
据说comtypes safearray_as_ndarray 上下文管理器将加快从COM 读取大数组的速度。我用 ASCOM 相机类试过了。ASCOM 可以返回 ImageArray int safearray 和 ImageArrayVariant variant safearray。使用 ImageArrayVariant 时,可以成功完成,但时间远远超过正常的 np.array(tuple) 方式。使用 ImageArray 时,库总是出错
我不知道为什么。comtypes doc 的描述如下: 默认情况下,comtypes 将 SAFEARRAY 输出参数逐项转换为 python 对象的元组。在处理大型 SAFEARRAY 时,这种转换可能代价高昂。Comtypes 提供了一个 safearray_as_ndarray 上下文管理器(来自 comtypes.safearray),用于修改此行为以返回 NumPy 数组。这种改变的行为是将 ndarray 放在 SAFEARRAY 内存的副本上,这比为每个项目调用 python 更快。当这失败时,仍然可以逐项创建 NumPy 数组。上下文管理器是线程安全的,因为在一个线程上使用上下文管理器不会影响其他线程上的行为。
谢谢。
c# - 将 object(int[,]} 转换为 int[,]
我正在尝试编写简单的程序来从天文相机获取图像,根据此文档,图像数据被读取为 object{int[,]}: ASCOM.DriverAccess.Camera.ImageArray
要显示此数据并将其转换为图像,我想将其转换为 2D int 数组。有人可以帮我怎么做吗?或者,将这个图像对象数组转换为图像可能是更好、更简单的方法......
dll - 如何使用 Regasm.exe 为 ASCOM 项目注册 COMl
我正在尝试构建一个简单的解决方案,但总是出现以下错误:
严重性代码描述项目文件行抑制状态错误程序集“ASCOM.DeviceInterfaces,版本=6.0.0.0,Culture=neutral,PublicKeyToken=565de7938946fba7”未为 COM 互操作注册。请使用 regasm.exe /tlb 注册它。ASCOM.ML16200.DeviceClass1
错误程序集“C:\Users\tonyb\source\repos\ASCOM.ML16200.DeviceClass1\ASCOM.ML16200.DeviceClass1\bin\Debug\ASCOM.ML16200.Camera.dll”无法转换为类型库。类型库导出器在处理“ASCOM.ML16200.Camera,ASCOM.ML16200.Camera”时遇到错误。错误:加载类型库/DLL 时出错。ASCOM.ML16200.DeviceClass1
我尝试在 Visual Studio Powershell 中使用以下命令,但总是失败:
PS C:\Users\tonyb\source\repos\ASCOM.ML16200.DeviceClass1> regasm.exe ASCOM.ML16200.Camera.dll /tlb Microsoft .NET Framework Assembly Registration Utility version 4.8.4084.0 for Microsoft .NET Framework version 4.8.4084.0版权所有 (C) 微软公司。版权所有。
RegAsm:错误 RA0000:无法找到输入程序集“ASCOM.ML16200.Camera.dll”或其依赖项之一。PS C:\Users\tonyb\source\repos\ASCOM.ML16200.DeviceClass1>
谁能告诉我如何正确注册这个.dll?