Ergebnis 1 bis 15 von 549

Thema: monitor 1.9.0 - aber richtig :)

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    PolyMorPhisMus Gast
    Zitat Zitat von Buebchen
    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.
    {soundcard num=0}
    {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.

  2. #2
    Registriert seit
    11.12.2001
    Beiträge
    1.008
    Zitat Zitat von PolyMorPhisMus
    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)
    Seltsam. Das ist dem Compiler von VC 7.1 egal und er findet's ok. Ich glaube VC 6.0 hatte damals sogar sonst nen Fehler gemeldet. Wobei das schon stimmt. Die Initialisierung gilt eigentlich nur innerhalb der for-Schleife. Werde das SVN beim nächsten mal dahingehend updaten.

    Welchen Kompiler nutzt du ?

    Zitat Zitat von PolyMorPhisMus
    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 c::demod_mg(float *buffer, int length)
    {

    }
    Hmm.Die demod_se() Funktion war mal so ein Test. Hatte aber nicht so richtig geklappt (bisher). Deshalb erstmal fest die demog_mg().

    Die Funktion ist für POC512 in MonitorModulePocsag512.cpp definiert. die demod_-Funktion sind als virtual definiert. Ggf. ein Problem, wenn im std::vector Zeiger auf die Basisklasse definiert sind, daß zur Laufzeit dann der Klassentyp nicht korrekt erkannt wird ? Dann genau würde er nämlich die leere demod_ Funktionen aufrufen.

    Code:
    class MonitorModule ;
    
    typedef std::vector MonitorModuleArray ;
    Die Auswerter sind aber abgeleitete Klassen. Aber eigentlich sollte das gehen...

    Zitat Zitat von PolyMorPhisMus
    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...
    Eigentlich hätte ich jetzt gedacht, daß ich statt Prozesse Threads bildet. Unter linux habe ich noch nicht nachgeschaut. Aber unter Windows wird CreateThread aufgerufen. aber ein pthread_t als Datentyp für linux würde doch auf die pthreads hinweisen, oder ?

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •