@@ -13,20 +13,18 @@ halstreamer - stream file data into HAL in real-time
1313
1414== DESCRIPTION
1515
16- *streamer*(9) and *halstreamer* are used together to stream data
17- from a file into the HAL in real-time. *streamer* is a real-time HAL
18- component that exports HAL pins and creates a FIFO in shared memory.
19- *hal_streamer* is a non-realtime program that copies data from stdin into
20- the FIFO, so that *streamer* can write it to the HAL pins.
16+ *streamer*(9) and *halstreamer* are used together to stream data from a file into the HAL in real-time.
17+ *streamer* is a real-time HAL component that exports HAL pins and creates a FIFO in shared memory.
18+ *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.
2119
2220
2321== OPTIONS
2422
2523*-c* _CHAN_::
2624
27- Instructs *halstreamer* to write to FIFO _CHAN_. FIFOs are numbered
28- from zero, and the default value is zero, so this option is not
29- needed unless multiple FIFOs have been created.
25+ Instructs *halstreamer* to write to FIFO _CHAN_.
26+ FIFOs are numbered from zero, and the default value is zero,
27+ so this option is not needed unless multiple FIFOs have been created.
3028
3129_FILENAME_::
3230
@@ -35,50 +33,45 @@ _FILENAME_::
3533
3634== USAGE
3735
38- A FIFO must first be created by loading *streamer*(9) with *halcmd loadrt*
39- or a *loadrt* command in a HAL file. Then *halstreamer* can be invoked
40- to begin writing data into the FIFO.
36+ A FIFO must first be created by loading *streamer*(9) with *halcmd loadrt* or a *loadrt* command in a HAL file.
37+ Then *halstreamer* can be invoked to begin writing data into the FIFO.
4138
4239Data is read from stdin, and is almost always either redirected from
4340a file or piped from some other program, since keyboard input would be
4441unable to keep up with even slow streaming rates.
4542
4643Each line of input must match the pins that are attached to the FIFO,
47- for example, if the *streamer* config string was "ffbs" then each line
48- of input must consist of two floats, a bit, and a signed integer, in that
49- order and separated by whitespace. Floats must be formatted as required
50- by *strtod*(3), signed and unsigned integers must be formatted as required
51- by *strtol*(3) and *strtoul*(3), and bits must be either '0' or '1'.
44+ for example, if the *streamer* config string was "ffbs"
45+ then each line of input must consist of two floats, a bit, and a signed integer,
46+ in that order and separated by whitespace. Floats must be formatted as required by *strtod*(3),
47+ signed and unsigned integers must be formatted as required by *strtol*(3) and *strtoul*(3),
48+ and bits must be either '0' or '1'.
5249
53- Input lines that begin with '#' will be treated as comments and silently
54- skipped.
50+ Input lines that begin with '#' will be treated as comments and silently skipped.
5551
56- *halstreamer* transfers data to the FIFO as fast as possible until the
57- FIFO is full, then it retries at regular intervals, until it is either
58- killed or reads EOF from stdin. Data can be redirected from a file or
59- piped from some other program.
52+ *halstreamer* transfers data to the FIFO as fast as possible until the FIFO is full,
53+ then it retries at regular intervals, until it is either killed or reads EOF from stdin.
54+ Data can be redirected from a file or piped from some other program.
6055
61- The FIFO size should be chosen to ride through any momentary disruptions
62- in the flow of data, such as disk seeks. If the FIFO is big enough,
63- *halstreamer* can be restarted with the same or a new file before the
64- FIFO empties, resulting in a continuous stream of data.
56+ The FIFO size should be chosen to ride through any momentary disruptions in the flow of data,
57+ such as disk seeks. If the FIFO is big enough, *halstreamer* can be restarted with the same or a new file
58+ before the FIFO empties, resulting in a continuous stream of data.
6559
66- The data format for *halstreamer* input is the same as for *halsampler*(1)
67- output, so 'waveforms' captured with *halsampler* can be replayed using
68- *halstreamer*.
60+ The data format for *halstreamer* input is the same as for *halsampler*(1) output,
61+ so 'waveforms' captured with *halsampler* can be replayed using *halstreamer*.
6962
7063
7164== EXIT STATUS
7265
73- If a problem is encountered during initialization, *halstreamer* prints
74- a message to stderr and returns failure.
66+ If a problem is encountered during initialization,
67+ *halstreamer* prints a message to stderr and returns failure.
7568
76- If a badly formatted line is encountered while writing to the FIFO, it
77- prints a message to stderr, skips the line, and continues (this behavior
78- may be revised in the future).
69+ If a badly formatted line is encountered while writing to the FIFO,
70+ it prints a message to stderr, skips the line, and continues
71+ (this behavior may be revised in the future).
7972
80- Upon reading EOF from the input, it returns success. If it is terminated
81- before the input ends, it returns failure.
73+ Upon reading EOF from the input, it returns success.
74+ If it is terminated before the input ends, it returns failure.
8275
8376
8477== SEE ALSO
0 commit comments