Jump to content

Rics

Programmer
  • Posts

    69
  • Joined

  • Last visited

Everything posted by Rics

  1. Ok, i'll investigate on it! Thank you!
  2. Just a small question, i've searched over the BLM forum about the in-out led/button signals without success, so i try to ask here. Can i drive the Leds on the BLM module like i do when they're connected to the DOUT modules? I mean, if i've a midi output signal from a software that is sent to the core module via midi, can a BLM Module single led receive this signal? I've did a test yesterday connecting my old PIC based core with a DOUT module which had his first multiplexer with a single led connected, i set on traktor that when the first deck play button were pressed, a CC midi output signal was sent on the midi output. My PIC Core received the signal and then it sent to the led via the DOUT module. It worked flawlessy: pressing with the mouse on play button started the track and powered on the led, then a repress of the play button stopped the track and switched off the led. Perfect. Can you confirm that I can do the same with the BLM modules? I remember that you said that the buttons and/or LEDs are indipendent, so i assume that they send and receive midi values also indipendently. This is crucial for the project!
  3. As said in the previous post, this midibox project will be designed to control NI Traktor software. Inspired by a commercial product i've estimated the number of components: 50 Pots 9 Encoder 150 Leds 160 Push buttons 5 Faders USB interface The pots, encoders, leds and buttons numbers are an estimate, remains that their number can change while the project goes ahead. So, now that we know an estimate of how many components we need, we can start to looking at the ucapps.de modules. The Core I've said that we need an usb interface. For this task we can use the good old PIC Based Core with MIOS8 adding an USB module like the USB GM5 Module, but this means that we have to buy a PIC Based Core plus buy a dedicated board for USB. Then connect them. Why don't use an integrated solution "Core&USB"? Luckily since some time we have a new core module, the STM32 Based Core which have integrated usb (2in and 2out), more Flash and Ram space for custom applications, and last, but no less important, we don't need to know "assembler" coding. "C language" coding knowledge is the only thing required to build custom applications, thanks also to the code examples that we have on the documentation. Then a lot of other useful STM32 Based Core features can be found on his dedicated page. Analog Inputs Around 50 Potentiometers and 5 Faders. Yes, all these, like in a classic dj mixer with effects. To send the analog signals from the Pots to the STM32 Core module we need 2 AIN (Analog INput) modules. Each module have, in his board, 4 multiplexer units, each one with 8 inputs. So, 4 multiplexers with 8 inputs each one means that with 1 AIN module we can have 32 pots connected to the STM32 Core module. But we need more than 32 input: from the AIN documentation we know that we can chain more AIN modules, so adding another AIN module can fit our needs. 2 chained AIN modules equals to 64 Analog inputs, we need around 55 inputs, so the mission is accomplished! Digital Inputs and Digital Outputs In the past, connecting Led's and Buttons (discrete on off values, 0V or +5V) required the use of more DIN (Digital INputs) and DOUT (Digital OUTputs) modules for about 64 leds and 64 buttons (a classic Midibox64). This time we need about 150 Digital outputs for leds and 160 Digital inputs for buttons. If we think about DIN and DOUT modules we know that each module, via 4 multiplexers with 8 in/out each one, can handle 32 digital inputs (DIN Module) for buttons and 32 digital outputs (DOUT Module) for leds. With a simple math we know that to fit 150 leds and 160 buttons we need about 5 DIN Modules and 5 DOUT Modules. This high amount of modules means also an high amount of power absorption, so the core module can't be only powered via an USB connection, but surely the system will require an external PSU to supply the necessary amount of current. How to switch off this problem? Using the BLM system (Button Led Matrix). This is a new system used to connect digital inputs and outputs, each BLM module can handle 64 buttons and 64 Leds. Calling our friendly math we can consider that for 150 leds and 160 Buttons we can stay very large using 3 BLM modules! Then this system reduces dramatically the power absorption so also the USB powered mission is accomplished! Hey! But i've forgot the Encoders! Encoders can be considered like 2 buttons, one to go up with the values, and one to go down. So we have to considerate, for 9 encoders, 18 digital inputs to the Core. Unluckily the BLM module can't handle encoders, we have to use a dedicated DIN Module for these encoders. But luckily, this time, the BLM modules have a DIN chain, so after the last BLM module we can append a DIN module for our encoders. Problem Solved! Resume After all this clear/unclear (absolutely revisionable) project explanation, here's the list of modules required: 1 STMCore32 module 2 AIN Modules (chained) 3 BLM Modules + 1 DIN Module (all 4 chained) Seems an effortless task considering that almost all the PCBs, except the BLM module that will require a custom design, are premade by dedicated PCB producers. During the development of the project nothing can exclude that i'll do a custom single PCB board for the system. We will see this later. Next post will be about the tools setup, needed to compile uploadable .hex files to the core module (Both PIC and STM32), on osx system.
  4. Ciao! Se hai esperienza, tipo scuola tecnico industriale sarà una cavolata realizzare la midibox64! Lo schermo lcd puoi tranquillamente non usarlo, è comodo solo per avere un feedback quando non hai la midibox collegata all'editor di Serge (PC). Il MIOS del microcontrollore, se lo acquisti presso SmashTV ti arriva gia "burned", ossia gia inserito, quello che dovrai fare sarà solamente caricare il file .hex dell'applicazione midibox64. Se fai tutto da solo ti sarà necessaria una porta com del pc ed una scheda "flash burner". Per l'usb non so dirti in quanto io costrui una midibox64 senza usb, poi il SID non l'ho mai costruito. Se ti servono altri chiarimenti basta che chiedi! ;)
  5. Rics

    Start!

    Ok, i'm starting this blog to have (and to give) a "document" of my work about the building of a Traktor Controller. I had this idea in my head since 2 years, and i'm starting now because i'll use this project for my "Multimedia Design degree thesis". I'm not entirely outside of the Midibox projects, 3-4 years ago i've succesfully builded myself a MidiBox64, but i've never touched something related to the assembler, nor the new C platform programming. Simple way, i've never programmed for MidiBox. This time, my Traktor controller project, will require a bit of software programming skills and a bit of pcb design to adapt all to my needs. To fit the case design, in a cool way, probably (if not surely) i'll have to design my pcb's, and for the software side, to have all working, i'll merge C code bits taken here and there in the documentation. So i'll post here all my successfully steps to have a useful "roadmap" for who is going, in the next times, to learn about midibox controller projects, like me now! Have fun! Rics ;)
  6. Yeah, started 5 minutes ago to install these packs, i got now the first stm32 app compiled! Cool, now that i've the "basement" ready i can start to do tests. :frantics: Thank you as ever for your great support Thorsten! Surely later i'll set a nice guide through a roadmap of my steps! EDIT: Blog started, here:
  7. Thanks for the tip, i've added these lines and had this in output: Creating object file for app.c make: arm-none-eabi-gcc: No such file or directory make: *** [project_build/app.o] Error 1 This is really out of my capacities, i can't totally imagine what can be... :(
  8. Thank you Thorsten! Exactly yestarday i started to look into programming and i did first steps installing GPUTILS and SDCC. For MIOS8 i've succesfully compiled and uploaded to the core the Skeleton template. I've downloaded the MIOS SVN repository via terminal. Then i've tried to do the same thing with MIOS32 SVN repository, download and then try to compile the skeleton, but i had this problem: /mios32/trunk/mios32/mios32.mk:57: /mios32/trunk/mios32//mios32_family.mk: No such file or directory Makefile:51: /mios32/trunk/modules/app_lcd//app_lcd.mk: No such file or directory make: *** No rule to make target `/mios32/trunk/modules/app_lcd//app_lcd.mk'. Stop. Dont know why this "//" double slashes. My .profile file is configured this way: # mios export MIOS_PATH=/mios/trunk export MIOS_BIN_PATH=$MIOS_PATH/bin # mios end # mios32 export MIOS32_PATH=/mios32/trunk export MIOS32_BIN_PATH=$MIOS32_PATH/bin # mios32 end # MacPorts Installer addition on 2010-10-07_at_12:23:46: adding an appropriate PATH variable for use with MacPorts. export PATH=/opt/local/bin:/opt/local/sbin:$PATH # Finished adapting your PATH environment variable for use with MacPorts. What can be? PS: I will check the new BLM scalar as soon as i'll have more confidence with all the "C System", thank you for the update!
  9. Here's the last block diagram: Ok, now seems that all the basic modules connections are right and quite clear. (The DIN module is connected to the last BLM module via his J2 jumper as adviced from Thorsten). Now I think that the first project definition step is done. I'll take a week stop as i'm busy with my last uni exam, after that i'll start to do a self training with C programming on Pic's Core8 in the meantime that Core32 board and the other components will come. As ever, any hint or question is really appreciated!
  10. Ok for J19, i've understood the example. Last place to go, in case of more AIN needed, is J19. This time i'm pretty sure that you meant J5C! :tongue: By the way i've saw the mios32_config.h and all seems clear, i've only a doubt about the J16 Pin Mapping: have this one the same purpose of J6 (S0-SI-RC) analog interface in pic's core8? (referring to How to connect 64 pots with PIC based core). Since from what i read in the STM32 Core docs, J16 is suitable for SD Cards and Ethernet modules, but at the same time J16 presents the S0-SI-RC connection pins. (RC1 + RC2 in STM32 core instead a single RC found on Pic's core J6). / The boot message which is print during startup and returned on a SysEx query #define MIOS32_LCD_BOOT_MSG_LINE1 "Tutorial #012" #define MIOS32_LCD_BOOT_MSG_LINE2 "(C) 2009 T.Klose" // AIN configuration: // bit mask to enable channels // // Pin mapping on MBHP_CORE_STM32 module: // 15 14 13 12 11 10 9 8 // J16.SO J16.SI J16.SC J16.RC J5C.A11 J5C.A10 J5C.A9 J5C.A8 // 7 6 5 4 3 2 1 0 // J5B.A7 J5B.A6 J5B.A5 J5B.A4 J5A.A3 J5A.A2 J5A.A1 J5A.A0 // // Examples: // mask 0x000f will enable all J5A channels // mask 0x00f0 will enable all J5B channels // mask 0x0f00 will enable all J5C channels // mask 0x0fff will enable all J5A/B/C channels // (all channels are disabled by default) #define MIOS32_AIN_CHANNEL_MASK 0x00ff If i get right seems more simple than i thought before. As you said before i imagine that it will be only a task of software adapting. Ok, time to sleep, tomorrow i'll add a modified block diagram updated with all the today infos and tips!
  11. Clear, i'll wait :) Yes, today i was looking at them, the examples are relly well commented. By the way i have to wait to receive the boards from smashtv as at the moment i've only the Core8. Perhaps as training i can start to work with it to test the C programming in the meantime that the Core32 will be shipped. Obviously via the mios8 C page! :) That would be cool! Thank You! Ops, just a copy and paste error. But i've not clear why i have to use J19: From the STM32 based core page on ucapps.de, for analog sources or AIN multiplexed modules, is wrote that i've to use J5a/b/c. From the same page is reported that J19 is an analog out ideal for AOUT module (cv etc) or SID module. Why i have to use J19 for the AIN multiplexers when is referred on that page to use the J5 jumper for them? Ok, that's clear. So in add to the BLM connected to the J8/J9 i've to connect also a DIN module. But where on the Core32 if i've already connected the J8-J9 to the BLM? Can be done a BLM+DIN cascade? From the Core32 page on ucapps, about J5 i've read "There are also some application which use this pin as digital in- or output (mostly described in README.txt file)." But i can't find this readme.txt file and i don't know if i can use these inputs of J5a/b/c for digital inputs if i have to use them for the 2 multiplexed AIN modules. Right, my fault, i've just checked the Core8 board and i've saw that both J8 and J9 have Only "SI" and "S0" separated and their corresponding pins are on the BLM J1. Connection clear! Here's the updated diagram: Updated, just ckeck next posts for the diagram
  12. Thank you for the reply Thorsten! Oh, and let me know about the scalar firmware for Core32 please, i'll be glad to check it out to learn it! Here's a simple block diagram for my system idea: Updated, just ckeck next posts for the diagram Despite i've almost read all about the new BLM scalar modules and the new Core32 board, i've not so clear the connections between J8 and J9 (the digital in and out) with the J1 of the BLM module as i'm used to the old Core8 where DIN and DOUT have their respective modules for J8 and J9 jumpers in the core board. With the BLM module i have the impression that DIN and DOUT modules are merged in a single board, the BLM one. But, sorry for the repeat, i can't get the J1 BLM jumper connection with the J8 and J9 jumpers from the Core module. Hence i've the schematic idea done and "approved in a theory manner by the gurus" i'll be happy to start a blog about the building process!
  13. I've read here and there about the Button Led Matrix and from the scheme i've saw that every led have a button associated. What about when i need only the button without associated led, or i need only a series of 5 leds without associated buttons driven by software? I mean, some buttons don't require a visual feedback with a led, and there's another part of the project where i need only a visual feedback with led's driven by traktors led output signals that will go on the DOUT. As the BLM is a matrix of buttons with associated leds, is possible to have, in some cases, only led's without buttons and viceversa?
  14. Hi Thorsten, well, i've not really a great experience in programming with C, but i'm into javascript and a bit of php related to html and css web development, so i think that with not so much i time i can get the "C way of coding". I'm going to read it! Yes, i've just looked at these examples, but at the moment just to have an overview about C programming, that seems not so difficult. Later i'll look at them for my needs. Clear, i understand. Obviously I'll understand it better after a complete read of the above links! :geek: As said before i'm a bit optimistic about my skills, would be cool to use the STM32 core with usb support! I've just visited the FAQ page (yes, something that i've to do before all my questions! :blush: ) and yeah, after some years the quantity of informations has grew up exponentially! Cool!
  15. Hi to all! I'm not new to the midibox project, i've already done a midibox64 http://www.youtube.com/watch?v=7sh1IQz2Ivo, then after this one i've tought in the last two years to do a complete dedicated traktor controller but a lot of other tasks kept out me from the realization while i ever did schemes and layout prototypes in the meantime without building it. By the way, going ahead with my idea! In these last days was announced a new controller for NI Traktor, the 4midiloop. It is really cool, well builded, top components etc, it was conceived with in mind the total control of four decks, four fx, and all the deck loop, cue, etc controls without too many shift functions or layers. I really like this concept and is very near, if not the same of mine not developed in these years. Seems that the quality build cost something, in fact the price is set to 1300€, personally too much for a controller, obviously they've invested on it and someone that is afraid to build himself controllers perhaps is tempted to buy it. Not me, a "brave" DIY player! :tongue: So, if you've read the 4midiloop specs you can see that the components are: 47 Pots 9 Encoder Rubber knobs for best tactile feeling 152 Led's 166 Push buttons 5 Faders USB bus powering Power supply via USB- Bus / consumption less than 300mA USB interface class compliant / no driver necessary 1- I'll start with the usb bus powering, from what i know with midiboxHUI projects can't be used the new core32, i had to stick with the core8, then if core32 can be used i didn't saw a documentation for the core32 linking. Can you confirm me the use of core8? 2-For the 47 pots + 5 faders is quite simple, a core with 2 AIN Modules. 3-The 9 encoders + the 166 push buttons requires a total of 184 digital inputs, considering the first core were the 2 AIN are connected i've 64 digital inputs available with 2 DIN modules, so another core, linked to the first one, is necessary for the remaining 120 digital inputs. If i don't get wrong, i can use a core with midibox64 (for pots, faders and first 64 buttons/encoders) and a 2nd linked core with midio128 for the remaining 120 buttons/encoders. A confirm of this chain is really the focus for this project. 4-The Led's are consequential to the digital inputs, so no problem about Led's if all the digital inputs for buttons&encoders can be obtained with before explained 2 linked cores system. 5-(I'll update this point about knobs, case and panels after the project idea phase have success!) Resuming, here are the components: 2 Pic based Cores (which one PIC for my needs?) or 2 STMcore32 (if possible to use them with midiboxHUI projects and if they're linkable linke the Pic based one) 2 AIN modules 6 DIN modules (2 on the first midibox64 core, 4 on the second midio128 core) 6 DOUT modules (2 on the first midibox64 core, 4 on the second midio128 core) The last thing, but perhaps the more cool, is the idea to put all in a single pcb board to ensure a better fit for the case, this require a lot of effort in the pcb design but i'm not afraid of this, i did pcb design in my school so i've a bit of experience, but as ever, advices on this are really appreciated. I know that if i use all the separated modules i can dubug it easily than a "monster pcb", but you know, that's the cost to pay for a custom choice. I don't use schematic and pcb software since some years, i'm trying Eagle and after some test i've found that isn't difficult to use it. The things that i miss that might be useful are the schematics, in the ucapps website i find, for every project, the .brd pcb files but not the .sch schematics files. These files can speed up the single big pcb board design process. Well, after this long intro i wait your thought and advices before starting this project that i'll use for my university design thesys. Thank you all for the support and sorry for my school learned english! Rics (Later i'll add a flowchart of the system to be more clear if the description isn't)
×
×
  • Create New...