Nouveau firmware Mercury V1 - v2.41 - Journal des modifications
Le nouveau firmware Mercury est disponible.
Le Mercury V1 a une nouvelle mise à jour remplie d'améliorations et de nouvelles fonctionnalités. C'est la plus grande mise à jour firmware que nous ayons jamais effectuée.
Le Mercury enregistre plus rapidement que jamais et le nouveau système de règles est une grande amélioration qui vous permet de faire beaucoup plus.
Outil de mise à jour du firmware
Changelog Mercury Firmware : v2.3 → v2.41
Changelog pour Mercury FW v2.30 (SUBREVISION 125) à Mercury FW v2.41 (SUBREVISION 308)
Il y a eu 183 modifications internes regroupées dans cette version.
1. Résumé général
Vitesse d'enregistrement jusqu'à 300Hz
Le Mercury a commencé sa vie à 32Hz et peut maintenant enregistrer les données jusqu'à 300Hz. Le paramètre par défaut est maintenant 250Hz avec un rapport d'échantillonnage Hybrid 1:5 qui est également le paramètre par défaut.
Cela signifie que votre Mercury enregistrera à 50Hz avant le lancement, 250Hz pendant le lancement jusqu'à 5 secondes après l'apogée, puis il baisse à 50Hz (rapport Hybrid 1:5) pendant la descente et revient à 250Hz pour l'atterrissage une fois que l'altitude chute en dessous de 20 mètres.
Cela vous permet de voir d'excellents détails pour la poussée de votre moteur et d'autres événements lorsque vous les agrandissez dans le graphique. Une combustion moteur d'une seconde a maintenant jusqu'à 300 points d'accélération.
Taille du journal augmentée et plus efficace
Nous avons augmenté les échantillons maximaux du Mercury pour chaque journal de 12000 à 18000.
Nous stockons maintenant les journaux sur l'appareil dans un format binaire plutôt que CSV. Cela offre une efficacité d'économie d'espace d'environ 250%.
Les journaux sont convertis en CSV lors de leur téléchargement depuis l'appareil ou une fois téléchargés sur AltimeterCloud à partir de leur version binaire.
Action Rules v6 - remplacement complet du système précédent
L'ancien générateur de règles à six emplacements fixes a été supprimé, et bien qu'il soit capable, nous voulions améliorer cela en quelque chose de beaucoup plus puissant.
- Vous pouvez maintenant configurer jusqu'à 12 règles sur le Mercury V1 et les utiliser pour déclencher des sorties, déplacer ou configurer des servos, ou ajuster les paramètres pendant le vol.

- Les conditions de règles peuvent maintenant être construites avec des groupes et plusieurs conditions dans chaque groupe à comparer comme vous le souhaitez. Cela vous permet de créer des règles simples ou très complexes aussi.

- Vous pouvez maintenant déclencher les règles une fois par vol, à chaque cycle où elles sont valides ou sur un système de temps par exemple jusqu'à une fois toutes les 3 secondes.
- Le comportement des règles peut également être modifié pour permettre aux règles de s'exécuter avant la détection du lancement, ignorer les règles pendant les verrouillages, empêcher l'appareil de s'éteindre pendant que la règle est active ou agir sur une seule sortie valide ou exiger 5 sorties valides d'affilée sur 5 cycles.
- Les règles peuvent faire référence à des ensembles de données personnalisés où vous pouvez générer des valeurs calculées à référencer basées sur n'importe quelle équation que vous choisissez d'utiliser. Nous permettons jusqu'à deux ensembles de données personnalisés évalués à chaque cycle sur le Mercury.
Portes de sécurité de sortie (nouvelles, s'appliquent à chaque sortie automatique/pilotée par règles)
Le Mercury a maintenant de nouvelles portes de sécurité de sortie qui protègent les sorties à courant élevé par défaut. Vous pouvez choisir de les appliquer à d'autres sorties telles que les servos également dans le système de règles.
Trouvé sous la nouvelle page de paramètres de sortie, vous avez les options suivantes.
- Verrouillage au démarrage (secondes) - Ce paramètre empêche les sorties de se déclencher jusqu'à ce que ce nombre de secondes se soit écoulé depuis l'activation du Mercury. La valeur par défaut est 10 secondes et vous pouvez configurer 10-600s. Cela ne peut pas être désactivé.
- Plancher d'altitude (mètres) - Ce paramètre empêche les sorties de se déclencher à moins que le lancement n'ait été détecté et que l'altimètre soit à au moins cette altitude au-dessus du pas de tir. La valeur par défaut est 50 mètres et vous pouvez définir cela entre 50 et 150 mètres. Cela ne peut pas être désactivé.
- Délai de confirmation du lancement - Ce paramètre empêche les sorties de se déclencher jusqu'à au moins ce nombre de secondes après le lancement. Valeur par défaut 2 secondes, vous pouvez définir cela de 2 à 500 secondes et cela ne peut pas être désactivé non plus.
Vous pouvez également maintenant utiliser la borne de soudure d'entrée/sortie GP6 pour un commutateur ARM. Lorsqu'il est activé, il vous suffit de connecter un commutateur entre GP6 et GND sur votre Mercury, et lorsque le commutateur est fermé, il permettra le tir et lorsqu'il est ouvert, il le bloquera.
Expressions d'ensemble de données personnalisées
Deux expressions arithmétiques définissables par l'utilisateur, analysées et recompilées en direct, sont disponibles comme sources de déclenchement de règles (« dataset1 »/« dataset2 »).
Système de connexion Web/AP
Le serveur webserver du point d'accès wifi local de l'appareil nécessite maintenant une connexion de l'utilisateur. Cela garantit que personne ne peut modifier vos paramètres s'il se connecte à son réseau wifi, ou s'il le trouve sur le réseau wifi auquel vous êtes connecté.
Vous pouvez vous connecter en entrant le mot de passe AP wifi ou en appuyant sur le bouton de votre Mercury quand vous y êtes invité.
Diffusion de mini-graphique eNOW
Après un vol, l'appareil peut maintenant diffuser un profil sous-échantillonné (240 échantillons) sur ESP-NOW LR afin que le vol d'une fusée perdue/non récupérée puisse toujours être reconstruit à distance.
Ceci est en plus des données de résumé de vol général que le Mercury peut envoyer en utilisant ESP-NOW LR après le vol.
Vous pouvez généralement recevoir un signal ESP-NOW sur 200-800 mètres selon votre matériel de réception.
Paramètre « Maintenir l'alimentation »
Le comportement après sauvegarde est maintenant un paramètre explicite à 3 directions indépendant d'eNOW : s'endormir immédiatement, clignoter le dernier apogée pour toujours, ou clignoter l'apogée pendant 10 minutes puis s'endormir. Le dernier apogée est conservé dans NVS afin qu'une brève pression de bouton au repos le fasse clignoter à nouveau à la demande.
Truepath B 1.0
Le Mercury ne peut pas tout à fait gérer l'algorithme de filtre Truepath que nous avons créé pour l'altimètre Nano V1 car il a moins de RAM, mais nous avons mis en place une version légère de celui-ci qui est à peu près tout aussi bonne. Vous auriez du mal à voir la différence dans leurs sorties à partir de nos tests.
Ceci est maintenant inclus dans l'altimètre Mercury également.
2. Modifications de l'algorithme de détection et d'enregistrement
- Taux d'échantillonnage plus élevés : 150/200/250/300Hz ajoutés aux côtés de 50/100Hz (250Hz maintenant le paramètre par défaut sur toutes les révisions, jusqu'à 50/100Hz auparavant). « max_samples » est augmenté de 12000 à 18000. Modes de décimation Hybrid étendus : 1:3, 1:5 (nouveau défaut), 1:7, 1:10.
- Suivi du plancher de lancement réécrit : était une moyenne plate des emplacements du tampon circulaire les plus anciens (qui pouvaient tous être nuls juste après le changement d'échappement d'étalonnage précoce, causant des déclenchements de lancement faux) ; maintenant un suiveur limité en taux de glissement amorcé à partir d'échantillons réels limitées dans le temps.
Cela aide à prévenir les déclenchements de lancement accidentels lors de l'appui sur les cônes de nez ou de leur retrait avec de petits ou aucun trou d'aération. - L'étalonnage de vol peut maintenant se terminer plus tôt (environ 6 secondes de données de pré-tampon réelles) au lieu d'attendre que le tampon circulaire se remplisse complètement, ce qui à des taux d'échantillonnage élevés prenait environ 27 secondes. Le plancher d'étalonnage stable fonctionne également avec le suivi du plancher de lancement à taux de glissement pour prévenir les déclenchements accidentels.
- La détection de lancement est maintenant un système à double débit. À faible accélération, cela nécessite une seconde supplémentaire au-dessus du seuil de détection de lancement pour déclencher l'enregistrement, et à accélération élevée, il utilise la fenêtre plus courte. Cela aide à prévenir la détection accidentelle de lancement en cas d'événements sous vide.
- Détection de verrouillage (pic de lancement/abandon) repensée comme un déclencheur à double vitesse basé sur un horodatage (taux de descente soutenu vs instantané) au lieu d'un compteur à 3 échantillons consécutifs fixes. Cela rend ses points de départ et de fin précis et empêche un verrouillage de taux temps plat de bloquer les règles même si l'événement a passé depuis longtemps. C'est également maintenant indépendant du taux.
- Détection d'apogée : la fenêtre d'établissement passe maintenant de 1500ms à la combustion à 400ms, protégeant contre la brève transitoire de pression juste à la combustion du moteur étant confondue avec la descente.
- Resynchronisation IMU : l'offset de resynchronisation maximal s'adapte maintenant au taux d'échantillonnage (était limité à une fenêtre de 25/50 échantillons fixes accordée uniquement pour 50/100Hz ; un vol à 100Hz avait déjà été observé atteignant ce plafond).
- Arrêt automatique à altitude stable réécriture pour utiliser une fenêtre en temps réel (9s/18s) convertie en décalages d'échantillons au taux courant, au lieu de comptes d'échantillons codés en dur.
- Filtre d'altitude « Truepath » après vol : les diagnostiques du filtre sont sauvegardés et téléchargés sur AltimeterCloud pour le fonctionnement des filtres.
- Reconstruction du pré-tampon : les emplacements du tampon circulaire non remplis à partir d'un lancement précoce (avant que le tampon de sol ne se remplisse complètement) sont maintenant reconstruits comme données de référence de sol sensées au lieu d'être sauvegardées en tant que données de zéro indésirable. Cela n'affecte que ceux d'entre vous qui sont impatients et qui lancent vraiment très tôt après l'activation de l'altimètre !
3. Fiabilité et gestion des pannes
- Arrêt thermique à deux niveaux remplace l'ancien voyage simple de 60°C : ≥80°C soutenu 5s (emballement rapide) ou ≥70°C soutenu 30s (sur-température soutenue), tous deux chronométrés à l'horloge murale de sorte que les brefs pics ne déclenchent pas par erreur. Fonctionne uniquement en mode WiFi.
- Les erreurs de capteur fatal (pas de capteur de pression / pas d'IMU trouvé) clignotent maintenant pendant 10s puis redémarrent. Les capteurs sont réalimentation et les tentatives de mise en place sont renouvelées.
- Suivi de la raison du réinitialisation : Les raisons de réinitialisation du démarrage sont capturées à chaque démarrage (mise sous tension/SW/panique/dépassements du chien de garde/baisse de tension), plus les compteurs de durée de vie cumulatifs par raison conservés dans NVS et signalés à chaque ping.
Cela vous permet de dire « ce qui s'est passé ce démarrage » à partir de « l'historique complet des plantages de cette unité ». - Récupération du bus I2C : les lectures de capteurs sont maintenant enveloppées avec un délai d'expiration ; en cas d'échec ou de délai d'expiration, une réinitialisation manuelle du bus 9-horloge/STOP récupère un bus qui s'est détérioré sans une réinitialisation complète du capteur (ce qui coûterait 50 + ms et réinitialiserait l'ODR en vol).
- Instantanés RAM/heap capturés à des points clés (entrée en mode vol, première itération de boucle vol, arrêt déclenché par bouton) pour les diagnostiques après vol.
- Gestion des défaillances d'allocation : Si les tampons RAM de vol ne s'allouent pas, l'appareil redémarrera pour réessayer après une période de notification de 10 secondes sur la DEL d'état.
- Réinitialisation d'usine via maintien du bouton efface maintenant véritablement tous les paramètres NVS (auparavant, il réinitialisait uniquement le WiFi en mode ouvert/sans mode mot de passe).
- Mot de passe AP : précédemment un nombre à 8 chiffres, maintenant une chaîne à 8 caractères de cas mixte + chiffre du RNG matériel avec caractères visuellement ambigus exclus. Une longueur minimale de 8 caractères est maintenant appliquée.
4. Réseau, cloud et sécurité
- Tous les appels cloud déplacés du HTTP brut vers une adresse IP résolue, vers HTTPS.
- Signature HMAC-SHA256 (via le périphérique matériel HMAC de l'ESP32, clé à partir d'un bloc de clé eFuse) ajoutée aux appels de téléchargement/notification/vérification, remplaçant un style simple de somme de contrôle. Cela prouve que les données de votre appareil proviennent de votre appareil ainsi que de détecter toute corruption de données.
- Vérification de déploiement de clé eFuse : flux de vérification et de demande à usage unique pour l'approvisionnement de la clé HMAC unique par appareil lors de la première connexion Internet réussie.
- Intervalle d'actualisation du cache DNS étendu de 30 minutes à 2 heures.
- Le plafond de puissance TX WiFi a changé de 17dBm à 15dBm bien dans la limite EU 20dBm avec l'antenne PCB stock.
5. Format de données et de stockage
- Les journaux de vol passent de CSV à un format binaire compact (enregistrements fixes de 34 octets .bin) pour le stockage et le téléchargement cloud ; CSV est maintenant généré à la volée à partir du journal binaire quand un .csv est demandé (téléchargement AP ou téléchargement cloud), via un expandeur partagé qui reflète exactement le CSV ancien. Cela offre une énorme économie d'espace permettant de stocker plus de journaux et plus de données sur le Mercury.
- Fichier compagnon métadonnées JSON (2.40+) les anciens fichiers métadonnées étaient au format texte brut en s'appuyant sur des numéros de ligne spécifiques. Le format JSON est une bonne amélioration.
6. Contrôle des freins d'air
- Correction de bogue : les seuils du « multiplicateur d'urgence » (70%/40% sur la cible) étaient comparés à la mauvaise référence (le dépassement est déjà un ratio × 100, donc « sur la cible » = 100, pas 0). Cela signifie que le multiplicateur était en permanence actif, plutôt que seulement lorsqu'il était significativement sur la cible.
- Nouveau : Air_initial_angle pour maintenir une position pré-configurée à partir de la combustion jusqu'à ce que la modulation active commence, au lieu de rester complètement rétracté sans autorité dans aucune direction.
- Nouveau : Air_apogee_lock et air_apogee_angle : piloter optionnellement vers et maintenir un angle fixe à l'apogée au lieu de toujours se rétracter.
- Les paramètres d'altitude cible et de tolérance de dépassement sont maintenant vérifiés dans la plage avant d'être appliqués.

