Commit 0ca17321 authored by YargoA2's avatar YargoA2

cosmetics; change ToC timing base

parent 51c4b487
...@@ -31,7 +31,7 @@ Verzeichnisstruktur: ...@@ -31,7 +31,7 @@ Verzeichnisstruktur:
- SLICETIME: Zeitscheibenlaenge - SLICETIME: Zeitscheibenlaenge
- SLICEDEPTH: Anzahl vorauszuberechnender Zeitscheiben - SLICEDEPTH: Anzahl vorauszuberechnender Zeitscheiben
- TOCLENGTH: maximale Laenge [sec] des Inhaltsverzeichnisses - TOCLENGTH: maximale Laenge [sec] des Inhaltsverzeichnisses
- TOCPERIOD: Sendeperiode [sec] des Inhaltsverzeichnisses - TOCSLICES: Anzahl Zeitscheiben zwischen Inhaltsverzeichnis-Sendungen
- POSTPROCESSOR: Skript zum Postprozessing: Umlaute, verbotene Woerter, ... - POSTPROCESSOR: Skript zum Postprozessing: Umlaute, verbotene Woerter, ...
- WPM: Tastgeschwindigkeit (kann durch Rezept oder Prio veraendert werden) - WPM: Tastgeschwindigkeit (kann durch Rezept oder Prio veraendert werden)
- SOURCES: Liste von IDENTIFICATIONs (Quellen), welche gesendet werden sollen - SOURCES: Liste von IDENTIFICATIONs (Quellen), welche gesendet werden sollen
...@@ -90,7 +90,7 @@ _ok, shellscript_ `src/ambros` ...@@ -90,7 +90,7 @@ _ok, shellscript_ `src/ambros`
### Bereiter ### Bereiter
_ok, shellscript_ `scr/extractor` _ok, shellscript_ `src/extractor`
- gestartet von `Kontroller` - gestartet von `Kontroller`
- holt Rohdaten mit `Sauger` und wandelt sie mittels Rezepten - holt Rohdaten mit `Sauger` und wandelt sie mittels Rezepten
...@@ -111,11 +111,20 @@ _ok, shellscript_ `src/fetcher` ...@@ -111,11 +111,20 @@ _ok, shellscript_ `src/fetcher`
_shellscript_ `src/planner` _shellscript_ `src/planner`
- erstellt `SendeTexte` (formatierte Texte) via Filesystem fuer `Sendechef`, - erstellt `SendeTexte` (formatierte Texte) via Filesystem fuer `Sendechef`,
basierend auf aktuellem Status und _Durchsatzoptimierung_ basierend auf aktuellem Status und Durchsatzoptimierung
- erzeugt Filenamen aufsteigend je Kanalprefix - erzeugt Filenamen aufsteigend je Kanalprefix
- erzeugt Sendeplan zur Uebertragung zu vordefinierten Zeiten - erzeugt Sendeplan zur Uebertragung zu vordefinierten Zeiten
- eine Instanz je Kanalprefix - eine Instanz je Kanalprefix
### Durchsatz-Optimierer
_shellscript_ `src/optimize`
- berechnet beste Anordnung der `SendeTexte` (aus stdin) und gibt sie
umgestellt wieder aus (stdout)
- stdin&stdout: Liste der Textdateinamen und ihrer jeweiligen Kosten
- Argumente: Dateien mit Kostenfunktions-Parametern und Kanalkonfiguration
### Sendechef ### Sendechef
_shellscript_ `scr/sender` _shellscript_ `scr/sender`
...@@ -134,7 +143,7 @@ _shellscript_ `scr/sender` ...@@ -134,7 +143,7 @@ _shellscript_ `scr/sender`
## Signale ## Signale
### HUP,STOP ### SIGDAEMONTERMINATE
- Abbruchsignal - Abbruchsignal
- von ambros.sh - von ambros.sh
...@@ -146,7 +155,7 @@ _shellscript_ `scr/sender` ...@@ -146,7 +155,7 @@ _shellscript_ `scr/sender`
- von extern - von extern
- fuer ambros.sh - fuer ambros.sh
### USR1 ### SIGDAEMONRESTART
- Signal zum Neulesen der Konfiguration und Neustart - Signal zum Neulesen der Konfiguration und Neustart
- von ambros.sh - von ambros.sh
...@@ -253,7 +262,7 @@ Skript, Zusatzprogrammen zum Morsen sowie evtl Kommunikationsverbindungen ...@@ -253,7 +262,7 @@ Skript, Zusatzprogrammen zum Morsen sowie evtl Kommunikationsverbindungen
#### allgemeine Kosten: #### allgemeine Kosten:
- Leerzeit in Zeitscheibe: `q.n=Zeit([Prio.10-49]/Zeitscheibenlaenge)` - Leerzeit in Zeitscheibe: `q.n=Zeit([Prio.10-59]/Zeitscheibenlaenge)`
- Konstanten in Kostenfunktion: `k.A, k.P, g.(), f.()` - Konstanten in Kostenfunktion: `k.A, k.P, g.(), f.()`
#### Einzelkosten: #### Einzelkosten:
...@@ -331,4 +340,3 @@ Bit 7 muss gesetzt sein fuer Morsedaten, geloescht fuer Steuerdaten ...@@ -331,4 +340,3 @@ Bit 7 muss gesetzt sein fuer Morsedaten, geloescht fuer Steuerdaten
- 1 = Tempo in WPM mit 1 Byte Argument, minimal Tempo 1WPM, maximal Tempo 255WPM; "Tempo 0" wird ignoriert, folglich am einfachsten 0 fuer Start-&Stopbyte; *muss* vor ersten Morsedaten gegeben sein, sonst Default-Tempo; Tempo-Basis ist PARIS - 1 = Tempo in WPM mit 1 Byte Argument, minimal Tempo 1WPM, maximal Tempo 255WPM; "Tempo 0" wird ignoriert, folglich am einfachsten 0 fuer Start-&Stopbyte; *muss* vor ersten Morsedaten gegeben sein, sonst Default-Tempo; Tempo-Basis ist PARIS
- 0x20 .. 0x2F = Kommentar (inkl Argument komplett ignoriert) - 0x20 .. 0x2F = Kommentar (inkl Argument komplett ignoriert)
---
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
SLICETIME 600 sec SLICETIME 600 sec
SLICEDEPTH 2 SLICEDEPTH 2
TOCLENGTH 100 sec TOCLENGTH 100 sec
TOCPERIOD 900 sec = 1/4 h TOCSLICES 3 slices
POSTPROCESSOR /bin/cat POSTPROCESSOR /bin/cat
WPM 23 wpm WPM 23 wpm
SOURCES utc SOURCES utc
...@@ -10,12 +10,26 @@ ...@@ -10,12 +10,26 @@
# save channel name for reference - but we should already be in that directory # save channel name for reference - but we should already be in that directory
chan=$1 chan=$1
logf=`logfile planner-$chan` myself=planner-$chan
logf=`logfile $myself`
statf=$STATUSDIR/$myself
statrep $statf STATUS initializing
# check if config file present, if not, sleep to reduce load # check if config file present, if not, sleep to reduce load
if ! -r $CHANNELCONFIG if ! -r $CHANNELCONFIG
then then
logit $logf FAIL missing config file $CHANNELCONFIG logit $logf FAIL missing config file $CHANNELCONFIG
statrep $statf STATUS FAIL missing config file $CHANNELCONFIG
sleep 10
return 1
fi
# check if prefix defined -- we cannot define it here by ourselves!
if ! prefix=`configread $CHANNELCONFIG PREFIX`
then
logit $logf FAIL missing PREFIX definition in $CHANNELCONFIG
statrep $statf STATUS FAIL missing PREFIX definition in $CHANNELCONFIG
sleep 10 sleep 10
return 1 return 1
fi fi
...@@ -28,7 +42,7 @@ restart () { ...@@ -28,7 +42,7 @@ restart () {
# flag initially _set_ to force initializing during launch # flag initially _set_ to force initializing during launch
# will be reset after initialization routine # will be reset after initialization routine
RESTARTPLANNER=1 RESTARTPLANNER=1
trap restart USR1 trap restart $SIGDAEMONRESTART
# handler for stopping # handler for stopping
finish () { finish () {
...@@ -36,35 +50,26 @@ finish () { ...@@ -36,35 +50,26 @@ finish () {
ABORTPLANNER=1 ABORTPLANNER=1
} }
ABORTPLANNER=0 ABORTPLANNER=0
trap finish HUP INT STOP trap finish $SIGDAEMONTERMINATE
while test ABORTPLANNER -eq 0 while test ABORTPLANNER -eq 0
# reduce load in case of severe bugs/problems
do sleep 3 do sleep 3
if test $RESTARTPLANNER -eq 1 if test $RESTARTPLANNER -eq 1
then then
sources=`configread $CHANNELCONFIG SOURCES ',:;'` sources=`configread $CHANNELCONFIG SOURCES ',:;'`
logit $logf config sources: $sources" logit $logf config sources: $sources"
# last resource default: speed 10WpM
speed=`configread $CHANNELCONFIG WPM`
speed=${speed:-$SPEED}
speed=${speed:-10}
logit $logf config speed: $speed
# last resource defaults: slicetime 10min, slicedepth 0
slicetime=`configread $CHANNELCONFIG SLICETIME`
slicetime=${slicetime:-600}
slicedepth=`configread $CHANNELCONFIG SLICEDEPTH`
slicedepth=${slicedepth:-0}
logit $logf config slice time: $slicetime , depth: $slicedepth
# last resource default: no postprocessor, i.e `cat` # last resource default: no postprocessor, i.e `cat`
postprocessor=`configread $CHANNELCONFIG POSTPROCESSOR` postprocessor=`configread $CHANNELCONFIG POSTPROCESSOR`
postprocessor=${postprocessor:-/bin/cat} postprocessor=${postprocessor:-/bin/cat}
logit $logf config postprocessor: $postprocessor logit $logf config postprocessor: $postprocessor
# last resource defaults: ToC length 2min, ToC retransmission period 30min # last resource defaults: ToC length 2min, ToC retransmission period 3 slices
toclength=`configread $CHANNELCONFIG TOCLENGTH` toclength=`configread $CHANNELCONFIG TOCLENGTH`
toclength=${toclength:-120} toclength=${toclength:-120}
tocperiod=`configread $CHANNELCONFIG TOCPERIOD` tocslices=`configread $CHANNELCONFIG TOCSLICES`
tocperiod=${tocperiod:-1800} tocslices=${tocslices:-3}
# do not restart until signal received again # do not restart until signal received again
RESTARTPLANNER=0 RESTARTPLANNER=0
fi fi
done done
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment