PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Monitor 2.0 FMS Ortskennung und Status eingrenzen



Denker
26.02.2010, 20:07
Hi,
habe hier jetzt Monitor 2.0 laufen, läuft alles super, dekodiert alles usw.
Nun möchte ich aber die ständigen Quittieren im FMS (Status 15) nicht haben
und ich möchte die Dekodierung auf unsere Ortskennung beschränken.
Die Lösung ist vielleicht nicht die beste aber ich dachte mir das könnte man mit der CRC Prüfung machen.

In der "MonitorModuleFMS.cpp" Zeile 688:


if (fms.ort[0] != 4) return 0 ; // original: if (fms.ort[0] > 9) return 0 ;
if (fms.ort[1] != 6) return 0 ; // original: if (fms.ort[1] > 9) return 0 ;
if (fms.bos==0) return 0 ; //steht original schon drin
if (fms.stat[0]==0xF) return 0;
return 1 ;


Klappt leider nicht, weder das != 4 noch das ==0xF.
In beiden Fällen dekodiert er garnichts mehr und gibt auch nichts in der DEBUG log aus.
Jemand eine Idee wie es funktioniert oder besser geht?

dekarl
27.02.2010, 13:05
if (fms.ort[0] != 4) return 0 ; // original: if (fms.ort[0] > 9) return 0 ;
if (fms.ort[1] != 6) return 0 ; // original: if (fms.ort[1] > 9) return 0 ;
Klappt leider nicht, weder das != 4 noch das ==0xF.

Warum machst Du das nicht in LUA?
Beispielfilter im SVN (http://svn.monitord.de/monitor/trunk/dispatcher.lua)
Vergleiche einfach arg["typ"]=="fms", arg["ort"]=="46" und arg["status"]!="15" mit deinen Wunschwerten und gut ists.

Die möglichen Werte zum Filtern von FMS findest Du in der Funktion DisplayResult in Datei MonitorModuleFMS.cpp (http://svn.monitord.de/monitor/trunk/monitord/MonitorModuleFMS.cpp).

Gruß,
Karl

PS: Das ist alles ungetestet nur durchs lesen des Code zusammengestellt...

Denker
28.02.2010, 23:04
Hmm insteressant, diese LUA Datei gbt es bei mir gar nicht
kann ich die einfach in das Verzeichnis kopieren und los gehts?