Produktaktualisierungen

Neue Mercury V1 Firmware - v2.41 - Änderungsprotokoll

NNeil Bowen8 Min. Lesezeit

Neue Mercury-Firmware ist verfügbar.

Das Mercury V1 hat ein neues Update mit vielen Verbesserungen und neuen Funktionen. Dies ist das größte Firmware-Update, das wir bisher durchgeführt haben.
Das Mercury protokolliert schneller denn je und das neue Regelsystem ist eine große Verbesserung, die es dir ermöglicht, viel mehr zu tun.

Firmware-Update-Tool

Mercury Firmware Changelog: v2.3 → v2.41

Changelog für Mercury FW v2.30 (SUBREVISION 125) bis Mercury FW v2.41 (SUBREVISION 308)
Dieses Release enthält 183 interne Änderungen.


1. Allgemeine Übersicht

Protokollierungsgeschwindigkeit bis zu 300Hz

Das Mercury startete bei 32Hz und kann jetzt Daten mit bis zu 300Hz protokollieren. Die Standardeinstellung liegt nun bei 250Hz mit Hybrid 1:5 Stichprobenverhältnis, auch als Standard dort.
Das bedeutet, dass dein Mercury vor dem Start mit 50Hz protokolliert, während des Starts bis 5 Sekunden nach dem Apogeum mit 250Hz, dann fällt es auf 50Hz (1:5 Hybrid-Verhältnis) während des Abstiegs ab und springt beim Landen auf 250Hz zurück, sobald die Höhe unter 20 Meter fällt.
Dies gibt dir großartige Details für den Motorschub und andere Ereignisse, wenn du sie im Diagramm vergrößerst. Ein 1-Sekunden-Motorbrand hat nun bis zu 300 Beschleunigungspunkte.

Protokollgröße erhöht und effizienter

Wir haben die maximalen Stichproben für jedes Protokoll des Mercury von 12000 auf 18000 erhöht.
Wir speichern die Protokolle jetzt auch im Binärformat statt als CSV auf dem Gerät. Dies bietet eine Effizienzersparnis von fast 250%.
Die Protokolle werden in das CSV-Format konvertiert, wenn sie vom Gerät heruntergeladen oder aus ihrer Binärversion in die AltimeterCloud hochgeladen werden. 

Action Rules v6 - vollständiger Ersatz des vorherigen Systems

Der alte feststehende Regel-Builder mit sechs Slots wurde entfernt, und obwohl er leistungsfähig war, wollten wir dies in etwas viel Leistungsfähigeres verbessern.

  • Du kannst nun bis zu 12 Regeln auf dem Mercury V1 konfigurieren und sie verwenden, um Ausgänge auszulösen, Servos zu bewegen oder zu konfigurieren oder Einstellungen während des Fluges anzupassen.
  • Regelbedingungen können nun mit Gruppen und mehreren Bedingungen in jeder Gruppe erstellt werden, um wie gewünscht zu vergleichen. Dies ermöglicht es dir, einfache oder auch hochkomplexe Regeln zu erstellen.
  • Du kannst Regeln nun entweder einmal pro Flug, jeden Zyklus, in dem sie gültig sind, oder nach einem Zeitsystem auslösen, zum Beispiel bis zu einmal alle 3 Sekunden.
  • Das Regelverhalten kann auch bearbeitet werden, um Regeln vor der Startererkennung auszuführen, Regeln während Sperrzeiten zu überspringen, das Ausschalten des Geräts zu verhindern, während die Regel aktiv ist, oder bei einer einzelnen gültigen Ausgabe zu wirken oder 5 gültige Ausgaben nacheinander über 5 Zyklen zu erfordern.
  • Regeln können auf benutzerdefinierte Datensätze verweisen, bei denen du berechnete Werte zur Referenzierung basierend auf einer beliebigen Gleichung generieren kannst. Wir erlauben bis zu zwei benutzerdefinierte Datensätze, die jeden Zyklus auf dem Mercury ausgewertet werden.

Ausgangssicherheitsgates (neu, gelten für alle automatischen/regelgesteuerten Ausgänge)

Das Mercury hat jetzt neue Ausgangssicherheitsgates, die hochstromige Ausgänge standardmäßig schützen. Du kannst sie auf andere Ausgänge wie Servos auch im Regelsystem anwenden.

