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 and corresponding device drivers for the various CAN PC interface products. Together, they provide a common software interface for user applications that extends support across the entire CPC range of CAN PC interface products, for both Windows and Linux operating systems.

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

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

  • Development License (single or general)
  • Runtime Environment * (device driver, runtime DLL)
  • Support Files (sample projects, libraries, header files)
  • Documentation
* The Run-Time environment is included together with a CANbus Monitor (proCANtool CAN-Monitor) within the corresponding CPC Windows Run-Time Kit, which is available free of charge with each CPC PC CAN interface product.

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

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: