Firmware Nuevo Mercury V1 - v2.41 - Registro de Cambios
El nuevo firmware Mercury está disponible.
El Mercury V1 tiene una nueva actualización llena de mejoras y características nuevas. Esta es la actualización de firmware más grande que hemos hecho hasta ahora.
El Mercury registra más rápido que nunca y el nuevo sistema de reglas es una gran mejora que te permite hacer mucho más también.
Herramienta de actualización de firmware
Registro de cambios del firmware Mercury: v2.3 → v2.41
Registro de cambios de Mercury FW v2.30 (SUBREVISION 125) a Mercury FW v2.41 (SUBREVISION 308)
Hay 183 ediciones internas incluidas en esta versión.
1. Resumen general
Velocidad de registro hasta 300Hz
El Mercury comenzó con 32Hz y ahora puede registrar datos a hasta 300Hz. La configuración predeterminada ahora es 250Hz con una relación de muestra Hybrid 1:5 también como predeterminada.
Esto significa que tu Mercury registrará a 50Hz antes del lanzamiento, 250Hz durante el lanzamiento hasta 5 segundos después del apogeo, luego cae a 50Hz (relación Hybrid 1:5) durante el descenso y sube de nuevo a 250Hz para el aterrizaje una vez que la altitud cae por debajo de 20 metros.
Esto te permite ver gran detalle del empuje de tus motores y otros eventos cuando los amplíes en el gráfico. Una quemadura de motor de 1 segundo ahora tiene hasta 300 puntos de aceleración.
Tamaño de registro aumentado y más eficiente
Hemos aumentado las muestras máximas del Mercury para cada registro de 12000 a 18000.
Ahora también almacenamos los registros en el dispositivo en formato binario en lugar de CSV. Esto ofrece un ahorro de eficiencia de casi el 250%.
Los registros se convierten a CSV cuando se descargan del dispositivo o una vez que se cargan en AltimeterCloud desde su versión binaria.
Action Rules v6 - reemplazo completo del sistema anterior
El antiguo constructor de reglas de seis ranuras fijas ha sido eliminado, y aunque era capaz, queríamos mejorarlo a algo mucho más capaz.
- Ahora puedes configurar hasta 12 reglas en el Mercury V1 y usarlas para activar salidas, mover o configurar servos, o ajustar configuraciones durante el vuelo.

- Las condiciones de regla ahora se pueden construir con grupos y múltiples condiciones en cada grupo para comparar como elijas. Esto te permite construir reglas simples o también muy complejas.

