[#CODING4FUN] XBoxOne Controller and USB Rocket Launcher

Hola!

Hoy empiezo por el final, primero el video con el output

Luego un poco de explicación sobre como montar esto. He partido sobre la base de mi post sobre cómo controlar con C# un mando de XBoxOne. Luego con un poco de código para controlar el lanza missiles, he llegado a conectar ambos dispositivos.

La solución completa incluye 3 proyectos, donde el 1ro se encarga de controlar el Rocket Launcher, luego la app WPF para coordinar las señales del mando y el lanza missiles. Por ultimo tengo un PCL que se encarga de traducir los valores Int32 del mando en comandos más basicos del tipo: up, down, left or right.

image

En realidad el trabajo no ha sido muy complicado, lo único que tuve que tener en cuenta es los valores que envía el controller. Despues de ver que el GamePad se mueve en el rango de un Int32, lo mejor fue definir los valores de LeftFar > Left > Center > Right > RightFar, con los valores entre -20000 > -10000 > 0 > 10000 > 20000. De esta forma una clase MoveControler me ayudaba a traducir la posición del joystick del mando en estos valores.

El ejemplo es bastante simple, ya que utilizo las classes que he creado en posts anteriores para controlar el lanza misiles. Por ejemplo

En este ejemplo he dejado fuera las “esquinas”, tengo que actualizar la clase RocketController para que soporte esto de forma elegante Winking smile

Por cierto, el código completo se puede descargar desde aqui: http://1drv.ms/1pQDQQx

Importante: he eliminado los packages NuGet para que el código no sea muy pesado, por favor descarga los mismos nuevamente para poder compilar la solución.

References

https://elbruno.com/2014/06/27/coding4fun-xboxone-game-controller-c-fun-time/

http://1drv.ms/1pQDQQx

Saludos @ Home

El Bruno

image image image Google
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.