¿Como activar los motores de un Joystick mediante JEDI?
Hola... disculpad si el título no es muy explicito.... lo que estoy buscando es:
Tengo un componente del proyecto JEDI que me permite leer y escribir en los dispositivos HID. Estoy usando un joystick, que me sirve para tener entradas analogicas y digitales, que las controlo sin problema... el problema lo tengo cuando quiero activar los motores (tanto izquierdo como derecho) y decirle con que fuerza que han de girar.... En el descriptor me dice que la salida es un grupo de 7 bytes... pero no se que meter en cada byte para activar estas funciones... Los motores funciones perfectamente porque desde el controlador de windows puedes activar cada uno por independiente y ponerle la fuerza que quiera.... Espero haberme explicado... gracias Lenguaje : Delphi 6 |
tarco35,
Cita:
Pregunto: 1- ¿Que versión de Windows (x32/x64) utiliza tu aplicación?. 2- ¿Que componente JEDI estas utilizando para controlar el Joystick?. 3- ¿A que descriptor te refieres?. 4- ¿Cual es el modelo y marca del JoyStick?, ¿Cuales son sus especificaciones? :confused: 5- ¿Puedes publicar el código en cuestión?. Espero sea útil :) Nelson. |
Hola.
1 .- pues se va a usar tanto en 32 bits como en 64, win xp, 7, 8, ... (hasta ahora cuando he usado el componente solo ha sido para lectura) 2 .- el componente es : HidControler para delphi 6 3 . -al descriptor que me refiero es al que informa la interfaz al preguntarle al dispositivo: "DragonRise Inc. " "Generic USB Joystick " VID=$0079 PID=$0006 Input Report Size=8 Output Report Size=7 Feature Report Size=0 Button Input ============ 0) UsagePage: Button ($0009) ReportID: 0 IsAlias: False BitField: 2 LinkCollection: 1 LinkUsage: Undefined ($0000) LinkUsagePage: Generic Desktop ($0001) IsRange: True IsStringRange: False IsDesignatorRange: False IsAbsolute: True UsageMin: 1 UsageMax: 12 StringMin: 0 StringMax: 0 DesignatorMin: 0 DesignatorMax: 0 DataIndexMin: 6 DataIndexMax: 17 1) UsagePage: FF00 ($FF00) ReportID: 0 IsAlias: False BitField: 2 LinkCollection: 1 LinkUsage: Undefined ($0000) LinkUsagePage: Generic Desktop ($0001) IsRange: False IsStringRange: False IsDesignatorRange: False IsAbsolute: True Usage: 1 ($0001) StringIndex: 0 DesignatorIndex: 0 DataIndex: 18 Value Input =========== 0) UsagePage: Generic Desktop ($0001) ReportID: 0 IsAlias: False BitField: 2 LinkCollection: 1 LinkUsage: Undefined ($0000) LinkUsagePage: Generic Desktop ($0001) IsRange: False IsStringRange: False IsDesignatorRange: False IsAbsolute: True HasNull: False BitSize: 8 ReportCount: 1 UnitsExp: 0 Units: 0 LogicalMin: 0 LogicalMax: 255 PhysicalMin: 0 PhysicalMax: 255 Usage: Relative Z Axis ($0035) StringIndex: 0 DesignatorIndex: 0 DataIndex: 0 1) UsagePage: Generic Desktop ($0001) ReportID: 0 IsAlias: False BitField: 2 LinkCollection: 1 LinkUsage: Undefined ($0000) LinkUsagePage: Generic Desktop ($0001) IsRange: False IsStringRange: False IsDesignatorRange: False IsAbsolute: True HasNull: False BitSize: 8 ReportCount: 1 UnitsExp: 0 Units: 0 LogicalMin: 0 LogicalMax: 255 PhysicalMin: 0 PhysicalMax: 255 Usage: Z Axis ($0032) StringIndex: 0 DesignatorIndex: 0 DataIndex: 1 2) UsagePage: Generic Desktop ($0001) ReportID: 0 IsAlias: False BitField: 2 LinkCollection: 1 LinkUsage: Undefined ($0000) LinkUsagePage: Generic Desktop ($0001) IsRange: False IsStringRange: False IsDesignatorRange: False IsAbsolute: True HasNull: False BitSize: 8 ReportCount: 1 UnitsExp: 0 Units: 0 LogicalMin: 0 LogicalMax: 255 PhysicalMin: 0 PhysicalMax: 255 Usage: Z Axis ($0032) StringIndex: 0 DesignatorIndex: 0 DataIndex: 2 3) UsagePage: Generic Desktop ($0001) ReportID: 0 IsAlias: False BitField: 2 LinkCollection: 1 LinkUsage: Undefined ($0000) LinkUsagePage: Generic Desktop ($0001) IsRange: False IsStringRange: False IsDesignatorRange: False IsAbsolute: True HasNull: False BitSize: 8 ReportCount: 1 UnitsExp: 0 Units: 0 LogicalMin: 0 LogicalMax: 255 PhysicalMin: 0 PhysicalMax: 255 Usage: Y Axis ($0031) StringIndex: 0 DesignatorIndex: 0 DataIndex: 3 4) UsagePage: Generic Desktop ($0001) ReportID: 0 IsAlias: False BitField: 2 LinkCollection: 1 LinkUsage: Undefined ($0000) LinkUsagePage: Generic Desktop ($0001) IsRange: False IsStringRange: False IsDesignatorRange: False IsAbsolute: True HasNull: False BitSize: 8 ReportCount: 1 UnitsExp: 0 Units: 0 LogicalMin: 0 LogicalMax: 255 PhysicalMin: 0 PhysicalMax: 255 Usage: X Axis ($0030) StringIndex: 0 DesignatorIndex: 0 DataIndex: 4 5) UsagePage: Generic Desktop ($0001) ReportID: 0 IsAlias: False BitField: 66 LinkCollection: 1 LinkUsage: Undefined ($0000) LinkUsagePage: Generic Desktop ($0001) IsRange: False IsStringRange: False IsDesignatorRange: False IsAbsolute: True HasNull: True BitSize: 4 ReportCount: 1 UnitsExp: 0 Units: 20 LogicalMin: 0 LogicalMax: 7 PhysicalMin: 0 PhysicalMax: 315 Usage: Hat Switch ($0039) StringIndex: 0 DesignatorIndex: 0 DataIndex: 5 Value Output ============ 0) UsagePage: FF00 ($FF00) ReportID: 0 IsAlias: False BitField: 2 LinkCollection: 2 LinkUsage: 0 ($0000) LinkUsagePage: FF00 ($FF00) IsRange: False IsStringRange: False IsDesignatorRange: False IsAbsolute: True HasNull: False BitSize: 8 ReportCount: 7 UnitsExp: 0 Units: 0 LogicalMin: 0 LogicalMax: 255 PhysicalMin: 0 PhysicalMax: 255 Usage: 2 ($0002) StringIndex: 0 DesignatorIndex: 0 DataIndex: 0 4 .- el modelo y marca: es generico, no tiene una marca especifica, (de forma es igual que los mandos de la play 3) con feedback 5 .- no se a que codigo te refieres.... si es el código de programa es:
La lectura de todos los botones y las palanca se realiza bien. Lo que necesito saber es que valores hay que enviar para activar esos motorcitos... creo que son dos parametros: tiempo en milisegundos y motor izquierdo / derecho ... pero esto no lo se seguro, es una suposicion mia Si necesitas alguna info mas, solo pedirla gracias |
Hola!!!!!
Tiene un fuente de como leer los datos de un Joystick o GamePAd con el componente TJVHIDDeviceController???? Me ayudarías a saber como leer los botones, palancas, etc,etc con ese componente, por favor? No encuentro nada de nada por la WEB, más que solamente el ejemplo que trae el componente. |
La franja horaria es GMT +2. Ahora son las 15:39:40. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi