
flo
Programmer-
Posts
71 -
Joined
-
Last visited
Content Type
Profiles
Forums
Blogs
Gallery
Everything posted by flo
-
For me, the relais needs to be powered to bypass the FX so that the FX is enabled "in rest". When something happens and the unit is not powered anymore, the FX will be enabled in the FX chain and can stilll be manually switched on/off. I rewired the LED indicator so that the LED will be ON when the relais is not powered and the FX is NOT bypassed (thus is enabled in the FX chain). To me, this indicator makes more sense. ULN relay driver with LED indicator On when not bypassed.JPG
-
The 2 SID chips I ordered have arrived in the Netherlands, thanks!
-
Btw: Just to try OpenOffice-Calc I dumped the orders into a speadsheet and it totaled (with elemental's order of ? set to 0): 636 503 not: —TOTAL— —-629—- —500—
-
I guess it's something like this. Optionally a low-pass filter with a series resistor and a capacitor to earth can be used between IC OUT an INPUT B to avoid clicks if needed. ULN2803 relay driver with LED indicator schematic.JPG
-
The ULN2803 can replace the FETs (with darlington transistors) and the protection diodes for controlling 8 relays.
-
@Dimitree: Thanks for that schematic link. +1 for the english explanation. :) It's probably something like this: IC OUT = DOUT module output pin or some output pin from the CORE like the J5 header. The relay-coil is put between R+ and R-. When IC OUT goes ON, the gate-source voltage is positive and the FET BS170 is switched on. This pulls the drain and R- to ground. The relay-coil will now conduct current because there is ~5V across it and the relay is switched on. The "diode" on the left in series with the resistance (~5k or something) between 5V/R+ and R- is actually the indicator LED which now lights-up. When IC OUT goes OFF, the gate-source voltage is 0V and the FET BS170 is switched off. This will let the drain and R- be pulled up to 5V again. The relays will be switched off and the indicator LED will not light-up anymore. BA159GP is the protection diode that takes care of the induction current that occurs when the relay is switched off.
-
@Durisian: Yes, nice, exactly what I had in mind to implement for the FX loopers in a series chain. Thanks! Do you mind if I use this on my user page as a "preliminary" schematics? http://www.midibox.org/dokuwiki/flo I will reference you as the name of course. Did you also add indicator LEDs? Also: The relays need to be connected so that, in rest / not powered, they do not bypass the FX. This way when something goes wrong and power is removed, the FX are not bypassed and still can be manually switched.
-
Oh well, I'll just wait until the schematics are re-posted, no hurry, no worry... I'll probably use a ULN2803 Relay Driver Chip, like this: http://www.midibox.org/dokuwiki/flo#using_dpdt_relays http://www.ucapps.de/midio128/relay_example.pdf and then add the "indicator LEDs", controlled by the relays.
-
@Durisian: > "I've whipped up an fx bypass schematic for part of pedal box." Do you have a link to that schematic please? I would like to take a look at it. @stryd_one: Thanks for the input!
-
Guitar FX looper with MidiBox - Achitecture functional block diagram added: http://www.midibox.org/dokuwiki/flo#architecture
-
Indeed. ;D I did find that function list but sometimes there just is not enough information. Example: http://www.ucapps.de/cmios_fun.html#MIOS_DOUT_SRSet MIOS_DOUT_SRSet C_DECLARATION void MIOS_DOUT_SRSet(unsigned char sr, unsigned char sr_value) DESCRIPTION sets value of DOUT shift register C_IN number of shift register in <sr> value in <sr_value> C_IN does not state that the DOUT shift register numbers are zero-based nor does the DOUT documentation in: http://www.ucapps.de/mbhp_dout.html, which is very hardware orientated. I had to dig around in SVN to find a note about it that confirmed my assumption: [/] [trunk/] [apps/] [controllers/] [midibox_mm/] [src/] [main.h] // NOTE2: the shift registers are counted from zero here, means: 0 is the first shift register, 1 the second... Also, there is no reference that MIOS_DOUT_SRSet depends on: MIOS_SRIO_NumberSet(...), being called as initialisation before using DOUT module. But I think that it does... Perhaps using the DOUT module is explained somewhere in more detail with documentation and examples but I could not find this. For a newbie like me that makes the leaning curve just a bit steeper.
-
Add more (structured) info in: http://www.midibox.org/dokuwiki/flo
-
Forum move and possible outage - read me!
flo replied to stryd_one's topic in MIDIbox Documentation Project
;D -
On the positive side, albeit a small one: I have ordered only once from them until now, for around 100 euro's on various small parts which I received after 3.5 weeks in perfect order. I did email them several times just for communication's sake: - Before ordering. - After ordering. - After payment was done. - After recieving an email that the order was shipped to me. - After receiving the order. Perhaps that kept things going...
-
Ah, I found it, I guess, on SVN: http://svnmios.midibox.org [/] [trunk/] [apps/] [controllers/] [midibox_mm/] [src/] [mm_vpot.c] MIOS_DOUT_SRSet(LEDRINGS_SR_CATHODES, cathode_patterns[sr_ctr]); [/] [trunk/] [apps/] [controllers/] [midibox_mm/] [src/] [main.h] // NOTE2: the shift registers are counted from zero here, means: 0 is the first shift register, 1 the second... #define LEDRINGS_SR_CATHODES 8 // shift register with cathodes of the 8 LED rings It's just too simple... ;) ------------------ So I can set all 8 pins of the first of the 4 ShiftRegisters of my DOUT module at once to the bit-pattern of the value of a Midi CC message with: MIOS_DOUT_SRSet( 0, envt2 ); like this: ///////////////////////////////////////////////////////////////////////////////// // function: MPROC_NotifyReceivedEvnt // // This function is called by MIOS when a complete MIDI event has been received. // // Parameters: // unsigned char evnt0 [in] First MIDI event byte. // => Midi CC messages on channel 16 are supported. evnt0 = 0xBF. // unsigned char evnt1 [in] Second MIDI event byte in. // => Midi CC number: The "bank" of 7 FX loopers that is adressed. evnt1 = [0, 15]. // unsigned char evnt2 [in] Third MIDI event byte in. // => Midi CC value: The bypass state of the 7 FX loopers (enabled/disabled). // Each bit controls the state of one FX looper. Bits [0, 6] are used for the 7 FX loopers. ///////////////////////////////////////////////////////////////////////////////// void MPROC_NotifyReceivedEvnt( unsigned char evnt0, unsigned char evnt1, unsigned char evnt2 ) __wparam { // evnt0 => Midi CC messages on channel 16 are supported. evnt0 = 0xBF. // Midi CC message (1011) on channel 16 (1111) => evnt0 = 1011 1111 = 0xBF if( evnt0 != 0xBF ) { return; } // evnt1 = [0, 15]. if( evnt1 > 15 ) { return; } // evnt1 => Midi CC number: The "bank" of 7 FX loopers that is adressed. // evnt2 => Midi CC value: The bypass state of the 7 FX loopers (enabled/disabled). // Each bit controls the state of one FX looper. Bits [0, 6] are used for the 7 FX loopers. MIOS_DOUT_SRSet( evnt1, envt2 ); }
-
Forum move and possible outage - read me!
flo replied to stryd_one's topic in MIDIbox Documentation Project
Indeed, just post the new IP before the move shuts this forum down please. -
EDIT: Removed a long post about how to set all pins of one DOUT shift register in one go, because I think I've just answered it myself... see below.
-
Info for this project is now put in my new user page: http://www.midibox.org/dokuwiki/flo
-
@Dimitree: I'm in the process of making a 7 DPDT relais FX looper with the midi-box a bit like: the looper http://www.voodoolab.com/gcx.htm Check: http://www.midibox.org/forum/index.php/topic,11705.0.html Just got he midibox kits and the relais etc. Still in the process of creating clear requirements / architecture / software design. My current goal is to create a very simple but perfectly usable 7 FX true bypass relais switcher, without a need for a user interface. Only 7 indication LEDs will probably be present indicating which looper is enabled/disabled.
-
@Dimitree: I'm in the process of making a 7 DPDT relais FX looper with the midi-box a bit like: the looper http://www.voodoolab.com/gcx.htm Check: http://www.midibox.org/forum/index.php/topic,11705.0.html Just got he midibox kits and the relais etc. Still in the process of creating clear requirements / achtitecture / software design. My current goal is to create a very simple but perfectly usable 7 FX true bypass relais switcher, without a need for a user interface. Only 7 indication LEDs will probably be present indicating which looper is enabled/disabled.
-
YAPFB - Yet another pod XT floorboard - some questions i can't figure out
flo replied to Greeny_fr's topic in MIDIbox HUIs
I got a bit carried away... sorry about that... ;) I guess that floorboard project is: http://www.midibox.org/dokuwiki/pedal_box -
YAPFB - Yet another pod XT floorboard - some questions i can't figure out
flo replied to Greeny_fr's topic in MIDIbox HUIs
1. When you press an "ABCD" button, the midibox must send a program change midi message to the POD. "A Program Change Message is a MIDI channel message containing two bytes of information. The first is a status byte which contains information about the type of message ("I'm a Program Change Message") and the MIDI channel on which the message is being sent. The second is a data byte containing a number from 0-127." The MIDI channel can be a hardcoded number say 16. Set the POD also to that midi channel so that it will react. The second byte is a the program number which in your case is: [nr of ABCD button pressed] + 4*"B". > "In general, can i make so that a button press executes more than 1 function?" You can program the midibox to perform a whole series of "actions" in reaction to a button press. Some actions that it can do are: - Sending a midi message. - Updating LCD text. - Controlling outputs like for LEDs - etc. 2. Define variables in your program that "model" the buttons and states of your floorboard controller. Design and then program a "state-machine" of your floorboard controller. That state-machine must change state (=change the values of those defined variables) when events happen (=when you press buttons). Then program the actions that must be performed when: - When the state-machine is in specific state. OR - When the state-machine goes into a specific state. OR - When a specific event happens. 3. "Can some LEDs be assigned to the current midibox patch?..." Well, LEDs are outputs for the midibox controllable via the DOUT driver. When you press button B, you can program your state-machine to change state: variable "ButtonB" can be set to 1 while all other button variables can be reset to 0. After this has happened, you can execute a function that you can program to "ChangeTheButtonLEDsAccordingToCurrentButtonState": - Turn off all LEDs that correspond with a "button" variable that has value 0. - Turn on all LEDs that correspond with a "button" variable that has value 1. 4. "Where do i have to make changes so that the first line of the LCD displays the current patchname ?" First you must define the patchnames into a collection of string variables in the midibox program that you are writing. Then write that string text to the LCD with the LCD driver in the midibox according to the program change value like: Write the first patchname of the "patchname string variables" collection to the LCD when the first program is selected on the floorboard. I do not know which specific available source files show program examples for these things but they are pretty standard: - Declare and define variables. - Program a state-machine. - Handle DIN events by setting a defined variable to a specific value. - Declare and implement helper functions that can be called from your main program. - Send a program change midi message. - Set output LEDs via DOUT by checking the value of a defined variable. - Write a string variable to LCD. By "Ilmenator": http://www.midibox.org/forum/index.php/topic,11804.msg95248.html#msg95248 "Assigning MIDI messages to certain buttons on the MIDIbox is a piece of cake, see the various C code examples, e.g. here: http://www.ucapps.de/mios_c_send_din.html. Or, you take a look at the MIDIbox LC: http://www.ucapps.de/midibox_lc.html." -
DIY audio patchbay with digital routing....How hard?
flo replied to Nomical's topic in Design Concepts
@/tilted/ That design sounds absolutely wonderful! 8) @stryd_one That sounds nice and structured to get to a good Midi implementation specification. I had no idea about the scale, various implementation options and flexibility that you try to achieve here. You guys are way ahead of me! I guess I should just go through the whole thread again, lurk n keep my mouth shut for a while. ;) In the meantime I'll focus on getting my MidiBox up and running and I'll try to imlement a minimalist FX true-bypass looper with 7 DPDT-relais and perhaps a FX order switcher thrown in for good measure. :) -
DIY audio patchbay with digital routing....How hard?
flo replied to Nomical's topic in Design Concepts
MIDI implementation of a device usually specifies in detail which MIDI commands are recognized by the device and what the response of the device will be. For a crosspoint matrix audio/FX patchbay that could be: - MIDI CC messages for setting switches / selecting FXs: Describe in detail how this is done. - MIDI program change messages for selecting patches: Describe in detail how this is done. - What else? Example from the Switchblade manual, page 9: RELAY STATE CC# CCvalue 1 OFF 113 0 1 ON 113 127 2 OFF 114 0 2 ON 114 127 3 OFF 115 0 3 ON 115 127 4 OFF 116 0 4 ON 116 127 48 I/O, as in 48 ins & 48 outs? That's beyond my current needs. One switch matrix chip of 8by16 or 16by16 would be enough for me. I guess the design could facilitate to scale up/down? I currently see no direct need for gain or buffer stages. I assume all of the audio/FX sources to be well buffered / low-output-impedance / high-input-impedance already. Most of them have there own output volume regulations already so everything can be nicely setup with compatible signal levels. If needed, separate dedicated buffer or gain stages can be inserted into the audio chain keeping it all "modular". I do understand that is nice to have input/output buffers and programmable gain stages but for me it only complicates the circuit. I'm in a "minimal" state of mind. ;) -
DIY audio patchbay with digital routing....How hard?
flo replied to Nomical's topic in Design Concepts
> "DIP is preferable" Ok, great. I though the PLCC version would be wise so that it was more like the AD75019. Perhaps more uniform or something when it comes to PCB design. > "docmatrix" Right, thanks. I'll go and search for it. > "you've been misled" Yep, I guess so... Thanks for that info. > "Being an acoustic instrument, the THD would be of lesser concern than crosstalk to me" I'll check this thread again about some more details concerning this. > "I just don't want to see you stressing out a couple months from now if it's not ready" :) no worries! I'm a patient man. This is just a (serious) hobby, no stress involved. Thanks for answering! I'm glad that Chuck is joining here. Chuck, I like your ideas because they are guitar FX switching orientated. That puts a different perspective on things. Switching FXs in and out of an FX patch with CC messages is great! And what about switching the patches themselves?