Nein das bringts nicht, bei 145 Zeichen ist Ende. Es muss an was anderem liegen.
Nein das bringts nicht, bei 145 Zeichen ist Ende. Es muss an was anderem liegen.
Ich hab das gleiche vorhin versucht. Kein Erfolg.
In der Datei MonitorModulePocsag.h ist ein Buffer als Array mit einer Länge von 128 definiert. Die Arraylänge habe ich einfach mal auf 256 vergrößert. Damit kamen auch Längere Meldungen durch, allerdings wurden Meldungen, die Länger als 145 Zeichen waren nicht korrekt dekodiert. Mit nicht korrekt meine ich, dass man anhand des dekodierten Textes noch nicht mal was erahnen konnte.
Meldungen die weniger als 145 Zeichen enthielten wurden korrekt dekodiert.
Für FMS und POCSAG habe ich nun auch Filter erstellt, die prüfen, ob es sich bei den dekodierten FMS-Kennungen und den RICs um plausible Werte handelt. Ist das nicht der Fall, werden diese nicht in die MySQL-Datenbank geschrieben.
Die RIC, die bei uns alle paar Minuten ausgesendet wird, damit die DMEs wissen, dass sie noch empfang haben, habe ich ebenfalls herausgefiltert. Funktioniert soweit ganz gut.
Mir ist noch aufgefallen, dass im monitord manchmal auch nicht der ganze POCSAG-Text dekodiert wird. FMS32pro bekommt die selben Nachrichten jedoch dekodiert. Vielleicht bekommt man da auch noch was gedreht.Code:local toHidePOCSAG = {"xxxxxxx"} ; --RIC, die zur Empfangskontrolle der DMEs dient function pocsagAktion() end function fmsAktion() end function pocsagFilter() if(string.sub(arg["ric"],1,2) ~= "xx") then --xx durch erste beiden Ziffern der RICs ersetzen return 1 end for index,testwert in pairs(toHidePOCSAG) do if(testwert == arg["ric"]) then return 1 end end return 0 end function fmsFilter() --print("fmsFilter") --print(arg["fmskennung"]) if(string.sub(arg["fmskennung"],1,3) ~= "xxx") then --xxx durch erste drei Ziffern der FMS-Kennung ersetzen (BOS-Kennung, Landeskennung & 1. Ziffer der Ortskennung) return 1 end return 0 end function pluginFilter() --print(arg["typ"]) if (arg["typ"]=="pocsag") then pocsagAktion() return pocsagFilter() end if (arg["typ"]=="fms") then fmsAktion() return fmsFilter() end return 0; end
Geändert von matt (07.02.2013 um 23:58 Uhr)
So - schlechte Nachrichten. Ohne mein zutun (weder pi neugestartet, noch irgendeine Einstellung verändert) wieder kaum bist keine Auswertung.
Wie aus dem nichts...
Hallo DeLocke,
hast du vielleicht ein USB-Gerät angesteckt? Bei mir ist es schon vorgekommen, dass deren Einschaltstrom zu hoch war und die Spannung kurz eingebrochen ist. Das hat den Raspberry aus dem Tritt gebracht und er hat neu gebootet.
Ist der Soundpegel ok?
Code:sudo arecord -vv -D plughw:1,0 /dev/null
Ich habe mal gelesen, dass Alsamixer die Einstellungen nach einer Änderung nicht automatisch speichert. Dazu muss anscheinend der folgende Befehl ausgeführt werden:
Obwohl ich eine UCA202 an meinem Raspberry habe, die sowieso keine Einstellmöglichkeiten besitzt, habe ich den Befehl einfach mal just for fun ausgeführt. Das hat dazu geführt, dass monitord nichts mehr ausgewertet hat. Nach einem Neustart des Programm lief aber alles wieder so gut wie bisher.Code:sudo alsactl store
Geändert von matt (08.02.2013 um 11:18 Uhr)
Ich hab nix gemacht - ich war ja noch nicht mal zu Hause :-P
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)