Kilowhat no se comunica con el arduino con kilomux

Hola muy buenas DIY-iadas. Mi nombre es Ernesto y estoy actualmente residiendo en méxico. trabajo en un musicmakerspace donde fabricamos todo tipo de cosillas. Saludos y gracias a Franco por su ayuda, quien me sugirió que arme este post para compartir mi problema.

Acabo de adquirir mis módulos y mi kilomux, pero el arduino uno lo compré aparte (estoy familiarizado con toda la onda de dfu y todo ese jazz, fabrico controladores, joysticks y cosas en ese rollo).

Hice exactamente como dice la página para preparar el arduino con el yaeltex.ino, e instalar todas las librerías necesarias. subí el código adecuadamente (el .ino en la librería) y me llamó la atención que apenas al subirlo se puso a parpadear el LED (posiblemente algo relacionado con la eprom leí en el comentario de cabecera del sketch.)

El asunto es que lo subí y no me marcó errores (pero si me advirtió que estaba usando mucha memoria y que podría ser inestable su comportamiento. Luego le apliqué el dfu con pimp my mocolufa y todo ese rollo (que lo he hecho muchas veces y no le veo ningún problema :) ) . Pero cuando conecto el arduino al kilowhat, reconoce la interfaz midi (instalé linux 16.04 en mi mac y funciona hermoso el ejecutable). Pero no me confirma que está conectado:

conecté todos los módulos con el cable plano y todo el rollo, pero asumo que el problema no es ese porque al subir la configuración al arduino "hecho MIDI" no me pone "configuración exitosa" , solo enviada. y sigue parpadeando el led del arduino desde que subí el sketch de yaeltex. Estoy sospechando que tiene que ver con la versión del arduino ide? probé con otro arduino nuevo y hace exactamente lo mismo. Muchísimas gracias de antemano por su apoyo. Saludos desde el df.

