Chapter 18
Miscellaneous Drivers

This chapter describes all of the available drivers for miscellaneous instruments which do not fit in any other category.

18.1 Antikernel Labs

Device Family Driver Transport

Notes

APB GPIO akl.gpio lan

APB VIO akl.vio lan

18.1.1 akl.gpio

This driver provides a 32-bit read/write GPIO interface to the APB_GPIO FPGA IP from antikernel-ipcores, via scopehal-akldebug-bridge

18.1.2 akl.vio

This driver provides a multi-bit digital I/O interface with up to eight input and eight output ports to the APB_VIO FPGA IP from antikernel-ipcores, via scopehal-akldebug-bridge

18.2 Generic

Device Family Driver Transport

Notes

N/A csvstream Any

18.2.1 csvstream

This driver exposes the most recent line from a stream of comma-separated value (CSV) data as a series of analog scalar channels.

It is primarily intended for extracting low rate I2C sensor readings and ADC values from an embedded DUT, so that that these values may be plotted alongside multimeter/power supply readings or other data coming from more conventional instrumentation.

The data may come from any supported transport, however it is expected that the most likely scenario is either direct connection to a local serial port (“uart" transport), or a TCP socket connected to either a remote UART using socat or an embedded TCP server (“lan" transport).

Data must be generally line oriented and UTF-8 or 7-bit ASCII encoded.

In order to enable csvstream data to share a UART also used by other traffic such as a debug console or syslog, all lines must contain one of three magic prefixes as shown below. Any content in the line before the prefix (such as a timestamp) is ignored.

Upon initial connection, the driver will have a single channel called “CH1". At any time, if the number of fields in a received CSV line exceeds the current channel count, a new channel will be created. If a partial line is received, the values in the missing columns are unchanged but the channel will not be deleted.