- Ahora puedes activar reglas una vez por vuelo, cada ciclo que sea válida o en un sistema de tiempo, por ejemplo hasta una vez cada 3 segundos.
- El comportamiento de la regla también se puede editar para permitir que las reglas se ejecuten antes de que se detecte el lanzamiento, omitir reglas durante bloqueos, evitar que el dispositivo se apague mientras la regla está activa o actuar en una sola salida válida o requerir 5 salidas válidas seguidas en 5 ciclos.
- Las reglas pueden hacer referencia a conjuntos de datos personalizados donde puedes generar valores computados para hacer referencia basados en cualquier ecuación que elijas usar. Permitimos hasta dos conjuntos de datos personalizados evaluados cada ciclo en el Mercury.
Puertas de seguridad de salida (nuevo, se aplica a todas las salidas automáticas/impulsadas por reglas)
El Mercury ahora tiene nuevas puertas de seguridad de salida que protegen las salidas de alta corriente por defecto. También puedes elegir aplicarlas a otras salidas como servos en el sistema de reglas.
Encontrado en la nueva página de configuración de salida tienes las siguientes opciones.
- Bloqueo de inicio (segundos) - Esta configuración evita que las salidas se disparen hasta que hayan pasado este número de segundos desde encender el Mercury. El valor predeterminado es 10 segundos y puedes configurar 10-600s. Esto no se puede desactivar.
- Piso de altitud (metros) - Esta configuración evita que las salidas se disparen a menos que se haya detectado el lanzamiento y el altímetro esté al menos a esta altitud por encima de la plataforma de lanzamiento. El valor predeterminado es 50 metros y puedes configurar esto entre 50 y 150 metros. Esto no se puede desactivar.
- Retraso de confirmación de lanzamiento - Esta configuración evita que las salidas se disparen hasta al menos este número de segundos después del lanzamiento. Por defecto 2 segundos, puedes configurar esto de 2 a 500 segundos y tampoco se puede desactivar.
También puedes usar el terminal de soldadura de entrada/salida GP6 para un interruptor ARM. Cuando está habilitado, solo tienes que conectar un interruptor entre GP6 y GND en tu Mercury, y cuando el interruptor está cerrado permitirá disparo y cuando está abierto lo bloqueará.
Expresiones de conjunto de datos personalizadas
Dos expresiones aritméticas definibles por el usuario, analizadas y recompiladas en vivo, están disponibles como fuentes de activación de reglas ("dataset1"/"dataset2").
Sistema de inicio de sesión web/AP
El servidor webserver del punto de acceso wifi del dispositivo local ahora requiere que los usuarios inicien sesión. Esto asegura que nadie pueda cambiar tu configuración si se conectan a su red wifi, o si la encuentran en la red wifi a la que estás conectado.
Puedes iniciar sesión ingresando la contraseña del wifi AP, o presionando el botón en tu Mercury cuando se te solicite.
Transmisión de mini-gráfico eNOW
Después de un vuelo, el dispositivo ahora puede transmitir un perfil submuestreado (240 muestras) sobre ESP-NOW LR para que el vuelo de un cohete perdido/no recuperado aún pueda reconstruirse remotamente.
Esto es junto con los datos generales de resumen de vuelo que el Mercury puede enviar usando ESP-NOW LR después del vuelo.
Típicamente puedes recibir una señal ESP-NOW para 200-800 metros dependiendo de tu hardware receptor.
Configuración "Mantener potencia"
El comportamiento post-guardado es ahora una configuración explícita de 3 direcciones independiente de eNOW: dormir inmediatamente, parpadear apogeo último para siempre, o parpadear apogeo durante 10 minutos luego dormir. El apogeo final se persiste en NVS para que un toque rápido del botón mientras está inactivo lo parpadee nuevamente bajo demanda.
Truepath B 1.0
El Mercury no puede manejar exactamente nuestro algoritmo de filtro Truepath que creamos para el altímetro Nano V1 ya que tiene menos RAM, sin embargo hemos armado una versión ligera del mismo que es casi tan buena. Te resultaría difícil ver la diferencia en sus salidas según nuestras pruebas.
Esto ahora también se incluye en el altímetro Mercury.
2. Cambios en el algoritmo de detección y grabación
- Velocidades de muestreo más altas: 150/200/250/300Hz agregados junto con 50/100Hz (250Hz ahora el predeterminado en todas las revisiones, arriba de 50/100Hz antes). "max_samples" se aumenta de 12000 a 18000. Modos de decimación híbrida extendidos: 1:3, 1:5 (nuevo predeterminado), 1:7, 1:10.
- Rastreo del piso de lanzamiento reescrito: era un promedio plano de las ranuras del búfer anillo más antiguas (que podría ser todo cero justo después del cambio de salida de calibración temprana, causando activaciones de lanzamiento falsas); ahora un rastreador limitado por velocidad de deslizamiento sembrado desde muestras reales con ventana de tiempo.
Esto ayuda a prevenir disparos de lanzamiento accidental cuando presionas conos de nariz o los retiras con orificios de ventilación pequeños o sin ninguno. - La calibración de vuelo ahora puede salir temprano (~6s de datos pre-búfer real) en lugar de esperar a que se llene el anillo completo, que a velocidades de muestreo altas tardó ~27 segundos. El piso de calibración estable también funciona con el rastreador de piso de lanzamiento de velocidad de deslizamiento para prevenir disparos accidental.
- La detección de lanzamiento ahora es un sistema de velocidad dual. Con aceleración baja requiere un segundo adicional por encima del umbral de detección de lanzamiento para activar la grabación, y con aceleración alta usa la ventana más corta. Esto ayuda a prevenir detección de lanzamiento accidental bajo eventos de vacío.
- Detección de bloqueo (pico/caída post-lanzamiento) rediseñada como un activador dual de velocidad basado en marca de tiempo (descenso sostenido versus instantáneo) en lugar de un contador fijo de 3 muestras consecutivas. Esto hace que sus puntos de inicio y final sean precisos e impide que un bloqueo de velocidad de tasa plana bloquee reglas incluso si el evento ha pasado hace algún tiempo. También es ahora independiente de velocidad.
- Detección de apogeo: la ventana de estabilización ahora disminuye de 1500ms en burnout a 400ms, protegiéndose contra la breve transitoria de presión justo en el burnout del motor que se confunda con descenso.
- Resincronización de IMU: el desplazamiento máximo de resincronización ahora se escala con la velocidad de muestreo (estaba limitado a una ventana fija de 25/50 muestras ajustada solo para 50/100Hz; ya se ha observado que un vuelo de 100Hz golpee ese límite).
- Parada automática de altitud estable reescrita para usar una ventana en tiempo real (9s/18s) convertida a desplazamientos de muestra a la velocidad actual, en lugar de conteos de muestra codificados.
- Filtro de altitud post-vuelo "Truepath": los diagnósticos para el filtro se guardan y cargan en AltimeterCloud para la operación de los filtros.
- Reconstrucción de pre-búfer: las ranuras de búfer anillo no llenas de un lanzamiento temprano (antes de que el búfer de almohadilla se llene completamente) ahora se reconstruyen como datos de línea base sensata en lugar de guardarse como basura cero. ¡Esto solo afecta a aquellos que están ansiosos por disparar y cuyos lanzamientos comienzan realmente bastante pronto después de encender el altímetro!
3. Confiabilidad y manejo de fallos
- Apagado térmico de dos niveles reemplaza el antiguo viaje de una sola muestra de 60°C: ≥80°C sostenido 5s (descontrol rápido) o ≥70°C sostenido 30s (sobrecalentamiento sostenido), ambos con tiempo de reloj de pared para que picos breves no causen viajes. Solo opera en modo WiFi.
- Errores de sensor fatal (sin sensor de presión / sin IMU encontrado) ahora parpadean durante 10s luego se reinician. Los sensores se reenergizán y los reintentos de activación se reintentarán.
- Rastreo de razón de reinicio: Las razones de reinicio de arranque se capturan en cada arranque (encendido/SW/pánico/tiempos de espera del perro guardián/desactivación), más contadores de por vida acumulativos por razón persistidos en NVS e informados en cada ping.
Esto te permite decir "qué pasó este arranque" de "el historial de fallos de toda esta unidad." - Recuperación del bus I2C: las lecturas de sensor ahora están envueltas con un tiempo de espera; en falla o tiempo de espera, un reinicio manual del bus de 9 reloj/STOP recupera un bus dañado sin una reinicialización completa del sensor (que costaría 50+ms y restablecería ODR en vuelo).
- Instantáneas de RAM/heap capturadas en puntos clave (entrada en modo de vuelo, primera iteración del bucle de vuelo, parada activada por botón) para diagnósticos post-vuelo.
- Manejo de fallos de asignación: Si los búferes de RAM de vuelo fallan al asignar, el dispositivo se reiniciará para intentarlo de nuevo después de un período de notificación de 10 segundos en el LED de estado.
- Reinicio de fábrica mediante retención de botón ahora realmente borra toda la configuración de NVS (anteriormente solo restablecía WiFi a modo abierto/sin contraseña).
- Contraseña AP: anteriormente un número de 8 dígitos ahora una cadena de 8 caracteres de mayúsculas/minúsculas+dígito del RNG de hardware con caracteres visualmente ambiguos excluidos. Una longitud mínima de 8 caracteres ahora se aplica.
4. Redes, nube y seguridad
- Todas las llamadas en la nube se han movido de HTTP bruto a una dirección IP resuelta, a HTTPS.
- Firma HMAC-SHA256 (a través del periférico HMAC de hardware del ESP32, con clave de un bloque de clave eFuse) agregada a llamadas de carga/notificación/verificación, reemplazando una simple suma de verificación. Esto prueba que los datos de tu dispositivo provienen de tu dispositivo además de detectar cualquier corrupción de datos.
- Verificación de despliegue de clave eFuse: flujo de verificación y solicitud única para el aprovisionamiento de la clave HMAC única por dispositivo en la primera conexión exitosa a internet.
- Intervalo de actualización de caché DNS extendido de 30 min a 2 horas.
- Límite de potencia de transmisión WiFi cambiado de 17dBm a 15dBm bien dentro del límite de 20dBm de la UE con la antena PCB estándar.
5. Formato de datos y almacenamiento
- Registros de vuelo movidos de CSV a un formato binario compacto (registros fijos de .bin de 34 bytes) tanto para almacenamiento como para carga en la nube; CSV ahora se genera sobre la marcha desde el registro binario cuando se solicita un .csv (descarga AP o carga en la nube), a través de un expansor compartido que refleja el CSV antiguo exactamente. Esto ofrece un enorme ahorro de espacio permitiendo más registros y más datos para ser almacenados en el Mercury.
- Sidecar de metadatos JSON (2.40+) los antiguos archivos de metadatos eran formato de texto plano dependiendo de números de línea específicos. El formato JSON es una mejora buena.
6. Control de frenos de aire
- Corrección de error: los umbrales del "multiplicador de urgencia" (70%/40% sobre objetivo) se comparaban contra la línea base incorrecta (el exceso ya es una relación ×100, por lo que "en objetivo" = 100, no 0). Lo que significa que el multiplicador estaba permanentemente activo, en lugar de solo cuando está significativamente sobre objetivo.
- Nuevo: Air_initial_angle para mantener una posición preconfigurada desde burnout hasta que comience la modulación activa, en lugar de sentarse completamente retraído sin autoridad en ninguna dirección.
- Nuevo: Air_apogee_lock y air_apogee_angle: opcionalmente conducir a y mantener un ángulo fijo en apogeo en lugar de siempre retraerse.
- Las configuraciones de altitud objetivo y tolerancia de exceso ahora se verifican de rango antes de ser aplicadas.

