Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

07/03/2012 #61


Hola!!

Lo de "spv midi dj" es el nombre que le di yo, que son mis iniciales y demás. Yo creo que el problema está en el Virtual dj. No tendría porque colgarse. Yo tambien utilizo Windows 7 64bits, y anda perfecto. Si tienes mal los archivos DEVICE y MAPPER, simplemente no te lo reconoce el Virtual Dj, pero no tendría porque colgarse.
No puedo enviarte estos archivos porque supongo que no estaré en mi casa hasta el sábado... nada más que esté te los envio para que pruebes.

Si que es raro que con el midi trace lo veas enviando notas...

Lo de mis leds, creo que tengo mal los endpoints de recibir en el pic, pero lo mismo, hasta el sábado no podré probar. Tengo ganas de estar allí para eso, jajajaja
07/03/2012 #62

Avatar de fernandoae

En realidad no era justamente eso lo que no entendia del nombre, sinó el hecho de que aparezca FFFF/FFFF delante del nombre en el midi trace, porque en otras interfaces que tengo me sale 1/67, 1/66, 1/1b... etc.

---------- Actualizado después de 5 minutos ----------

Y está comprobado que tu código funciona y se comporta como una interfaz midi, en fruity loops me marca claramente el note on/off...
Ahora capaz que lo pruebo en ableton live a ver si lo toma bien, que es muy probable que si.
Pongamonos las pilas y diseñemos algo, que con el mismo hardware se pueda comportar como hid o como midi... yo mas atrás subi unos esquemas de los modulos de entrada y demas, son los de midibox.
Yo quise hacer lo de midibox pero como no consigo ese pic me incline por hacer mi propio diseño, y ademas a mi me gusta saber el por qué de las cosas
08/03/2012 #63


Para que funcione como midi y hid habría que implementar los dos tipos de comunicación en un mismo pic, y de algún modo seleccionar el tipo al arrancar, bien sea con un selector o algo.
No creo que sea muy dificil, salvo que había que tener en cuenta la memoria que podría ocupar...
08/03/2012 #64

Avatar de fernandoae

Vos que manejas mejor el CCS podrias ver de hacer algo que dependiendo de una entrada del pic ejecute un código para hid y sino salte a un código midi... seria cuestión de indicarle que descriptor cargar... o tener el pic con bootloader y dos hex diferentes. Esta última seria la mas sencilla.
Existe la posibilidad si mientras se está cargando un hex por bootloader y se desconecta el usb no se pueda volver a realizar la carga? o no pasa nada?... porque suponé que uno quiera vender la consola y el usuario hace mal algo.. se queda sin posibilidad de actualizarla por usb?
09/03/2012 #65


Hola:

¿El hex se puede guardar en el pic para que lo cargue? Yo lo tengo con bootloader, pero el hex se lo mando desde el pc. Muchas veces se para la transferencia y lo tengo que volver a mandar, pero nunca se ha estropeado el bootloader.

Pongo aquí el DEVICE y el MAPPER que tengo hecho para probar y funciona con midi y el virtual dj.

A ver si esta tarde hago funcionar lo de los leds...y en otro momento me pongo con lo de los 2 protocolos.

Un saludo
Archivos Adjuntos
Tipo de Archivo: rar Virtual dj.rar (784 Bytes, 129 visitas)
09/03/2012 #66


Soy imcapaz de enviar leds desde el Virtual dj!!! Alto tengo mal en el Device, en el Mapper o en el descriptor HID, pero no se que. En el analizador de USB no veo que en Virtual dj envíe nada hacia el pic.
Si alguien lo consigue que me explique como, que me estoy desesperando, jajajaja
Con el midi ya lo tenia funcionando.
09/03/2012 #67

Avatar de fernandoae

En el nombre del dispositivo va "SPV" o "spv midi dj"? porque a mi con en código que subiste me aparece de la segunda forma en todos lados...
09/03/2012 #68

