Introducing CanKing Extensions

CanKing Extensions allow anyone to create and share functionality for CanKing 7.1, Kvaser’s free-of-charge general-purpose CAN and LIN analysis software. 

An extension could be a start/stop button, a special filter or interpreter. It could also be a view that displays signal values in a table, or plots them over time, or a dashboard with dials and digital displays to monitor the CAN traffic. CanKing Extensions put you in the driving seat, allowing you to add the functionality you need to CanKing, without having to write a full application.

Why create Extensions for CanKing?

For simple tasks, such as looking at a CAN trace or CAN log, some competitor solutions are too costly or over-specified for customer’s needs. CanKing 7.1 is free, open, and built to adapt to the future. Its cross-platform compatibility (Windows, Linux, and embedded systems) allows you to work on the platform of your choice. Similarly, extensions you create will work across platforms. 

How does CanKing 7.1 handle Extensions?

Kvaser CanKing 7.1 was recently redesigned around a modular, flexible architecture that makes customization simple. It now has a tiered structure, with Kvaser’s core APIs and SDK at the bottom, and the CanKing Extensions SDK above. Extensions are created as React web applications and are hosted via an express web server inside CanKing. This means that Extensions can be developed and updated independently to CanKing. 

Extensions communicate with CanKing by calling functions included in the CanKing Extensions SDK. These functions are injected into the extension’s runtime via a preload script that runs when the extension is loaded into the CanKing GUI. The CanKing Extensions SDK includes functions for exchanging data with CanKing and for interacting with the CAN/LIN bus. 

Getting started

Download CanKing 7

CanKing has many in-built features including the Help resources for developing extensions.

Explore the NPM Registry

Find ready-to-use packages and instructions on how to create an extension, which are developed as React web apps. Source code can also be found at github.

Get started with the DevBlog

Our engineers have created a DevBlog for getting started developing your own extensions for CanKing 7.

FAQ

If I create an extension for CanKing, do I have to share it? 

No, you don’t have to share your extension. You can create an extension for personal use only. 

Will an extension that I write for my PC work on an embedded system? 

The extensions work inside the CanKing GUI application, so to run your extension on an embedded system, you will need to have a Linux distribution with a desktop environment to support the CanKing GUI application. 

Can I create an extension to support hardware from another vendor? 

CanKing was developed to support the sale of Kvaser hardware, so no, it won’t support interface hardware from other vendors. No third-party hardware and APIs can be implemented.

Can I run an extension on both Windows and Linux? 

Yes, CanKing ensures that you don’t have to make two different versions; you can run the same code for both.

Why is Kvaser making Extensions available?

It’s true that Kvaser CanKing represents thousands of development hours, yet we give it away for free! However, Kvaser wants to support the needs of a new generation of engineers who are capable of writing software to solve their tasks. We believe there is a strong case for comprehensive third-party software tools, and indeed many of our Technical Associates provide just this. However, sometimes our customers need a very simple custom analysis solution, and CanKing provides an ideal platform for this. This is where we can add value.