Auf der neuen Ausgabeseite findest du die folgenden Optionen.

  • Startup-Sperre (Sekunden) - Diese Einstellung verhindert, dass Ausgänge aktiviert werden, bis so viele Sekunden nach dem Einschalten des Mercury vergangen sind. Standard ist 10 Sekunden und du kannst 10-600 Sekunden konfigurieren. Dies kann nicht deaktiviert werden.
  • Höhenbegrenzung (Meter) - Diese Einstellung verhindert, dass Ausgänge aktiviert werden, es sei denn, der Start wurde erkannt und das Altimeter liegt mindestens so hoch über dem Startplatz. Standard ist 50 Meter und du kannst dies zwischen 50 und 150 Meter einstellen. Dies kann nicht deaktiviert werden.
  • Startverzögerung bestätigen - Diese Einstellung verhindert, dass Ausgänge aktiviert werden, bis mindestens so viele Sekunden nach dem Start vergangen sind. Standard 2 Sekunden, du kannst dies von 2 bis 500 Sekunden einstellen und es kann auch nicht deaktiviert werden. 

Du kannst jetzt auch den GP6-Ein-/Ausgangs-Lötanschluss für einen ARM-Schalter verwenden. Wenn aktiviert, musst du einfach einen Schalter zwischen GP6 und GND auf deinem Mercury verbinden, und wenn der Schalter geschlossen ist, wird das Aktivieren erlaubt, und wenn er offen ist, wird es blockiert. 

Benutzerdefinierte Datensatzausdrücke

Zwei benutzerdefinierbare arithmetische Ausdrücke, die live analysiert und neu kompiliert werden, sind als Regelauslöserquellen ("dataset1"/"dataset2") verfügbar.

Web-/AP-Anmeldesystem

Der lokale Webserver des Gerät-WLAN-Zugangspunkts erfordert jetzt, dass Benutzer sich anmelden. Dies stellt sicher, dass niemand deine Einstellungen ändern kann, wenn er sich mit seinem WLAN-Netzwerk verbindet, oder wenn er es über das WLAN-Netzwerk findet, mit dem du verbunden bist.
Du kannst dich entweder anmelden, indem du das WLAN-Passwort des Zugangspunkts eingibst, oder indem du die Taste auf deinem Mercury drückst, wenn du aufgefordert wirst.

eNOW Mini-Diagramm-Broadcast

Nach einem Flug kann das Gerät jetzt ein heruntergerechnetes Profil (240 Stichproben) über ESP-NOW LR senden, damit der Flug einer verlorenen/ungefundenen Rakete trotzdem aus der Ferne rekonstruiert werden kann.
Dies erfolgt zusammen mit den allgemeinen Flugzusammenfassungsdaten, die das Mercury nach dem Flug mit ESP-NOW LR senden kann.
Du kannst normalerweise ein ESP-NOW-Signal je nach Empfängerhardware für 200-800 Meter empfangen. 

Einstellung "Stromversorgung beibehalten"

Das Verhalten nach dem Speichern ist jetzt eine explizite 3-Wege-Einstellung unabhängig von eNOW: sofort in den Schlaf gehen, das letzte Apogeum für immer blinken oder das Apogeum 10 Minuten lang blinken lassen und dann in den Schlaf gehen. Das letzte Apogeum wird in NVS beibehalten, sodass ein kurzer Tastendruck im Ruhezustand es auf Abruf erneut blinkt.

Truepath B 1.0

Das Mercury kann unseren Truepath-Filteralgorithmus, den wir für das Nano V1-Altimeter entwickelt haben, nicht ganz verarbeiten, da es weniger RAM hat, aber wir haben eine leichte Version zusammengestellt, die genauso gut ist. Du würdest schwer einen Unterschied in ihren Ausgaben aus unseren Tests sehen können.
Dies ist jetzt auch im Mercury-Altimeter enthalten.


