MFU NiosII Software Change Log

Refer to MFUSoftwareReleaseNotes for futher release infomation and possibly known issues.

007.00003 -xx.xx.xx-
  • Bisher wurde auf 'USI_RxBufCounter < (USI_RXBUF_SIZE-1)' geprüft. Da 'USI_RxBufCounter' aber in der ISR inkrementiert und in 'usi_get_value()' dekrementiert wird, konnte es passieren, dass beide Zählungen "zeitgleich" erfolgen. Die ISR ist zwar verriegelt und kann nicht unterbrochen werden, 'usi_get_value()' hingegen von der ISR sehr wohl. Wie auch immer 'USI_RxBufCounter' ging manchmal falsch. Daher wird nun direkt auf die Pufferzeiger 'USI_RxBufIn' und 'USI_RxBufOut' getestet. 'USI_RxBufCounter' wird rein zu Debugzwecken noch mitgeführt.
  • Bei einem Module FW Update war es möglich Module zu adressieren, die in Wirklichkeit überhaupt nicht angeschlossen sind.
  • Das Gleiche galt für das Starten von "Reconf". Auch hier muss ein Modul nun physisch vorhanden sein.
  • Bei der Interlockanzeige und zusätzlich bei deren Kommunikation ans Kontrollsystem wurde '.mem_interlocks' verwendet. Dies ist insofern nicht ganz OK, als dass ein Benutzer 'Memorized Interlocks' deaktivieren, resp. diese maskieren kann. Im Interlockfall wird dieses Bit dann nicht gesetzt, wurde also weder auf dem TFT angezeigt (sofern auch dessen HW-Anbindung an die Reißleine deaktiviert war), noch an das Kontrollsystem gemeldet. Nun werden '.mem_interlocks' und '.act_interlocks' miteinander UND Verknüpft und im neuen Speicherbereich '.mem_or_act_interlocks' abgelegt. Dieser neue Speicherbereich wird nun für die Anzeige und Meldung an das Kontrollsystem verwendet. Daraus folgt, solange das Interlockbit (ENTWEDER) in '.mem_interlocks' UND/ODER '.act_interlocks' gesetzt ist, wird es erkannt und gemeldet.
    Für die Anzeige auf dem MFU TFT gilt:
    Masken Interlock Rahmen/TFT Anzeige
    "Pending Interlocks" "Memorized Interlocks" inaktiv aktiv wieder inaktiv bisher mit RL-Anbind. bisher OHNE RL-Anbind. jetzt MIT RL-Anbindung jetzt OHNE RL-Anbindung
    zulässig zulässig X
    -
    -
    grün/No interlocks grün/No interlocks grün/No interlocks grün/No interlocks
    zulässig zulässig - X -
    rot /*Interlock (RL) rot /*Interlock (RL) rot /*Interlock (RL) rot /*Interlock (RL)
    zulässig zulässig - - X rot / Interlock (RL) rot / Interlock (RL rot / Interlock (RL) rot / Interlock (RL)
    zulässig ausmaskiert X - - grün/No interlocks grün/No interlocks grün/No interlocks grün/No interlocks
    zulässig ausmaskiert - X - gelb/No interlocks (RL) grün/No interlocks rot /*Interlock (RL) rot /*Interlock
    zulässig ausmaskiert - - X gelb/No interlocks (RL) grün/No interlocks gelb/No interlocks (RL) grün/No interlocks
    ausmaskiert zulässig X - - grün/No interlocks grün/No interlocks grün/No interlocks grün/No interlocks
    ausmaskiert zulässig - X - rot / Interlock (RL) rot / Interlock (RL) rot / Interlock (RL) rot / Interlock (RL)
    ausmaskiert zulässig - - X rot / Interlock (RL) rot / Interlock (RL) rot / Interlock (RL) rot / Interlock (RL)
    ausmaskiert ausmaskiert X - - grün/No interlocks grün/No interlocks grün/No interlocks grün/No interlocks
    ausmaskiert ausmaskiert - X - gelb/No interlocks (RL) grün/No interlocks gelb/No interlocks (RL) grün/No interlocks
    ausmaskiert ausmaskiert - - X gelb/No interlocks (RL) grün/No interlocks gelb/No interlocks (RL) grün/No interlocks
    (RL) sofern das Interlock modulseitig an die HW-RL angebunden ist, wird diese gezogen
    Das Verhalten ändert sich also nur wenn "Memorized Interlocks" ausmaskiert ist.
  • Leider wird die RESET-Taste nicht per ISR erfasst, sondern nur gepolled. Daher kann das Löschen von Interlocks und ändern der Rahmenfarbe zurück auf Grün nicht direkt an die RESET-Taste geknüpft werden.
    Zeigte das TFT NICHT das 'menu_interlocks_dyn()' und es standen Interlocks an, wurde der Rahmen neuerdings nicht mehr grün, sofern sich diese erfolgreich löschen ließen. Der Rahmen wurde immer erst dann grün, wenn das Menu 'menu_interlocks_dyn()' aufgerufen wurde. Das 'menu_interlocks_dyn()' wurde bisher immer durchlaufen, beim
    - ersten Aufruf des Standardbildschirms
    - zyklischen Interlocktesten durch Aufruf in 'menu_idel_jobs' und dann durch -> testen von 'isr_timer_interlock_circular_check()' in 'menu_interlocks_dyn()'
    - wenn das Interlockmenü "111" angezeigt wird
    durch -> manuellen Aufruf durch den Benutzer
    -> automatischen Aufruf im Interlockfall
    Wurde der zyklische Test ausgesetzt, konnte der Rahmen nicht mehr grün werden, es sei denn, der Benutzer befand sich in 'menu_interlocks_dyn()'.
    Daher sind die Kriterien im 'menu_idle_jobs()' nun dahingehend geändert, dass 'menu_interlocks_dyn()' bei mindestens einer gezogener Reißleine und/oder bei mindestens einem anstehenden Interlock auch dann aufgerufen wird, wenn der zyklische Test eigentlich deaktiviert ist.
  • Bei einigen Funktionen im Menü
    - menu_0411_reload_flash_parameters(),
    - menu_4132_load_parameters_FROM_usb_flash_drive_TO_RAM()
    - menu_0422_0432_4131_load_data_FROM_usb_flash_drive()
    - menu_0412_0421_0431_save_data_TO_usb_flash_drive()
    wird der angezeigte Text und die Zulässigkeit zum Ausführen der Funktion durch den Benutzer nun abhängig vom Betriebszustand der SVE (Ein/Aus) oder USB Speicher verfügbar ist oder nicht umgeschaltet. Dadurch entfällt die Notwendigkeit zur Aktualisierung der Anzeige den Menüpunkt erneut aufzurufen. Problem war dabei, dass die Anzeige auf dem TFT mitunter nicht zur Zulässigkeit passte, sofern sich der Betriebszustand der SVE oder die Präsenz des USB Speichers änderte solange dieser Menüpunkt angezeigt wurde.

007.00002 -03.08.18-
  • Die Anzeige "alter" FW-Versionen mit lediglich Major.Minor muss auf die neue FW-Version Major.MinorMSB.MinorLSB korrigiert angezeigt werden. Dies ist lediglich eine "Schönheitsreparatur" für den Benutzer.
  • Das MFU interne FSP 251 zum Speichern der Konfigurationsdatei funktioniert wieder nach dem alten Prinzip.
    1. senden der Dateilänge als vollständiger USI Stream
    2. senden der Konfigdatei als RBF ohne irgendwelche USI Zeichen
    Dies deshalb, weil das neue Verfahren, die Konfigdatei als vollständigen USI Stream zu schicken in PCA nicht richtig funktioniert.
    Die Datei ist komprimiert, d.h. deren Daten sind Symbole und werden vor dem senden mit PCA in einen String konvertiert.
    Dabei passiert etwas (was genau ist die Frage), dass dazu führt, dass sich die Datei nach dem lesen nicht wieder entpacken lässt.
  • Kurze Textanzeige vor der USI Schnellansicht mit der Bitte um etwas Geduld.
  • Die USI Schnellansicht zeigt nun das Image, die Baudrate und den USI Modus an.
  • Sind Modulbeschreibungen in der USI Schnellansicht zu lang, werden diese nun gekürzt und dies per ".." mitgeteilt

007.00001 -04.05.18-
  • Anzeige von Modul-FSP-Inhalten neu strukturiert.
  • MDS der MFU wird nun auch angezeigt.
  • Anzeigefehler bei mehrseitigen Interlocks behoben.
  • Lokaler Sollwert ist nun (richtig) 1/50 vom Nennstrom und nicht mehr 1/50 vom Nennstrom + 10%.
  • Einschaltzeit der SVE wurde falsch erfasst. Da der Status NICHT bitcodiert ist war hier die Verknüpfung nicht korrekt. Folglich wurde die Einschaltzeit auch irrtümlich beim Ausführen eines Kommandos erfasst.
  • Neuer Menüpunkt "Interlock Early Bird".
  • Speichern einer Datei im ext. seriellen Flash ist nun möglich. I.d.R. wird dies die Gerätekonfiguration sein.
  • Beim Erstellen des zugehörigen Software-FSP251 ist aufgefallen, dass im ext. seriellen Flash keine Sektoren > 7 adressiert werden konnten. Dies war beim alten kleinen Flash kein Problem, mit neuerdings 32 Sektoren sehr wohl.
  • Diverse kleine Fehler behoben, wie z.B. Update per USB Flash verhindern wenn SVE eingeschaltet ist oder ändern der Rahmenfarbe im Remotemodus beim Betätigen der RESET-Taste.

007.00000 - 29.03.17-
  • Viele, viele Dinge sind überabeitet. Insbesondere Dinge die mit 'Remote-Update' zu tun haben. Außerdem startet ab hier der Kompatibilitätscheck.
    Soll heißen: PCA und alle Modul-FW, -SW starten nun mit 7.x um klar zu definieren, dass hier etwas neues beginnt und alles andere davor war.

-- DerekSchupp - 2018-11-01
Topic revision: r5 - 2018-11-22, DerekSchupp
 
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding GSI Wiki? Send feedback
Imprint (in German)
Privacy Policy (in German)