uclaros
Members-
Posts
220 -
Joined
-
Last visited
About uclaros
- Birthday 05/19/1981
Contact Methods
-
Website URL
http://obs.multiplayer.gr
Profile Information
-
Gender
Male
-
Location
Athens
uclaros's Achievements
MIDIbox Addict (2/4)
0
Reputation
-
MIDIO128 alternate program change && forward input to output
uclaros replied to uclaros's topic in Design Concepts
Well, my project is pretty simple and straightforward. It is not for a midibox, it just uses the hardware as a switch for my amplifier's channels. I wanted to control : * 4 relays that controll optocouplers (circuit * 4 LEDs (channel indicator on frontpanel) * (1 relay and one LED is on at a time - 4 total channels) and to control them with: * 4 buttons (amp frontpanel) * midi Program Change messages 1-4 (floorboard) midio128 firmware was not adequate because of the inconsistency between midi and the frontpanel buttons. My main.c changes consist of: void Init(void) __wparam { //**On Powerup**// // set shift register update frequency MIOS_SRIO_UpdateFrqSet(1); // ms // only one DOUTX4 module is connected MIOS_SRIO_NumberSet(1); // debouncing value for DINs MIOS_SRIO_DebounceSet(20); // turn channel 1 on on powerup MIOS_DOUT_PinSet(0x07, 1); MIOS_DOUT_PinSet(0x00, 1); // and transmit program change 1 for consistency with pedalboard MIOS_MIDI_TxBufferPut(0xc0); MIOS_MIDI_TxBufferPut(0x00); } void MPROC_NotifyReceivedEvnt(unsigned char evnt0, unsigned char evnt1, unsigned char evnt2) __wparam { //**On MIDI Recieve**// //only work if Program Change is received on channel 1 if( evnt0 == 0xc0) { //only work if Program Change 1,2,3 or 4 is recieved if(evnt1 == 0x00 || evnt1 == 0x01 || evnt1 == 0x02 || evnt1 == 0x03) { //reset all pins MIOS_DOUT_PinSet(0x00, 0); MIOS_DOUT_PinSet(0x01, 0); MIOS_DOUT_PinSet(0x02, 0); MIOS_DOUT_PinSet(0x03, 0); MIOS_DOUT_PinSet(0x04, 0); MIOS_DOUT_PinSet(0x05, 0); MIOS_DOUT_PinSet(0x06, 0); MIOS_DOUT_PinSet(0x07, 0); //activate the recieved program change's pin to control the relay MIOS_DOUT_PinSet(evnt1, 1); //the following code is a strange workaround for my peculiar wiring of the leds if(evnt1 == 0x00) { evnt1 = 0x07; } if(evnt1 == 0x01) { evnt1 = 0x04; } if(evnt1 == 0x02) { evnt1 = 0x05; } if(evnt1 == 0x03) { evnt1 = 0x06; } //set the correct LED on MIOS_DOUT_PinSet(evnt1, 1); } } } void DIN_NotifyToggle(unsigned char pin, unsigned char pin_value) __wparam { //**On Button Press**// //Only parse if button is pressed, not released if (!pin_value) { MIOS_MIDI_TxBufferPut(0xc0); // Program Change at channel #1 MIOS_MIDI_TxBufferPut(pin); // just forward the pin number (0-3) //Reset relays and LEDs MIOS_DOUT_PinSet(0x00, 0); MIOS_DOUT_PinSet(0x01, 0); MIOS_DOUT_PinSet(0x02, 0); MIOS_DOUT_PinSet(0x03, 0); MIOS_DOUT_PinSet(0x04, 0); MIOS_DOUT_PinSet(0x05, 0); MIOS_DOUT_PinSet(0x06, 0); MIOS_DOUT_PinSet(0x07, 0); // Turn Relay ON MIOS_DOUT_PinSet(pin, 1); // Same workaround for my peculiar led wiring if(pin == 0x00) { pin = 0x07; } if(pin == 0x01) { pin = 0x04; } if(pin == 0x02) { pin = 0x05; } if(pin == 0x03) { pin = 0x06; } //turn the correct LED on MIOS_DOUT_PinSet(pin, 1); } } I know my code could be simpler but this is a proof that one should not be afraid to use the C wrapper if his C skills are not that good! My app works fine and I hope that my amp will switch fine soon too !!! -
Hi all, especially TK. It's been quite some time since I last posted here, and I must say I am very happy to see that the community keeps growing! To the point: Is it supposed that the midio128 'alternate program change' and 'forward input to output' work together at the same time? I mean, when the input is forwarded to the output, if the input is a program change, will it trigger alternate program change?? I tried it on a minimal setup of a 'midio8' with mios1.9 and midio128 2.1c and it didn't seem to work correctly. (forward works, alternate PC works only via midi) It would be a cool feature! PS. This issue was a reason for me to check out the "C wrapper" that I hadn't shown much interest for before. Thorsten, honestly, words can't say how amazing work you've done!! The C wrapper is excelent for creating midi applications, like the switching unit I needed midio128 for. I wrote simple C code for it in 5 mins!!!
-
Hi TK! I'm gonna test it on the weekend and post my results! Maybe i'll post a few pics too, plus my modified Core pcb (it's a compact no-lcd,no-ain,no-bankstick,yes-din,yes-dout,yes-midi-through core board) Thanks for your fast reply! (as always!) C'ya!
-
Hi all! After quite an absence from the forum I came back to start posting again, and all I can say is that I missed uCapps! My question is: I have an amp that uses a few H11F2 optocouplers for channel switching. Wanting to midify the channel switching, I thought of building a MIDIO128 and use ULN chip to control relais, and the relais would control the optocouplers! After I finished the MIDIO128 core I thought : "maybe I could power the optocouplers directly from the DOUT and skip all the relais and stuff." The my optocouplers' datasheet says that their minimum resistance (on position) is when there is applied a I(current) of 16mA. The amp uses 12V over a 470 resistor, so it's about 25mA. I know that 25mA would be ok for the DOUT module (5V over 220 ohms) but the thing that bothers me is that since the DOUTs are multiplexed, I am afraid it may affect the sound (by turning each switch on-off-on-off-on....) The datasheet says also: Turn on time:25uSec, Turn off time:25uSec max. What do you think? Will I have a problem? Maybe I should use a capacitor on each out? But hten again, I need it to switch pretty fast when I change the DOUT state. Any thoughts are welcome! Hi again, uclaros
-
There are some schematics for simple mixing on www.generalguitargadgets.com , check it out. uclaros
-
Gonzo don't panic, we all were newbies on DIY once! Building a SID is easy, especially if u want it that simple! The midibox community is allway shere to assist on any trouble you might find! I encourage u to try and do it on your own. But if u insist on finding it ready, then u should inform people about where r u from, because probably someone near u may be isier to help u. (The hard sid is loaded with 4 sid chips??? in that case your suggestion becomes tempting ;D ) Uclaros
-
Thanks for feedback! The heaters may run on 6.3 or 12.6V depending on wether you connect both heaters of each tube separetely. I don't know too much about electronics, but I supposed that the digital noise wqould be a problem. Yet, I will custom order the toroidal transformer, so i will order different windings for the 12.6V of the heaters and one more winding for the 15V of the relais. As for the schematics, it is actually a Core board stripped from all connectors except DIN-DOUT MIDI and it has onboard a 74HC00 for midi through. And that board connects on the DOUT example of the MIDIO128 that uses a ULN chip to drive the relais. Code is going to be MIDIO128, and I hope it will need no mods. I don't have specs for the relais, how much is a typical current for 12V relais? Thanks, uclaros
-
Hi all! I've built one more mios powered board to controll the channel - switching of a diy preamp. My question is how much current will it draw? I need to know for the specs of my toroidal transformer. The setup consists of a Core,a Dout controlling 4 relais, that controll 4 leds and 10 H11F2 optocouplers. No lcd. All that getting power from a 15Volt tap on a toroidal. Do you think I may have problems to use the same tap on the transformer that the tubes are using for heaters? Any thoughts welcome! Thanks in advance! uclaros
-
Well, I wanted to have it mount in a small box, so relays would need more space and more power. I think I will probably forget about the leds or try to find a 3pdtfootswitch! Thanks, uclaros
-
Thant was my first thought too, and so I ground lifted the one output but had no difference... Then I thought the switch is faulty, but my multimeter showed me infinite resistance at the off position. Thanks anyway!...
-
Hi all! I built today a simple A/B switch using a DPDT footswitch so that I can drive my guitar's output into 2 different amps, but NOT to use them simultaneously. I used the one side of the switch for the signal, and the other to control 2 leds (for status), but when the switch is on A, there is a little signal passing through to B and vice versa. Is this because I should be grounding the output I am not using? eg. when using A, B should be connected to GND? If yes, i will lose the capability of controlling the leds... Any comments are welcome! Thanks uclaros
-
Thanks a lot! Mine were in the mailbox yesterday!!! I should start board making!! thanks again - great job! (and extreme packing too!)
-
Hi all! Just a suggestion: I think the posts on the forum "midibox of the week" should not have all the same title but a title like the date published or the creator's name. When someone replies to an older post, the order changes and you may not know witch one is witch!! Regards, uclaros
-
Hi! I want to modify my POD's midi out so it will send power to my pedalboard over the midi cable's 2 unused leads. Will there be a problem with interference to the midi signal? Is it better to pass AC or DC? It will be about 12-15V. Or maybe 5v DC. Are there some devices that have the two unused pins of the midi plug connected to something (maybe ground?) so I might have a problem connecting POD to them? Thanks. ps. my main concern is interference and connecting to a PC. I will probably never connect it to something else that I haven't built it myself! uclaros
-
Modifying DIN behaviour to get +5V on DOUT ....
uclaros replied to gillesdeshays's topic in MIOS programming (Assembler)
Hi Gilles! You just have to set the button's mode to "Toggle". Toggle means: Push on - Push off On/off means: Push on - Release off On only means: Push on - Release nothing - Push on - Push on - and - on - and - on ! You can do it either from the midibox's learn menu (I think it's with the snapshot button) or with the vmidibox app! Happy Reasoning! (any news with the SB live ADC??) Bye, uclaros