ZWOptical.SDK
6.0.841
See the version list below for details.
dotnet add package ZWOptical.SDK --version 6.0.841
NuGet\Install-Package ZWOptical.SDK -Version 6.0.841
<PackageReference Include="ZWOptical.SDK" Version="6.0.841" />
<PackageVersion Include="ZWOptical.SDK" Version="6.0.841" />
<PackageReference Include="ZWOptical.SDK" />
paket add ZWOptical.SDK --version 6.0.841
#r "nuget: ZWOptical.SDK, 6.0.841"
#:package ZWOptical.SDK@6.0.841
#addin nuget:?package=ZWOptical.SDK&version=6.0.841
#tool nuget:?package=ZWOptical.SDK&version=6.0.841
ZWO SDK (ASI, EAF, EFW) for .NET
This package wraps ZWO's three device SDKs (the ASI camera SDK, the EAF focuser SDK and the EFW filter wheel SDK, from https://www.zwoastro.com/software/) and uses NuGet's multi-platform support to put the right native library beside any consumer.
| Camera (ASI) | Focuser (EAF) | Filter wheel (EFW) | |
|---|---|---|---|
| Vendor SDK | 1.41 | 1.8.1 | 1.8.4 |
| Binding | ZWOptical.SDK.ASICamera2 |
ZWOptical.SDK.EAFFocuser |
ZWOptical.SDK.EFWFilter |
Platforms: win-x64, linux-x64, linux-arm64, linux-arm, osx-x64, osx-arm64. Every library carries
one name on every platform (EFWFilter.dll, libEFWFilter.so, libEFWFilter.dylib), which ZWO's
own downloads do not (EFW_filter.dll on Windows); lib/SOURCE.txt names the downloads the
package was built from.
6.0 is a breaking release.
EFW1_7is nowEFWFilterandEAFFocuser1_6isEAFFocuser, with the native libraries renamed to match, and win-x86 and linux-x86 are no longer shipped. 4.x and later target .NET 10+; the last .NET Standard 2.0 version is 3.x.
Usage
using static ZWOptical.SDK.ASICamera2, then ASIGetSDKVersion and ASIGetNumOfConnectedCameras;
using static ZWOptical.SDK.EAFFocuser, then EAFGetSDKVersion and EAFGetNum;
using static ZWOptical.SDK.EFWFilter, then EFWGetSDKVersion and EFWGetNum.
DeviceIterator<TDeviceInfo> enumerates any of the three as TianWen.DAL device infos.
Platform notes
- Windows: the filter wheel needs no runtime. ZWO's
EFW_filter.dllimportsMSVCR90.dll, the Visual C++ 2008 runtime, through a side-by-side manifest, so it loads only where ZWO's installer or a 2008 redistributable put that runtime. TheEFWFilter.dllhere is linked from ZWO's own static library with a static runtime instead, and imports only Windows system libraries.tools/fetch-natives.ps1builds it;tools/efw-wrapper/holds its export list and the one shim the link needs. The EAF build is ZWO's Windows 10 one (Bluetooth over WinRT), not the Windows 7 one. - Linux: libudev is loaded for the focuser and the wheel. Both libraries call libudev without
declaring it, so the package loads it globally before either is used; a host without libudev
cannot drive those two. The camera needs
libusb-1.0.so.0.lib/udev/holds ZWO's rules for/etc/udev/rules.d, needed to open the devices without root. - Linux: EAF over Bluetooth is not packaged. ZWO's x64 EAF download also carries
libWrapperSdbus.soandlibsdbus-c++.so.2, the Bluetooth transport.libEAFFocuser.sodoes not depend on them, USB focusers work without them, and they are left out (issue #8). - macOS: the camera needs libusb.
libASICamera2.dylibloadslibusb-1.0.0.dylib: on Apple silicon from Homebrew (brew install libusb), on Intel from beside the library. The focuser and wheel libraries need nothing.
Updating the vendor SDKs
Download the three SDK zips from ZWO, then run tools/fetch-natives.ps1 (Windows, with Visual
Studio's C++ tools, for the wheel's wrapper) and commit what changed. It unpacks every platform,
renames each library to its one name, builds EFWFilter.dll, checks that it imports nothing but
system libraries, and copies the headers and manuals. Then compare the new headers with the
bindings in include/: an enum member ZWO inserts renumbers everything after it.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- TianWen.DAL (>= 3.2.341)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on ZWOptical.SDK:
| Package | Downloads |
|---|---|
|
Astap.Lib
Package Description |
|
|
TianWen.Devices.Native
Native vendor device drivers for TianWen: ZWO (ASI cameras, EAF focusers, EFW filter wheels) and QHYCCD (cameras, filter wheels, QFOC focusers), over the vendors' own SDKs. Reference this alongside TianWen.Lib to drive that hardware; TianWen.Lib alone covers ASCOM, Alpaca and the serial-native drivers and carries no vendor binaries. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 6.2.941 | 325 | 10/25/2026 |
| 6.1.921 | 2,373 | 10/14/2026 |
| 6.1.901 | 209 | 10/13/2026 |
| 6.1.891 | 1,490 | 10/9/2026 |
| 6.1.881 | 2,635 | 9/28/2026 |
| 6.0.861 | 187 | 9/28/2026 |
| 6.0.841 | 143 | 9/28/2026 |
| 6.0.821 | 2,280 | 9/23/2026 |
| 5.1.801 | 141 | 9/23/2026 |
| 5.1.781 | 140 | 9/23/2026 |
| 5.0.761 | 170 | 9/23/2026 |
| 5.0.741 | 134 | 9/22/2026 |
| 4.3.721 | 149 | 9/21/2026 |
| 4.3.701 | 140 | 9/21/2026 |
| 4.3.691 | 132 | 9/21/2026 |
| 4.3.681 | 350 | 9/19/2026 |
| 4.3.671 | 144 | 9/19/2026 |
| 4.3.661 | 162 | 9/16/2026 |
| 4.3.651 | 131 | 9/16/2026 |
| 4.2.641 | 969 | 9/9/2026 |