Noch ne Änderung am Makefile gemacht (monitord doch glatt als Target für "all" vergessen).
Ausserdem kann man den monitord nun mit dem Parameter -c [config-file] aufrufen.
configfile meint ein XML File, wie z.B. das monitord.xml im SVN.
Noch ne Änderung am Makefile gemacht (monitord doch glatt als Target für "all" vergessen).
Ausserdem kann man den monitord nun mit dem Parameter -c [config-file] aufrufen.
configfile meint ein XML File, wie z.B. das monitord.xml im SVN.
huhu, wollte grade den monitor kompilieren nur sagt er mir das ../xmlParser/xmlParser.o nicht gefunden wurde, was auch stimmt, nur wie erstelle ich diese Datei ?
in der Makefile von xmlParser gibs kein Target dafür.
Das sollte durch das Makefile vom monitord gebaut werden.
Das Projekt xmlParser selbst baut kein xmlParser.o. Zur Übersicht will ich aber die Ordner erstmal erhalten.
Da ich die xmlParser.o schon mal von Hand gebaut hatte fällts bei mir natürlich nicht auf.
Einfachste Lösung im Makefile ist es, ../xmlParser/xmlParser.o aus LIBS nach Progs zu verschieben. Dann baut er es selbst mit.
Werde das Makefile gleich nochmal ändern.
Geändert von Buebchen (25.06.2007 um 00:00 Uhr)
thx habs an PROGS dran gehangen nu gehts.
Das ist echt ein tolles Projekt, ich bin begeistert! Weiter so!
FMS und ZVEI dekodiert er bei mir ohne Probleme, nur POCSAG 512 geht irgendwie nicht...
Da ist immer noch ein kleiner Syntax-Fehler:
base64.cpp: In function »std::string base64_encode(const std::string&)«:
base64.cpp:60: Fehler: expected unqualified-id before »;« token
> unsigned int in_len = in_string.length() ,;
Danke im Namen des Teams.
Den Fehler im base64 kannst Du leicht beheben. Das Komma vor dem Semikolon gehört da nicht hin. Loeschen. Danach sollte es sich kompilieren.
Die POC512 Auswertung habe ich bisher nur mit dem BOS-Tool getestet. Aber wenn er so garnichts auswertet finde ich das schon seltsam. Du könntest als Test mal den Kanal fest im Scanner auswählen. Bleibt der Scanner recht spät auf dem POCSAG Signal stehen und die Sync kommt nicht mehr mit. Einige Werte werden noch nicht als dem XML ausgelesen.
Andere Frage, wäre was in Deiner monitord.xml drin steht. Ich werte bei mir nur den linken Kanal aus. Ggf hast Du POCSAG auf dem rechten Kanal ?
Wobei POCSAG auch gerne mal ein paar Fehlauswertung noch einer korrekten ausgibt. Das muss ich mich auch nochmal angucken.
Geändert von Buebchen (25.06.2007 um 22:56 Uhr)
Was steht eigentlich in der Kanalbezeichnung drin?
Ist das Links oder Rechts für den Audiokanal wo es rein kam oder wie muß ich mir das vorstellen?
{soundcard num=0}Zitat von Buebchen
{status}1{/status} {!-- 1=aktiv, 0=deaktivert --}
{baud}22050{/baud}
{name} Erste Sondkarte {/name}
{!-- Linker Kanal --}
{channel part="left"}
{name}Kanal 1{/name}
{module type="fms"}
{vorlaufbits} 8 {/vorlaufbits}
{crc-check} 1 {/crc-check}
{/module}
{module type="poc512"}
{crc-check} 1 {/crc-check}
{ecc} 0 {/ecc}
{/module}
{/channel}
{!-- Rechter Kanal --}
{channel part="right"}
{name}Kanal 2{/name}
{module type="zvei"}
{/module}
{/channel}
{/soundcard}
{soundcard num=1}
{device}/dev/dsp1{/device}
{status}0{/status} {!-- 1=aktiv, 0=deaktivert --}
{baud}22050{/baud}
{name} Zweite Sondkarte {/name}
{!-- Linker Kanal --}
{channel part="left"}
{name}Kanal 1{/name}
{module type="fms"}
{vorlaufbits} 8 {/vorlaufbits}
{crc-check} 1 {/crc-check}
{/module}
{module type="poc512"}
{crc-check} 1 {/crc-check}
{ecc} 0 {/ecc}
{/module}
{module type="zvei"}
{/module}
{/channel}
{!-- Rechter Kanal --}
{channel part="right"}
{/channel}
{/soundcard}
Ich habe es auf beiden Kanälen ausprobiert, werde mir nachern nochmal den Code reinziehen...
EDIT1:
Achso, bei meckert der Compiler auch noch ntserv.cpp:1729 an, da fehlt noch ein int, da das noch nicht deklariert wurde (ausser in der for Schleife davor, wa ja nach C++ Standard nicht zählt)
EDIT2:
Könnte es wohl daran liegen, das demod_mg noch nicht wirklich implementiert ist?
void MonitorModulePocsag::demod(float *buffer, int length)
{
switch (m_iAlgorithmus)
{
case 0:
demod_mg(buffer, length) ; // war demod_se ...
break ;
case 1:
default:
demod_mg(buffer, length) ;
} ;
}
void MonitorModulePocsag::demod_mg(float *buffer, int length)
{
}
EDIT3:
Wäre es nicht besser Threads als neue Prozesse und Linux zu nehmen?
Möglich währe der Einsatz der Posix libpthread die auch unter Windows funktionieren sollte...
Geändert von SirFS (27.06.2007 um 09:06 Uhr) Grund: Doppelpost zusammengefasst.
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)