Traquair Banner with Logo

CPC Software Interface Framework

CAN Bus Networking & Infrastructure

EMS Dr. Thomas W√ľnsche CAN Bus Systems are supported by a fully integrated software framework for interfacing Windows and Linux based user applications with CAN bus resources.

The CPC software interface framework includes the CPC-API Application Programming Interface, device drivers for the various CPC series CAN PC interface products, and the CAN-Monitor CANBus Monitoring Suite.

Alternatively, SocketCAN can be used with Linux, which provides its own vendor independent software interface model.

CPC Software Interface Framework

CPC Software Development & Run-Time Kits

The CPC-API and CPC device drivers are included with the Windows and Linux CPC Software Development Kits, which provide the software needed by developers to implement their own applications utilizing any of the CPC family of PC CAN interface products.

Windows and Linux implementations are separately available for the following products:

CPC Development Kits for Windows

The CPC Software Development Kit for Windows supports Windows 7/8.x/10 (32-Bit/64-Bit) and include the following items:

  • Development License
  • Runtime Environment * (device driver, runtime DLL) with CAN-Monitor Software Suite
  • Support Files (sample projects, libraries, header files)
  • Documentation

Request free of charge Windows Development Kit v5.09 download via eStore

CPC Development Kits for Linux

CPC Software Development Kits for Linux support kernels from 2.4.x up to 4.x and include the following items:

  • Development License
  • Kernel Driver (open source) and Library (binary)
  • Sample Application
  • Documentation

CPC-API Interface Library

The CPC-API provides developers with the maximum possible flexibility and cross-platform portability, with a software interface that is independent of hardware configuration and host bus interface (e.g. USB, PCI, PCI Express, etc...).

CPC-API Functions

The CPC-API is provided as a suite of C callable functions that (for Windows) can be called from any host resident C/C++, Delphi, C#/.NETapplication, built usingBorland or Microsoft compilers. Each library includes:

  • Synchronous Functions
    • CPC_OpenChannel()
    • CPC_CloseChannel()
    • CPC_GetInitParamsPtr()
    • CPC_CANInit()
    • CPC_CANExit()
    • CPC_CANGetInfo()
    • CPC_Control()
    • CPC_SendMsg()
    • CPC_SendXMsg()
    • CPC_SendRTR()
    • CPC_SendXRTR()
    • CPC_ClearMSGQueue()
    • CPC_GetMSGQueueCnt()

  • Asynchronous (Event Driven) functions
    • CPC_WaitForEvent()
    • CPC_Handle()
    • CPC_RequestInfo()
    • CPC_RequestCANParams()
    • CPC_RequestCANState()
    • CPC_AddHandler()
    • CPC_RemoveHandler()


SocketCAN provides an alternative software interface for specific products when used with Linux. It provides what is ultimately a vendor independent software interface, with the software being included with the current active release of Linux. The following interface products are supported: