SVBony.SDK 1.15.71

dotnet add package SVBony.SDK --version 1.15.71
                    
NuGet\Install-Package SVBony.SDK -Version 1.15.71
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SVBony.SDK" Version="1.15.71" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SVBony.SDK" Version="1.15.71" />
                    
Directory.Packages.props
<PackageReference Include="SVBony.SDK" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SVBony.SDK --version 1.15.71
                    
#r "nuget: SVBony.SDK, 1.15.71"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package SVBony.SDK@1.15.71
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=SVBony.SDK&version=1.15.71
                    
Install as a Cake Addin
#tool nuget:?package=SVBony.SDK&version=1.15.71
                    
Install as a Cake Tool

SVBony.SDK

SVBONY cameras from .NET, implementing SharpAstro's TianWen.DAL device abstraction so an SVBONY body is driven by the same code that drives a ZWO, QHY, Player One or ToupTek one.

Vendor SDK: SVBCameraSDK v1.13.4 (2025-02-05), Windows x64 and Linux x64, arm64 and arm (lib/SOURCE.txt names each file and its sha256). The package's MAJOR.MINOR started at it (1.13) and moves on with the binding: 1.14 is the same vendor SDK, streaming raw video and keeping the cooler below 90 %. The vendor drop has no macOS build. SVBONY's newer ToupTek-based line (svbonycam) is not this SDK: it is a ToupTek brand, through ToupTek.SDK.

Verified on hardware

An SVBONY SV605CC (IMX533 colour, GRBG, 3008 x 3008, 3.76 um, USB 3, firmware v2.0.0.4) on Windows x64 with SVBONY's driver package 1.13.4, 2026-10-21, through tools/SvbProbe.

  • Pixels are 14-bit LEFT-ALIGNED in 16: every RAW16 value is a multiple of 4, and N.I.N.A.'s frames of the same camera through the same SDK carry the same quantum and peak at 65532 (DeliversContainerScaledPixels).

  • The friendly name is the instrument: SVBONY SV605CC, N.I.N.A.'s INSTRUME for the same camera, so calibration taken through this binding pairs with an archive's lights. The serial comes with the enumeration, so a listing opens nothing (an open takes 0.5 to 3 s).

  • Several controls alter a RAW frame, measured on a 200 ms dark at gain 120, offset 20 (pedestal 804):

    • white balance is a digital gain per photosite colour: at the SDK default 128 the four colours agree and the quantum of 4 holds; 200 on one channel lifts it 1.74x and lowers the others 0.91x;
    • gamma (100 is the identity; 200 took the pedestal to 4), the gamma contrast the header lists and the camera does not (200 halved it), and sharpness (50 rewrote 1 % of pixels).

    The SDK also REMEMBERS settings across programs (SVBSetAutoSaveParam): the camera arrived with auto exposure on and white balance at red 220, blue 227. So every open switches saving off and puts each of these back where it alters nothing, with bad pixel correction (on by default) off. The DAL's Gamma is deliberately not mapped: TianWen's driver writes 50 to it on connect.

  • There is no single exposure in this SDK. A frame comes only from the video stream, so an exposure is the stream in SOFT TRIGGER mode, one SVBSendSoftTrigger per frame, read by a thread of its own (SVBGetVideoData blocks). Three things that shapes, all measured:

    • a stream that STARTS sends one frame nobody triggered, 130 to 140 ms later; taken by the next exposure it came back as that exposure (a 200 ms exposure "ready" in 94 ms), so every start drops it;
    • SVBStopVideoCapture neither ends an exposure in flight nor releases a blocked SVBGetVideoData, so an abort is a stop and start (the aborted trigger's frame never arrives) and the reader waits in 250 ms steps;
    • a window, a bin or a format can be changed only with the stream stopped, and a gain written before the first window is set after an open is refused (SVB_ERROR_GENERAL_ERROR), so an open sets the window first.
  • Video is the same stream FREE-RUNNING (SVB_MODE_NORMAL; CanVideoCapture, StartVideoCapture, GetVideoData on the caller's thread, StopVideoCapture, TryGetDroppedFrames). Measured at 2 ms, gain 120, uncooled: 19.8 frames a second at full frame in RAW16 and RAW8 alike (the sensor's rate, not the link's), 116 through a 640 x 480 window, against 6.6 and 32 one soft-triggered exposure at a time; 0 to 3 frames dropped in 5 s.

    • A camera MODE change costs about half a second each way, so a mode is written only when it changes, and the soft trigger stream is started by the next exposure, never by a stop or a window change. A pan (stop, move, start) then reaches its first frame in 8 ms; before, with soft trigger mode and its stream restored in between, it took 2.1 s.
    • A window or a format, and a single exposure, are refused while a video runs (VideoModeActive): a pan is a stop and a start (CanPanRoiWhileStreaming false). The first exposure after a video pays the mode change, its stream start and the unasked frame's wait, about 1.2 s once.
  • The cooler is kept below 90 % (CoolerGovernor): the camera regulates its own cooler to its target and drives it to 100 % for one out of reach, and the SDK has no power limit, so at 90 % or more the binding raises the target a degree (at most every 30 s), and lowers it again toward the target asked for, a degree at most every 2 minutes, once the power is down to 80 %. The raised target reads back as the camera's (CoolerTargetRaised says by how much), and a target set through the binding is the new one to come back to. Not yet seen to act on hardware.

  • Binning goes through SVBSetROIFormatEx in mode 0, which averages (bin 1 median 1184, bin 2 mode 0 1332, mode 1 5333). The plain SVBSetROIFormat sums, which would put a binned frame on another ADU scale than the other vendors' bindings give.

  • Timing: a full frame at 10 ms takes about 160 ms through the binding; the first exposure after an open or a window change about a second longer.

  • No guide port on the SV605CC, so PulseGuideOn(direction, duration) (SVBPulseGuide, timed by the camera) is untested.

The probe

tools/SvbProbe drives an attached camera, not part of the package or CI:

Arm What it does
info Everything the SDK reports: properties, modes, every control's range, default and value
raw Which controls change a RAW16 frame, per photosite colour
edge Bin modes, and what an abort and a stream restart do
dal The DAL members only, as TianWen's driver calls them: controls, full frame, binned window, abort, a run, a second holder
video The stream through the DAL members: frame rate at full frame and 640 x 480 in RAW16 and RAW8 against single exposures, a pan, and an exposure straight after; cooler left off
cool The cooler under continuous exposures, the setpoint WALKED (1 C per 30 s) down to each --targets stage and back up before it is switched off; --stop-file ends it early and still walks back
dotnet run --project tools/SvbProbe -c Release -- dal

Licence

The binding is MIT. The native libraries (lib/), the SDK header (include/) and the vendor's samples and change log (reference/) are proprietary, closed source code and remain the property of SVBONY; they are redistributed unmodified, as shipped in SVBONY's Camera SDK, and are not covered by the MIT licence.

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on SVBony.SDK:

Package Downloads
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
1.15.71 90 10/25/2026
1.14.51 552 10/22/2026
1.14.31 128 10/21/2026
1.13.11 70 10/21/2026