Qmix SDK  20200506
The software libraries for integration of all CETONI devices.
Qmix SDK for Linux
linux_header_small.png

Overview

Installation Directory Content

The Qmix SDK for Linux archive extracts a number of files into the final SDK folder. The following overview shows which files are available in which directories:

  • Root SDK Folder - contains all unit test cases.
    • config - provides the configuration files for running the provided tests (the configuration use simulated devices only)
    • device_driver Contains the SocketCAN device drivers for the USB-CAN interfaces from IXXAT and SysTec that have been tested with the SDK.
    • doc - contains this HTML documentation
    • examples - here you find a number of C examples that show how to use the different labbCAN libraries
    • include - contains the C include files for each single labbCAN library
    • lib - Contains all shared Linux libraries of the SDK. The SDK does not use the system libraries but ships its own libraries to prevent incompatibilities. The SDK has been compiled on an Ubuntu 19.10 VM.
    • plugins - contains the LED array plugin and may be used for later addition of custom plugins
    • python - Contains the complete Python integration for the Qmix SDK
    • sila - The Python based QmixSDK_SiLA library for CETONI devices

Requirements and Dependencies

The Qmix SDK depends on the following libraries:

  • Qt5Core
  • Qt5SerialPort.
  • libusb

You need to ensure that these libraries are properly installed on your Linux system.

Use the SDK's shared libraries

To link against the SDK's shared libraries and to use the SDK's shared libraries you need to ensure, that the lib folder of the SDK is the first folder in the library search paths. You can do this by prepending the lib folder to the LD_LIBRARY_PATH environment variable.

LD_LIBRARY_PATH=$(pwd)/../lib:"$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH

Running the unit tests

With the test cases you can check, if the SDK runs properly on your Linux system. To run a test case, you should open a terminal and change into the root SDK directory. Now you can execute the test cases

./capi_nemesys_test
Note
All tests run with a device configuration with simulated devices. That means, if you have real devices connected, then nothing will move.

Device Drivers

Linux SocketCAN

The Qmix Python SDK for Linux supports the Linux SocketCAN driver. That means, all CAN devices that support the SocketCAN layer are supported by the SDK. The SDK folder device_driver contains the SocketCAN drivers for the IXXAT USB-to-CAN interface and for the SysTec USB-CANmodul1. Follow the instructions in the device driver archives to build and install the device driver for your USB-CAN hardware.

Note
We recommend using the SysTec SocketCAN driver as it works more reliably and is easier to compile.

After disconnecting and plugging in the USB cable or after each restart/hibernation the correct CAN bitrate must be set and the CAN interface needs to get started. This can be done with:

sudo ip link set can0 type can bitrate 1000000
sudo ip link set can0 up

If necessary, the interface can also be restarted:

sudo ip link set can0 type can restart

For more information please use the included Readme files from SysTec or IXXAT (e.g. to use candump).

Continue with the Getting Started section >>