jerash Posted September 15, 2005 Report Share Posted September 15, 2005 salut,je me lance dans la fabrication d'un midifilter (projet qui semble tomber dans les oublittes de midibox...) pour interfacer un pédalier midi sur un sampler, et en suivant la procédure décrite par thorsten, je tombe sur un os :"open the .pjt file" > mon mplab v7.10 ne peut pas ouvrir ce type de fichier environnement ... il ne peut que ouvrir un .mcpAvez-vous une idée du pourquoi ? et du comment y remédier ? en installant une version antérieure ?J'ai essayé en ouvrant tout les .asm et .inc et lancer la compil à la main, et le Build fail avec ce message :Clean: Deleting intermediary and output files.Clean: Done.Executing: "C:\Program Files\Microchip\MPASM Suite\MPAsmWin.exe" /q /p16F877 "main.asm" /l"main.lst" /e"main.err" /o"main.o"Skipping link step. The project contains no linker script.BUILD FAILED: Thu Sep 15 04:37:07 2005Etant donné que je ne suis pas très familier avec la programmation (juste assez pour modifier les quelques lignes nécessaires à mon projet), je ne sais pas comment utiliser le "linker script"Quelqu'un peut-il m'aiguiller vers la sortie ?merci, Raf. Quote Link to comment Share on other sites More sharing options...
jerash Posted September 15, 2005 Author Report Share Posted September 15, 2005 Quelle nuit !finalement j'installe la version 6.10 et :Deleting intermediary files... done.Executing: "C:\Program Files\MPLAB IDE\MCHIP_Tools\mpasmwin.exe" /q /p16F877 "main.asm" /l"main.lst" /e"main.err"Loaded Z:\_Projects\Project DIY\Midi Filter box\filter_v1.4\filter_v1.4\main.CODBUILD SUCCEEDEDExtraordinaire !reste à modifier les quelques lignes... je reviendrai surement vous demander un coup de mainvive le diy !RAF Quote Link to comment Share on other sites More sharing options...
jerash Posted September 15, 2005 Author Report Share Posted September 15, 2005 On y vient !Il me manque juste de quoi faire correctement une soustraction (ou un opération donna tle même résultat)Le but étant de tranformer un message Program Change en message Note OnVoilà comment j'ai modifié le fichier proc.inc dans la partie concernée :PROC_ReceivedCn ;; branch when PC number is 0x01 movf MIDI_LASTEVENT2, W xorlw 0x01 bz PROC_ReceivedCn01 PROC_ReceivedCn01  ;génération du message note on et midi channel identique movf MIDI_LASTEVENT0, W ;récupère le message PC ????????????? ;Soustraire 0x30 pour transformer PC en Noteon call MIDI_SendByte ;en gardant le canal midi  ;génération du note number movf MIDI_LASTEVENT2, W ;récupère le program number addlw 0x23 ;Ajouter 0x23 au program number (voir table) call MIDI_SendByte  ;génération de la vélocité movlw 0xFF ;vélocité max 0XFF par défaut call MIDI_SendByte  ;transformation terminée returnLe seul point noire c'est la ligne avec les ????????? : Soustraire 0x30 du registre W pour transformer PC en NoteonCn <> 1100 nnnn (message program change sur canal midi 'n')9n <> 1001 nnnn (message note on sur canal midi 'n')Cette "soustraction" est surement possible par le truchement de quelques AND, XOR, OR .... pour éviter l'utilisation de SUBWF ou autre(...après qq minutes de bataillage...)Il semblerait que ca fonctionne en utilisant : XORLW 0x50ca inverse les 2 bits qui font la différence entre le Cn et le 9n sans changer les nnnn .... ca a l'air bonon va dire que c'est bon, je suis content de vous avoir tenu au courant de mes tribulationsReste à voir s'il ne sera pas nécessaire d'envoyer un message note off ensuite, ce qui est une autre histoire !RAF Quote Link to comment Share on other sites More sharing options...
Junkyseb Posted September 16, 2005 Report Share Posted September 16, 2005 salut, juste histoire que tu te sente moins seul, je te remercie pour ce monopostage ;) nan sans dec ça peut servir à d'autres. 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.