Jump to content

Programación HEX para Midibox64E ¿Alguien colabora?


Recommended Posts

Hola compañeros.

Me siento feliz de poder inagurar mi nuevo controlador Midi basado en Mios. La verdad es que ha sido increible en trabajo que me ha costado conseguir llegar bien a este punto.

En principio está todo bien y funcionando. Lo tengo montado en lo que diriamos es un prototipo de caja porque estoy esperando aún mi frontal bien diseñado y una pantalla adecuada pero lo principal es que funcionar funciona.

La unica pega es que estoy en blanco en cuanto a programación se refiere. He cargado la configuración de MIDIBOX16 y más o menos todo anda bien, el problema radica en la asignación de botones correctamene y la configuración para los LED_RINGS

Advierto que no tengo ni idea de programación. He consultado varios posts y leido información al respecto pero sin duda debo decir que esto me queda grande.

Me gustaría que algún usuario con experiencia me pudiera hechar un cable con esto. Sé que el concepto MIDIBOX se basa en la construcción y programación por parte de cada usuario pero en mi caso creo que no va a ser posible esto.

OS adjunto una foto de mi controlador en fase de prototipo. En cuanto lo tenga todo preparado os mandaré la versión terminada del mismo y con fotos de gran calidad.

Espero os guste mi diseño. Me he inspirado en unas unidades que son una delicia.

Un saludo y gracias de antemano.

Soto.

post-5611-125866631451_thumb.jpg

post-5611-125866635482_thumb.jpg

Link to post
Share on other sites

Muy bien, ahora lo que tienes que hacer es concretar cuales son tus necesidades, tal vez no tengas que programar y puedas utilizar algo de lo que hay.

De todas formas si esto te gusta, te aconsejo aprender algo de programación, por ejemplo C del que hay mucha librería, básicamente en un lenguaje u otro, es mas o menos lo mismo, bucles, saltos comparaciones, operaciones lógicas, aritméticas etc, el problema es desarrollar el algoritmo o procedimiento que uses para hacer lo que necesites, en unos será mas fácil, que en otros.

Link to post
Share on other sites

Amando gracias por tu atención

En principio necesito asignar 5 botones para navegación de menú. 12 encoders sin detención de los cuales 2 de ellos solo tienen Led rings.

18 botones de envio on/off como controlador de los cuales 2 de ellos son toggle.

Actualmente tengo cargado la configuración MIDIBOX16E y todos los botones me aparecen como Note-on. Los encoders funcionan bien.

Un saludo

Antonio

Link to post
Share on other sites

Amando gracias por tu atención

En principio necesito asignar 5 botones para navegación de menú. 12 encoders sin detención de los cuales 2 de ellos solo tienen Led rings.

18 botones de envio on/off como controlador de los cuales 2 de ellos son toggle.

Actualmente tengo cargado la configuración MIDIBOX16E y todos los botones me aparecen como Note-on. Los encoders funcionan bien.

Un saludo

Antonio

Primero, felicitaciones por haber llegado a este punto, no te falta mucho parece.

¿Probaste recompilar el código fuente de Midibox64e?

Si te fijás en el paquete midibox64e_v2_2c se incluye un archivo llamado setup_midibox16e.asm ó setup_midibox64e.asm

Abris ese archivo con un editor de texto común y podés configurar cuántos cuántos DINs, tenés y demás.

Luego tienes que compilarlo, para eso hay un muy buen tutorial en la wiki donde te explican qué herramientas necesitás y cómo instalarlas.

http://www.midibox.org/dokuwiki/doku.php?id=windows_toolchain_quickstart

Con esa configuración me parece que podés cubrir las tareas que describiste. No hace falta programar nada nuevo, solamente setear el midibox64 al hardware específico que tenés.

Por ejemplo, cada cual puede ubicar los botones de MENU donde le convenga y luego en ese mismo archivo configurar cual es cual en el siguiente fragmento de código (lineas 120-125 de setup_midibox16e.asm):


; DIN pin numbers of menu buttons

#if DEFAULT_ENC_DATAWHEEL == 0

  #define DEFAULT_DIN_MENU_EXEC		7	; menu exec button assigned to DIN pin #7

  #define DEFAULT_DIN_MENU_RIGHT	6	; menu right button assigned to DIN pin #6

  #define DEFAULT_DIN_MENU_LEFT		5	; menu left button assigned to DIN pin #5

  #define DEFAULT_DIN_MENU_SNAPSHOT	4	; menu snapshot button assigned to DIN pin #4

Por ejemplo si tu navegación derecha e izquierda querés que sean los botones 0 y 1 tenés que remplazar 6 por 0 y 5 por 1.

Si ya tenés bien definido que querés pero no querés ó no podés instalar las herramientas necesarias, adjunta el código de tu setup_midibox16e.asm que quieras compilar, yo te lo compilo y te paso el HEX, pero te recomiendo poder hacerlo vos mismo ya que es muy útil para probar cambios que quieras hacer.

Link to post
Share on other sites

estimado amigo coma:

la verdad es que voy a probar ha hacerlo yo mismo gracias a tu pequeño tutorial. He leido un poco y debo compilar este.asm con una instrucción perl. Esto puedo hacerlo.

De todas formas cuento con tu propuesta de la que estoy muy agradecido de veras. LLevo dias sin mi "compresor" por culpa de no saber hacer esto.

