Requirements
Before integrating the CAN Dragon SDK into your application, ensure the development PC and target deployment systems meet the requirements below.
Hardware
- One or more CAN Dragon devices connected via USB-C
- A suitable CAN bus wiring harness (DB9 connector per device datasheet)
- For bus termination, configure termination through the SDK (EMSACAN_PARAM_CHANNELCONFIG) or set up in hardware
Operating Systems
| Platform | C API (EmSACAN.dll / libEmSACAN.dylib) | C# wrapper (EmSACANNET.dll) |
|---|---|---|
| Windows 10/11 (x64 or x86) | Supported | Supported (.NET 6+) |
| macOS (Apple Silicon / x64) | Supported | Supported (.NET 6+) |
The native library must match the CPU architecture of your application (for example, x64 application with x64 EmSACAN.dll).
C Development
- C99-compatible compiler (Visual Studio 2019+, GCC, or Clang)
- EmSACAN.h header from the SDK
EmSACAN.dll(Windows) orlibEmSACAN.dylib(macOS) deployed beside your executable or on the platform library search path- On Windows, the CAN Dragon driver installer (bundled with the SDK) must be installed on each target PC so the USB device is recognized
C# Development
- .NET 6 SDK or later (Visual Studio 2022+ recommended)
- Reference or deploy EmSACANNET.dll together with EmSACAN.dll
- Same native library architecture and driver requirements as the C API
USB Driver (Windows)
The SDK includes a bundled CAN Dragon Drivers installer. Run this installer on every Windows PC where your application will connect to CAN Dragon hardware. Without the driver, enumeration and connection will fail.
::caution
Do not mix x86 and x64 binaries. Your application, EmSACAN.dll, and any companion native libraries must all target the same platform.
::
Permissions (Linux / macOS)
On Linux and macOS, the user account running your application typically needs permission to access the USB device. This may require udev rules (Linux) or granting access when prompted (macOS). Consult your platform administrator if devices are not detected after EmSACAN_EnumerateInterfaces.
::note The CAN Dragon application can run alongside your application when you use the default shared (non-exclusive) startup mode. See Program Flow and the EmSACAN_Startup discussion in the C API. ::
