Jump to content

uclaros

Members
  • Posts

    220
  • Joined

  • Last visited

Posts posted by uclaros

  1. 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 !!!

  2. 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!!!

  3. 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!

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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!...

  9. 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

  10. 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

  11. 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

  12. 8.0 KB/s here!

    (It's an ISDN 64k though, so it's running TO THE LIMITS! I'm planning to switch to adsl in the next weeks. Here in greece dialup is the rule, adsl the exception!)

    SMF seems a useful upgrade too!

    Definitely faster than the cgi version of the old yabb!

  13. Thanks for the reply, thus it will not do...

    The DIN works fine on my other midibox...

    The resistors on the core are the ones I mentioned.

    The core's midi out is probably working because the bootsrtap loader sends it's sysex!

    But then it seems I cannot upload mios!

    I allready regret that I didn't use the LCD pins and circuitry!

    ...and finally , like 98% of all cases it will be some bad soldering!

  14. Hi all!

    I've built a modified core to use only with din and dout for switching on an amplifier.

    I didn't use connectors for the LCD so I didn't use the trimpots, transistor and resistors for the LCD.

    I will not use pots, so I grounded all 8 of the pot pins.

    connections are:

    pin 1 via R1 to +5

    pin 2-5 gnd

    pin 6 via R2 to +5v.

    pin 7-10 gnd

    pin 11 +5

    pin 12 gnd

    pin 13-14 oscilation circuit

    pin 15-17 Not Connected

    pin 18 via 10K resistor to +5

    pin 19 to DOUT

    pin 20 to DIN and via 10K to +5

    --

    pin 21-22 to din - dout

    pin 23-24 Not Connected

    pin 25 via 220R to midi out

    pin 26 via 1k2 to +5 and to pin 6 of the optocoupler

    pin 27-30 Not Connected

    pin 31 Gnd

    pin 32 +5

    pin 33-40 Not Connected

    These are the PIC's connections, I'll post a pic as soon as the midibox.org is up again.

    My problem is that on a pic with midibox64v2 app loaded, when I press a button on the DIN, I receive infinite random midi data. I also recieve some midi (allways the same) when I unplug the power from the core.

    It also seems that the core cannot recieve midi data correctly.

    Any Ideas?

    I will post pics.

    Thanks,

    Uclaros

  15. Hi!

    Are you playing the bass with your PC turned on?

    A CRT monitor is a huge source of noise for us guitar players...

    Turn off the monitor when playing. Also some halogen-kind-of light produce noice to the pickups.. turn them off!

×
×
  • Create New...