logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

streamer - stream file data into HAL in real time

Author

       Original version by John Kasunich, as part of the LinuxCNC project. Improvements by several other members
       of the LinuxCNC development team.

Bugs

       Should an enable HAL pin be added, to allow streaming to be turned on and off?

Description

streamer and halstreamer(1) are used together to stream data from a file into the HAL in real time.
       streamer is a realtime HAL component that exports HAL pins and creates a FIFO in shared memory.
       hal_streamer is a non-realtime program that copies data from stdin into the FIFO, so that streamer can
       write it to the HAL pins.

Functions

streamer.N
           One function is created per FIFO, numbered from zero.

Name

       streamer - stream file data into HAL in real time

Options

depth=depth1[,depth2...]
           Sets the depth of the FIFO that the realtime streamer creates to receive data from the non-realtime
           hal-streamer. Multiple values of depth (separated by commas) can be specified if you need more than
           one FIFO (for example if you want to stream data to two different realtime threads).

       cfg=string1[,string2...]
           Defines the set of HAL pins that streamer exports and later writes data to. One string must be
           supplied for each FIFO, separated by commas.  streamer exports one pin for each character in string.
           Legal characters are:

           •   F, f (float pin)

           •   B, b (bit pin)

           •   S, s (s32 pin)

           •   U, u (u32 pin)

Pins

streamer.N.pin.M output
           Data from column M of the data in FIFO N appears on this pin. The pin type depends on the config
           string.

       streamer.N.curr-depth s32 output
           Current number of samples in the FIFO. When this reaches zero, new data will no longer be written to
           the pins.

       streamer.N.empty bit output
           TRUE when the FIFO N is empty, FALSE when valid data is available.

       streamer.N.enable bit input
           When TRUE, data from FIFO N is written to the HAL pins. When false, no data is transferred. Defaults
           to TRUE.

       streamer.N.underruns s32 read/write
           The number of times that sampler has tried to write data to the HAL pins but found no fresh data in
           the FIFO. It increments whenever empty is true, and can be reset by the setp command.

       streamer.N.*clock bit input
           Clock for data as specified by the clock-mode pin

       streamer.N.*clock-mode s32 input
           Defines behavior of clock pin:

           •   0 (default) free run at every iteration

           •   1 clock on falling edge of clock pin

           •   2 clock on rising edge of clock pin

           •   3 clock on any edge of clock pin

Reporting Bugs

       Report bugs to jmkasunich AT users DOT sourceforge DOT net

See Also

halstreamer(1), sampler(9), halsampler(1)

Synopsis

loadrtstreamerdepth=depth1[,depth2...]cfg=string1[,string2...]

See Also