Generic MUDPI publisher standalone tool

Overview

The rtctkGenMudpiPub application is a simplified and standalone version of MUDPI Publisher - a troubleshooting tool to generate and publish MUDPI topic samples in parallel inside the same process. E.g. it can be used to publish MUDPI samples to verify if MUDPI topic data can be transmitted and received on a particular machine.

Running

The generic MUDPI publisher is run by executing: rtctkGenMudpiPub with the proper command line arguments. Run the executable with option -h for a list of command line options.

E.g. to publish 500 MUDPI samples to three topics with ID: 25, 42 and 1015 in parallel, run:

$ rtctkGenMudpiPub -n 500  -d --mpc 127.0.0.1,6000,239.192.1.15,25,40000 127.0.0.1,6000,239.192.1.15,42,40000 127.0.0.1,6000,239.192.1.15,1015,40000

As can be seen, each MUDPI publisher’s particular configuration is given through the command line, as a comma-separated list of arguments of the --mpc,--mudpi-pubs-cfg flag. For each publisher, the following need to be specified: network ip, port, multicast group, topic id, sample size.

In the given example, all topics are published using the same multicast group: 239.192.1.15, network adapter IP: 127.0.0.1, port 6000 and sample size 40000.

The generated payload pattern can be selected with the --payload-pattern option. If not specified, the default payload pattern is alternating_uint8_ramp. Supported payload patterns are zeros, ones, alternating_float_ramp, alternating_int32_ramp, alternating_uint8_ramp and alternating_uint16_ramp.

For example, to publish five floating-point alternating ramp samples at 1 Hz, run:

$ rtctkGenMudpiPub -n 5 --period-us 1000000 --payload-pattern alternating_float_ramp \
    --mpc 127.0.0.1,50000,239.128.4.1,0,36928

The optional --publication-start-timestamp command line option can be used to delay the first publication until a configured absolute timestamp. When this option is provided, sample N is published according to:

publication_start_timestamp + N * period_us

This can be used to start one or more rtctkGenMudpiPub processes with a common publication schedule, provided that the machines have a sufficiently synchronised time source, such as PTP.

For example, to publish 500 MUDPI samples to one topic with a period of 1 second and a configured publication start timestamp, run:

$ rtctkGenMudpiPub -n 500 -p 1000000 --publication-start-timestamp 2026-07-07T12:00:00Z --mpc 127.0.0.1,6000,239.192.1.15,25,40000

In case the -d debug command line option is specified, the application will provide additional debug information during startup and while running. During startup the applied configuration will be logged and, while running, statistics are logged every 100 samples that give some information regarding publication timing (min, max, mean and variance publish time).

Stopping

The process can be stopped by using Ctrl-C or waiting until all the samples have been published if option -n,--num-iterations has been specified.

Limitations and Known Issues

For simpler configuration, the MUDPI frame buffer size is fixed to 8972 bytes.

It is currently not possible to ingest data from FITS files.

In case such features are needed, please use the MUDPI Publisher reusable component that provides much richer configuration possibilities via YAML configuration files.