BCR PIC-Software Bugs & Vorschläge

  • Hallo,


    PIC v1.08:
    habe einen kleinen Bug im ZF-Menu gefunden. Wenn man die Frequenz fertig eingegeben hat und bei der Auswahl left/save/cancel ankommt:
    - dreht man im Uhrzeigersinn ist alles OK
    - dreht man im Gegenuhrzeigersinn, dann werden keine Menu-Befehle mehr angezeigt.


    Man kann z.B. 5 Rasten im Gegenuhrzeigersinn drehen und muss exakt wieder 5 Rasten im Uhrzeigersinn zurück drehen, bis wieder Menu-Punkte angezeigt werden. Sieht nach einem Underrun-Problem aus (0 --> FF).
    Kann durch blockieren (bei 0 gehts einfach nicht mehr weiter) oder besser durch Fortsetzung des Menus auch in diese Richtung behoben werden.

    72 de Michael, DL3DCM ..

  • v1.08


    Ein Vorschlag zur Verbesserung:
    Das S-Meter zeigt bei Signalschwankungen sehr hektisch wechselnde Werte an, womit Ablesen etwas schwierig wird. Ich schlage vor einen Mittelwert über einige Messungen zu bilden, so dass die Anzeige zwar nicht mehr so super-spontan aber dafür viel besser lesbar wird. Ausserdem dürfte es somit in der v1.11 auch weniger Knattern auf 10 MHz auftreten, da sich die Anzeige nicht mehr so oft ändert. Über wie viele Werte man mittels, müsste man real ausprobieren, zu träge soll die Anzeige ja auch nicht sein.

    72 de Michael, DL3DCM ..

  • Zitat

    Original von DL3DCM
    v1.08


    Ein Vorschlag zur Verbesserung:
    Das S-Meter zeigt bei Signalschwankungen sehr hektisch wechselnde Werte an, womit Ablesen etwas schwierig wird. Ich schlage vor einen Mittelwert über einige Messungen zu bilden, so dass die Anzeige zwar nicht mehr so super-spontan aber dafür viel besser lesbar wird. Ausserdem dürfte es somit in der v1.11 auch weniger Knattern auf 10 MHz auftreten, da sich die Anzeige nicht mehr so oft ändert. Über wie viele Werte man mittels, müsste man real ausprobieren, zu träge soll die Anzeige ja auch nicht sein.


    Seit Version 1.07 wird der Spitzenwert ermittelt und für 1 Sekunde gehalten / angezeigt.

    73/2 de Peter, DL2FI
    Proud member of Second Class Operators Club SOC and Flying Pig Zapper #OOO (Certificated Kit Destroyer)

  • Hallo Michael,


    Zum ZF-Menü:
    Microsoft würde sagen: it's not a bug it's a feature...


    Scherz beiseite: ich finde es gut, wenn diese kleinen Dinge dem Entwickler gemeldet werden, aber als großes Problem werte ich dieses Menü-Verhalten nicht, zumal das ja nur während der Kalibrierung auftritt. Sicherlich wird Andreas in irgendeiner Version 2.xx auch diesen Punkt anpassen. Mir ist es so gegangen, dass ich in die eine Richtung gedreht habe und sich nichts getan hat... da habe ich in die andere Richtung gedreht: perfekt.


    An dieser Stelle möchte ich mal ein dickes Lob an Andreas aussprechen. Das Bedienkonzept ist genial und meine Version 1.09 hat schon super funktioniert. Sogar die nicht vorhersehbaren und offensichtlich durch IRQ-Routinen verursachten wirklich schwachen Störungen hat er sofort eliminiert und noch die S-Meter-Anzeige beruhigt...


    Das Wichtigste ist aber, dass die für den Betrieb benötigten Punkte fehlerfrei funktionieren... und das tun sie bei mir (habe leider nur kurz testen können).
    Oder hast du, Michael noch etwas Negatives festgestellt?

  • Hallo Uwe,


    meine Begeisterung zur Software und deren Bedienung habe ich bereits mehrfach zum Ausdruck gebracht. Mach ich aber gerne nochmal: Super, macht Spass damit zu arbeiten !! :D


    Nun zu meinem eigentlichen Anliegen, mit diesen Artikeln will ich nicht rum meckern, sondern mithelfen das BCR vielleicht weiter zu verbessern. Dazu ist es natürlich immer hilfreich, die Kommentare der anderen BCR-Benutzer zu dem Thema zu hören. Deine Antwort klingt für mich da ein wenig vorwurfsvoll in meine Richtung. Generell scheinen ja inzwischen grobe Probleme beim BCR behoben, so daß ich es völlig valide finde, nun auch über Optimierungen und Nice-to-Have Punkte zu sprechen ;)

    72 de Michael, DL3DCM ..

  • Hallo OMs,
    ja ich habe vergessen in der Beschreibung zu erwaehnen, das man beim Abspeichern im Setup nur durch rechts herum drehen zum Erfolg kommt HI. Das ist seit den ersten Versionen so. Ich dachte man hat im SETUP nicht so oft zu tun, da kann die Editfunktion ein bischen vereinfacht werden. Solche Programmteile sind meistens sehr Speicherintensiv (durch Diplayanzeige, Mehrfachnutzung, HEX-BCD Wandlung und umgekehrt). Es sind ja noch ein paar Romzellen frei im Pic, da werde ich dass mit einarbeiten.
    Nun zur S-Meteranzeige. Die Reglung des BCR ist sehr flink. Das hatte zur Folge, dass man ausser S0 nur manchmal einen S-Meterausschlag gesehen hat. Ich habe deshalb die Anzeige in eine Spitzenwertanzeige umprogrammiert mit einer Haengezeit von genau 1 Sekunde. Das bedeutet folgenden Ablauf, einfach dargestellt:


    SCHLEIFE
    agc messen
    IF neuer Wert > alter Wert THEN BEGIN
    timer1sek neu starten
    alter Wert = neuer Wert
    END
    IF neuer Wert < alter Wert THEN BEGIN
    IF timer1sek abgelaufen THEN BEGIN
    alter Wert = neuer Wert
    END
    END
    # neu in Version 1.11 #
    IF alter Wert ungleich display Wert THEN BEGIN
    display neu anzeigen
    END
    ENDE SCLEIFE


    auch die Schleife ist vereinfacht dargestellt. Wird bei der AGC-Messung kein hoeherer Wert gemessen als der vorherige, laeuft der Timer_1Sek ab und dann beginnt das Spiel von vorn. Eine Mittelwertanzeige wuerde hier nichts bringen. Es muesste eine Art Haengereglung in der SW implementiert werden die langsam zurueckgeht. Das ist aber zu aufwaendig.
    73 Andreas

  • Zitat

    Original von dl4jal
    .. Nun zur S-Meteranzeige. Die Reglung des BCR ist sehr flink. Das hatte zur Folge, dass man ausser S0 nur manchmal einen S-Meterausschlag gesehen hat. Ich habe deshalb die Anzeige in eine Spitzenwertanzeige umprogrammiert mit einer Haengezeit von genau 1 Sekunde. Das bedeutet folgenden Ablauf, einfach dargestellt:..
    73 Andreas


    Hallo Andreas,


    habe gestern die v1.10 ausprobiert, danke dafür.
    Auch da habe ich sehr schnell wechselnde S-Werte festgestellt. Manchmal "blinkt" ein kleinerer Wert nur ganz kurz auf. Kaum lesbar, darum merklich unter 1 sek. Aufgrund des Ablaufs ist das möglich, da grössere Werte ohne 1sek-Verzögerung sofort angezeigt werden.
    Da ich den Quellcode nicht kenne kann ich nur annehmen, dass Du für den Timer einen Interrupt verwendest. Unter dieser Annahme schlage ich folgenden Ablauf vor, der wahrscheinlich genauso lang ist wie der derzeitige:


    .init alt, neu = 0; // beim Programmstart
    . reset timer-over-1sek flag;
    . stop timer;


    .SCHLEIFE
    . agc messen
    . IF neuer Wert != alter Wert THEN BEGIN
    . reset timer-over-1sek flag;
    . timer start
    . alter Wert = neuer Wert
    . END
    . IF neuer Wert == alter Wert THEN BEGIN
    . IF timer1sek abgelaufen THEN BEGIN
    . IF alter Wert != display Wert THEN BEGIN
    . display neu anzeigen
    . END display
    . reset timer-over-1sek flag; // somit kann timer1sek nicht mehr ablaufen
    . stop timer; // .. bis eine Wertänderung eintritt
    . END timer1sek abgelaufen
    . END werte gleich
    .END SCHLEIFE


    Macht Spass sich nochmal über PIC-Programmierung Gedanken zu machen :D
    Falls es Dir eine Hilfe ist, kann ich auch gerne in den Quellcode schauen und ein solches Modul beisteuern, das Du dann einbinden kannst.


    P.S.: Tschuldige, hab es leider nicht geschafft den Code zu formatieren, weder Space noch Tab werden vollständig dargestellt.

    72 de Michael, DL3DCM ..

    4 Mal editiert, zuletzt von DL3DCM ()