date und ein wenig mehr

codc

codc

/dev/null
Seit längerem mal wieder eine Frage und mit der Hoffnung auf nützliche Hinweise.

Ich muss ein Shellscript schreiben was eine Waage im möglichst Millisekundentakt abfragt. Die Waage kommuniziert mit dem PC über /dev/ttyS0. Sie antwortet wenn der PC über die Schnittstelle ein s sendet. Das ganze braucht dann noch einenTimestamp im ebenfalls Millisekundentakt.

Mein Problem:
Ich kann die Schnittstelle mit cat /dev/ttyS0 >> $DATEINAME in eine Datei schreiben und da steht auch wenn ich echo "s" > /dev/ttyS0 mache der richtige Wert drin aber leider eignet sich das nicht für ein Shellscript weil cat ewig läuft und ich bei date keine Option finden konnte welche im Sub-Millisekundenbereich etwas liefert.

Irgendwelche hacks kann ich nicht brauchen weil das Script nachher von so etwas wie man gemeinhin als DAU bezeichnet bedienbar sein muss.
 
Perl kann genügend genau auflösen mit den entsprechenden (Standard) Modul Time::HiRes.
 
Was soll denn mit dem Wert passieren?

Soll der einfach ausgegeben oder in eine Datei geschrieben werden?
 
Hi,

prinzipiell wuerde ich das wohl auch eher in einer etwas ausstaffierteren Programmiersprache schreiben, aber zur Not geht's sicher auch per Shell Skript.

[...] und ich bei date keine Option finden konnte welche im Sub-Millisekundenbereich etwas liefert.
GNU date kennt %N, was dir die Nanosekunden der aktuellen Sekunde gibt.
Code:
$ date +%N
623962809
D.h. als timestamp suchst du wohl:
Code:
$ date +%s%N
1225910260751276562
edit: bzw.
$ date +%s.%N
1225911398.194355277

mfg,
bytepool
 
Zuletzt bearbeitet:
Was soll denn mit dem Wert passieren?

Soll der einfach ausgegeben oder in eine Datei geschrieben werden?

Der Messwert soll eine Zeitabhängigkiet bekommen und beides zusammen in eine Datei geschrieben werden die man in eine Tabellenkalkulation importieren kann was afaik mit einer ASCIIDatei geht.

Code:
date +%s.%N
war eigendlich nach dem ich gesucht hatte da die absolute Uhrzeit gleichgültig ist sondern nachher nur die Differenzen ausgewertet werden.

prinzipiell wuerde ich das wohl auch eher in einer etwas ausstaffierteren Programmiersprache schreiben, aber zur Not geht's sicher auch per Shell Skript.

Würde ich auch wenn ich was 1. was anderes bzw. brauchbares könnte und 2. die Zeit hätte da was anderes zu lernen. Nur würde ich das ganze dann DAU-tauglich für Windows schreiben. Die Herstellersoftware kann leider nur im Sekunden-Takt auslesen und das ist uns viel zu langsam.
 

Ähnliche Themen

Textkonsole mit KMS zu klein

Zurück
Oben