Avatar de tecniloco80

rachelies dijo: Ver Mensaje
Soy imcapaz de enviar leds desde el Virtual dj!!! Alto tengo mal en el Device, en el Mapper o en el descriptor HID, pero no se que. En el analizador de USB no veo que en Virtual dj envíe nada hacia el pic.
Si alguien lo consigue que me explique como, que me estoy desesperando, jajajaja
Con el midi ya lo tenia funcionando.
Para enviar en el xxxdevice.xml tiene que poner algo como esto
Código:
 <page type="out">
  <constant text="ECA" />
  <led bit="0x1B" name="LED_JOG" default="JOG_TOUCH" />
  <led bit="0x1C" name="LED_PLAY" default="PLAY" />
  <led bit="0x1D" name="LED_CUE" default="CUE" />
  <led bit="0x1E" name="LED_SCRATCH" default="SCRATCH" />
  <led bit="0x1F" name="LED_REVERSE" default="REV" />
  <led bit="0x20" name="LED_RELAY" default="RELAY" />
  <led bit="0x21" name="LED_JOG2" />
  <led bit="0x22" name="LED_JOG3" />
  <led bit="0x23" name="LED_CUE3" default="CUE3" />
  <led bit="0x24" name="LED_CUE2" default="CUE2" />
  <led bit="0x25" name="LED_CUE1" default="CUE1" />
  <led bit="0x26" name="LED_MEMO" default="MEMO" />
  <led bit="0x27" name="LED_DUMP" default="DUMP" />
  <led bit="0x28" name="LED_LOOPA" default="LOOPA" />
  <led bit="0x29" name="LED_LOOPB" default="LOOPB" />
  <led bit="0x2A" name="LED_RELOOP" default="RELOOP" />
  <led bit="0x2B" name="LED_NEXT" default="NEXTTRACK" />
  <led bit="0x2C" name="LED_JOG4" />
  <led bit="0x2D" name="LED_EDIT" default="EDIT" />
  <led bit="0x2E" name="LED_ONOFF" default="ONOFF" />
  <led bit="0x2F" name="LED_KEY" default="KEY" />
  <led bit="0x30" name="LCD_PC" />
  <led bit="0x31" name="LCD_TOTALREMAIN" />
  <led bit="0x32" name="LCD_REMAIN" />
  <led bit="0x33" name="LCD_ELAPSED" />
  <led bit="0x34" name="LCD_CONTINUE" />
  <led bit="0x35" name="LCD_SINGLE" />
  <led bit="0x36" name="LCD_SINGLEREPLAY" />
  <led bit="0x39" name="LCD_MT" />
  <led bit="0x3A" name="LCD_PLAY" />
  <led bit="0x3B" name="LCD_PAUSE" />
  <led bit="0x3C" name="LCD_LOOP" />
  <led bit="0x3D" name="LCD_CUE" />
  <led bit="0x3E" name="LCD_SEARCH" />
  <led bit="0x45" name="LCD_SEARCH-" />
  <led bit="0x46" name="LCD_SEARCH+" />
  <digit byte="11" size="word" endian="little" enablebit="0xDD" plusbit="0x37" minusbit="0x38" dotbit2="0x44" name="DIGIT_KEY" />
  <digit byte="13" enablebit="0xDE" name="DIGIT_MINUTES" />
  <digit byte="14" enablebit="0xDE" enablebit2="0x42" name="DIGIT_SECONDS" />
  <digit byte="15" enablebit="0xDE" enablebit2="0x43" name="DIGIT_FRAMES" />
  <digit byte="16" size="word" endian="little" enablebit="0xDF" dotbit="0x41" name="DIGIT_BPM" />
  <digit byte="18" enablebit="0x3F" name="DIGIT_START" />
  <digit byte="19" enablebit="0x40" name="DIGIT_BRAKE" />
  <digit byte="20" size="word" endian="little" enablebit="0xDB" name="DIGIT_TOTALTRACK" />
  <digit byte="22" size="word" endian="little" enablebit="0xDC" name="DIGIT_NOWTRACK" />
  <bar bit="0xC1" nbbits="7" max="80" enablebit="0xDA" minusbit="0xC0" name="PROGRESSBAR" />
 </page>
y en el xxxmaper.xml
Código:
 <map value="LED_JOG2" action="off" />
  <map value="LED_JOG3" action="off" />
  <map value="LED_JOG4" action="off" />
  <map value="LED_EDIT" action="deck 2 select" />
  <map value="TEXT1" action="get text 1" />
  <map value="TEXT2" action="get text 2" />
  <map value="DIGIT_KEY" action="get pitch" />
  <map value="DIGIT_MINUTES" action="get time_min" />
  <map value="DIGIT_SECONDS" action="get time_sec" />
  <map value="DIGIT_FRAMES" action="get time_ms" />
  <map value="DIGIT_BPM" action="get bpm" />
  <map value="DIGIT_START" action="off" />
  <map value="DIGIT_BRAKE" action="off" />
  <map value="DIGIT_TOTALTRACK" action="off" />
  <map value="DIGIT_NOWTRACK" action="off" />
  <map value="PROGRESSBAR" action="song_pos" />
  <map value="LCD_PC" action="true" />
  <map value="LCD_TOTALREMAIN" action="off" />
  <map value="LCD_REMAIN" action="display_time &apos;remain&apos;" />
  <map value="LCD_ELAPSED" action="display_time &apos;elapsed&apos;" />
  <map value="LCD_CONTINUE" action="off" />
  <map value="LCD_SINGLE" action="off" />
  <map value="LCD_SINGLEREPLAY" action="off" />
  <map value="LCD_MT" action="key_lock" />
  <map value="LCD_PLAY" action="play" />
  <map value="LCD_PAUSE" action="play ? false : true" />
  <map value="LCD_LOOP" action="loop" />
  <map value="LCD_CUE" action="cue" />
  <map value="LCD_SEARCH" action="off" />
  <map value="LCD_SEARCH-" action="off" />
  <map value="LCD_SEARCH+" action="off" />
eso es lo que trae un controlador comercial que tengo es hid prueba talvez funcione
09/03/2012 #69

Avatar de fernandoae

Está interesante, me sirvió para aclarar unas cosas del vdjscript
09/03/2012 #70


fernandoae dijo: Ver Mensaje
En el nombre del dispositivo va "SPV" o "spv midi dj"? porque a mi con en código que subiste me aparece de la segunda forma en todos lados...
Es "spv midi dj".

Tecniloco80, muchas gracias, lo probaré cuando esté en casa. Si eso es de uno comercial hid, ?sería mucho pedir que subas los archivos completos?

Gracias y un saludo
09/03/2012 #71

Avatar de fernandoae

Ah bueno, me habia surgido esa duda...
Como haces para recibir los datos de los leds en el pic? serias tan amable de hacer un minitutorial sobre el tema?
10/03/2012 #72


Para los leds, el Virtual dj me tendría que enviar 8 bytes (de los que al final solo utilizo 2 en mi controlador). En el pic detecto que me llegan mediante:
Código:
if (usb_kbhit(1)) 
{
  usb_get_packet(1,recibe,8);
detecta_led();
}
Previamente habría que mappear lo que va en cada bit de esos bytes en el Virtual dj (que creo que es lo que tengo mal), y una vez recibidos en el pic, gestionar cada led con la información recibida.

Así es como yo lo tengo hecho y no me funciona, jajajaja. En modo midi funciona, por lo que el error tiene que estar en el archivo DEVICE o MAPPER del Virtual dj, o en el descriptor hid, no se.
10/03/2012 #73

Avatar de tecniloco80

rachelies dijo: Ver Mensaje
Es "spv midi dj".

Tecniloco80, muchas gracias, lo probaré cuando esté en casa. Si eso es de uno comercial hid, ?sería mucho pedir que subas los archivos completos?

Gracias y un saludo
El controlador es turro no es muy bueno no tiene muchas funciones y solo tengo uno
este es el codigo completo del xxdevice.xml
Código:
<?xml version="1.0" encoding="UTF-8"?>
<device name="CDMP700" author="Atomix Productions" type="HID" vid="0x190f" pid="0x0700" reportsize="32" decks="1">
 <page type="init">
  <constant buffer="45430102030405060708090A0B0C0D0E0F101112131415161718191A1B1C0229" />
 </page>
 <page type="wait">
  <constant text="MP" />
  <constant byte="29" value="0x1C" />
 </page>
 <page type="exit">
  <constant text="ECA" />
  <constant byte="29" value="0xFF" />
 </page>
 <page type="in">
  <constant text="MP" />
  <button byte="2" value="1" name="TRACK_ENTER" />
  <button byte="2" value="2" name="BACK" />
  <button byte="2" value="3" name="PROG" />
  <button byte="2" value="4" name="FAST+" />
  <button byte="2" value="5" name="FAST-" />
  <button byte="2" value="6" name="KEY" />
  <button byte="2" value="7" name="ONOFF" />
  <button byte="2" value="8" name="RANGE" />
  <button byte="2" value="9" name="PITCHBEND-" />
  <button byte="2" value="10" name="PITCHBEND+" />
  <button byte="3" value="1" name="NEXTTRACK" />
  <button byte="3" value="2" name="EDIT" />
  <button byte="3" value="3" name="RELOOP" />
  <button byte="3" value="4" name="LOOPB" />
  <button byte="3" value="5" name="LOOPA" />
  <button byte="3" value="6" name="CUE3" />
  <button byte="3" value="7" name="TIME" />
  <button byte="3" value="8" name="CONT" />
  <button byte="3" value="9" name="TITLE" />
  <button byte="3" value="10" name="MENU" />
  <button byte="4" value="1" name="CUE2" />
  <button byte="4" value="2" name="CUE1" />
  <button byte="4" value="3" name="MEMO" />
  <button byte="4" value="4" name="RELAY" />
  <button byte="4" value="5" name="DUMP" />
  <button byte="4" value="6" name="REV" />
  <button byte="4" value="7" name="SCRATCH" />
  <button byte="4" value="8" name="BOP" />
  <button byte="4" value="9" name="CUE" />
  <button byte="4" value="10" name="PLAY" />
  <button byte="5" value="1" name="TAP" />
  <button byte="6" value="1" name="JOG_TOUCH" />
  <jog bit="57" nbbits="15" max="589" name="JOG" />
  <encoder byte="12" max="19" name="TRACK" />
  <slider byte="15" size="word" max="511" inverted="true" name="PITCH" />
  <slider byte="17" size="word" max="511" name="START" />
  <slider byte="19" size="word" max="511" name="BRAKE" />
 </page>
 <page type="out">
  <constant text="ECA" />
  <led bit="0x1B" name="LED_JOG" default="JOG_TOUCH" />
  <led bit="0x1C" name="LED_PLAY" default="PLAY" />
  <led bit="0x1D" name="LED_CUE" default="CUE" />
  <led bit="0x1E" name="LED_SCRATCH" default="SCRATCH" />
  <led bit="0x1F" name="LED_REVERSE" default="REV" />
  <led bit="0x20" name="LED_RELAY" default="RELAY" />
  <led bit="0x21" name="LED_JOG2" />
  <led bit="0x22" name="LED_JOG3" />
  <led bit="0x23" name="LED_CUE3" default="CUE3" />
  <led bit="0x24" name="LED_CUE2" default="CUE2" />
  <led bit="0x25" name="LED_CUE1" default="CUE1" />
  <led bit="0x26" name="LED_MEMO" default="MEMO" />
  <led bit="0x27" name="LED_DUMP" default="DUMP" />
  <led bit="0x28" name="LED_LOOPA" default="LOOPA" />
  <led bit="0x29" name="LED_LOOPB" default="LOOPB" />
  <led bit="0x2A" name="LED_RELOOP" default="RELOOP" />
  <led bit="0x2B" name="LED_NEXT" default="NEXTTRACK" />
  <led bit="0x2C" name="LED_JOG4" />
  <led bit="0x2D" name="LED_EDIT" default="EDIT" />
  <led bit="0x2E" name="LED_ONOFF" default="ONOFF" />
  <led bit="0x2F" name="LED_KEY" default="KEY" />
  <led bit="0x30" name="LCD_PC" />
  <led bit="0x31" name="LCD_TOTALREMAIN" />
  <led bit="0x32" name="LCD_REMAIN" />
  <led bit="0x33" name="LCD_ELAPSED" />
  <led bit="0x34" name="LCD_CONTINUE" />
  <led bit="0x35" name="LCD_SINGLE" />
  <led bit="0x36" name="LCD_SINGLEREPLAY" />
  <led bit="0x39" name="LCD_MT" />
  <led bit="0x3A" name="LCD_PLAY" />
  <led bit="0x3B" name="LCD_PAUSE" />
  <led bit="0x3C" name="LCD_LOOP" />
  <led bit="0x3D" name="LCD_CUE" />
  <led bit="0x3E" name="LCD_SEARCH" />
  <led bit="0x45" name="LCD_SEARCH-" />
  <led bit="0x46" name="LCD_SEARCH+" />
  <digit byte="11" size="word" endian="little" enablebit="0xDD" plusbit="0x37" minusbit="0x38" dotbit2="0x44" name="DIGIT_KEY" />
  <digit byte="13" enablebit="0xDE" name="DIGIT_MINUTES" />
  <digit byte="14" enablebit="0xDE" enablebit2="0x42" name="DIGIT_SECONDS" />
  <digit byte="15" enablebit="0xDE" enablebit2="0x43" name="DIGIT_FRAMES" />
  <digit byte="16" size="word" endian="little" enablebit="0xDF" dotbit="0x41" name="DIGIT_BPM" />
  <digit byte="18" enablebit="0x3F" name="DIGIT_START" />
  <digit byte="19" enablebit="0x40" name="DIGIT_BRAKE" />
  <digit byte="20" size="word" endian="little" enablebit="0xDB" name="DIGIT_TOTALTRACK" />
  <digit byte="22" size="word" endian="little" enablebit="0xDC" name="DIGIT_NOWTRACK" />
  <bar bit="0xC1" nbbits="7" max="80" enablebit="0xDA" minusbit="0xC0" name="PROGRESSBAR" />
 </page>
 <page type="out">
  <constant text="7SA" />
  <text byte="3" nbchars="14" name="TEXT1" />
  <text byte="17" nbchars="14" name="TEXT2" />
 </page>
</device>
este es del xxmaper.xml
Código:
<?xml version="1.0" encoding="UTF-8"?>
<mapper device="CDMP700" description="Audiophony PLAY" author="Atomix Productions" version="600" date="16/02/2009">
  <map value="JOG" action="touchwheel" />
  <map value="PLAY" action="play_pause" />
  <map value="CUE" action="cue_stop" />
  <map value="PITCH" action="pitch_slider" />
  <map value="JOG_TOUCH" action="touchwheel_touch" />
  <map value="SCRATCH" action="vinyl_mode" />
  <map value="REV" action="reverse" />
  <map value="DUMP" action="dump" />
  <map value="PITCHBEND-" action="pitch_bend -2% 500ms" />
  <map value="PITCHBEND+" action="pitch_bend +2% 500ms" />
  <map value="RANGE" action="pitch_range" />
  <map value="ONOFF" action="pitch_reset" />
  <map value="KEY" action="key_lock" />
  <map value="FAST-" action="seek -4" />
  <map value="FAST+" action="seek +4" />
  <map value="RELAY" action="relay_play" />
  <map value="LOOPA" action="loop_in" />
  <map value="LOOPB" action="loop_out" />
  <map value="RELOOP" action="reloop" />
  <map value="TRACK" action="browser_scroll" />
  <map value="TRACK_ENTER" action="browser_enter" />
  <map value="BACK" action="browser_folder" />
  <map value="EDIT" action="deck active select" />
  <map value="NEXTTRACK" action="automix" />
  <map value="BOP" action="sync" />
  <map value="TAP" action="sync" />
  <map value="MEMO" action="menu" />
  <map value="TIME" action="display_time 'elapsed,remain'" />
  <map value="CUE1" action="menu_button 1 'hotcue,sampler,effect'" />
  <map value="CUE2" action="menu_button 2 'hotcue,sampler,effect'" />
  <map value="CUE3" action="menu_button 3 'hotcue,sampler,effect'" />
  <map value="TIME" action="display_time 'elapsed,remain'" />
  <map value="START" action="effect slider 1" />
  <map value="BRAKE" action="effect slider 2" />
  <map value="LED_JOG2" action="off" />
  <map value="LED_JOG3" action="off" />
  <map value="LED_JOG4" action="off" />
  <map value="LED_EDIT" action="deck 2 select" />
  <map value="TEXT1" action="get text 1" />
  <map value="TEXT2" action="get text 2" />
  <map value="DIGIT_KEY" action="get pitch" />
  <map value="DIGIT_MINUTES" action="get time_min" />
  <map value="DIGIT_SECONDS" action="get time_sec" />
  <map value="DIGIT_FRAMES" action="get time_ms" />
  <map value="DIGIT_BPM" action="get bpm" />
  <map value="DIGIT_START" action="off" />
  <map value="DIGIT_BRAKE" action="off" />
  <map value="DIGIT_TOTALTRACK" action="off" />
  <map value="DIGIT_NOWTRACK" action="off" />
  <map value="PROGRESSBAR" action="song_pos" />
  <map value="LCD_PC" action="true" />
  <map value="LCD_TOTALREMAIN" action="off" />
  <map value="LCD_REMAIN" action="display_time &apos;remain&apos;" />
  <map value="LCD_ELAPSED" action="display_time &apos;elapsed&apos;" />
  <map value="LCD_CONTINUE" action="off" />
  <map value="LCD_SINGLE" action="off" />
  <map value="LCD_SINGLEREPLAY" action="off" />
  <map value="LCD_MT" action="key_lock" />
  <map value="LCD_PLAY" action="play" />
  <map value="LCD_PAUSE" action="play ? false : true" />
  <map value="LCD_LOOP" action="loop" />
  <map value="LCD_CUE" action="cue" />
  <map value="LCD_SEARCH" action="off" />
  <map value="LCD_SEARCH-" action="off" />
  <map value="LCD_SEARCH+" action="off" />
  <map value="MENU" action="reinit_controller 'CDMP700' 200" />
