Ayuda HIDUINO

Hola gente de Yealtex, necesito de su ayuda, el problema que tengo es que al cargar HIDUINO usando FLIP installer todo marcha bien, reconoce el arduino uno como un dispositivo de sonido USB, cuando lo conecto a mi macbook y abro el programa traktor y quiero hacer el mapeo solo reconoce una nota y se genera un delay horrible cuando pulso un boton, cuando cargo otra vez el Arduino-usbserial-uno.hex. y uso la interface virtual hairless midiserial todo vuelve a funcionar con normalidad, cual puede ser el problema? puede ser el sketch? me parece raro por que al cargar HIDUINO no deberia de alterar el sketch.
Espero su pronta respuesta saludos.


Comentarios

  • editado noviembre 2016
    Hola Arturo!

    Adjunto el sketch que me enviaste modificado para que lo pruebes a ver si funciona.

    Lo único que modifiqué fue la línea 265, cuando hace la inicialización del objeto Serial.

    El sketch está preparado para trabajar con un software intermediario que recibe el Serial y lo transforma a MIDI para que el traktor o cualquier otra aplicación lo reconozcan como puerto MIDI.

    Al usar Hiduino, estás enviando MIDI directamente desde la Arduino, que es lo bueno del firmware, no necesitás intermediarios!

    La línea 265 inicializaba el objeto Serial con una velocidad de 115200 bauds/s, y los comentarios te recuerdan que deberías setear la misma velocidad en la aplicación de la PC (una como Hairless), para que funcione.

    Cambié esa velocidad a 31250 bauds/s que es la velocidad que usa el protocolo MIDI.

    Pruebalo ahora y nos cuentas ;)

    // Only enable serial on the Arduino or when debugging. The Teensy board should be set as a usb-midi device so serial is not needed.
    #if defined(ARDUINO) || defined(ARDUINO_MEGA) || defined(DEBUG)
    // Enable serial I/O at 115200 kbps. This is faster than the standard MIDI rate of 31250 kbps.
    // The PC application which we connect to will automatically take the higher sample rate and send MIDI
    // messages out at the correct rate. We only send things faster in case there is any latency.
    Serial.begin(31250);
    #endif
    rar
    rar
    MIDI_Controller.rar
    6K
  • Hola! muchas gracias por la ayuda, por tomarse el tiempo de revisarlo, efectivamente ese era el problema, me salvaron la vida, gracias, me queda una pequeña duda, si en un futuro quiero usar 2 controladores en windows con el programa ableton, como cambio el ProductID? necesito algún programa? lei esto pero no llegue entenderlo.

    Windows:

    - En Ableton, al conectar más de un dispositivo, ambos cambian su nombre a, por ejemplo, "pepito" y "pepito #2", como se ve aquí: https://goo.gl/IIZbZV.

    Solución: Ableton hace esto porque encuentra dispositivos con el mismo PID. El PID es el Product ID, y es un parámetro de cada dispositivo USB. Para cambiar el PID, se modifica el número de la línea 57 del archivo "Descriptors.c":

    56 .VendorID = 0x03EB,
    57 .ProductID = 0x2051, .ReleaseNumber = VERSION_BCD(0,0,1),

    Luego, se vuelve a compilar el archivo hexadecimal, y a cargar el firmware en la Arduino.


    imagesweet foto

    Ahora si mi controlador quedo de lujo sin tener que usar una inteface virtual, gracias!
  • El PID está en la línea 57 del archivo "Descriptors.c" del proyecto HIDUINO.

    Cambias el número por otro, recompilas, y volvés a cargar el archivo en la Arduino.

    Habías ya compilado tu propio HIDUINO? o estabas usando el que tiene por defecto?
  • Use Pimp My Hiduino  http://ec2-54-175-5-211.compute-1.amazonaws.com/  
    cambiandole el nombre a HIDUINO por SWEET FNGRS, me acabo de dar cuenta que cambiandole el nombre se cambia el ProductID, el original de HIDUINO aparece con este numero 0x2065, al cambiar el nombre ahora aparece como ProductID:0x2048












    imageScreen Shot 2016-08-22 at 12.39.07 PM


    Screen Shot 2016-08-22 at 12.45.57 PM
  • Claro, PimpMyHiduino no tiene por el momento incorporado el cambio de PID.

    Deberías compilar "a mano" para poder tener firmwares con distinto PID.


  • Osea de nada sirve cambiar el nombre si no se cambia el PID, en el caso que se usen dos controladores a la misma vez se va generar ese conflicto.
  • Si! Nosotros nos dimos cuenta después de tener la PimpMyHiduino listo, pronto lo actualizaremos, pero es así... 

    El nombre es para vos poder reconocerlo como dispositivo desde un soft como ableton o traktor, pero la máquina los distingue por el PID.

    Si seguís los pasos del tutorial que te pasé y cambias el PID, deberías poder recompilar HIDUINO y tener los firmware que necesitás para usar dos controladores al mismo tiempo.
  • Dale! intentare cambiar el PID, no estoy muy familiarizado con el Notepad++, nada es imposible, gracias por todo, cualquier duda la publico, les cuento como me fue.

    Saludos
  • Cambio con el notepad++ el nombre y el PID, guardo, compilo el firmware y sigue con el mismo nombre y el mismo ID, tendras el archivo hiduino master con la carpeta LUFA ya guardada? a lo mejor estoy haciendo algo mal.
  • copio toda la carpeta  de LUFA 140928 en hiduino-master

    Screen Shot 2016-08-23 at 12.17.30 PM

    luego copio la carpeta llamada scr en la carpeta projects que esta dentro de LUFA 140928

    Screen Shot 2016-08-23 at 12.21.13 PM


    Screen Shot 2016-08-23 at 12.21.45 PM

    entro a scr que esta copiado en la carpeta lufa, entro a la carpeta arduino midi 


    Screen Shot 2016-08-23 at 12.25.45 PM

    luego abro el archivo descriptor.c

    Screen Shot 2016-08-23 at 12.26.34 PM

    abro el archivo con un programa llamado brackets similar al notepad++


    Screen Shot 2016-08-23 at 12.29.28 PM


    Screen Shot 2016-08-23 at 12.31.04 PM

    cambio el productID, ProductString y el ManufacturerString, guardo, uso flip installer, abro la carpeta hiduino master, abro la carpeta compiled firmwares

    Screen Shot 2016-08-23 at 12.35.39 PM

    cargo el firmware llamado arduino_midi.hex y sigue con el mismo nombre y el mismo productID que viene por defecto

    Screen Shot 2016-08-23 at 12.36.21 PM
  • editado agosto 2016
    Arturo, para que cambie el nombre y el PID, tenés que recompilar el proyecto. Te está faltando un paso.
    Cuando recompilás, se genera un nuevo archivo .hex (se va a llamar arduino_midi.hex, asi que lo primero que deberías hacer es cambiarle el nombre por uno que puedas identificar vos fácilmente) en la misma carpeta del "Descriptors.c", que es el que vas a cargar en la Arduino con el FLIP, y que tiene la información que vos modificaste.

    El archivo que estás usando es uno genérico que te descargas del github de hiduino.

    Seguí los pasos 1 a 3 inclusive del tutorial que te pasé, el de instructables:


  • editado noviembre 2016
    solo me falta el paso 3?

    Step 3: Recompilar HIDUINO


    FDWZI8KIAF6UHMO.LARGE

    Abrir una ventana de comandos:

    - En Windows se abre desde el menú Inicio (Start), tipeando “cmd” y presionando Enter, o yendo a Ejecutar (Run) y tipeando “cmd”, y presionando OK.

    - En MacOS se abre desde "Utilidades (Utilities) -> Terminal".

    Navegar con la línea de comandos al interior de esa carpeta con el comando cd:

    Ejemplo:

    `cd C:\Users\Usuario\Escritorio\hiduino-master\lufa-LUFA-140928\Projects\arduino_midi`

    y ejecutar make:

    `make`

    La compilación debería demorar entre 5-10 segundos. Una vez completada, deberíamos ver el mensaje que se ve en la tercera imagen, tomar el archivo"arduino_midi.hex", ubicado dentro de la carpeta "arduino_midi", renombrarlo con el nombre que le dimos al dispositivo en el paso anterior, y moverlo a una carpeta nuestra, donde lo queremos guardar.

    La compilación debería demorar entre 5-10 segundos. Una vez completada tomar el archivo "arduino_midi.hex" y cargarlo en la arduino deseada con el programador (Ver próximo paso, Cargar hiduino).

    Errores comunes y posibles soluciones

    Error: Al compilar, "make" tira un error 2, diciendo que no reconoce un parámetro de una función en la línea 74:

    73- // Disable clock division 
    74- clock_prescale_set(clock_div_1);

    Esto sucede porque la variable "clock_div_1" no está definida para algunos microcontroladores (bug en avr/power.h). 
    Referencias: 
    http://fab.cba.mit.edu/classes/863.14/people/andr...
    http://savannah.nongnu.org/bugs/?39061

    Solución: Comentar esa línea (con // al inicio de la línea 74) y debajo pegar el siguiente código:

    CLKPR = (1 << CLKPCE); 
    CLKPR = (0 << CLKPS3) | (0 << CLKPS2) | (0 << CLKPS1) | (0 << CLKPS0);

    Debería quedar así:

    /* Disable clock division */
    // Implementation missing - http://savannah.nongnu.org/bugs/?39061 
    // clock_prescale_set(clock_div_1); 
    CLKPR = (1 << CLKPCE); 
    CLKPR = (0 << CLKPS3) | (0 << CLKPS2) | (0 << CLKPS1) | (0 << CLKPS0);

    Recompilar con "make".

    - Error: Al compilar, "make" tira error 1 en el archivo "Descriptors.o"
    Solución: Al parecer, si las comillas que encierran el nombre en la línea 263 del archivo "Descriptors.c", son oblicuas, o de las que abren y cierran como estas (“ ”), al compilador no le gusta. Debemos cambiarlas por las que son derechas como estas (" ").
    Referencia

  • Si, solo te falta ese paso.

    Adelante!
  • editado noviembre 2016
    me sale esto 



    Screen Shot 2016-08-24 at 4.31.23 PM
    el archivo hiduino master esta en el desktop, tengo que escribir esto
    cd C:/Users/arturobriceno/Downloads/hiduino-master 3/LUFA-140928 2/Projects/arduino_midi
    ???










    Screen Shot 2016-08-24 at 4.31.54 PM
  • editado noviembre 2016
    El comando 'cd' sirve para cambiar de directorio.

    Ese comando necesita que le digas la ruta del directorio nuevo, y lo que dice en el instructivo es que uno debe situarse sobre la carpeta "hiduino-master" descargada.

    La ruta que aparece en el instructivo, es un ejemplo de una ruta de Windows (el disco C:/ es característico de este sistema operativo).

    Vos deberías cambiar esa ruta por la tuya, que por lo que me mostrás sería la siguiente:

    cd /Users/arturobriceno/Desktop/hiduino-master 3/LUFA-140928 2/Projects/arduino_midi
  • hasta aca voy bien ?


    Screen Shot 2016-08-24 at 9.01.47 PM
  • editado agosto 2016
    Arturo,

    Intentá avanzar con el tutorial por tu cuenta. En el mismo se explica como avanzar y cómo saber si estás haciendo bien las cosas o los posibles errores que podrías tener.

    No podemos ayudarte con cada paso, ya que el post se haría larguísimo. 

    Si te sale algún error que no ves explicado en el tutorial, te invito a que sigamos la discusión por acá.
  • Dale! intentare todo el día hasta lograrlo, gracias por la ayuda brindada, les cuento como me fue.
  • Muchas gracias por la ayuda, despues de varios dolores de cabeza pude hacerlo, tenia una carpeta de hiduino que no contenia el archivo make


    Screen Shot 2016-10-14 at 3.21.41 AM
  • Que bueno Arturobrice! Felicidades!
Accede o Regístrate para comentar.