USB HID y dispositivo de juegos

#42
Moyano Jonathan dijo:
Me funcionó el GAMEPAD ! ya funcionó bien con un control analógico y 8 botones.
Ya lo implementaste ? Yo solamente lo probé simulado.
Tengo en mente conectar un control de PSX a USB por HID, ya sé que esos adaptadores ya los venden bla bla bla :LOL:
 
#43
Si ya lo implemente en un protoboard y funciona de lo más bien. Lo que si solamente lo he podido probar con el soft de prueba de windows, ya que no he podido encontrar algun emulador o juego como para probar el gamepad.
 
#44
Hola
yo tambien lo implemente pero no el analogico, sino el primero que se posteo aqui.
lo probe con una partida de mario kart con el hardware montado en un protoboard, aunque es muy dificil maniobrar y termine en octavo lugar me funciono y muy bien.

salu2:)
 
#46
Moyano Jonathan dijo:
tenés el emulador y el rom de ese juego como para probar.
si son muy faciles de conseguir

el emulador que uso es el Project64 v1.5 con el plug in Javo's direct input7 1.5

cuando descargue el emulador años atras ya tenia algunos rooms
seguro que lo podras encontrar es un juego muy popular.

salu2:)
 
#48
Hola

claro que detecta el gamepad, detecta todos los gamepads que esten en dispositivos de juegos y como es hid no requiere driver especifico.


en donde dice none tendria que aparecer una lista de los gamepads instalados en el equipo.

y lo del adaptador del mando de psx a usb estaria genial, yo tenia el por puerto paralelo pero ya no tengo puerto paralelo.

salu2:)
 
#50
saludos colegas , muy vacano el proyecto quede muy interesado espero poder ayudarlos y seguir participando , ya lo simule y esta perfecto , yo tengo el project 64 no veo la hora de probarlo de verdad

saludos y les comento
 
#51
saludos a todos.

Ando experimentando con el primer game pad que se posteo, y quisiera ponerle mas botones, pero no consigo como, segun yo es desde la libreria usb_gamepad_HID.h. El modo que estoy intentando seria cambiar las lineas

Código:
      0x05, 0x09, // usage page (buttons) Choose the “button” usage page
      0x19, 0x01, // usage minimum (1) There are three buttons
      0x29, 0x08, // usage maximum (8)
      0x15, 0x00, // logical minimum (0) Each button is represented by one bit
      0x25, 0x01, // logical maximum (1)
      0x95, 0x08, // report count (8) Three reports, one bit each
      0x75, 0x01, // report size (1)
      0x81, 0x02, // input (data, variable, absolute)
      0xC0,       // end collection
por:

Código:
      0x05, 0x09, // usage page (buttons) Choose the “button” usage page
      0x19, 0x01, // usage minimum (1) Para 10 botones (ejemplo) 
      0x29, 0x0a, // usage maximum (10)<<<<<<Cambio aqui
      0x15, 0x00, // logical minimum (0) Each button is represented by one bit
      0x25, 0x01, // logical maximum (1)
      0x95, 0x0a, // report count (10) Three reports, one bit each<<<<<< y aqui
      0x75, 0x01, // report size (1)
      0x81, 0x02, // input (data, variable, absolute)
      0xC0,       // end collection
Pero de este modo a la hora de conectarlo al usb (o simularlo con el proteus), hace cosas raras.

Quisiera saber si alguien lo ha intentado, y si le funciono.
 
#52
Bien, hace rato que no entraba porque tuve otro trabajo que no me dejó tiempo para seguir con este proyeto, pero lo he vuelto a retomar y he conseguido algunos avances (menos en el force feed back).

Para ponerle los 10 botones al gamepad, tienes que poner en el descriptor que se trata de 16 botones, ya que solo funciona en grupos de a 8.

Moyano Jonathan, el control analogo que hiciste es de 8 o de 10 bits? me gustaría que me compartieras el codigo del programa que hiciste para acomodar los datos en el out_data, ya que tengo una duda sobre como hacerlo.

Si alguno tiene dudas en la creación o modificacion del archivo HID, yo les puedo colaborar.


Saludos
 
#54
Que tal moyano ya probe el pad con palanca analogica y 8 botones y funciona de las mil maravillas.
Actualmente tengo un acelerometro de tres ejes, lo que quiero es poder hacer una especie de mando tipo wii, realizando pruebas este se alimenta con 3v y su salida es analogica pero solo me manda de .4 a 2 volt, quisiera saber si se puede adecuar de alguna manera sin realizar un circuito para acondicionar la señal es decir solo realizando operaciones en el programa de ccs para que de acuerdo a los valores que obtengo de la lectura del adc me los tome de 0 a 255 que es lo que tu haces con la palanca analogica.
 
#55
Hola me gustaria saber como hago para que al conectar el pad me lo reconozca con el nombre que yo desee, ya probe cambiando el nombre en el reporte h en la parte de abajo, pero sigue mostrando el mismo nombre.

char const USB_STRING_DESC[]={
//string 0
4, //length of string index
USB_DESC_STRING_TYPE, //descriptor type 0x03 (STRING)
0x09,0x04, //Microsoft Defined for US-English
//string 1
8, //length of string index
USB_DESC_STRING_TYPE, //descriptor type 0x03 (STRING)
'C',0,
'C',0,
'S',0,
//string 2
28, //length of string index
USB_DESC_STRING_TYPE, //descriptor type 0x03 (STRING)
'L',0,
'I',0,
'A',0,
'M',0,
'N',0,
'E',0,
'E',0,
'S',0,
'O',0,
'N',0,
' ',0,
':',0,
')',0
};
 
#56
que tal ya le puse el acelerometro y ya estoy armando bien el control, en cuanto tenga lista la tarjeta subo los archivos y unas fotos de mi pad, funciona de las mil maravillas y sobre todo para jugar los juegos de carreras lo usas como volante.
Por cierto agregue un pequeño regulador de tension para el acelerometro ya que este trabaja a 3.7 v. una vez conectado solo hay que calibrar el joystick, no fue necesario modificar tu programa moyano.
 
#59
Saludos a todos y felicidades. A mi también me funcionaron los 2 ejes 8 botones. Sé que la idea principal de algunos es simplificar o reutilizar los gamepads que tienen por ahí. Alguien había mencionado hacer el adaptador PSX a USB. En base en lo que se lleva, incluí en la tabla de descriptores un 'pointer' nuevo, para intentar utilizar un segundo 'stick' analógico. Pero al programarlo, el control no responde (ni los botones, ni el stick), aunque si es detectado por el sistema e inclusive aparece Rx y Ry, como dos barras (throttle tal vez?). Es mi primera prueba, pero ya les contaré a ver que más sucede.

Encontré el protocolo que maneja el control de PSX: http://pinouts.ru/Game/playstation_9_pinout.shtml

Los sticks analógicos manejan 8 bits por cada eje, y el control es energizado a 5 voltios maximo... lo que es perfecto para hacer el adaptador con los pics que estamos utilizando y de la forma en que lo estamos haciendo. No he podido probar con mi control, porque no ... bueno, está ausente en acción. Por eso, estoy simulando con lo que armé.

Espero alguien se anime para emprender la tarea de buscarlo!

Gracias a todos!
 
#60
Hola, estuve leyendo este post y aun asi me quedo una duda. Para que me sirve el HID Report. De que me sirve saber como utilizare los bytes que se envian del PIC a la PC y viceversa?
Podrian explicarme esto?? muchas gracias
 

Temas similares

Arriba