¡Hola a todos!
Soy bastante nuevo en el ecosistema de M5Stack pero estoy totalmente fascinado. Estoy trabajando en mi primer proyecto "serio": un pequeño control personalizado usando un M5StickC Plus para jugar un game android en mi teléfono.
La idea es usar los botones del M5StickC para controlar acciones simples en el juego a través de Bluetooth (usando el perfil HID).
El Problema:
He conseguido conectar el M5StickC a mi teléfono Android y el sistema lo reconoce como un dispositivo de entrada. ¡Funciona! Pero tengo una latencia (retraso) enorme, de casi medio segundo. Cuando presiono un botón en el Stick, la acción en el juego tarda demasiado en ocurrir, lo que lo hace injugable.
Lo que he intentado:
Optimizar el loop() en mi código de Arduino para que sea lo más rápido posible.
Aumentar la velocidad del Serial.begin() (aunque no creo que esto influya).
He probado con la librerÃa ESP32-BLE-Keyboard y también con BleGamepad. Ambas presentan el mismo retraso.
¿Alguien ha tenido una experiencia similar al crear un control Bluetooth para un game android o cualquier otra aplicación? ¿Hay alguna configuración especial en el lado de Android o alguna técnica en el código del ESP32 para minimizar esta latencia?
¡Cualquier consejo serÃa de gran ayuda! ¡Muchas gracias de antemano!