¿Cómo integrar volantes Logitech en el ESP32-S3?

Ahora que microcontroladores como el ESP32-S3 son sistemas computacionales bastante capaces que incluyen funcionalidad de host USB, resulta lógico conectar periféricos USB como los volantes de carreras de Logitech. Por supuesto, estos no son dispositivos USB HID básicos, por lo que requieren una configuración inicial para que comiencen a enviar las actualizaciones de datos que nos interesan. El objetivo del proyecto LogiWheelHost para ESP32-S3, desarrollado por [Joel Kometz], es facilitar precisamente este proceso.

Esta librería de cabecera única soporta los modelos G29, G923, G920, G27, G25, DFGT y Driving Force Pro, construida sobre el proyecto EspUsbHost. Como se explica en el archivo README, estos volantes de carreras no comienzan a transmitir todas las actualizaciones de sus controles una vez encendidos, sino que arrancan en un modo restringido en el que solo se envían datos neutrales o de ejes combinados.

¿Cómo habilitar el modo nativo del volante?

Para modificar este comportamiento, es necesario activar el denominado "cambio a modo nativo", mediante el cual se vuelve accesible información mucho más detallada, además de actualizaciones sobre funciones extendidas como pedales independientes, todos los botones y la palanca de cambios. Esto se logra enviando un informe de salida HID al dispositivo USB, lo cual es un procedimiento sencillo.

Además de gestionar este detalle, la librería proporciona una API mediante la cual obtener y utilizar estos estados del controlador en su propio código debería ser bastante directo. Es de suponer que la librería funcionará o podrá portarse a otros microcontroladores ESP32 que soporten el modo de host USB, por lo que esta podría ser una excelente noticia para cualquier persona que busque hacer más con ese viejo volante de carreras Logitech que tiene guardado.

Vía Hackaday.