2. Erkennungs- und Aufzeichnungsalgorithmus-Änderungen

  • Höhere Abtastraten: 150/200/250/300Hz zusätzlich zu 50/100Hz hinzugefügt (250Hz jetzt Standard auf allen Revisionen, aufgewertet von 50/100Hz zuvor). "max_samples" wird von 12000 auf 18000 erhöht. Hybrid-Dezimationsmodi erweitert: 1:3, 1:5 (neuer Standard), 1:7, 1:10.
  • Start-Bodentracking neu geschrieben: war ein flacher Durchschnitt der ältesten Ring-Buffer-Slots (die direkt nach der Änderung des neuen frühen Kalibrierungsexit alle Nullen sein konnten, was zu falschen Starterkennung führte); jetzt ein Slew-Rate-begrenzter Tracker, der aus echten, zeitlich fenstergegebenen Stichproben gespeichert wird.
    Dies hilft, versehentliche Starterkennung zu verhindern, wenn du auf Nasenkegel drückst oder sie mit kleinen oder keinen Entlüftungslöchern abziehst.
  • Flugkalibrierung kann jetzt früh beendet werden (~6 Sekunden echte Vorabbruchdaten) statt auf das vollständige Ausfüllen des Rings zu warten, das bei hohen Abtastraten ~27 Sekunden dauerte. Der stabile Kalibrierungsboden funktioniert auch mit dem Slew-Rate-Start-Boden, um versehentliche Auslöser zu verhindern.
  • Starterkennung ist jetzt ein Doppelratensystem. Bei niedriger Beschleunigung benötigt es eine zusätzliche Sekunde über der Starterkennung-Schwelle zum Auslösen der Aufzeichnung, und bei hoher Beschleunigung verwendet es das kürzere Fenster. Dies hilft, versehentliche Starterkennung unter Vakuumereignissen zu verhindern.
  • Sperrung (Post-Start-Spitze/Ausfall) Erkennung neu konzipiert als Zeitstempel-basierter Doppelgeschwindigkeits-Auslöser (anhaltend vs. sofortiger Abstiegsrate) statt eines feststehenden 3-aufeinanderfolgenden-Sample-Zählers. Dies macht die Start- und Endpunkte genau und verhindert, dass eine flache Ratenzeit-Sperrung Regeln blockiert, selbst wenn das Ereignis schon lange vergangen ist. Es ist auch jetzt ratenunabhängig.
  • Apogeum-Erkennung: Das Ablegungsfenster fällt jetzt von 1500ms beim Brennschluss auf 400ms ab und schützt vor der kurzen Drucktransienten direkt beim Motorbrennen, das mit dem Abstieg verwechselt wird.
  • IMU-Neusynchronisierung: Der maximale Neusynchrenisierungsversatz wird jetzt mit der Abtastrate skaliert (war auf ein feststehend 25/50-Sample-Fenster begrenzt, das nur für 50/100Hz abgestimmt wurde; ein 100Hz-Flug hatte bereits beobachtet, dass die Decke getroffen wurde).
  • Stabile Höhe Auto-Stop neu geschrieben, um ein Echtzeit-Fenster (9s/18s) zu verwenden, das bei der aktuellen Rate in Sample-Versätze konvertiert wird, statt feststehender Sample-Anzahl.
  • "Truepath" Post-Flug-Höhenfilter: Diagnosen für den Filter werden gespeichert und in die AltimeterCloud hochgeladen, um die Filteroperation anzuzeigen.
  • Vorab-Buffer-Rekonstruktion: Unausgefüllte Ring-Buffer-Slots aus einem frühen Start (bevor der Pad-Buffer vollständig ausfüllt) werden jetzt als sinnvolle Pad-Baseline-Daten neu aufgebaut statt als Nullen-Müll gespeichert. Dies betrifft nur diejenigen von euch, die auslösehungrig sind und deinen Start wirklich bald nach dem Einschalten des Altimeters bekommen!