</mapper>
Bueno ahora les tengo una pregunta si me pueden ayudar
cuantos potes se le pueden poner aun pic con codigo para hid ya que estoy escribiendo un codigo y solo le puedo hacer funcionar 7 vi por ahi que se puede poner mas poniendo mas "paginas" no se nada de estas paginas alguien que sepa de esto
10/03/2012 #74

Avatar de fernandoae

No estoy del todo seguro, pero en una "pagina" podes enviar 256 bytes... con eso mandás la cantidad de potes y botones que desees.
Novedades con el tema de los leds? hasta ahora yo tampoco puedo! tengo un dispositivo sencillito con 8 bytes de entrada y 8 de salida, el hidtrace me pone 8/8 asi que parece que esta bien... pero de ahi no paso. Vamos a seguir mañana! cuando haya novedades vuelvo. Ya medio que me puso loco el tema
10/03/2012 #75

Avatar de fernandoae

Se borró el mensaje de rachelies:
Para los leds, el Virtual dj me tendría que enviar 8 bytes (de los que al final solo utilizo 2 en mi controlador). En el pic detecto que me llegan mediante:

Código:
---------
if (usb_kbhit(1))
{
usb_get_packet(1,recibe,8);
detecta_led();
}
---------
Previamente habría que mappear lo que va en cada bit de esos bytes en el Virtual dj (que creo que es lo que tengo mal), y una vez recibidos en el pic, gestionar cada led con la información recibida.

