KUBEL logo KUBEL logo    SECTION5
KUBEL logo KUBEL logo Home | Embedded / Signal Processing | Device control library | Visualization | Contacts/Links

round
Overview
Resources

netpp and DClib - a universal device remote control library

The DClib (device control library) and its netpp (network property protocol) extension is a framework that simplifies any remote or embedded control protocol greatly by using an XML device description language to describe register maps and generic device properties and turning this into compact source code that can be compiled as a remote control server backend for the specific device target.

The general motivation simply is:

Speak to all kinds of devices and make them tell you what they can do

Nowadays, we speak mostly netpp (say "net-pee-pee"), the DClib term is just carried along for historical reasons or when network functionality is stripped off (for small 8 bit uCs).

It can be considered being like:

  • SOAP/XMLRPC -- but way more light weight (binary protocol)
  • Google Protocol buffers -- but with specific hardware description
  • The GenICAM camera communication standard -- but more generic
  • EDDL -- but free and much simpler

Historically, the DClib was developed first as a way to describe hardware properties in XML and turning it into code. Later, the network property protocol was added to remote control a large number of various embedded devices over network, serial, USB and other interfaces.

The main clues of DClib/netpp are:

  • Work with one single hardware definition file and automatically create:
    • VHDL register tables
    • Register reference documentation
    • Source code, headers and library definitions
  • Portable: x86, amd64, Blackfin, ARM [Note: Support for 8051 and 8 bit CPUs is dropped in current versions]
  • Keep coding effort at minimum
  • Talk to all netpp capable devices with one single client (API)

New: netpp can be used to describe and remote-stimulate virtual silicon for co-simulation of hardware and software ('Model in the loop'). See Asynchronous remote simulation using GHDL for more info or watch some screen demos.

netpp has matured into a versatile product over these years. Our initial idea of turning it into OpenSource has finally become feasible - an unmaintained evaluation version (fully usable) can be downloaded via the Resources section (see below). Please note: For full support and access to the latest maintained version, you will have to purchase a support license package.

If you need to:

  • Build networking capable device classes with variating functionality
  • Come up with a prototype (using various attached peripherals) in a short time
  • Maintain a large number of devices with one uniform firmware and client software
..then it is very likely that you will save man months of development time using netpp.

A simple command line application to remote-control netpp devices is demonstrated in this movie

More application movies are found in the embedded world 2011 presentation in the link below.

References

  • Dürr Dental AG uses netpp for remote control and image acquisition of medical devices since years and kindly granted permission to be listed as public reference.
  • Large automotive supplier uses netpp for factory programming (Reference on request)
  • An audio technology supplier features multi channel audio streaming and configuration of audio hardware using netpp
  • A small number of engineering bureaus use netpp for low cost hardware description and model-in-the-loop simulation

Further information

Please note: netpp is not derived from GenIcam, even if they use similar concepts. We do not use any AIA intellectual property.

Download netpp and find details/documentation in the Resources section

mailaddr


Version: 11.2011