protofuse Posted November 27, 2009 Report Share Posted November 27, 2009 teste la commande: make --version que te renvoie t elle ? Quote Link to comment Share on other sites More sharing options...
gégé33 Posted November 27, 2009 Author Report Share Posted November 27, 2009 make:*** No rule to make target 'midibox_lc_v1_6d '. Stop. Quote Link to comment Share on other sites More sharing options...
protofuse Posted November 27, 2009 Report Share Posted November 27, 2009 (edited) es tu sûr d'avoir tapé: make --version ? C:\Users\julien>make make: *** No targets specified and no makefile found. Stop. C:\Users\julien>make --version GNU Make version 3.79.1, by Richard Stallman and Roland McGrath. Built for i686-pc-msys Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Report bugs to <bug-make@gnu.org>. C:\Users\julien> Edited November 27, 2009 by protofuse Quote Link to comment Share on other sites More sharing options...
gégé33 Posted November 27, 2009 Author Report Share Posted November 27, 2009 Une fois de plus,j'avais pas capté,ça deviens une habitude Quote Link to comment Share on other sites More sharing options...
gégé33 Posted November 28, 2009 Author Report Share Posted November 28, 2009 (edited) voila ce que j'obtiens avec make --version shad@SHAD-R6XX8TNJNF ~ $ make --version GNU Make 3.81 Copyright © 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This program built for i686-pc-msys shad@SHAD-R6XX8TNJNF ~ $ sinon,pour te donner une idee de mon projet,regarde sur ma galerie,ça serai quand meme dommage d'en rester a ce niveau..... Edited November 28, 2009 by gégé33 Quote Link to comment Share on other sites More sharing options...
protofuse Posted November 28, 2009 Report Share Posted November 28, 2009 voila ce que j'obtiens avec make --version shad@SHAD-R6XX8TNJNF ~ $ make --version GNU Make 3.81 Copyright © 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This program built for i686-pc-msys shad@SHAD-R6XX8TNJNF ~ $ sinon,pour te donner une idee de mon projet,regarde sur ma galerie,ça serai quand meme dommage d'en rester a ce niveau..... ben ta toolchain semble ok. il faut taper make install dans le répertoire principal où il y a main.c et main.h teste déjà ça le "programme" est main.c ouvre le fichier, un éditeur de texte basique suffit regarde un peu le code etc pour comprendre la logique sur http://ucapps.de/ il ya des traductions en français Quote Link to comment Share on other sites More sharing options...
gégé33 Posted November 28, 2009 Author Report Share Posted November 28, 2009 ça me rassure deja de savoir que la toolchain a l'air de fonctionner. j'avais bien compris qu'il fallait modifier main.c et main.h,le probleme,c'est que dans le repertoire de la midibox lc,sous dossier "src",il n'y a ni main.c ni main.h mais seulement main.inc. le seul dossier ou je retrouve ces deux fichiers et clockbox_simple_v1c la demarche semble donc differente pour l'application LC.... voici ce qu'il y a dans le main.inc ; $Id: main.inc 353 2008-06-06 22:39:52Z tk $ ; ; Source Code of MIDIbox LC ; A MIOS Application ; ; ========================================================================== ; ; Copyright 1998-2003 Thorsten Klose (tk@midibox.org) ; Licensed for personal non-commercial use only. ; All other rights reserved. ; ; ========================================================================== ;; ---[ MIOS header file ]--- #include "mios.h" ;; ---[ useful macros ]--- #include "macros.h" ;; ---[ vectors to MIOS functions (never change!) ]--- #include "mios_vectors.inc" ;; ---[ user hooks (never change!) ]--- #include "user_vectors.inc" ;; ========================================================================== ;; General Application Settings ;; ========================================================================== ;; ---[ variables used by application ]--- #include "app_defines.h" ; ========================================================================== ;; ---[ configuration table for MIDI processor rotary encoders ]--- #include "mios_tables.inc" ;; ---[ Custom LCD driver ]--- #include "app_lcd.inc" ;; ========================================================================== ;; Standard MIOS hooks ;; ========================================================================== ;; -------------------------------------------------------------------------- ;; This function is called by MIOS after startup to initialize the ;; application ;; -------------------------------------------------------------------------- USER_Init ;; initialize application specific variables movlw LC_EMULATION_ID ; Logic Control ID movwf LC_ID clrf LC_SYSEX_STATE clrf LC_CURSOR clrf LC_MTC_CURSOR ;; init the MTC digits SET_BSR LC_MTC_DIGIT_1 movlw '0' movwf LC_MTC_DIGIT_0, BANKED movwf LC_MTC_DIGIT_1, BANKED movwf LC_MTC_DIGIT_2, BANKED movwf LC_MTC_DIGIT_3, BANKED movwf LC_MTC_DIGIT_4, BANKED movwf LC_MTC_DIGIT_5, BANKED movwf LC_MTC_DIGIT_6, BANKED movwf LC_MTC_DIGIT_7, BANKED movwf LC_MTC_DIGIT_8, BANKED movwf LC_MTC_DIGIT_9, BANKED movlw ':' movwf LC_MTC_DIGIT_C0, BANKED movwf LC_MTC_DIGIT_C1, BANKED movwf LC_MTC_DIGIT_C2, BANKED movlw ' ' movwf LC_MTC_DIGIT_SPACE, BANKED movlw 'R' - 0x40 movwf LC_STATUS_DIGIT_A, BANKED movlw 'T' - 0x40 movwf LC_STATUS_DIGIT_B, BANKED #if LCD_USE_SECOND ;; initialize the LCD: we allow graphical LCD and up to 2 character LCDs ;; for the 2-character LCD option, we have to set the offset of ;; line 3 and line 4 to 0x80/0xc0 movlw 0x00 movwf MIOS_PARAMETER1 movlw 0x40 movwf MIOS_PARAMETER2 movlw 0x80 movwf MIOS_PARAMETER3 movlw 0xc0 call MIOS_LCD_YAddressSet #endif ;; use LC_STAT.LC_STAT_GLCD as indicator if graphical LCD ;; or character LCD is connected bcf LC_STAT, LC_STAT_GLCD btfsc MIOS_BOX_CFG0, MIOS_BOX_CFG0_USE_GLCD bsf LC_STAT, LC_STAT_GLCD ;; initialize the AIN driver movlw NUMBER_MOTORFADERS call MIOS_AIN_NumberSet call MIOS_AIN_UnMuxed movlw AIN_DEADBAND call MIOS_AIN_DeadbandSet #if ENABLE_MOTORDRIVER == 1 ;; initialize the MF driver call MIOS_MF_Enable movlw MOTORFADERS_DEADBAND call MIOS_MF_DeadbandSet movlw MOTORFADERS_PWM_DUTY_UP call MIOS_MF_PWM_DutyCycleUpSet movlw MOTORFADERS_PWM_DUTY_DOWN call MIOS_MF_PWM_DutyCycleDownSet movlw MOTORFADERS_PWM_PERIOD call MIOS_MF_PWM_PeriodSet #endif ;; initialize the shift registers movlw NUMBER_SHIFTREGISTERS call MIOS_SRIO_NumberSet movlw SRIO_UPDATE_FREQUENCY call MIOS_SRIO_UpdateFrqSet movlw TOUCHSENSOR_SENSITIVITY call MIOS_SRIO_TS_SensitivitySet ;; initialize encoder speed modes clrf TMP1 ; loop 8 times USER_Init_EncSpeedLoop movlw ENC_VPOT_SPEED_DIVIDER movwf MIOS_PARAMETER2 movlw ENC_VPOT_SPEED_MODE movwf MIOS_PARAMETER1 movf TMP1, W call MIOS_ENC_SpeedSet incf TMP1, F movlw 8-1 cpfsgt TMP1, ACCESS rgoto USER_Init_EncSpeedLoop movlw ENC_JOGWHEEL_SPEED_DIVIDER movwf MIOS_PARAMETER2 movlw ENC_JOGWHEEL_SPEED_MODE movwf MIOS_PARAMETER1 movlw 8 call MIOS_ENC_SpeedSet ;; initialize the integrated MIDI merger movlw MIOS_MIDI_MERGER_ENABLED call MIOS_MIDI_MergerSet ;; initialize the user timer (used for the meter handling) ;; (see lc_led.inc) ;; timer should be called every 20 ms == 200000 ticks ;; since this value is greater than 16 bit (== 65535 max) we just ;; use a 1:4 prescaler so the init value must be: 200000 / 4 == 50000 ;; (see also the MIOS_TIMER_Init documentation) movlw 50000 & 0xff ; low-byte movwf MIOS_PARAMETER1 movlw 50000 >> 8 ; high-byte movlw 0x02 ; use 1:4 prescaler call MIOS_TIMER_Init ;; init display page movlw INITIAL_DISPLAY_PAGE movwf LC_DISPLAY_PAGE ;; update LEDs which have been assigned to MBLC specific functions call LC_SFB_LED_Update ;; request update of meters and ledrings movlw 0xff movwf LC_METER_UPDATE_REQ movwf LC_LEDRING_UPDATE_REQ ;; fill host and GPC message screen with spaces movlw 0x80 movwf TMP1 lfsr FSR0, MSG_HOST_BEGIN lfsr FSR1, MSG_GPC_BEGIN movlw ' ' USER_Init_Msg_Loop1 movwf POSTINC0 movwf POSTINC1 decfsz TMP1, F rgoto USER_Init_Msg_Loop1 ;; copy welcome message to msg buffer TABLE_ADDR USER_INIT_MSG_STR lfsr FSR0, MSG_HOST_BEGIN tblrd*+ movff TABLAT, TMP1 USER_Init_Msg_Loop2 tblrd*+ movff TABLAT, POSTINC0 decfsz TMP1, F rgoto USER_Init_Msg_Loop2 ;; init rec/solo/mute status lfsr FSR0, RSM_MSG_BEGIN movlw 8 movwf TMP1 movlw '-' USER_Init_Msg_Loop3 movwf POSTINC0 decfsz TMP1, F rgoto USER_Init_Msg_Loop3 ;; init sel status lfsr FSR0, SEL_MSG_BEGIN movlw 8 movwf TMP1 movlw '.' USER_Init_Msg_Loop4 movwf POSTINC0 decfsz TMP1, F rgoto USER_Init_Msg_Loop4 ;; clear position offset of general purpose controller mode clrf GPC_OFFSET return ;; <------------------------------------------------------> USER_INIT_MSG_STR db 54, "xxxx---===< Logic Control Emulation ready. >===---xxxx" ;; -------------------------------------------------------------------------- ;; This function is called by MIOS in the mainloop when nothing else is to do ;; -------------------------------------------------------------------------- USER_Tick ;; check meter update request flags call LC_METERS_Handler ;; check ledring update request flags call LC_LEDRING_Handler return ;; -------------------------------------------------------------------------- ;; This function is periodically called by MIOS. The frequency has to be ;; initialized with MIOS_Timer_Set ;; Note that this is an interrupt service routine! Use FSR2 instead of FSR0 ;; and IRQ_TMPx instead of TMPx -- and make the routine as fast as possible! ;; -------------------------------------------------------------------------- USER_Timer ;; branch to Meter Timer goto LC_LED_MeterTimer ;; -------------------------------------------------------------------------- ;; This function is called by MIOS when a debug command has been received ;; via SysEx ;; Input: ;; o WREG, MIOS_PARAMETER1, MIOS_PARAMETER2, MIOS_PARAMETER3 like ;; specified in the debug command ;; Output: ;; o return values WREG, MIOS_PARAMETER1, MIOS_PARAMETER2, MIOS_PARAMETER3 ;; -------------------------------------------------------------------------- USER_MPROC_DebugTrigger return ;; -------------------------------------------------------------------------- ;; 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 ;; -------------------------------------------------------------------------- USER_DISPLAY_Init ;; clear screen call MIOS_LCD_Clear ;; branch to LC_[GC]LCD_Init GOTO_IFCLR LC_STAT, LC_STAT_GLCD, ACCESS, LC_CLCD_Init goto LC_GLCD_Init ;; -------------------------------------------------------------------------- ;; This function is called in the mainloop when no temporary message is shown ;; on screen. Print the realtime messages here ;; -------------------------------------------------------------------------- USER_DISPLAY_Tick ;; check if host/GPC message update has been requested btfss LC_STAT, LC_STAT_MSG_UPDATE_REQ return ;; yes: clear request flag, print message bcf LC_STAT, LC_STAT_MSG_UPDATE_REQ goto LC_DISPLAY_Print_Msg ;; -------------------------------------------------------------------------- ;; This function is called by MIOS when a complete MIDI event has been received ;; Input: ;; o first MIDI event byte in MIOS_PARAMETER1 ;; o second MIDI event byte in MIOS_PARAMETER2 ;; o third MIDI event byte in MIOS_PARAMETER3 ;; -------------------------------------------------------------------------- USER_MPROC_NotifyReceivedEvent ;; continue at LC MPROC handler goto LC_MPROC_NotifyReceivedEvent ;; -------------------------------------------------------------------------- ;; This function is called by MIOS when a MIDI event has been received ;; which has been specified in the CONFIG_MIDI_IN table ;; Input: ;; o number of entry in WREG ;; o first MIDI event byte in MIOS_PARAMETER1 ;; o second MIDI event byte in MIOS_PARAMETER2 ;; o third MIDI event byte in MIOS_PARAMETER3 ;; -------------------------------------------------------------------------- USER_MPROC_NotifyFoundEvent ;; update GPC value goto LC_GPC_AbsValue_Set ;; -------------------------------------------------------------------------- ;; This function is called by MIOS when a MIDI event has not been completly ;; received within 2 seconds ;; -------------------------------------------------------------------------- USER_MPROC_NotifyTimeout ;; -> jump to "ActionInvalid" for a proper reset of the sysex parser goto LC_SYSEX_ActionInvalid ;; -------------------------------------------------------------------------- ;; This function is called by MIOS when a MIDI byte has been received ;; Input: ;; o received MIDI byte in WREG and MIOS_PARAMETER1 ;; -------------------------------------------------------------------------- USER_MPROC_NotifyReceivedByte ;; -> continue at LC sysex parser goto LC_SYSEX_Parser ;; -------------------------------------------------------------------------- ;; This function is called by MIOS before the transfer of a MIDI byte. ;; It can be used to monitor the Tx activity or to do any other actions ;; (e.g. to switch a pin for multiplexed MIDI Outs) before the byte will ;; be sent. ;; Note that this is an interrupt service routine! Use FSR2 instead of FSR0 ;; and IRQ_TMPx instead of TMPx -- and make the routine as fast as possible! ;; Input: ;; o transmitted byte in WREG ;; -------------------------------------------------------------------------- USER_MIDI_NotifyTx ;; branch directly to "midi_rxtx.inc" goto MIDI_RXTX_NotifyTx ;; -------------------------------------------------------------------------- ;; This function is called by MIOS when a MIDI byte has been received. ;; It can be used to monitor the Rx activity or to do any action - e.g. ;; to react on realtime events like MIDI clock (0xf8) with a minimum latency ;; Note that this is an interrupt service routine! Use FSR2 instead of FSR0 ;; and IRQ_TMPx instead of TMPx -- and make the routine as fast as possible! ;; Input: ;; o received byte in WREG ;; -------------------------------------------------------------------------- USER_MIDI_NotifyRx ;; branch directly to "midi_rxtx.inc" goto MIDI_RXTX_NotifyRx ;; -------------------------------------------------------------------------- ;; This function is called by MIOS when an button has been toggled ;; Input: ;; o Button number in WREG and MIOS_PARAMETER1 ;; o Button value MIOS_PARAMETER2: ;; - 1 if button has been released (=5V) ;; - 0 if button has been pressed (=0V) ;; -------------------------------------------------------------------------- USER_DIN_NotifyToggle goto LC_BUTTON_Handler ;; -------------------------------------------------------------------------- ;; This function is called by MIOS when an encoder has been moved ;; Input: ;; o Encoder number in WREG and MIOS_PARAMETER1 ;; o signed incrementer value in MIOS_PARAMETER2: ;; - is positive when encoder has been turned clockwise ;; - is negative when encoder has been turned counter clockwise ;; -------------------------------------------------------------------------- USER_ENC_NotifyChange goto LC_ENC_Handler ;; -------------------------------------------------------------------------- ;; This function is called by MIOS before the shift register are loaded ;; Note that this is an interrupt service routine! Use FSR2 instead of FSR0 ;; and IRQ_TMPx instead of TMPx -- and make the routine as fast as possible ;; -------------------------------------------------------------------------- USER_SR_Service_Prepare ;; ledrings/meters handler call LC_LED_DOUT_Handler #if LEDDIGITS_ENABLED != 1 ;; leddigits handler call LC_LEDDIGITS_Update #endif #if MIDI_MONITOR_ENABLED != 0 ;; MIDI Rx/Tx Monitor handler call MIDI_RXTX_Handler #endif return ;; -------------------------------------------------------------------------- ;; This function is called by MIOS after the shift register have been loaded ;; Note that this is an interrupt service routine! Use FSR2 instead of FSR0 ;; and IRQ_TMPx instead of TMPx -- and make the routine as fast as possible ;; -------------------------------------------------------------------------- USER_SR_Service_Finish return ;; -------------------------------------------------------------------------- ;; This function is called by MIOS when a pot has been moved ;; Input: ;; o Pot number in WREG and MIOS_PARAMETER1 ;; o LSB value in MIOS_PARAMETER2 ;; o MSB value in MIOS_PARAMETER3 ;; -------------------------------------------------------------------------- USER_AIN_NotifyChange goto LC_MF_FaderEvent ;; ========================================================================== ;; standard (reusable) routines ;; ========================================================================== #include "midi_rxtx.inc" ;; ========================================================================== ;; Configuration ;; ========================================================================== ;; ---[ LC button/LED functions ]--- #include "lc_io_table.inc" ;; ---[ GPC Labels ]--- #include "lc_gpc_lables.inc" ;; ========================================================================== ;; Application code (see comments in files) ;; ========================================================================== #include "lc_glcd.inc" #include "lc_display.inc" #include "lc_clcd.inc" #include "lc_sysex.inc" #include "lc_mproc.inc" #include "lc_buttons.inc" #include "lc_sfb.inc" #include "lc_enc.inc" #include "lc_leds.inc" #include "lc_leddigits.inc" #include "lc_ledrings.inc" #include "lc_meters.inc" #include "lc_mf.inc" #include "lc_hlp.inc" #include "lc_cali.inc" #include "lc_gpc.inc" ;; -------------------------------------------------------------------------- ;; Including fonts from $MIOS_PATH/modules/glcd_font/ ;; -------------------------------------------------------------------------- #include <glcd_font_big.inc> #include <glcd_font_small.inc> #include <glcd_font_knob_icons.inc> #include <glcd_font_meter_icons_v.inc> #include <glcd_font_meter_icons_h.inc> END Quote Link to comment Share on other sites More sharing options...
protofuse Posted November 28, 2009 Report Share Posted November 28, 2009 cette appli n'existe peut être que sous la forme de code assembleur. cela dit, c'est à peu près pareil dans le sens où tu dois récupérer le code qui correspond à l'activation du midi merger (=midilink)... qu'il soit en C ou en assembleur. Quote Link to comment Share on other sites More sharing options...
djsampling Posted November 29, 2009 Report Share Posted November 29, 2009 (edited) gégé regarde le tuto MPLAB essai de modifier les fichiers en assembleur Tu utilises quel DAW pour faire ta musique, ça serai pas nécessaire de linker tes 24 FADERS. Ton DAW utilise l'émulation Mackie Control pour 8 faders, Mackie Control XT 8 faders, Mackie Control XT 8 faders comme ça tu as tes 24 faders qui répondent dans ton DAW Seul inconvénient, il faut pour chaque core une entrée sortie midi Te casses pas la tête à vouloir absolument linker tes 24 faders, utilise l'émulation macKie control Edited November 29, 2009 by djsampling Quote Link to comment Share on other sites More sharing options...
protofuse Posted November 29, 2009 Report Share Posted November 29, 2009 gégé regarde le tuto MPLAB essai de modifier les fichiers en assembleur Tu utilises quel DAW pour faire ta musique, ça serai pas nécessaire de linker tes 24 FADERS. Ton DAW utilise l'émulation Mackie Control pour 8 faders, Mackie Control XT 8 faders, Mackie Control XT 8 faders comme ça tu as tes 24 faders qui répondent dans ton DAW Seul inconvénient, il faut pour chaque core une entrée sortie midi il lui faudrait activer le midi link forward point et endpoint sur ses cores. ça permet effectivement de n'utiliser qu'une entrée et sortie pour les 2 cores. c'est ce que je fais sur la protodeck. Quote Link to comment Share on other sites More sharing options...
gégé33 Posted November 29, 2009 Author Report Share Posted November 29, 2009 j'utilise cubase sx3 et sonar 7 ce qui me fais un peu peur,c'est qu'apparement,cubase sx n'a pas la fonction xt.....elle se retrouve sous sonar 7 de plus,je ne suis pas "riche" en ports midi sur mon pc,comment y relier 3 in et 3 out ??? Quote Link to comment Share on other sites More sharing options...
protofuse Posted November 29, 2009 Report Share Posted November 29, 2009 j'utilise cubase sx3 et sonar 7 ce qui me fais un peu peur,c'est qu'apparement,cubase sx n'a pas la fonction xt.....elle se retrouve sous sonar 7 de plus,je ne suis pas "riche" en ports midi sur mon pc,comment y relier 3 in et 3 out ??? tu connais google? avant de poser une question, sérieux: cherche un peu sinon n'espère pas des réponses détaillées qu'une simple recherche sur google peut permettre de trouver Quote Link to comment Share on other sites More sharing options...
gégé33 Posted November 29, 2009 Author Report Share Posted November 29, 2009 tu connais google? avant de poser une question, sérieux: cherche un peu sinon n'espère pas des réponses détaillées qu'une simple recherche sur google peut permettre de trouver rassure toi,je n'espere plus grand chose ! je tiens tout de meme a te signaler que tous mon temps libre,je le passe en recherches sur internet afin de comprendre le fonctionnement de tout ça. il est vrai que je me suis peut etre lancé dans ce projet sans en saisir tous les parametres,certaines choses que je prenait pour aquises se sont revelée etres d'enormes fausses routes.... de toute evidence, il ne fait pas bon etre un debutant sur ce forum...... Quote Link to comment Share on other sites More sharing options...
protofuse Posted November 29, 2009 Report Share Posted November 29, 2009 (edited) rassure toi,je n'espere plus grand chose ! je tiens tout de meme a te signaler que tous mon temps libre,je le passe en recherches sur internet afin de comprendre le fonctionnement de tout ça. il est vrai que je me suis peut etre lancé dans ce projet sans en saisir tous les parametres,certaines choses que je prenait pour aquises se sont revelée etres d'enormes fausses routes.... de toute evidence, il ne fait pas bon etre un debutant sur ce forum...... tu n'as pas compris je me suis heurté à la même chose au début de mon projet et on est tous débutants en plus de plus,je ne suis pas "riche" en ports midi sur mon pc,comment y relier 3 in et 3 out ??? tu es sûr d'avoir cherché? Edited November 29, 2009 by protofuse Quote Link to comment Share on other sites More sharing options...
gégé33 Posted November 29, 2009 Author Report Share Posted November 29, 2009 une interface midi par example,dans le genre midisport 4x4 ou autres.....prix de base 150 euros minimum je ne fais pas non plus un billet de 50 tous les matins. comme je te l'ai dis,cela fait plus d'un an que j'ai commencé ma box,et je n'ai pu l'avancer serieusement qu'en comptant sur noel ou mon anniv,on m'a offert des tunes pour un module par ci 4 faders par la,j'ai meme fais des heures sup a mon taff pour pouvoir acheter ce qui me manquait,j'avoue qu'une interface midi me simplifierai la vie,mais niveau budjet,ce n'est pas au programme tout de suite..... Quote Link to comment Share on other sites More sharing options...
protofuse Posted November 29, 2009 Report Share Posted November 29, 2009 une interface midi par example,dans le genre midisport 4x4 ou autres.....prix de base 150 euros minimum je ne fais pas non plus un billet de 50 tous les matins. comme je te l'ai dis,cela fait plus d'un an que j'ai commencé ma box,et je n'ai pu l'avancer serieusement qu'en comptant sur noel ou mon anniv,on m'a offert des tunes pour un module par ci 4 faders par la,j'ai meme fais des heures sup a mon taff pour pouvoir acheter ce qui me manquait,j'avoue qu'une interface midi me simplifierai la vie,mais niveau budjet,ce n'est pas au programme tout de suite..... rien à voir avec ma remarque. bon courage Quote Link to comment Share on other sites More sharing options...
pilo Posted November 29, 2009 Report Share Posted November 29, 2009 Ton projet est carément sympa Gégé33!!!!! Ca me rappelle la LC de Axel, il y a quelque année, super truc! On peut pas laisser ca comme ca, sans software, ca serait trop dommage!! Bon je regarde un peu tout ca, je te fais un commentaire plus complet ensuite ;) Quote Link to comment Share on other sites More sharing options...
pilo Posted November 29, 2009 Report Share Posted November 29, 2009 Okidoki! Alors je viens d'installer la toolchain pour compiler l'appli LC (en partant de la http://www.midibox.org/dokuwiki/windows_toolchain_quickstart) Donc déja as tu bien installé tout ca? (tout, non en fait car SDCC tu n'en a pas besoin, étant donné que la code de l'appli LC est en assembleur uniquement). Ensuite tu ouvre ton terminal en executant cmd comme décrit, tu set le path (en tapant SET PATH=C:\MSYS\1.0\bin;%programfiles%\gputils\bin;%programfiles%\SDCC\bin;%PATH%) ensuite la tu va dans le repertoire ou ce situe l'appli LC. Donc par exemple moi je l'ais mis dans F:\MIOS\midibox_lc_v1_6d, donc je tape dans le terminal: f: cd MIOS cd midibox_lc_v1_6d Ensuite la tu tape make, et normalement ca devrait te sortir un truc comme ca: F:\MIOS\midibox_lc_v1_6d>make rm -rf *.cod *.lst *.err rm -rf *.hex gpasm -p p18f452 -I./src -I ./include/asm -I ./include/share -I ./modules/app_ lcd/dummy -I ./modules/glcd_font setup_midibox_lc.asm gpasm -p p18f452 -I./src -I ./include/asm -I ./include/share -I ./modules/app_ lcd/dummy -I ./modules/glcd_font setup_midibox_tk.asm F:\MIOS\midibox_lc_v1_6d> L'appli est correctement compilé et les fichiers setup_midibox_lc.hex et setup_midibox_tk.hex) ont été créés (ainsi que d'autre fichier temporaire). Donc déja, tu devrais arrivé à faire ca (j'essais de faire les explications le plus claire possible, mais n'hésite pas a demander si tu coince quelque part). Une fois ceci fait, tu peux donc compiler une nouvelle application (la ca a compilé le code de base, qu'on va maintenant pouvoir modifier). alors pour activer le merger sur tes cores, c'est très simple (si si!!) Tu édite le fichier main.inc (situé dans le sous repertoire "module" du projet). Tu recherche la dedans la fonction USER_init qui ressemble pour le moment a ca: ;; -------------------------------------------------------------------------- ;; This function is called by MIOS after startup to initialize the ;; application ;; -------------------------------------------------------------------------- USER_Init ;; initialize application specific variables movlw LC_EMULATION_ID ; Logic Control ID movwf LC_ID clrf LC_SYSEX_STATE clrf LC_CURSOR clrf LC_MTC_CURSOR ;; init the MTC digits SET_BSR LC_MTC_DIGIT_0 movlw '0' movwf LC_MTC_DIGIT_0, BANKED movwf LC_MTC_DIGIT_1, BANKED movwf LC_MTC_DIGIT_2, BANKED movwf LC_MTC_DIGIT_3, BANKED movwf LC_MTC_DIGIT_4, BANKED movwf LC_MTC_DIGIT_5, BANKED movwf LC_MTC_DIGIT_6, BANKED movwf LC_MTC_DIGIT_7, BANKED movwf LC_MTC_DIGIT_8, BANKED movwf LC_MTC_DIGIT_9, BANKED movlw ':' movwf LC_MTC_DIGIT_C0, BANKED movwf LC_MTC_DIGIT_C1, BANKED movwf LC_MTC_DIGIT_C2, BANKED movlw ' ' movwf LC_MTC_DIGIT_SPACE, BANKED movlw 'R' - 0x40 movwf LC_STATUS_DIGIT_A, BANKED movlw 'T' - 0x40 movwf LC_STATUS_DIGIT_B, BANKED #if LCD_USE_SECOND ;; initialize the LCD: we allow graphical LCD and up to 2 character LCDs ;; for the 2-character LCD option, we have to set the offset of ;; line 3 and line 4 to 0x80/0xc0 movlw 0x00 movwf MIOS_PARAMETER1 movlw 0x40 movwf MIOS_PARAMETER2 movlw 0x80 movwf MIOS_PARAMETER3 movlw 0xc0 call MIOS_LCD_YAddressSet #endif ;; use LC_STAT.LC_STAT_GLCD as indicator if graphical LCD ;; or character LCD is connected bcf LC_STAT, LC_STAT_GLCD btfsc MIOS_BOX_CFG0, MIOS_BOX_CFG0_USE_GLCD bsf LC_STAT, LC_STAT_GLCD ;; initialize the AIN driver movlw NUMBER_MOTORFADERS call MIOS_AIN_NumberSet call MIOS_AIN_UnMuxed movlw AIN_DEADBAND call MIOS_AIN_DeadbandSet #if ENABLE_MOTORDRIVER == 1 ;; initialize the MF driver call MIOS_MF_Enable movlw MOTORFADERS_DEADBAND call MIOS_MF_DeadbandSet movlw MOTORFADERS_PWM_DUTY_UP call MIOS_MF_PWM_DutyCycleUpSet movlw MOTORFADERS_PWM_DUTY_DOWN call MIOS_MF_PWM_DutyCycleDownSet movlw MOTORFADERS_PWM_PERIOD call MIOS_MF_PWM_PeriodSet #endif ;; initialize the shift registers movlw NUMBER_SHIFTREGISTERS call MIOS_SRIO_NumberSet movlw SRIO_UPDATE_FREQUENCY call MIOS_SRIO_UpdateFrqSet movlw TOUCHSENSOR_SENSITIVITY call MIOS_SRIO_TS_SensitivitySet ;; initialize encoder speed modes clrf TMP1 ; loop 8 times Pour résumer vite fait, ca configure tout ce qu'il faut en fonction de ce que tu as mis dans le fichier de config (a la source du projet, setup_midibox_lc.asm). Alors pour activer le merger, tu dois rajouter à la fin de cette fonction (donc après la dernière ligne, et avant la déclaration de fonction suivate), ceci pour le deux premiers core (celui qui a le midi IN, qui recoit le midi OUT de ton interface donc, et celui qui suit): movlw MIOS_MIDI_MERGER_MBLINK_FP call MIOS_MIDI_MergerSet et pour le dernier: movlw MIOS_MIDI_MERGER_MBLINK_EP call MIOS_MIDI_MergerSet donc ta fonction USER_init dans main.inc ressemblera à ;; -------------------------------------------------------------------------- ;; This function is called by MIOS after startup to initialize the ;; application ;; -------------------------------------------------------------------------- USER_Init ;; initialize application specific variables movlw LC_EMULATION_ID ; Logic Control ID movwf LC_ID clrf LC_SYSEX_STATE clrf LC_CURSOR clrf LC_MTC_CURSOR ;; init the MTC digits SET_BSR LC_MTC_DIGIT_0 movlw '0' movwf LC_MTC_DIGIT_0, BANKED movwf LC_MTC_DIGIT_1, BANKED movwf LC_MTC_DIGIT_2, BANKED movwf LC_MTC_DIGIT_3, BANKED movwf LC_MTC_DIGIT_4, BANKED movwf LC_MTC_DIGIT_5, BANKED movwf LC_MTC_DIGIT_6, BANKED movwf LC_MTC_DIGIT_7, BANKED movwf LC_MTC_DIGIT_8, BANKED movwf LC_MTC_DIGIT_9, BANKED movlw ':' movwf LC_MTC_DIGIT_C0, BANKED movwf LC_MTC_DIGIT_C1, BANKED movwf LC_MTC_DIGIT_C2, BANKED movlw ' ' movwf LC_MTC_DIGIT_SPACE, BANKED movlw 'R' - 0x40 movwf LC_STATUS_DIGIT_A, BANKED movlw 'T' - 0x40 movwf LC_STATUS_DIGIT_B, BANKED #if LCD_USE_SECOND ;; initialize the LCD: we allow graphical LCD and up to 2 character LCDs ;; for the 2-character LCD option, we have to set the offset of ;; line 3 and line 4 to 0x80/0xc0 movlw 0x00 movwf MIOS_PARAMETER1 movlw 0x40 movwf MIOS_PARAMETER2 movlw 0x80 movwf MIOS_PARAMETER3 movlw 0xc0 call MIOS_LCD_YAddressSet #endif ;; use LC_STAT.LC_STAT_GLCD as indicator if graphical LCD ;; or character LCD is connected bcf LC_STAT, LC_STAT_GLCD btfsc MIOS_BOX_CFG0, MIOS_BOX_CFG0_USE_GLCD bsf LC_STAT, LC_STAT_GLCD ;; initialize the AIN driver movlw NUMBER_MOTORFADERS call MIOS_AIN_NumberSet call MIOS_AIN_UnMuxed movlw AIN_DEADBAND call MIOS_AIN_DeadbandSet #if ENABLE_MOTORDRIVER == 1 ;; initialize the MF driver call MIOS_MF_Enable movlw MOTORFADERS_DEADBAND call MIOS_MF_DeadbandSet movlw MOTORFADERS_PWM_DUTY_UP call MIOS_MF_PWM_DutyCycleUpSet movlw MOTORFADERS_PWM_DUTY_DOWN call MIOS_MF_PWM_DutyCycleDownSet movlw MOTORFADERS_PWM_PERIOD call MIOS_MF_PWM_PeriodSet #endif ;; initialize the shift registers movlw NUMBER_SHIFTREGISTERS call MIOS_SRIO_NumberSet movlw SRIO_UPDATE_FREQUENCY call MIOS_SRIO_UpdateFrqSet movlw TOUCHSENSOR_SENSITIVITY call MIOS_SRIO_TS_SensitivitySet ;; initialize encoder speed modes clrf TMP1 ; loop 8 times movlw MIOS_MIDI_MERGER_MBLINK_EP call MIOS_MIDI_MergerSet Donc effectivement ca n'est pas pratique car tu va devoir recompiler ton application deux foi: - pour les deux premier core (qui sont des foward point au niveau du merger) - pour le dernier (qui est un end point) et donc tu devra compiler une fois avec MIOS_MIDI_MERGER_MBLINK_EP, uploader sur ton dernier core, puis remplacer par MIOS_MIDI_MERGER_MBLINK_FP, et recompiler pour les deux premier... bref plutot que de passer du temps a expliqué, je t'upload la modif nécessaire pour qu'en un seul make ca te compile les 2 hex necessaires! En gros j'ai rajouté une option dans les fichier de config (MIDI_MERGER_END_POINT et MIDI_MERGER_FOWARD_POINT) qui permete ensuite de compiler deux appli en fonction de ce que l'on veut... Donc en théorie tout ce que tu as a faire maintenant, c'est télécharger le rar que je joint à ce message prendre le terminal (Executer -> cmd), setter les path etc, puis d'aller dans le repertoire ou tu as extrait les sources, et de taper make. Tu obtiendra 2 fichier hex : setup_midibox_lc_ep.hex pour le END POINT (le core dont la sortie MIDI va vers le PC), et setup_midibox_lc_fp.hex qui est destiné aux 2 autres core. Normalement, ca devrait marcher.... je dis bien normalement, car je n'ai jamais utilisé le merger, et je me demande encore si il faut ou non l'enabler (la doc est pas très claire). Enfin, déja une fois que tu aura réussis a compiler ces deux applis, tu ne sera plus très loin du but! Bon bricolage! Pilo.midibox_lc_v1_6d_test_merger.rar Quote Link to comment Share on other sites More sharing options...
gégé33 Posted November 29, 2009 Author Report Share Posted November 29, 2009 merci pilo, c'est vraiment super, tu me sauve la mise.... tes explications sont super claires,j'arrive enfin a comprendre. je n'ai pas trop le temps de faires toutes ces manips ce soir. j'ai deja essayé ça Ensuite tu ouvre ton terminal en executant cmd comme décrit, tu set le path (en tapant SET PATH=C:\MSYS\1.0\bin;%programfiles%\gputils\bin;%programfiles%\SDCC\bin;%PATH%) ça fonctionne nickel. je te tiens au courant des demain pour le restes des operations. Encore mille fois merci,je voyais tout ça vraiment mal parti...... Merci aussi de tes encouragements,ça rechauffe le coeur :frantics: Ps:rolleyes: ma box n'est que "tres legerement pompée"(lol) sur celle d'axell,bon j'avoue,presque completement.... merci encore a demain l'ami Quote Link to comment Share on other sites More sharing options...
gégé33 Posted November 30, 2009 Author Report Share Posted November 30, 2009 bonsoir J'ai suivi ton tuto a la lettre et....... :frantics: ça fonctionne!!! j'ai pu recompiler les 2 fichiers MIDI_MERGER_END_POINT et MIDI_MERGER_FOWARD_POINT,il ne me reste plus qu'a les uploader dans les differents pic. Je ne sais vraiment pas comment te remercier pour tout ce que tu as fait. :thumbsup: sans tes explications,claires et precises ,je n'aurai jamais compris cette demarche si particuliere qui est la programmation. En un mot,tu me sauve la mise. Encores quelques soudures et mon reve deviendra peut etre realité.... S'il y a moyen un jour de te renvoyer l'ascenseur,n'hesite pas,ce sera avec grand plaisir.... Et je dirai pour finir, monsieur PILO, big respect..... Quote Link to comment Share on other sites More sharing options...
pilo Posted December 7, 2009 Report Share Posted December 7, 2009 Salut gégé! N'oublie pas de nous dire comment ca se passe :) (déja est-ce que le merger fonctionne bien?) Pas de soucis, moi ca me fais plaisir de pouvoir donner un coup de main, et je suis content de savoir que ca t'a aidé! Si tu veux renvoyer l'ascenceur, dis nous comment tu as réalisé cette superbe midibox :) (construction mécanique, fonctionnalité etc). Je viens plus très souvent ici, mais le jour ou j'ai répondus, j'ai vu la photo de ta midibox en première page du forum, et c'est comme ca que j'ai vu ce post! Pilo. Quote Link to comment Share on other sites More sharing options...
gégé33 Posted December 8, 2009 Author Report Share Posted December 8, 2009 Salut pilo Pour l'instant, j'ai testé le merger avec le core 2 en endpoint car j'ai un petit souci sur le core 3(certainement rien de grave, les soudures sont un peu legeres...) ça semble fonctionner plutot pas mal,ça fait vraiment plaisir, et ce, grace a toi... Pour t'apporter plus de precisions sur ma box,je dirai que la fabrication de la "coque et de la face avant on été pour moi le plus facile. Tout et pratiquement fait avec de la récup. l'armature est en bois (que j'avais deja) la face avant est faite avec du "dibon" (plastique souple compréssé entre 2 feuilles d'aluminium, chutes recupérés a mon taff) ça se travail tres facilement,decoupes aux dimensions avec un cutter,perçage et decoupe plus precises a la scie sauteuse avec lame de scie a metaux . un bon petit coup de ponçage,une couche d'appret en bombe,2 couches croisées avec la peinture metallisée alu (bombe) La serigraphie a été faite avec du lazertran puis apres 4 heures de sechage,deux couches de vernis a l'eau . Certaines parties de la face avant tel que la surface des faders ou des ledmetres sont realisées avec du pvc expansé (cette fois,c'est ma femme qui me refile des chutes de son taff) la decoupe au cutter pour l'axe des fader est plus precise q'avec une defonceuse ou un dremel. Voila pour ce qui est hardware, sinon pour ses fonctionnalitées,ce sont quasiment les memes qu'une midibox classique. un petit rajout est prevu pour une entrée audio avec au final un reglage du volume,du pan, un potard pour le gain d'entée, 3 potards pour le reglage des basses , medium, et aigus +un poussoir mute. le pcb pour realiser ce modules est encore a l'etude. sinon pour un tel projet,il y a dedans 3 modules core 3 modules mf (ou sont reliés 24 RSAON 100 mm) 3 lcd 2x16 (juste pour affichage des parties mute solo ..etc) 8 modules DIN ( ou sont reliés les poussoirs de type multimec) 8 modules DOUT (led des poussoirs mute solo...+panneau de control,ledring et ledmeter a 12 leds et mtc a 12 led digit) et deja plus de 15 metres de nappe a 16 brins. modules IIC non connectés pour l'instant (pas trop besoin non plus pour juste piloter cubase sx3) pour l'alimentation,j'utilise pour l'instant deux transfo, mais je pense passer prochainement par une alimentation interne separée. Voila j'espere avoir été clair et precis, mais si tu as d'autres questions,j'y repondrai avec plaisir. Par manque de temps,je ne pense pas pouvoir "achever ma box avant l'année prochaine,mais dés que son etat aura un peu avancé,je n'hesiterai pas a poster des photos. Allez, j'arrete la mon roman,et je te dis a plus, et surtout merci encore.... Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.