Skip to content

feat(ethernet): agregar prueba continua de estrés con TFT#57

Draft
JW-Control wants to merge 2 commits into
mainfrom
feature/ethernet-continuous-stress-tft
Draft

feat(ethernet): agregar prueba continua de estrés con TFT#57
JW-Control wants to merge 2 commits into
mainfrom
feature/ethernet-continuous-stress-tft

Conversation

@JW-Control

Copy link
Copy Markdown
Owner

Resumen

Agrega un ejemplo nuevo dentro de JWPLC_Ethernet para mantener el puerto Ethernet del JWPLC Basic bajo tráfico continuo y registrar fallas intermitentes en la TFT.

Ejemplo

JWPLC/2.1.0/libraries/JWPLC_Ethernet/examples/
└── Ethernet_Continuous_Stress_TFT/
    ├── Ethernet_Continuous_Stress_TFT.ino
    └── README.md

Comportamiento

  • Espera 8 segundos para permitir el arranque automático y DHCP.
  • Sondea el W5500, link e IP cada 250 ms.
  • Ejecuta solicitudes HTTP repetitivas, con intervalo inicial de 1000 ms.
  • Valida conexión TCP, recepción, línea HTTP, código y contenido esperado.
  • Usa example.com como destino predeterminado.
  • Permite configurar una PC local como servidor HTTP para aislar Internet y DNS.
  • No reinicia automáticamente el W5500 al fallar, para no ocultar falsos contactos.

Diagnóstico mostrado

La TFT separa errores de:

  • mutex SPI;
  • W5500 no detectado;
  • link físico caído;
  • DHCP/IP;
  • runtime no listo;
  • conexión/DNS;
  • ausencia de respuesta;
  • timeout de recepción;
  • respuesta HTTP inválida;
  • código HTTP incorrecto;
  • contenido inesperado.

También registra:

  • total de pruebas, éxitos y fallas;
  • racha actual y máxima de errores;
  • eventos de caída/recuperación de hardware y link;
  • bytes recibidos;
  • latencias mínima, máxima y promedio;
  • fecha RTC y uptime del último error.

Alarma

  • El LED ERR queda latcheado después de cualquier falla.
  • El último error permanece visible aunque la comunicación se recupere.
  • ESC reconoce la alarma únicamente cuando la prueba actual vuelve a estar correcta.
  • Los contadores permanecen hasta reiniciar el ESP32.

Controles

  • LEFT / RIGHT: cambia de página.
  • OK: pausa o reanuda.
  • UP / DOWN: cambia el intervalo entre 250 ms y 10 s.
  • ESC: reconoce la alarma latcheada.

Validación realizada

  • Revisión sintáctica local con stubs de las APIs usadas.
  • Verificación de que el ejemplo solo agrega archivos dentro de JWPLC_Ethernet/examples.
  • Compilar con Arduino IDE usando JWPLC Basic.
  • Validar respuesta HTTP continua en hardware.
  • Validar desconexión y reconexión de RJ45.
  • Validar desaparición temporal del W5500 o falso contacto SPI.
  • Confirmar distribución y ausencia de parpadeo visible en TFT.
  • Ejecutar una prueba prolongada de al menos 30 minutos.
  • Repetir usando un servidor HTTP local.

Estado

PR creado como draft. No debe fusionarse hasta completar la prueba física del conector, W5500 y soldadura asociada.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant