Jump to content

julienvoirin

Programmer
  • Posts

    790
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by julienvoirin

  1. can we use a buzzer to make an audible metronome to J3 ?
  2. Dear guys i just finished the assembly of this so perfect wilba control surface (very pleasant to tweak, more than the majority of my others machines) and noticed that the step view led has a 4 leads footprint ; why ? i plan to put the core32, the CV/Gate jacks, the midi sockets, the ethernet on a 2 U rack and use a DB25 cable to connect this "tower" to the LCD + J8/9 , control surface sitting on my desk, so that all the cables stay in the backyard of the studio. What's your opinion ? Best regards :)
  3. Dear guys I am looking for a cheap but reliable source for those ICs : THAT 2180A THAT 1200 THAT 1646 OP275 SSM 2142 Any ideas ? Best regards julienV
  4. si il a acheté dans des boutiques au prix fort (selectronic) c'est possible d'arriver à 400 euros :wacko: perso à ta place je le monterais
  5. you will have to write your own app , starting from the skeletton I imagine this like : if buttonA + button B = pushed, then play note associted to the velocity given by the AIN sensor (like those breath control of yamaha) for the velocity you will have to use AIN section : unsigned char velocity; ///////////////////////////////////////////////////////////////////////////// // This function is called by MIOS when a pot has been moved ///////////////////////////////////////////////////////////////////////////// void AIN_NotifyChange(unsigned char pin, unsigned int pin_value) __wparam { velocity = pin_value } you should have a look at AudioCommander application as he designed some velocity curves algo
  6. NO if it is an Hitachi driver compatible character LCD, you don't need to do anything as it is default LCD in MIOS any C code must refer to the following section of main.c ///////////////////////////////////////////////////////////////////////////// // This function is called by MIOS when the display content should be // initialized. Thats the case during startup and after a temporary message // has been printed on the screen ///////////////////////////////////////////////////////////////////////////// void DISPLAY_Init(void) __wparam { MIOS_LCD_Clear(); MIOS_LCD_CursorSet(0x00); MIOS_LCD_PrintCString("Hello World!"); } ///////////////////////////////////////////////////////////////////////////// // This function is called in the mainloop when no temporary message is shown // on screen. Print the realtime messages here ///////////////////////////////////////////////////////////////////////////// void DISPLAY_Tick(void) __wparam { }
  7. merci pour le Core, je te renvoie les timbres regarde la fonction Toggle de la midibox 64 sinon les boutons que tu cherches sont des TOGGLE SWITCH, ou inverseurs. Hong Kong super seller en vend pas cher sur ebay, des modeles qui coute une blinde en france en boutique autrement, tu peux coder ça de la façon suivante, en partant d'une appli ain64din128dout128 : si le bouton mute est appuyé (1ere fois) , l'état mute est ON, j'envoie le msg 0 si le bouton mute est appuyé (2eme fois), l'état mute est OFF, j'envoie le msg 127, je lis la valeur du slider l'état mute doit etre défini comme un char boolean, il ne peut donc avoir que deux état, 0 ou 1. quand j'appuie mute, j'ajoute +1 à la valeur du char mute ; du coup il oscille entre 0 et un. j'ai coder une appli dans le genre pour une télécommande multicanal ///////////////////////////////////////////////////////////////////////////// // Variables ///////////////////////////////////////////////////////////////////////////// unsigned char level; //signed char level_mute; unsigned char levelJ5A0; unsigned char levelJ5A1; ///////////////////////////////////////////////////////////////////////////// // Global variables ///////////////////////////////////////////////////////////////////////////// // status of application (see bitfield declaration in main.h) : app_flags_t app_flags; // display state button_L_state_t button_L_state; button_C_state_t button_C_state; button_R_state_t button_R_state; button_Ls_state_t button_Ls_state; button_Sw_state_t button_Sw_state; button_Rs_state_t button_Rs_state; button_MUTE_state_t button_MUTE_state; button_CAL_state_t button_CAL_state; led_L_pin_state_t led_L_pin_state; led_C_pin_state_t led_C_pin_state; led_R_pin_state_t led_R_pin_state; led_Ls_pin_state_t led_Ls_pin_state; led_Sw_pin_state_t led_Sw_pin_state; led_Rs_pin_state_t led_Rs_pin_state; led_MUTE_pin_state_t led_MUTE_pin_state; led_CAL_pin_state_t led_CAL_pin_state; ///////////////////////////////////////////////////////////////////////////// // Gestion des LEDS et Relais ///////////////////////////////////////////////////////////////////////////// void LED(void) { // 7eme LED MUTE reliÈe ‡ SR3-D1 (note midi 0x06 = F-1#) // DOUT pin in evnt1, value ON OFF in evnt2 if (led_MUTE_pin_state.led_MUTE==1) { // allumage de la LED MUTE : MIOS_DOUT_PinSet(0x11, 1); // allumÈ SR3D1 MIOS_DOUT_PinSet(0x01, 0); // allumÈ SR1D1 MIOS_DOUT_PinSet(0x09, 1); // Èteint SR2D1 // muter TOUS les inter 4066 : MIOS_DOUT_PinSet(0x07, 1); // canal L (muted) MIOS_DOUT_PinSet(0x0f, 0); MIOS_DOUT_PinSet(0x06, 1); // canal C MIOS_DOUT_PinSet(0x0e, 0); MIOS_DOUT_PinSet(0x05, 1); // canal R MIOS_DOUT_PinSet(0x0d, 0); MIOS_DOUT_PinSet(0x04, 1); // canal Ls MIOS_DOUT_PinSet(0x0c, 0); MIOS_DOUT_PinSet(0x02, 1); // canal Sw MIOS_DOUT_PinSet(0x0a, 0); MIOS_DOUT_PinSet(0x03, 1); // canal Rs MIOS_DOUT_PinSet(0x0b, 0); // Gestion des LEDS de canaux : // 1ere LED L reliÈe ‡ SR3-D7 (note midi 0x00 = C-1) if (led_L_pin_state.led_L==0){ // ALLUMÈ = ACTIVÈ MIOS_DOUT_PinSet(0x17, 1); // allumÈe SR3D7 }else{//if (led_pin_state.led_L==0) MIOS_DOUT_PinSet(0x17,0); // Èteint SR3D7 } // 2eme LED C reliÈe ‡ SR3-D6 (note midi 0x01 = C-1#) if (led_C_pin_state.led_C==0){ MIOS_DOUT_PinSet(0x16, 1); // allumÈ SR3D6 }else{ MIOS_DOUT_PinSet(0x16,0); // Èteint SR3D6 } // 3eme LED R reliÈe ‡ SR3-D5 (note midi 0x02 = D-1) if (led_R_pin_state.led_R==0){ MIOS_DOUT_PinSet(0x15, 1); // allumÈ SR3D5 }else{ MIOS_DOUT_PinSet(0x15,0); // Èteint SR3D5 } // 4eme LED Ls reliÈe ‡ SR3-D4 (note midi 0x03 = D-1#) if (led_Ls_pin_state.led_Ls==0){ MIOS_DOUT_PinSet(0x14, 1); // allumÈ SR3D4 }else{ MIOS_DOUT_PinSet(0x14,0); // Èteint SR3D4 } // 5eme LED Sw reliÈe ‡ SR3-D3 (note midi 0x04 = E-1) if (led_Sw_pin_state.led_Sw==0){ MIOS_DOUT_PinSet(0x13, 1); // allumÈ SR3D3 }else{ MIOS_DOUT_PinSet(0x13,0); // Èteint SR3D3 } // 6eme LED Rs reliÈe ‡ SR3-D2 (note midi 0x05 = F-1) if (led_Rs_pin_state.led_Rs==0){ MIOS_DOUT_PinSet(0x12, 1); // allumÈ SR3D5 }else{ MIOS_DOUT_PinSet(0x12,0); // Èteint SR3D5 } }else{ // extinction de la LED MUTE : MIOS_DOUT_PinSet(0x11,0); // Èteint SR3D6 MIOS_DOUT_PinSet(0x01,1); // Èteint SR1D6 MIOS_DOUT_PinSet(0x09,0); // allumÈ SR2D6 // mise en place du fonctionnement des interrupteurs : led_L_pin_state.led_L=button_L_state.L; // retour Ètat prÈcÈdent led_C_pin_state.led_C=button_C_state.C; led_R_pin_state.led_R=button_R_state.R; led_Ls_pin_state.led_Ls=button_Ls_state.Ls; led_Sw_pin_state.led_Sw=button_Sw_state.Sw; led_Rs_pin_state.led_Rs=button_Rs_state.Rs; // 1ere LED L reliÈe ‡ SR3-D7 (note midi 0x00 = C-1) if (led_L_pin_state.led_L==0){ MIOS_DOUT_PinSet(0x17, 1); // allumÈe SR3D7 MIOS_DOUT_PinSet(0x07, 0); // allumÈe SR1D6 MIOS_DOUT_PinSet(0x0f, 1); // Èteint SR2D6 }else{ MIOS_DOUT_PinSet(0x17, 0); // Èteinte SR3D7 MIOS_DOUT_PinSet(0x07, 1); // Èteint SR1D6 MIOS_DOUT_PinSet(0x0f, 0); // allumÈ SR2D6 } // 2eme LED C reliÈe ‡ SR3-D6 (note midi 0x01 = C-1#) if (led_C_pin_state.led_C==0){ MIOS_DOUT_PinSet(0x16, 1); // allumÈ SR3D6 MIOS_DOUT_PinSet(0x06, 0); // allumÈ SR1D6 MIOS_DOUT_PinSet(0x0e, 1); // Èteint SR2D6 }else{ MIOS_DOUT_PinSet(0x16,0); // Èteint SR1D6 MIOS_DOUT_PinSet(0x06,1); // Èteint SR3D6 MIOS_DOUT_PinSet(0x0e,0); // allumÈ SR3D6 } // 3eme LED R reliÈe ‡ SR3-D5 (note midi 0x02 = D-1) if (led_R_pin_state.led_R==0){ MIOS_DOUT_PinSet(0x15, 1); // allumÈ SR3D5 MIOS_DOUT_PinSet(0x05, 0); // allumÈ SR1D5 MIOS_DOUT_PinSet(0x0d, 1); // Èteint SR2D5 }else{ MIOS_DOUT_PinSet(0x15,0); // Èteint SR3D5 MIOS_DOUT_PinSet(0x05,1); // Èteint SR1D5 MIOS_DOUT_PinSet(0x0d,0); // allumÈ SR2D5 } // 4eme LED Ls reliÈe ‡ SR3-D4 (note midi 0x03 = D-1#) if (led_Ls_pin_state.led_Ls==0){ MIOS_DOUT_PinSet(0x14, 1); // allumÈ SR3D4 MIOS_DOUT_PinSet(0x04, 0); // allumÈ SR1D4 MIOS_DOUT_PinSet(0x0c, 1); // Èteint SR2D4 }else{ MIOS_DOUT_PinSet(0x14,0); // Èteint SR3D4 MIOS_DOUT_PinSet(0x04,1); // Èteint SR1D4 MIOS_DOUT_PinSet(0x0c,0); // allumÈ SR2D4 } // 5eme LED Sw reliÈe ‡ SR3-D3 (note midi 0x04 = E-1) if (led_Sw_pin_state.led_Sw==0){ MIOS_DOUT_PinSet(0x13, 1); // allumÈ SR3D3 MIOS_DOUT_PinSet(0x02, 0); // allumÈ SR1D4 MIOS_DOUT_PinSet(0x0a, 1); // Èteint SR2D4 }else{ MIOS_DOUT_PinSet(0x13,0); // Èteint SR3D3 MIOS_DOUT_PinSet(0x02,1); // Èteint SR1D4 MIOS_DOUT_PinSet(0x0a,0); // allumÈ SR2D4 } // 6eme LED Rs reliÈe ‡ SR3-D2 (note midi 0x05 = F-1) if (led_Rs_pin_state.led_Rs==0){ MIOS_DOUT_PinSet(0x12, 1); // allumÈ SR3D5 MIOS_DOUT_PinSet(0x03, 0); // allumÈ SR1D5 MIOS_DOUT_PinSet(0x0b, 1); // Èteint SR2D5 }else{ MIOS_DOUT_PinSet(0x12,0); // Èteint SR3D5 MIOS_DOUT_PinSet(0x03,1); // Èteint SR1D5 MIOS_DOUT_PinSet(0x0b,0); // allumÈ SR2D5 } } // gestion de CALIBRATE : // 8eme LED CAL reliÈe ‡ SR3-D0 (note midi 0x07 = G-1) if (led_CAL_pin_state.led_CAL==1){ MIOS_DOUT_PinSet(0x10, 1); // allumÈ SR3D0 MIOS_DOUT_PinSet(0x08, 1); // allumÈ SR1D0 MIOS_DOUT_PinSet(0x00, 0); // Èteint SR2D0 }else{ MIOS_DOUT_PinSet(0x10,0); // Èteint SR3D0 MIOS_DOUT_PinSet(0x08,0); // Èteint SR1D0 MIOS_DOUT_PinSet(0x00,1); // allumÈ SR2D0 } } ///////////////////////////////////////////////////////////////////////////// // Fonction LEVEL ///////////////////////////////////////////////////////////////////////////// void LEVEL(void) { levelJ5A0 = (MIOS_AIN_Pin7bitGet(0)); // lecture des potard au dÈmarrage (Èvite "0") levelJ5A1 = (MIOS_AIN_Pin7bitGet(1)); // lecture des potard au dÈmarrage (Èvite "0") // remettre les lignes suivantes de code pour proto avec 2 potards : // level = ((levelJ5A0)+((128+levelJ5A1+1)>>1)+128)+0; // ancienne formule OK pour proto julien // level = potard 0 - potard1 level = ((levelJ5A0)-(levelJ5A1)+15); // nlle formule OK pour proto julien // rules return to zero s: if (level>(127+15)) level=0; } ///////////////////////////////////////////////////////////////////////////// // This function is called by MIOS when an button has been toggled // pin_value is 1 when button released, and 0 when button pressed ///////////////////////////////////////////////////////////////////////////// void DIN_NotifyToggle(unsigned char pin, unsigned char pin_value) __wparam { // send pin number and value as Note On Event MIOS_MIDI_BeginStream(); // Bit start switch( pin ) { case 5: // 1ere touche L reliÈ ‡ SR1-D5 if (pin_value==0 ){ (button_L_state.L ++); (led_L_pin_state.led_L++); // MIOS_DOUT_PinSet(0x01, 1); } // RxTx command MIOS_MIDI_TxBufferPut(0x90); MIOS_MIDI_TxBufferPut(0x00); MIOS_MIDI_TxBufferPut(pin_value ? 0x00 : 0x7f); break; case 4: // 2eme touche C reliÈ ‡ SR1-D4 if (pin_value==0 ){ (button_C_state.C ++); (led_C_pin_state.led_C++); // MIOS_DOUT_PinSet(0x01, 1); } MIOS_MIDI_TxBufferPut(0x90); MIOS_MIDI_TxBufferPut(0x01); MIOS_MIDI_TxBufferPut(pin_value ? 0x00 : 0x7f); break; etc ...
  8. i would change all the 74HC on the mainboard if the trooblshoot continues. some might have burned, which explain why some led/button of the "scan matrix" (not the matrix to create sounds) don't work forget the connector, use direct wires from pad to pad
  9. voilà une bonne nouvelle philippe :frantics: MIOS studio n'est plus en Java désormais. voir la page : http://www.ucapps.de/mios_studio.html normalement ton pic a l'ID 00 dis moi, me vendrais tu le core que tu m'as envoyé ?
  10. who did your pcb ? they are amazingly clean C4 protocol is unknown (secret of mackie) and thus hasn't been implemented in midibox lc (TK wrote that in the wiki i guess, i read it 4 days ago)
  11. je viens de tester ton core v3 : il a l'air de marcher. j'y ai branché une chaine DIN avec des boutons, et ceux ci sont reconnus (appli AIN64DIN128DOUT128 en c) l'écran marche, la connection midi in out aussi. perso je valide. faut plaquer les composants quand tu les soudes (j'ai fait du "ménage") et les soudures ne doivent pas avoir l'air de boules, mais de cones evasés (risque de soudure seches). je te le renverrai des que possible (je déménage)
  12. je vais déménager donc ne soit pas pressé. mais je check et je te dirai rapido
  13. i take you the one without infill PM me for details please (google check out) best regards
  14. does your frontpanel feet a 3U rack unit ? what are the additional mounting holes (pix) ? if the rack feet 3U, i am interested in blue/white led and the LCDs i will then have green on black LCD for sale (2 pcs)
  15. imho it is a good deal. bad thing i ve got the same at home, i would have bought instead (would you sell panel separatly ?)
  16. non ça devrait être bon 500mA. le truc qui consomme le plus est le LCD, donc essaie avec / sans
  17. tu l'alimentes avec quoi ton core ? un pic sans lcd ça bouffe environ 50mA, un lcd peut necessiter jusqu'à 600mA et plus la chaine din est longue, plus y a de led et plus tu as besoin de puissance
  18. pense à me mettre des timbres pour le retour
  19. il y a peut être un court circuit sur ton DIN ou DOUT qui se répercute sur ton Core lorsque tu les connectes ensemble
  20. envoie le moi que je le teste à mon avis, tu a dû monter un truc à l'envers. ta chaine DIN/DOUT est elle ok ?
  21. they are the same buy cheapest ones , just respect the frequency
  22. you should try (one time) Beyer DT880
  23. you'd better bought an Akai MPD or Korg PK ... i helped julestriko to develop an accordion (velocity+aftertouch) controller based on FSR sensors. i has done the algo to put inside the AIN code of MIOS8. you should ask him for the code you wil have to get AIN modules and sensors, design your own "keys" or drumpad and the enclosure
×
×
  • Create New...