Jump to content

Manejo de leds por señales midi en C ayudaaaa!!!!


Eduy2kk
 Share

Recommended Posts

Bueno el temas es el siguiente : por el canal 13 el tractor me envia señales de notas on/off con las cuales yo tengo que prender o apagar determinados leds , pero la cuestion es que no todos deben trabajar asi, por ejemplo de los 32 leds del DOUT los 5 primeros trabajan asi los 4 siguientes los adsministro por el programa y luego otros por midi y asi sucesivamente (osea no debo administrar en su totalidad los led por midi).

Por el momento estube jugando con el codigo de ejemplo que figura en la libreria C

void MPROC_NotifyReceivedEvnt(
  unsigned char evnt0, unsigned char evnt1, unsigned char evnt2) __wparam
{
  // a note event provides 128 different note values (0..127)
  // in this simple example, each note sets an individual pin
  // for DOUT pin numbers, see also this documentation:
  // http://www.ucapps.de/mios/mios_pin_list.txt

  if( evnt0 == 0x80 || evnt0 == 0x90 ) {

    // 90 xx 00 is the same like a note off event!
    // (-> http://www.borg.com/~jglatt/tech/midispec.htm)
    if( evnt0 == 0x80 || evnt2 == 0x00 ) {

      // Note Off
      MIOS_DOUT_PinSet(31, 0); //Modificado el pin por el led que quiero accionar 

    } else {

      // Note On
      MIOS_DOUT_PinSet(31, 1); //Modificado el pin por el led que quiero accionar 

    }
  }
}
Bueno aca con este logre que cualquier señal (nota) que recibo en el canal 1 me prende el ultimo led. Ahora bien el la primer linea despues del if el 0x80 supuestamente no es la nota y el segundo el 0x90 es el canal??? realmente no entiendo bien la rutina. me podrian dar alguna explicacion como trabaja?? Luego trabaje con la del ain64_din128_dout128_v2b.zip de la cual extraje:
 // check if note on or off event at channel 1 has been received
  if( evnt0 == 0x80 || evnt0 == 0x90 ) {
    // if note off event: force evnt2 to 0 for easier handling of 'LED off'
    if( evnt0 == 0x80 )
      evnt2 = 0;

    // number of DOUT pin in evnt1, value in evnt2
    MIOS_DOUT_PinSet(evnt1, evnt2 ? 0x01 : 0x00);

Bueno aca si bien pude lograr controlar los ultimos 8 leds con determinadas notas no encontre como hacer para controlar especificamente los que quiero yo como por ejemplo el 24, 25 , 28 y 31 y el resto controlarlos por soft.

Si alguien tendria la gentilesa de transcribirme un ejemplo con las correspondientes anotaciones para que pueda entenderlo o bien explicarme un poco como modificar los anteriores por que no los entiendo

Gracias

              Edu

Link to comment
Share on other sites

Bueno gracias igualmente a todos los que pasaron por el post a pesar de que no generaron ninguna respuesta pero les informo que ya pude encontrarle la vuelta despues de renegar un poco, bueno en fin no era tan dificil pero al no estar muy metido con el direccionamiento del Mios terminaba en cualquier lado.

Edu

Link to comment
Share on other sites

olaa...

si me ubiese conectado antes te abria respondido..

pero bueno .. no fue asi

lograste finalmente saltar tu problema???

Geniall

si expones la duda y la solucionas ademas de contar que la solucionanste la idea es conpartir la solucion y detalles con los demas...

vale..

a todo esto?? finalmente para que nesesitas  los led con el tracktor??  ???

Saludos..

Bless..

Link to comment
Share on other sites

Hola bueno la solocion no fue un problema de programa sino un siple error de direccionamiento mio asi que no lo comente por que es un tanto inutil en hacer pie en la estupides propia de uno  ;D.

Respecto a los led el traktor 3.4 permite mucho mejor de manejo de señales saliente para los led que la vercion 3 y la 3.3 , es mas la unica diferencia entre la 3.3 y la 3.4 es la correcion de fallas en los led de salida y la adicion de otros que antes no tenia.

En realidad algunas señales de led las uso desde el soft en el micro y otra desde el traktor ya que hay algunos indicadores que no concuerdan , se desincronisan ante cualquier evento o llegan  fuera de tiempo, y tambien cuando arranca el tractor se encuentran en un estado diferente al que los pone el micro y hay que actualisarlos ,esto es un tanto molesto harlo cada ves que arrancas, simplemente por eso.

Gracias por tu interes y no te preocupes por no haber contestado antes , esto es un pasatiempo para casi todos y la mayoria estamos ocupadisimos con trabajo y hacemos lo que podemos cuando nos queda tiempo libre.

En cuanto disponga un poco de tiempo y me llegen los botones y el frente abrire un post con los comentarios y fotos de mi proyecto.

Link to comment
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...
 Share

×
×
  • Create New...