SYNOPSIS
halstreamer [options]
BESCHREIBUNG
Die HAL Komponente streamer(9) und das Programm halstreamer werden zusammen verwendet, um Daten aus einer Datei in die HAL Echtzeit-Umgebung zu streamen. In Echtzeit, exportiert streamer HAL Pins und legt eine FIFO (first in, first out queue) als geteilten Speicher an. halstreamer ist ein Nicht-Echtzeit-Programm, das Daten von stdin in den in den FIFO kopiert, so dass streamer sie an die HAL-Pins schreiben kann.
OPTIONEN
- -c CHAN
-
Weist halstreamer an, in den FIFO CHAN zu schreiben. FIFOs werden von Null an nummeriert, und der Standardwert ist Null, so dass diese Option nicht benötigt wird, es sei denn, es wurden mehrere FIFOs erstellt.
- FILENAME
-
Weist halsampler an, von FILENAME statt von stdin zu lesen.
VERWENDUNG
Ein FIFO muss zunächst durch Laden von streamer(9) mit halcmd loadrt oder einem loadrt-Befehl in einer HAL-Datei erstellt werden. Dann kann halstreamer aufgerufen werden, um mit dem Schreiben von Daten in den FIFO zu beginnen.
Die Daten werden von stdin gelesen und fast immer entweder aus einer Datei umgeleitet oder von einem anderen Programm über eine Pipeline übertragen, da die Tastatureingabe selbst mit langsamen Übertragungsraten nicht mithalten kann.
Jede Eingabezeile muss mit den an den FIFO angeschlossenen Pins übereinstimmen, z. B. wenn der Streamer-Konfigurationsstring "ffbs" lautet, muss jede Eingabezeile aus zwei Fließkommazahlen, einem Bit und einer Ganzzahl mit Vorzeichen bestehen, und zwar in dieser Reihenfolge und durch Leerzeichen getrennt. Fließkommazahlen müssen gemäß strtod(3) formatiert werden, Ganzzahlen mit und ohne Vorzeichen müssen gemäß strtol(3) und strtoul(3) formatiert werden, und Bits müssen entweder 0 oder 1 sein.
Eingabezeilen, die mit # beginnen, werden als Kommentare behandelt und stillschweigend übersprungen.
halstreamer transfers data to the FIFO as fast as possible until the FIFO is full, then it retries at regular intervals, until it is either killed or reads EOF from stdin. Data can be redirected from a file or piped from some other program.
Die Größe des FIFO sollte so gewählt werden, dass kurzzeitige Unterbrechungen des Datenflusses, wie z. B. Suchvorgänge auf der Festplatte, überbrückt werden können. Wenn der FIFO groß genug ist, kann halstreamer mit der gleichen oder einer neuen Datei neu gestartet werden, bevor der FIFO leer ist, was zu einem kontinuierlichen Datenstrom führt.
Das Datenformat für die Halstreamer-Eingabe ist das gleiche wie für die Halsampler(1)-Ausgabe, so dass mit Halsampler aufgenommene "Wellenformen" mit Halstreamer wiedergegeben werden können.
EXIT STATUS
Wenn während der Initialisierung ein Problem auftritt, gibt halstreamer eine Nachricht an stderr aus und gibt einen Fehler zurück.
Wenn beim Schreiben in den FIFO eine schlecht formatierte Zeile gefunden wird, gibt es eine Nachricht an stderr aus, überspringt die Zeile und fährt fort (dieses Verhalten kann in Zukunft überarbeitet werden).
Wenn EOF aus der Eingabe gelesen wird, gibt es Erfolg zurück. Wird es vor dem Ende der Eingabe beendet, gibt es einen Fehler zurück.
SIEHE AUCH
streamer(9), sampler(9), halsampler(1)
AUTOR
Originalversion von John Kasunich, als Teil des LinuxCNC-Projekts. Verbesserungen durch mehrere andere Mitglieder des LinuxCNC Entwicklungsteams.
MELDEN VON FEHLERN
Fehler melden unter https://github.com/LinuxCNC/linuxcnc/issues.
COPYRIGHT
Copyright © 2006 John Kasunich.
Dies ist freie Software; die Kopierbedingungen finden Sie in der Quelle. Es gibt KEINE Garantie; nicht einmal für die MARKTREIFE oder die EIGNUNG FÜR EINEN BESTIMMTEN ZWECK.