Pro-Linux

Pro-Linux Diskussions- und Hilfeforum
Aktuelle Zeit: 14. Nov 2018 16:07

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 1 Beitrag ] 

War dieses Helferlein für dich nützlich?
Ja. 0%  0%  [ 0 ]
Nein, ich hatte Probleme damit. 0%  0%  [ 0 ]
Nein, ich stand nie vor dem Problem, das dieses Helferlein lösen soll. 0%  0%  [ 0 ]
Insgesamt abgegebene Stimmen: 0
Autor Nachricht
 Betreff des Beitrags: Ausgabe verlangsamen
BeitragVerfasst: 21. Sep 2007 10:17 
Offline
Benutzeravatar

Registriert: 11. Feb 2006 19:10
Beiträge: 3569
Hallo,

dieses Helferlein brauchte ich, um die Ausgabe auf einen seriell angeschlossenen Drucker zu verlangsamen, damit er sich beim Programmieren des Flashs nicht verschluckt. Mit RTS/CTS-Handshake hatte das Ding arge Probleme, und XON/XOFF-Handshake wollte gerade beim Programmieren des Flashs auch nicht so recht.

Aber man kann es auch benutzen, um einen zu schnell durchrollenden Text zu verlangsamen etc. Vielleicht findet das ja jemand nützlich.
Code:
#!/usr/bin/tclsh
# slow -- reblock and slow down output.
if &#123; $argc < 1 &#125; &#123; set DELAY 1000 &#125; &#123; set DELAY &#91; lindex $argv 0 &#93; &#125;
if &#123; $argc < 2 &#125; &#123; set BLOCKSIZE 1 &#125; &#123; set BLOCKSIZE &#91; lindex $argv 1 &#93; &#125;

fconfigure stdin -encoding binary -translation binary -buffering full -buffersize $BLOCKSIZE
fconfigure stdout -encoding binary -translation binary -buffering full -buffersize $BLOCKSIZE

while &#123;!&#91; eof stdin &#93;&#125; \
&#123;
	fcopy stdin stdout -size $BLOCKSIZE
	after $DELAY
&#125;
Man kann das Skript in eine Pipe einbauen, in der Defaulteinstellung verlangsamt es die Ausgabe auf 1 Zeichen pro Sekunde. Mit dem ersten Parameter kann man die Wartezeit in Millisekunden einstellen, mit dem zweiten die Größe des Blocks. Wichtig: Falls die Blockgröße >1 ist, blockiert das fcopy beim letzten Block, wenn die Eingabedatenmenge nicht genau durch die Blockgröße teilbar ist. Man kann sich durch
Code:
$ cat Eingabedaten | dd bs=<BLOCKGRÖSSE> conv=sync | slow <VERZÖGERUNG> <BLOCKGRÖSSE>
behelfen, wenn es (wie in meinem Fall) nichts ausmacht, dass die Daten am Schluss mit Nullbytes auf die Blockgröße aufgefüllt werden.

Janka

_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 1 Beitrag ] 

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de