Así es como yo lo tengo hecho y no me funciona, jajajaja. En modo midi funciona, por lo que el error tiene que estar en el archivo DEVICE o MAPPER del Virtual dj, o en el descriptor hid, no se.
La verdad que a mi me funciona enviandole bytes desde visual basic en xp... o sea que la base está funcionando, el pic recibe y saca esos datos por el PORTB del pic 18F2550. Pero lo que no se es si el vdj envia los datos al lugar incorrecto por problemas en el mapper o el device, o, simplemente no envia nada.
En este caso, con 8 Bytes de entrada y 8 de salida... en el tamaño del reporte va un 8 o un 16? o hay que usar la definición "outreportsize"? vamos viendo de aclarar dudas...
10/03/2012 #76

Avatar de fernandoae

Ya funciona, acá les dejo un videito.
http://www.youtube.com/watch?v=ewdl4...ature=youtu.be
Lo que sigo sin entender es lo de los bits en el mapeo, ni idea porque arranca en el bit 10 cuando yo le indique al pic que lea el tercer o el segundo byte del reporte :enfadado:
Archivos Adjuntos
Tipo de Archivo: rar VDJ HID LEDS FUNCIONANDO.rar (697 Bytes, 158 visitas)
11/03/2012 #77


Hola fernandoae. En el archivo adjunto has puesto dos veces el DEVICE, falta el mapper, jejejje.
¿Para leer los bits empleas mi código? yo tengo esto:
Código:
recibe[2]=recibe[2]-32;
Porque en el midi, en este byte enviaba las notas, que enviaba desde la 0x20, y le resto 32 para que el pic la entienda como nota cero en este caso.

Tecniloco80, muchas gracias por los archivos, a ver si saco algo en claro para que me envíe leds el mío. En cuanto al numero máximo de datos analógicos a enviar por hid no lo sé, pero en este foro se que vi un día un post sobre dispositivos hid para juegos y fue lo que me animó a empezar con el pic y el USB. Seguro que ahí hay gente que sabe la respuesta.
Saludos
11/03/2012 #78

Avatar de fernandoae

Ah pequeño error ahora lo adjunto.
Para recibir hice un pequeño codigo con el easy hid para proton, le especifique 8 bytes de entrada y ocho de salida, pero es raro es como si trabajara con los dos unidos... todavia no termino de entenderlo bien, posiblemente tenga que ver con los endpoints y esas cosas.
PERO LO BUENO ES QUE FUNCIONA!
Archivos Adjuntos
Tipo de Archivo: rar MAPPER.rar (303 Bytes, 79 visitas)
11/03/2012 #79


Que desesperación, sigue sin funcionar. ¿Podeis enviarme el descriptor hid que utilizais? Sólo ahí me queda el fallo.
11/03/2012 #80

Avatar de fernandoae

Yo tengo el descriptor hecho para proton, y es el de dispositivo hid generico...busca algo asi para ccs, que te de un par de bytes de entrada y otros de salida... y en base a eso empeza a probar con el device y el mapper que adjunté. Suerte!
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.