3. Zuverlässigkeit & Fehlerbehandlung

  • Zwei-Stufen-Thermalabschaltung ersetzt den alten Einzel-Sample-60°C-Auslöser: ≥80°C anhaltend 5s (schneller Durchgang) oder ≥70°C anhaltend 30s (anhaltend über-Temperatur), beide Wanduhr-Zeit, sodass kurze Spitzen nicht stören. Funktioniert nur im WLAN-Modus.
  • Tödliche Sensorfehler (kein Drucksensor / kein IMU gefunden) blinken jetzt 10s lang und starten dann neu. Sensoren werden neu mit Strom versorgt und Initialisierungswiederholungen versucht.
  • Reset-Grund-Verfolgung: Neustart-Gründe werden bei jedem Start erfasst (Einschalten/SW/Panik/Watchdog-Timeouts/Brownout), sowie kumulative Lebensdauer-Zähler pro Grund beibehalten in NVS und bei jedem Ping gemeldet.
    Dies ermöglicht es dir, "was dieser Start passierte" von "diese Einheit ganze Absturzhistorie" zu unterscheiden.
  • I2C-Bus-Wiederherstellung: Sensorlesevorgänge sind jetzt mit einem Timeout umwickelt; bei Fehler oder Timeout wird eine manuelle 9-Takt-/STOP-Bus-Rücksetzung einen verwickelten Bus ohne vollständige Sensoren-Neuinitialisierung wiederhergestellt (was 50+ ms kosten würde und ODR mitten im Flug zurücksetzen würde).
  • RAM/Heap-Snapshots erfasst an Schlüsselpunkten (Flugmodus-Eintritt, erste Flugschleife-Iteration, Tastenbetätigung zum Stoppen) für Diagnosen nach dem Flug.
  • Zuteilungsfehler-Handling: Wenn die Flug-RAM-Buffer nicht zugeordnet werden können, startet das Gerät neu, um nach einer 10-Sekunden-Benachrichtigungszeit auf der Status-LED erneut zu versuchen.
  • Fabrik-Reset per Tasten-Halten löscht jetzt wirklich alle NVS-Einstellungen (zuvor wurden nur WLAN auf offen/kein Passwort-Modus zurückgesetzt).
  • AP-Passwort: zuvor eine 8-stellige Zahl, jetzt eine 8-Zeichen-Mischlage+Ziffern-Zeichenkette aus dem Hardware-RNG mit visuell mehrdeutigen Zeichen ausgeschlossen. Eine Mindestlänge von 8 Zeichen wird jetzt durchgesetzt.

4. Netzwerke, Cloud & Sicherheit

  • Alle Cloud-Aufrufe vom rohen HTTP zu einer aufgelösten IP-Adresse zu HTTPS verschoben.
  • HMAC-SHA256-Signierung (über das Hardware-HMAC-Peripherie des ESP32, verschlüsselt mit einem eFuse-Schlüsselblock) wurden zu Upload-/Benachrichtigungs-/Verifizierungsaufrufen hinzugefügt, wodurch ein einfacher Checksum-Stil ersetzt wird. Dies beweist, dass Daten von deinem Gerät von deinem Gerät stammen und auch jede Datenbeschädigung erfasst wird. 
  • eFuse-Schlüssel-Bereitschaftsprüfung: One-Shot-Check-and-Request-Flow zur Bereitstellung des eindeutigen Pro-Geräte-HMAC-Schlüssels bei der ersten erfolgreichen Internetverbindung.
  • DNS-Cache-Aktualisierungsintervall verlängert 30 Minuten bis 2 Stunden.
  • WLAN-TX-Leistungsgrenze geändert von 17dBm auf 15dBm, gut innerhalb des 20dBm EU-Limits mit der Standard-PCB-Antenne.

5. Daten & Speicherformat

  • Flugprotokolle vom CSV zum kompakten Binärformat verschoben (.bin 34-Byte feststehende Records) für Speicherung und Cloud-Upload; CSV wird jetzt spontan aus dem Binärprotokoll generiert, wenn ein .csv angefordert wird (AP-Download oder Cloud-Upload), über einen gemeinsamen Expander, der die alte CSV exakt widerspiegelt. Dies bietet eine riesige Speicherersparnis, die mehr Protokolle und mehr Daten auf dem Mercury speichert. 
  • JSON-Metadaten-Seitenheft (2.40+) Die alten Metadatendateien waren Klartextformat, das auf spezifische Zeilennummern angewiesen war. JSON-Format ist eine gute Verbesserung. 

6. Luftbremsenkontrolle

  • Fehlerbehebung: Die "Dringlichkeits-Multiplikator"-Schwellwerte (70%/40% über Ziel) wurden gegen die falsche Baseline verglichen (Überschuss ist bereits ein Verhältnis ×100, also "auf Ziel" = 100, nicht 0). Dies bedeutet, dass der Multiplikator permanent aktiv war, anstatt nur wenn signifikant über Ziel. 
  • Neu: Air_initial_angle, um eine konfigurierte Vorposition vom Brennschluss bis zum Start der aktiven Modulation zu halten, anstatt vollständig eingezogen zu sitzen, ohne Behörde in beide Richtungen.
  • Neu: Air_apogee_lock und air_apogee_angle: Optional bei Apogeum auf einen festgelegten Winkel fahren und halten, anstatt immer einzuziehen.
  • Zielgrößen- und Überschuss-Toleranzeinstellungen werden nun vor der Anwendung überprüft.