Skip to main content

MCC Universal Library for Linux

Interface to DAQ devices from Measurement Computing.

This interface has been tested with the MCC USB-200 Series as used in RWTH-ACS's Low-Cost PMU.

Prerequisites

This node-type requires libuldaq (>= 1.0.0).

Implementation

The source code of the node-type is available here: https://github.com/VILLASframework/node/blob/master/lib/nodes/uldaq.cpp

Configuration

interface_type
string
Enum: "usb" "bluetooth" "ethernet" "any"

The interface to which the ADC is connected. Check manual for your device.

device_id
string

The used device type. If empty it is auto detected.

object (Input configuration (received by VILLASnode))

Configuration for the ul201

vectorize
integer
Default: 1

This setting allows to send multiple samples in a single message to the destination nodes.

The value of this setting determines how many samples will be combined into one packet.

Array of Hook Object (object) or Hook Name (string) (hook_list)
builtin
boolean (Builtin hook functions)
Default: true

By default, each node and paths has a couple of default hooks attached to them. With this setting the attachment of built-in hooks can be disabled.

object (Output configuration (sent out by VILLASnode))
{
  • "interface_type": "usb",
  • "device_id": "10000",
  • "in": {
    },
  • "vectorize": 1,
  • "hooks": [
    ],
  • "builtin": true,
  • "out": {
    }
}

Example

node/etc/examples/nodes/uldaq.conf
http = {
enabled = false
}

nodes = {
ul201 = {
type = "uldaq"

interface_type = "usb"
in = {
range = "bipolar-10"
input_mode = "single-ended"

signals = (
{ name = "ch0", type = "float", channel = 0 }
)

sample_rate = 5000
vectorize = 100
}
}

vpmu = {
type = "socket"

layer = "udp"

format = {
type = "raw"
bits = 32
endianess = "big"
}

in = {
address = "*:13001"

signals = ()
}

out = {
vectorize = 100
address = "10.100.1.125:13000"
}
}
}

paths = (
{
in = "ul201"
out = "vpmu"
}
)