Por cierto me gustaria comentaros unas dudas que me surgen. No me queda claro una cosa, el MIDIBOX cuantos bancos internos posee? creo que uno y para ampliar la bankstick verdad? es que este modelo lo diseñe para atender especialmente a la dinamica y quiero asignar un banco a compresor, otro a gate, otro a expansor y otro a limitador.

Por lo que he leido es posible configurar el cambio de bancos a combinaciones de teclas. Por ejemplo yo tengo 4 botones en la esquina inferior derecha y los usaré para tal fin. ¿esta asignación es en el .hex o a través de .sysex?

Muchas gracias por vuestra atención.

Un Saludo.

Soto

Link to post
Share on other sites

Estimados compañeros:

he estado devanandome los sesos con estos y no consigo nada solo errores y demás.

Amigo Coma o gente ¿me ayudais?

si alguien se ofrece, le comento todo lo que lleva este aparato y lo que necesito para poder compilar el HEX

Un Saludo y gracias de antemano.

Soto

Link to post
Share on other sites

Estimados compañeros:

he estado devanandome los sesos con estos y no consigo nada solo errores y demás.

Amigo Coma o gente ¿me ayudais?

si alguien se ofrece, le comento todo lo que lleva este aparato y lo que necesito para poder compilar el HEX

Un Saludo y gracias de antemano.

Soto

Ok, yo te ayudo no tengo problema.

Tenés algún archivo setup ya modificado que quieras compilar?

Si no decime cuántos led rings, encoders y pots tenés y cómo están conectados y te lo compilo.

Si ya tenés un setup armado es más fácil porque evitamos errores.

Pero si se te complicó con eso, lo vemos.

Link to post
Share on other sites

Estimado Coma:

Digamos qeu el setup original es el Midibox16e original ok?

Dispongo de :

- Pantalla caractéres 4 x 20

- 12 encoders asignados a los shift-registers 4, 5, 6

- 2 led-rings conectados con el orden anodo-cátodo tal y como aparece en el archivo .pdf de la página midibox. Tienen 11 leds cada uno. Uno está asignado al encoder número 4 y el otro al número 11.

- 3 botones de navegación(Up,Left,Menú) y un botón controlador asignados a la primera sección del shift regsiter 74hc165 número 1

- 2 botones de navegación (Right, Down) y 2 botones controladores asignados a la segunda sección del shift register número 1

Los shift register 2, 3 y el restante del 1 asignados como botones control.

En las placas DIN he quitado 2 74hc165 para ahorrar componentes además de carga de proceso al core. Le he quitado uno a cada placa core. En total 6 74hc165 distribuido en 3 en dos placas DIN.

Una vez que tenga esta configuración definida asignaremos un botón para el cambio de bancos. Cuantos bancos internos dispone el módulo Core?

Si necesitas alguna cosa házmelo saber.

Muchas gracias de antemano.

Soto

Link to post
Share on other sites

En las placas DIN he quitado 2 74hc165 para ahorrar componentes además de carga de proceso al core. Le he quitado uno a cada placa core. En total 6 74hc165 distribuido en 3 en dos placas DIN.

Hola mira si mal no me equivoco interpreto que tenes un solo Core y dos DINx4 por que es medio confuso lo que cito arriba, si es asi te comento que tanto para los DINx4 como los DOUTx4 debes tener en cuenta: que hay que completar cada uno con sus cuatro integrados antes de conectar el siguiente modulo ya que el dato de apilamiento de cada integrado se encuentran en serie y si el cuarto integrado ya sea 165 o 595 no lo colocas el primero del segundo modulo le faltara una señal de control y por ende los tres restantes no funcionaran.

Yo por mi parte te recomiendo que pongas los cuatro en el primer DINx4 y que coloques solo los dos primeros en el segundo DINx4.

Disculpa que no pueda ayudarte con respecto a la programacion, ya que esta en assembler y por el momento estoy haciendo aplicaciones desde cero completamente en C asi que el otro lenguaje lo tengo bastante olvidado y fuera de practica.

Link to post
Share on other sites

Hola mira si mal no me equivoco interpreto que tenes un solo Core y dos DINx4 por que es medio confuso lo que cito arriba, si es asi te comento que tanto para los DINx4 como los DOUTx4 debes tener en cuenta: que hay que completar cada uno con sus cuatro integrados antes de conectar el siguiente modulo ya que el dato de apilamiento de cada integrado se encuentran en serie y si el cuarto integrado ya sea 165 o 595 no lo colocas el primero del segundo modulo le faltara una señal de control y por ende los tres restantes no funcionaran.

Yo por mi parte te recomiendo que pongas los cuatro en el primer DINx4 y que coloques solo los dos primeros en el segundo DINx4.

Disculpa que no pueda ayudarte con respecto a la programacion, ya que esta en assembler y por el momento estoy haciendo aplicaciones desde cero completamente en C asi que el otro lenguaje lo tengo bastante olvidado y fuera de practica.

Ok

teniendo en cuenta lo anterior. cuenten con los 4 registros de la primera DIN

por lo demás todo sigue igual

Link to post
Share on other sites
  • 2 weeks later...
  • 10 months later...

hola!!!

depues de un tiempo liado con la electronica analogica vuelvo a las andadas con este proyecto.

el hilo anda algo olvidado y he intentado aprender a hacer lo que necesitaba pero imposible.

algun alma caritativa que me ayude a darle vida a mi cacharro??

os agradezco cualquier tipo de ayuda. Soy un pegado con esto de programar.

Un saludo

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...