Comments

  • Hola Ernesto!

    Me alegro que estés encarando el proceso de armarte un controlador MIDI con el Kilomux.

    También me alegro que hayas llegado solo hasta este punto, que ya es muchísimo!

    Una pregunta. Dices que te reconoce la interfaz MIDI. ¿Seleccionaste la misma tanto en el puerto de entrada como de salida de Kilowhat?

    Y al hacerlo, ¿aparece en la zona inferior el mensaje de "Arduino encontrada y en modo de configuración"?

    De esta forma podríamos saber si están llegando los mensajes desde Kilowhat a la Arduino, ya que para que aparezca la "Configuración exitosa", tiene que haber comunicación de ida y de vuelta.

    Una vez enviada la configuración, y solo la primera vez, se debe desconectar y volver a conectar la arduino para que lea la misma desde la EEPROM.

    Me sonaría raro que tenga que ver con el IDE de arduino, aunque si te recomendaría que uses la última versión del IDE para cargar el código.

    Espero se entienda lo que propongo.

    Saludos y espero tu respuesta!
  • edited August 2018
    Hey! muchas gracias por tu respuesta. Lo intentaré de esa manera y me reporto como me fue.

    Tengo una arduino que le instalé todo (dejé el kilomux en el taller) pero auguro que es la comunicación entre arduino y kilowhat. Haré lo que me dices.
  • Una pregunta. Dices que te reconoce la interfaz MIDI. ¿Seleccionaste la misma tanto en el puerto de entrada como de salida de Kilowhat?

    Sí, adjunto imagen. (Mi arduino de prueba se llama Arduino MIDI). Sólo conecté un arduino nuevo con el código, ahora no tengo el kilomux a mano.

    Y al hacerlo, ¿aparece en la zona inferior el mensaje de "Arduino encontrada y en modo de configuración"?


    nop. No encuentra nada. Será un asunto de permisos en linux?. Escribir sysex no debería suponer un problema de permisos no? (Veré si le meto un chmod 777 o algo por si acaso).

    De esta forma podríamos saber si están llegando los mensajes desde Kilowhat a la Arduino, ya que para que aparezca la "Configuración exitosa", tiene que haber comunicación de ida y de vuelta.


    no se está comunicando ni de ida ni de vuelta. (adjunto imagen)



    Una vez enviada la configuración, y solo la primera vez, se debe desconectar y volver a conectar la arduino para que lea la misma desde la EEPROM.


    No tenía de este paso. Lo desconecté mientras estaba abierto el kilowhat pero no pasa nada.

    Me sonaría raro que tenga que ver con el IDE de arduino, aunque si te recomendaría que uses la última versión del IDE para cargar el código.

    Estoy usando la última disponible. Es normal que cuando suba el código al arduino este comience a parpadear? (adjunto imágenes)

    Gracias por tu ayuda! estaré atento a como solucionarlo.
  • Si, es normal que parpadee, quiere decir que aún no tiene una configuración cargada en la memoria EEPROM de la Arduino. Una vez que logremos configurarla ya dejará de parpadear.

    Intenta con lo de los permisos, aunque no había escuchado aún de una solucion de este estilo.

    Por casualidad la Arduino tiene pinchado el Kilomux cuando intentas configurarla?
    Y por aún mayor casualidad, se encuentra el jumper colocado uniendo los dos pines de RX en la esquina de la placa?

    Me refiero a estos pines http://wiki.yaeltex.com.ar/index.php?title=Kilomux_Shield#J2

    Si es así, quita el jumper y vuelve a intentar.

    Si no, seguimos buscando :smile:
  • edited August 2018
    Hola Sanoytx, muchas gracias por tu ayuda estimado.

    No logré hacer nada, el arduino y el kilowhat siguen sin comunicarse. No supe como arreglar lo de los permisos (cuando corres el ide de arduino necesitas permisos en linux para acceder al puerto serial, me imagino que para enviar sysex a un dispositivo midi será un animal parecido, no pude encontrar nada, al correr el software como superuser no abre).

    Al decir pinchado el kilomux te refieres a si está conectado? intenté conectado y desconectado y me da el mismo problema. Debería reconocer el arduino solamente cuando está conectado el kilomux o puedo hacerlo funcionar directamente con el puro arduino conectado?

    No hay ningún jumper en esos pines. El arduino está ya "mocolufeado" y la compu lo reconoce como MIDI-USB.

    Se me están acabando las ideas. Veré si puedo conseguir una compu con windows a ver si sale algo diferente. Saludos!
  • Ernesto!

    Que raro todo. No abandones!

    No es necesario tener el kilomux conectado para que se comuniquen la Arduino y el Kilowhat.

    Algo para ver es que Kilowhat esté enviando el MIDI correspondiente en un monitor MIDI. Puedes espiar los mensajes que envía, y en principio si los envía o no.

    Otra forma de verlo, es chequear si en la Arduino se enciende el LED RX cuando, por ejemplo, activas el modo de configuración, o cuando envías la configuración. En este caso se deberían entender RX seguido del LED que trae la arduino en el pin 13,de forma repetida varias veces. La cantidad depende del largo de la configuración.

    Si esto no es así, y ya entrando en el terreno de la magia negra, puedes probar con otro cable USB. Alguna vez nos pasó de cambiarlo y que funcione.

    Probemos esto y seguimos pensando.
    Saludos!
  • Hola! jamás abandonaremos! aparte la cajita me está quedando re bonita :D

    Intentaré con otro cable USB.

    Probé con una cable USB nuevo y no está funcionando.

    Conecté solamente el arduino a una computadora con windows. No pasó nada nuevamente. (Dicho arduino tiene subida el yaeltex-.ino de la librería y todas la cosas, y ya está con el .hex de un controlador MIDI con modo DFU).

    Luego conecté el kilomux y como que quiso hacer algo, me dió error y quedaron las luces del panel de botones con leds prendidas. Fuera de eso sigo totalmente sin poderme conectar. Ayuda :confused:







  • edited August 2018

    Ernesto! La caja se ve hermosa, dale que podemos!

    El tema de que sin el Kilomux conectado me tiene desorientado, pero mirando la imágen en la que el Kilomux si está pinchado, veo que el Jumper negro está colocado en el puerto RX! Recordá que con ese Jumper colocado, toda la información MIDI por USB de entrada no funcionará!

    Otra cosa que veo en la captura de Kilowhat, es que no te está abriendo el puerto MIDI. Arroja un error que normalmente se debe a que el puerto se encuentra abierto con otra aplicación. Te recomiendo que cierres todo lo que pueda estar usando los puertos MIDI y vuelvas a intentar conectarte.

    Una vez que logres eso, por favor, volvé a chequear y decime lo que te había pedido al respecto de los LEDs de la placa Arduino, así sabemos si los mensajes están efectivamente llegando a la placa o directamente no salen de Kilowhat o de la computadora.

    Saludos y espero eso!
  • sobre el jumper del RX,... sí lo saque y lo puse para ver si cambiaba su comportamiento. No cambió nada :cry:

    Estuve bien el led que me comentabas y solo se queda parpadeando como apenas al subir el código. Voy a intentar hacerlo todo de nuevo. Más bien el problema es que el kilowhat no se conecta con el arduino (sí reconoce la interfaz MIDI). ¿será un problema de la compilada en el sketch de arduino? ¿Existe otra manera de poder subir una configuración a la eeprom? Muchísimas gracias por la ayuda, está quedando muy bonita la caja, ya que funcione les muestro como vamos :D

  • edited August 2018
    Intenté debuggear lo que está pasando y me sale un error como este, pero aún así lo está subiendo a la placa.

    (Estoy usando la versión 1.8.6 del arduino IDE en linux, la última disponible. )


    /home/satan/Arduino/libraries/KilowhatArduinoLibrary-master/examples/YTX-Controller/YTX-Controller.ino: In function 'uint16_t FilterGetNewAverage(uint16_t)':
    /home/satan/Arduino/libraries/KilowhatArduinoLibrary-master/examples/YTX-Controller/YTX-Controller.ino:612:12: warning: overflow in implicit constant conversion [-Woverflow]
    return NAN;
    ^
    El Sketch usa 9574 bytes (29%) del espacio de almacenamiento de programa. El máximo es 32256 bytes.
    Las variables Globales usan 1661 bytes (81%) de la memoria dinámica, dejando 387 bytes para las variables locales. El máximo es 2048 bytes.
    Poca memoria disponible, se pueden producir problemas de estabilidad.


    -------

    Estuve viendo que le sugerías a alguien usar Xloader y le pasaste un archivo.hex con el sketch para que ya suba todo el código directo con esa aplicación,... ¿Me recomiendas hacer ese paso? probé varios cables USB (hasta el más reforzado que tengo, del ableton push 2, y sigue comportándose igual).


  • edited August 2018

    Ernesto, podés probar con el Xloader, pero no creo que modifique el resultado, ya que por lo que nos mostrás, el código se está cargando bien, de hecho, el parpadeo del LED lo demuestra.

    Lamentablemente no tenemos otra forma de cargar la EEPROM.

    Lo que te pedía que me indiques, es si el LED marcado como RX en la arduino titila cuando envías mensajes desde Kilowhat, ya sea activando el modo de configuración o enviando Sysex. También te comentaba que puedes verificar que los mensajes estén saliendo de Kilowhat mediante el uso de un monitor de MIDI para linux.

    Podés probar éste por ejemplo.

    Si identificamos que los mensajes MIDI están saliendo de Kilowhat y no están llegando a la Arduino, podemos probar con otra Arduino.

    Por favor intentá verificar eso así continuamos el diagnóstico. Un saludo!

  • Voy a intentar lo que me dices. Ahí va el diseño, lo voy a hacer en acrílico negro brillante ;) la cajita quedó bastante bien con el acabado nogal.
  • ya lo logré! utilicé xloader y el .hex que andaba por ahí.Lo reconoció enseguida el kilowhat en windows!. Sospecho que las diferentes versiones del arduino IDEdeben generar diferentes maneras de como lidiar con las librerías e internamente está tomando decisiones a veces diferentes que con una versión anterior.

    Ya lo armé, lo monté y lo configuré y quedó a la perfección. Le aplico remotify para darle un remote script para ableton y ya queda listo! ¡Muchas gracias!
  • ya le metí el remotify y funciona increíble! cada que tengo que editar el sysex de kilowhat necesito meterme en la computadora de windows jajaja, pero al menos ya funciona todo bien (en linux jamás funcionó, el asunto de los permisos creo que si era real).

    Una última duda off topic: Cuando quiero asignar al controlador a la parte de los botones el led feedback, al poner in y out obvio voy a generar midi feedback y se vuelve inusable. Me recomendarías ponerlo en otro canal (por ejemplo los leds en el canal 2 y los botones (con note on) en el canal 1) o bien poner los botones como CC? . Ya sería lo último. Voy a documentar todo el proceso y compartirlo por si alguien se quiere aventar el viaje de armarlo solo, creo que lo único complicado y que no encontré info fué de subir el .hex con xloader y lo del led feedback no sé qué sería lo que recomienden.

    Saludos y muchas gracias!
  • VAMOS ERNESTO!!!

    Genial, me alegro que hayas podido. Vamos a revisar qué pasa en linux con eso, no nos había pasado cuando lo probamos nosotros.

    Con respecto al Feedback de los LEDs, si los pones en otro canal nunca se van a encender, a menos que con el script puedas configurar el feedback en ese canal.

    Lo que deberías hacer es asegurarte que no tengas el MIDI THRU activado en Kilowhat para que los mensajes van de ableton a la Arduino, no vuelvan a salir por el USB.

    Y luego sólo queda asignar a cada fila de las SALIDAS en Kilowhat, la misma nota que le asignas a los botones. Si le asignas CC a los botones, el Feedback debería ser de notas también. Lo más fácil es notas para botones y LEDs.

    Intentalo así y si tenés más preguntas acá estamos.

    Abrazo!
  • Entonces solo es cosa de quitarle la opción midi thru y ya quedaría? Lo pruebo enseguida. Muchas gracias !
  • edited February 2019
    Buenas! primero que nada quiero agradecer todo el trabajo enorme y hermoso de la gente de YAELTEX, y el conocimiento compartido.
    Sigo el hilo de este post, porque tuve el mismo problema, pero lo solucione de otra forma. Entiendo que esta seria una respuesta actualizada al tema, así que sumo mi aporte ya que es parte del espíritu colaborar entre todes.

    SOLUCIÓN PARA QUE SE COMUNIQUEN KILOMUX Y KILOWHAT ---->

    IMPORTANTE!
    La base es hacer todo lo que dice este tutorial de la wiki de Kilowhat, solo que pareciese que los archivos compartidos allí estuviesen desactualizados, solo hay que reemplazarlos por los archivos del GITHUB actualizado de YAELTEX.---->https://github.com/Yaeltex

    Para hacerlo mas sencillo resubo los archivos acá, y cuento, que problemas encontré.

    Con el archivo YTX-Controller.ino de la wiki no funciono, y tampoco con el .hex subido en otro post.
    Entonces lo que hice fue:

    1)Baje la carpeta master de la librería Kilowhat y la reemplace por la que tenia, por las dudas que hubiese actualizaciones, instale esta--->
    https://github.com/Yaeltex/KilowhatArduinoLibrary

    2)Al compilar el example YTX-Controller me tiraba un error relacionado a la librería New Ping, la cual reemplace, por la librería New Ping mas actualizada, la que incluye Kilowhat Master-example-libs, me daba error. Instale esta ---->
    https://bitbucket.org/teckel12/arduino-new-ping/downloads/

    3) También reemplace la librería Kilomux, aunque solo por las dudas, no se si realmente tiene que ver con el problema, e instale esta--->
    https://github.com/Yaeltex/KilomuxArduinoLibrary

    4) Acá están los archivos .ino .hex que me funcionaron, los mismos se encuentran en la carpeta Kilowhat master --->
    https://github.com/Yaeltex/KilowhatArduinoLibrary/tree/master/examples/YTX-Controller

    PD: cuando probé el método XLOADER, el .hex subido al grupo me daba "upload failed", con el .hex del github anduvo bien, aunque curiosamente, solo me funciono en Arduino Uno Original, en mi clon chino también me daba failed, por lo que opte por usar el IDE.

    Una vez hecho todo lo que dice la wiki pero con estos archivos, la magia se hizo presente y todo funciono joya!

    Gracias YTX !
Sign In or Register to comment.