Ripper Posted April 24, 2012 Report Posted April 24, 2012 (edited) Hi my friends. I'm fresh meat on this electronic circuitry planning thing, so noob doubts are something that I have A LOT. (not an issue for me to solder or etch a pcb if I have the final project file though, just fixed two old midi mergers this month, lol) I've been reading some things here and at the uccaps.de fabulous pages, and would like to do someting like a 5 In 1/2 out Midi Merger. So, the question is: May I do it without having to go for the router project? How? It's not that I think I couldn't build the Router, but more a question of going for the cheaper option. I admit I don't have a clue of where to start or which is the cheaper way of doing this. I suppose that the midi router would be the answer, but the cost is something that counts a lot here. By the way, C programming is not my land, I'm an SQL guy. Obviously I thing I can tweak some things in C if I'm guided on the right direction. Please, appologise the noob here for this one, but believe me, I am reading on a daily basis on this, and can't see an alternative for this without being the midi router. Best regards. Edited April 26, 2012 by Ripper 1 Quote
TK. Posted April 25, 2012 Report Posted April 25, 2012 Today, with the MBHP_CORE_LPC17 core, it's probably better to create a MIDI merger based on MIOS32, especially since you will get USB-MIDI (and even OSC via Ethernet for wireless transfers) for free! E.g. have a look into the MIDI 4x4 application: http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fmisc%2Fusb_midi_4x4%2F The APP_MIDI_NotifyPackage() function in app.c routes the MIDI events, even for a SQL guy it should be obvious what has to be changed to route all inputs to a single output, no? ;-) Best Regards, Thorsten. Quote
Ripper Posted April 26, 2012 Author Report Posted April 26, 2012 Today, with the MBHP_CORE_LPC17 core, it's probably better to create a MIDI merger based on MIOS32, especially since you will get USB-MIDI (and even OSC via Ethernet for wireless transfers) for free! E.g. have a look into the MIDI 4x4 application: http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fmisc%2Fusb_midi_4x4%2F The APP_MIDI_NotifyPackage() function in app.c routes the MIDI events, even for a SQL guy it should be obvious what has to be changed to route all inputs to a single output, no? ;-) Best Regards, Thorsten. Thanks TK To be absolutely honest I was already convinced that the way would be the midi router project. As such, I've been reading on it and doing my maths (AKA €, lol) with your part lists help ;) Now, with this CORE_LPC17 of yours you messed all my plans, hehe. Have to start everything again and see if I really have the needed courage to do a 2 side PCB etching AND figure the right approach to the "periferal" MBHP boards I should need to "convert" from your original Core V_3 Midi Router project to the new CORE_LPC17. About the MIOS, it looks easier than I thought, althought I'm aware that the doubts on these things only appear when you really put your hands on it. Obviously, If I'm going for "some" changes (for me, as a noob, any change to the original is a headache) from the base project, I will try to get the most out of it. That being sad, I am considering a 6x6 routing approuch, so that I wouldn't need the ESI M8U Midi Interface, the midi mergers and to change cables everytime I need to sysex the synths anymore. My encyclopaedia of doubts will come up to this thread as far as i'm reading more on the CORE_LPC17 thing. Once again, a big thanks from Portugal to TK. Cheers, Joao Quote
Ripper Posted April 26, 2012 Author Report Posted April 26, 2012 I'm sold: CORE_LPC17 will be. :) Let's read, read, restart. Then, ask midibox fellows, haha! Quote
Ripper Posted April 26, 2012 Author Report Posted April 26, 2012 (edited) First 2 doubts (Those noobs...:( ): 1- As far as I can understand midi in/out3 goes to J5b and midi in/out4 goes to J4b. In the extensions example there is no "J2" for slave chaining as it does on the IIC modules schematics. How should I "chain" the 2 extra in/outs I need? (I need 6) 2- J5a/b should be enough for direct connection for the 6 buttons and 1 knob, or do I have to shut up and keep on reading (herm... I know i must)? Thanks for the answers you may give to me! Edited April 26, 2012 by Ripper Quote
Ripper Posted April 26, 2012 Author Report Posted April 26, 2012 (edited) As I do my reading I think the answer to my doubt 1 is called J4A, am I right? (using IIC Midi Modules, of course) Obviously I wouldn't mind if I could use the "no PIC" option, used in J4b and J5b, but I thing I'm putting my feet on moving sand! :) Edited June 7, 2012 by Ripper Quote
TK. Posted April 26, 2012 Report Posted April 26, 2012 Yes, J4A is free for IIC accesses. Handling the IIC_MIDI interface requires a bit more code, see this test app: http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fmios32_test%2Fiic_midi_check%2F The RI signals if the IIC_MIDI modules have to be connected to J10.D0..3 (see the LPC17 configuration in mios32_config.h) Best Regards, Thorsten. Quote
Ripper Posted April 27, 2012 Author Report Posted April 27, 2012 Thanks TK, I'll study that! Now, let's do my maths to buy the parts for the beast. Quote
Ripper Posted May 1, 2012 Author Report Posted May 1, 2012 Hi guys, How can I connect the extra usb ports? I mean: On the LPC core's PCB. Is this ALPS STEC12E encoder, 24/24, vert, MT encoder good for the LCD control of the Midi Router? http://www.reichelt.de/Drehimpulsgeber/STEC12E08/index.html?;ACTION=3;LA=446;ARTICLE=73923;GROUPID=3714;artnr=STEC12E08;SID=11T5Bwf38AAAIAAGwLjiw41da7f1eb285e7486cb567cc7d8aeaf6 Just ordered some of the parts (LPCXpresso, LPC_core17 Pcb and IIC pcb). Would like to order the rest from Reichelt, but have this doubt on the encoder. Best regards, Joao Quote
TK. Posted May 1, 2012 Report Posted May 1, 2012 There is only a single USB port, it will open multiple MIDI interfaces on your PC. If you are working on a Mac, and if you downloaded another application before which only specified a single MIDI IO port, you have to remove the old config from the Audio/MIDI Configuration, and re-power the core to get all 4 interfaces. Yes, ALPS STEC12E will work. Best Regards, Thorsten. Quote
Ripper Posted May 21, 2012 Author Report Posted May 21, 2012 Hi guys, Just to inform you that this project is not forgotten or the forum is ignored. I've been collecting the parts I need for the project. Already have Pcb's, NXP LPC1769 and the LCD. Next month will be the rest. Still searching for the way to go for the enclosure, but probably it will be something like an old vcr enclosure or similar. In time it could be changed for a more deserved one. A big thank you for this great community and all the knowledge that TK and all the other mages share with us, mere noobs. Best regards, Joao Quote
Ripper Posted May 25, 2012 Author Report Posted May 25, 2012 (edited) The noob is back. Can someone tell me if i can use these function keys for the router? http://www.reichelt.de/Eingabetaster-Digitast-/DT-6-SW/3/index.html?;ACTION=3;LA=5;ARTICLE=7241;GROUPID=3280;artnr=DT+6+SW;SID=13T47deX8AAAIAAFpdEgE065e1b34617395d456b8da9822583924 Edited May 25, 2012 by Ripper Quote
Hawkeye Posted May 25, 2012 Report Posted May 25, 2012 Yes, these tactile switches will work :-) Quote
Ripper Posted May 25, 2012 Author Report Posted May 25, 2012 Yes, these tactile switches will work :-) Thanks Hawkeye ;) Quote
Zossen Posted May 25, 2012 Report Posted May 25, 2012 (edited) for the eclosure : you can make the faceplate and the case easy from Acryl and MDF - just make the plate with "Frontplattendesigner" export it to .dxf - open that in "Inkscape" , - correct the mistakes, corners and lines , make the changes to 0,01 mm line and RGB-color B255 (for Lasercut the lines you have drawn) - save as .svg and send it to Formulor/Ponoko :) ( you can engrave text and later fill it with color or use transparent Acryl and make the text behind the "glas" ) Edited June 9, 2012 by Zossen Quote
Ripper Posted May 25, 2012 Author Report Posted May 25, 2012 for the eclosure : you can make the faceplate and the ease from Acryl and MDF at Formulor.de - just make the plate with "Frontplattendesigner" export it to .dxf - open that in "Inkscape" , - correct the mistakes, corners and lines , make the changes to 0,01 mm line and RGB-color B255 (for Lasercut the lines you have drawn) - save as .svg and send it to Formulor :) ( you can engrave text and later fill it with color or use transparent Acryl and make the text behind the "glas" but i still have not found out how to convert text :question: ) I'll consider your advice, Zossen. :hug: Thanks Quote
Ripper Posted May 29, 2012 Author Report Posted May 29, 2012 Hi my friends. While i'm waiting for the rest of the parts to come, i'm reading and doing the work I can with the parts I already have with me. So, to start I'm trying to flash the bootloader for the lpc17, by following the tutorial in uccaps.de. The problem is that the LED on the LPCXpresso doesn't change from 2 to 3 flashes after I disconnect the usb cable and reconnect it. What am I missing? Quote
Ripper Posted May 29, 2012 Author Report Posted May 29, 2012 Forget that. :thumbsup: Just flashed it again with no fuzz now: 3 beautifull fadings + 1 off + continuous on. Go figure. I'm good (lol) :super: Quote
Ripper Posted June 5, 2012 Author Report Posted June 5, 2012 All parts in da house! :flowers: Let's try to get some 25 hour days to have time to put my hands on the job. Quote
Ripper Posted June 7, 2012 Author Report Posted June 7, 2012 (edited) Doing my homework, while I don't get my hands on the solder iron, I'm trying to make a start on the software part of the project. I'm trying to understand this IIC address thing. I know I have to have one IIC.asm per IIC Midi Module, so the first one would be IIC_DEVICE_ADDRESS EQU 0x10. What would be the other ones: 0x12, 0x14, 0x16? What about the other 2 Midi I/O's of the core? And the physical assignation we need to put on J3 pin's. Is there any special procedure for that? I'm absolutely sure that those doubts are answered somewhere in the Wiki, but it is a matter of security, not leasyness, as I am very new to this Microcontroller/PCB/C/Assembly thing. Edited June 7, 2012 by Ripper Quote
TK. Posted June 7, 2012 Report Posted June 7, 2012 Please remember that the LPC17 core supports 4 internal UARTs as documented here: http://www.ucapps.de/mbhp/mbhp_core_lpc17_midi3_midi4_extension.pdf Using these UARTs is the preferred solution as the system load is minimal. (I'm not saying that the load generated by 4 IIC_MIDI modules is high, but the perfect solution would use as less IIC_MIDI modules as required) So, you only need two IIC_MIDI modules, and since the IIC address selection is done via jumpers, you only need a single firmware (just the precompiled .hex file) for the PIC16F88 The required jumper settings are documented at the MBHP_IIC_MIDI page: http://www.ucapps.de/mbhp_iic_midi.html Search for "Configuration and Interconnections", there is a picture which shows how to stuff the jumpers for address 10 and 12 Following application can be used to test if the LPC17 core can access the IIC Modules: http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftroubleshooting%2Fiic_midi%2F Once this test is working, the part for a merger application is simple: just use UART0...UART3 ports to access the internal MIDI ports, and IIC0..IIC1 to access the IIC_MIDI ports E.g. you could take this app as a basis: http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fmisc%2Fusb_midi_4x4%2F and enable IIC_MIDI in the mios32_config.h file: // enable 2 interfaces #define MIOS32_IIC_MIDI_NUM 2 // Interface and RI_N port configuration // _ENABLED: 0 = interface disabled // 1 = interface enabled // 2 = interface enabled, check RI_N pin instead of polling receive status // _RI_N_PORT: Port to which RI_N is connected // _RI_N_PIN: pin to which RI_N is connected #define MIOS32_IIC_MIDI0_ENABLED 1 #define MIOS32_IIC_MIDI0_RI_N_PORT GPIOC // not used due to mode #1 #define MIOS32_IIC_MIDI0_RI_N_PIN GPIO_Pin_0 #define MIOS32_IIC_MIDI1_ENABLED 1 #define MIOS32_IIC_MIDI1_RI_N_PORT GPIOC // not used due to mode #1 #define MIOS32_IIC_MIDI1_RI_N_PIN GPIO_Pin_1 [/code] Note: RI_N isn't used here, therefore the GPIO settings can be ignored (they are only valid for STM32, I'm unsure if the driver is ready to support LPC17 as well) Best Regards, Thorsten. Quote
Ripper Posted June 8, 2012 Author Report Posted June 8, 2012 (edited) I know that we can only use 4 UARTs, but would it be worthewile (Or feasible) to add a core 8 (I suppose by CAN) to sum the 2 extra IIC Midi Modules I need, or is there another solution for this? For now I can use the 4 UARTs plus the USB ports, once that one of my machines is a Kurzweil PC3K and the other is a Roland Fantom XR,both of them with USB midi. The problem is for future, once that I (Who does ? :) ) don't think to stop my GAS for ever :) Edited June 8, 2012 by Ripper Quote
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.