protofuse Posted December 6, 2009 Report Share Posted December 6, 2009 projects are never finished! my protodeck works fine, hardware part & soft part (with Max for Live) work fine I'd like to know what I must change in order to upgrade it to core32. especially the hardware part. my 2 cores architecture is this one: I guess I could use *only one core32 (with core8, I could have do that too, but...) Quote Link to comment Share on other sites More sharing options...
TK. Posted December 6, 2009 Report Share Posted December 6, 2009 The reason why you took two cores was, that only 64 multiplexed AIN inputs are supported by MIOS8. This limitation doesn't exist for MIOS32 anymore. Three AIN modules can be connected to J5A/B/C, and the three AIN multiplexer select lines have to be mapped to free IO pins (e.g. J19) Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
protofuse Posted December 6, 2009 Author Report Share Posted December 6, 2009 The reason why you took two cores was, that only 64 multiplexed AIN inputs are supported by MIOS8. This limitation doesn't exist for MIOS32 anymore. Three AIN modules can be connected to J5A/B/C, and the three AIN multiplexer select lines have to be mapped to free IO pins (e.g. J19) Best Regards, Thorsten. hi thorsten, I guess I would work on the code portability, but my code is very basic, so it may not be hard. the thing that makes me happy : usb, only one core, and I guess a lot of other thing I don't even know :) Quote Link to comment Share on other sites More sharing options...
protofuse Posted February 21, 2010 Author Report Share Posted February 21, 2010 (edited) about DIN, can I cascade 3 DINx4 on the core32 ? I easily found the info for AIN (and Thorsten wrote it in this thread) but for DIN.. I guess the features of the protodeck wouldn't be a problem to replace the 2 core8 by only 1 core32: THE PROTODECK controller features: - 87 potentiometers - 90 buttons - 81 rgb leds - 2 PIC 18F4620 (20MHz RISC processors) - fully custom rgb led drivers - fully custom firmware - 2 MIDI IN/OUT interface - included PSU in the box am I right? would I have to make A LOT of change in the code? (codes are there: http://www.julienbay...odeck/#firmware but soon in the repositories here! ) I could use midi over usb (not OSC for the moment) ..?! Edited February 21, 2010 by protofuse Quote Link to comment Share on other sites More sharing options...
TK. Posted February 23, 2010 Report Share Posted February 23, 2010 There are no conflicts at the hardware side, and not that many adaptions have to be done at the software side. The code will look better after the migration, e.g. instead of // send mapped midi-note with 127 or 0 velocity MIOS_MIDI_BeginStream(); // midilink encapsulation header MIOS_MIDI_TxBufferPut((unsigned char) button_event_map[pin][0]); // first byte from table = CHANNEL MIOS_MIDI_TxBufferPut((unsigned char) button_event_map[pin][1]); // second byte from table = NOTE MIOS_MIDI_TxBufferPut(pin_value ? 0x00 : 0x7f); MIOS_MIDI_EndStream(); // midilink encapsulation tail [/code] you can now write: [code] MIOS32_MIDI_SendEvent(DEFAULT, button_event_map[pin][0], button_event_map[pin][1], pin_value ? 0x00 : 0x7f); where DEFAULT is a MIDI port (usually assigned to USB0) can I cascade 3 DINx4 on the core32 ? of course... Some tutorials can be found here: http://www.ucapps.de/mios32_c.html Recommented reads: #001: Forwarding MIDI Events #002: Parsing MIDI Events #003: Debug Message #004: Sending MIDI #009: Controlling up to 128 LEDs with DOUTX4 Modules #010: Scanning up to 128 buttons connected to DINX4 Modules #012: Scanning up to 64 analog pots (or even more) Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
protofuse Posted February 23, 2010 Author Report Share Posted February 23, 2010 There are no conflicts at the hardware side, and not that many adaptions have to be done at the software side. The code will look better after the migration, e.g. instead of // send mapped midi-note with 127 or 0 velocity MIOS_MIDI_BeginStream(); // midilink encapsulation header MIOS_MIDI_TxBufferPut((unsigned char) button_event_map[pin][0]); // first byte from table = CHANNEL MIOS_MIDI_TxBufferPut((unsigned char) button_event_map[pin][1]); // second byte from table = NOTE MIOS_MIDI_TxBufferPut(pin_value ? 0x00 : 0x7f); MIOS_MIDI_EndStream(); // midilink encapsulation tail you can now write: MIOS32_MIDI_SendEvent(DEFAULT, button_event_map[pin][0], button_event_map[pin][1], pin_value ? 0x00 : 0x7f); where DEFAULT is a MIDI port (usually assigned to USB0) of course... Some tutorials can be found here: http://www.ucapps.de/mios32_c.html Recommented reads: #001: Forwarding MIDI Events #002: Parsing MIDI Events #003: Debug Message #004: Sending MIDI #009: Controlling up to 128 LEDs with DOUTX4 Modules #010: Scanning up to 128 buttons connected to DINX4 Modules #012: Scanning up to 64 analog pots (or even more) Best Regards, Thorsten. ok Thorsten, thanks a lot for your anwser. I'd really like to upgrade in a few months. About LCD, I'll check further but I understood we can use 2LCD with this core... wow! all the best, Quote Link to comment Share on other sites More sharing options...
lucem Posted February 24, 2010 Report Share Posted February 24, 2010 About LCD, I'll check further but I understood we can use 2LCD with this core... wow! Actually, if you have free pins left on the core32, you can use more than just two ;) Quote Link to comment Share on other sites More sharing options...
protofuse Posted February 24, 2010 Author Report Share Posted February 24, 2010 Actually, if you have free pins left on the core32, you can use more than just two ;) ok. in my case, 1 is enough. can I use a 2x40? or only 2x16 ? Quote Link to comment Share on other sites More sharing options...
protofuse Posted March 22, 2010 Author Report Share Posted March 22, 2010 about "converting" my 2 main.c for my 2 core8 to only one main.c for my future core32, which "skeleton" could I use? I mean, my midibox is 2x MB64. Is there a MB64 version of the main.c for core32? Quote Link to comment Share on other sites More sharing options...
TK. Posted March 22, 2010 Report Share Posted March 22, 2010 First of all I strongly recommend you to work through the tutorial lessons under http://www.ucapps.de/mios32_c.html Step by step you will get some very useful hints about the mechanisms provided by MIOS32 and FreeRTOS Once you reached tutorial #12 you should get a clear explanation how to scan multiplexed pots. Yes, you could use this code as a template. But you shouldn't start reading there - just start at #01 to understand the basics. Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
protofuse Posted March 23, 2010 Author Report Share Posted March 23, 2010 First of all I strongly recommend you to work through the tutorial lessons under http://www.ucapps.de/mios32_c.html Step by step you will get some very useful hints about the mechanisms provided by MIOS32 and FreeRTOS Once you reached tutorial #12 you should get a clear explanation how to scan multiplexed pots. Yes, you could use this code as a template. But you shouldn't start reading there - just start at #01 to understand the basics. Best Regards, Thorsten. sorry Thorsten... I have to RTFM. I'll do right now, I repost after if problem remains. thanks for your time and support and all :) Quote Link to comment Share on other sites More sharing options...
protofuse Posted March 23, 2010 Author Report Share Posted March 23, 2010 I'd like to build the toolchain here. I only found that : http://www.midibox.org/dokuwiki/doku.php?id=windows_mios32_toolchain_quickstart I guess I didn't find the good page... any ideas? Quote Link to comment Share on other sites More sharing options...
philetaylor Posted March 23, 2010 Report Share Posted March 23, 2010 I think that is a "placeholder" The instructions are here: http://www.midibox.org/dokuwiki/doku.php?id=windows_mios32_toolchain_core Cheers Phil Quote Link to comment Share on other sites More sharing options...
protofuse Posted March 23, 2010 Author Report Share Posted March 23, 2010 thanks a lot phil ! Quote Link to comment Share on other sites More sharing options...
protofuse Posted March 23, 2010 Author Report Share Posted March 23, 2010 I guess mios8 and mios32 toolchains can coexist on the same computer... ?! Quote Link to comment Share on other sites More sharing options...
protofuse Posted April 3, 2010 Author Report Share Posted April 3, 2010 (edited) about midi port and USB port. If I want to use USB port only for midi IN & OUT, I guess I have to forward things like that in every user functions that received & send midi bytes, right ? : // forward USB0->UART0 and UART0->USB0 switch( port ) { case USB0: MIOS32_MIDI_SendPackage(UART0, midi_package); break; case UART0: MIOS32_MIDI_SendPackage(USB0, midi_package); break; } am I right? Edited April 3, 2010 by protofuse Quote Link to comment Share on other sites More sharing options...
TK. Posted April 3, 2010 Report Share Posted April 3, 2010 Could you explain the issue a bit better please, because somehow your question doesn't make sense to me. Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
protofuse Posted April 3, 2010 Author Report Share Posted April 3, 2010 hello thorsten, no issue yet. I'm only working on the code part and I didn't test it. I wanted to know if I could use USB port to make midi communications instead of the midi ports. I guess yes. If I can, I wanted to know if I had to make a special thing in the app code. Quote Link to comment Share on other sites More sharing options...
TK. Posted April 3, 2010 Report Share Posted April 3, 2010 No, just send to the DEFAULT port, which is assigned to USB0 by default. If you want to send to a MIDI port, just use MIDI0 instead of DEFAULT (or USB0) There is nothing special that you need to add to your code to make this working. It seems that you still haven't worked through the tutorials ;) Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
protofuse Posted April 3, 2010 Author Report Share Posted April 3, 2010 No, just send to the DEFAULT port, which is assigned to USB0 by default. If you want to send to a MIDI port, just use MIDI0 instead of DEFAULT (or USB0) There is nothing special that you need to add to your code to make this working. It seems that you still haven't worked through the tutorials ;) Best Regards, Thorsten. ok! understood. Thorsten, I read them, but was confused. (sincerely) thanks a lot :) 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.