Jump to content

Durisian

Programmer
  • Posts

    160
  • Joined

  • Last visited

Everything posted by Durisian

  1. Alright, I got past a few hurdles with much easier than I expected, so I've put the new version up. The major updates: Device maps are now for CC's and program changes only. And must be placed on the list in the matching parameter 1 place. I can't make it fit on PIC18F452, no matter how hard I try Can select the 'type' of midi message when setting buttons and expression pedals Lots more error checking/correcting put into place, much more stable usage MIDI Input/Merger speed now very fast The PC Editor will try to update your master bankstick file, but it will be full of incorrect info, that if not checked and updated before uploading will cause problems when using pb, so I recommened re doing it from scratch (sorry). Device banksticks should be fine if they;ve already been listed with CC's and Program changes in the proper folder and put in entries that match their parameter 1 value. Otherwise you'll need to re do them as well. 2 bugs I found so far, both are 'still' and pissing me off -Tap Tempo led doesn't work until another button is pressed. -LCD goes a bit giberish until you make a program change. Let me know of anything else ENJOY!! edit: fonebone: I'm curious to know if the LED's update when doing a program change for your HD147. For some bizzare reason I can't make my v-amp output the data to test it
  2. I'm trying to stop messages on channel 16... (0x0f) being forwarded by the merger. So I'm experimenting with this code but have some interesting effects. void MPROC_NotifyReceivedByte(unsigned char byte) __wparam { if(byte >= 0x80 && byte < 0xf0) { if (byte & 0x0f == 15) { MIOS_MPROC_MergerDisable(); } } } Firstly I discovered that the merger does not automatically re-activate when a complete midi message is recieved. So I added if(byte >= 0x80 && byte < 0xf0) { if (byte & 0x0f == 15) { MIOS_MPROC_MergerDisable(); } else { MIOS_MPROC_MergerEnable(); } } Now this almost worked. Except channels 2,4,6,8,10,12,14, 16. are not fowarded. but channels 1,3,5,7,9,11,13 and 15 are forwarded just fine. cool huh? ok..... I just had a brainwave.... if(byte >= 0x80 && byte < 0xf0) { channel = byte & 0x0f; if (channel == 15) { MIOS_MPROC_MergerDisable(); } else { MIOS_MPROC_MergerEnable(); } } .... ... ... YAY!! 2 things of note: & and if are not friends and disabling the merger in this fashion seems to work just fine
  3. after some shipping delays my new pics have finally arrived. yay! I hope to have the major update available for testing in a few months
  4. I live for the cold. Melbourne suits me fine! The main problem I see with your plan - not enough beer!!! ;D
  5. Hi Martin Welcome to the MIDIbox community!! Yes, it's possible MBHP DOUT modules can be connected to relays (via a ULN2803). The relay would replace your momentary switch. Using a custom application you could set the relay on/off based on the incoming midi signal. you might need to use a timer to trigger the relay off eg. to simulate stomp every quarter note when recieved 0xF8 24 times - Trigger relay on and start timer When timer reaches... hmm.. dunno how long... maybe 50-100ms - Trigger relay off. etc. You might also be able to do it without a timer like this when recieved 0xF8 24 times - Trigger relay on when recieved 0xF8 12 more times - Trigger relay off. when recieved 0xF8 12 times - Trigger relay on etc. it will take some experimenting to find the best solution. I'll throw you some bones (just because it your first day ;D)... Read up about the various MBHP modules on ucapps and in the wiki. (understand this stuff first) MIDIbox Wiki Midi Spec - great source of midi info Flo's FX Looper (in develpment) - some chat about using relays and some schematic ideas MIDIO128 - There are some basic schematics in the download section dealing with relays. Also check out application development in the wiki - Writting apps for MIOS is not complicated if you'e got some programming knowledge Controlling 128 LED's Example - Same principle as controlling a relay, your implementaion would be vastly different though now READ READ READ!!!
  6. Hi Orkspalter no banksticks - not yet, is a fair way off. 2x40 LCD - Possibly in the future, the main screen would be 2x16 or 2x20 as it is now, with a second perhaps 4x20 for working with patches and cue list. - This is just an idea at this point and has no real plans They wouldn't display names of controls like they do on the LC.... ....hmmm... hey yeah... I could get a 2x16 display for every ped... NO STOP IT! *Durisian starts tearing his eyes out*
  7. flo - What's the purpose of the AB switch. From what I can tell it's ulimately only one chain - Guitar -> PreFX -> Amp Processing -> PostFX -> Amp.
  8. Next question is could 5v relays/ULN2803 be powered from J2 of the core module?
  9. I'm speculating that the number might wrap around I had issues a while back with char not being big enough - I got what I thought at first to be some strange random results when the math gave numbers that were too big. eg: unsigned char test = 255 = 255 unsigned char test2 = 257 = 1
  10. I believe >F0 is not captured by NotifyReceivedEvent With the inbuilt midi merger active, you should be able to temporarily disable it when a standard midi event has been recieved... Maybe something like this: void MPROC_NotifyReceivedByte(unsigned char byte) { // temporarily disable the midi merger if(byte > 0x7f && byte < 0xf0) { MIOS_MPROC_MergerDisable(); } } I'm not sure if this will work - depends on whether it sends the message that reactivates the merger.... void MPROC_NotifyReceivedEvent(unsigned char evnt0, unsigned char evnt1, unsigned char evnt2) { evntType= evnt0 & 0xF0 // keep high nibble only channel = 4; // set channel // send message MIOS_MIDI_TxBufferPut(evntType + channel); MIOS_MIDI_TxBufferPut(evnt1); MIOS_MIDI_TxBufferPut(evnt2); }
  11. Interesting, seems to complile fine for me. Got all the right versions of the tool chain?
  12. 18f4685 is supported by MIOS now... you've been gone a while AC ;D should just be: PROCESSOR = 18f4685
  13. This is pretty much what Flo is working on. Although he's trying to do it without using a dout module http://www.midibox.org/dokuwiki/flo http://www.midibox.org/forum/index.php/topic,11705.msg94044.html#msg94044 Pedal Board itself is capable of controlling the relays, the functionality is already there. It's something that i'm going to build into my own pedal board. but if you want a separate box - This example could be used to control 128 relays (in place of LEDs) with note on and note off. http://www.ucapps.de/mios_c_set_dout.html It could easily be modified to work with cc's In the "NotifyReceivedEvnt" function there are 3 key variables: evnt0 = recieved midi status byte evnt1 = recieved midi parameter 1 byte evnt2 = recieved midi parameter 2 byte be warned: Pedal Board started with one of these examples, that was over a year ago ;D
  14. In the meantime you can add this code to main.c: if(pin == DIN_BANK_UP || pin == DIN_BANK_DOWN) { MIOS_DOUT_PinSet(pin, ~pin_value); } Just after: void DIN_NotifyToggle(unsigned char pin, unsigned char pin_value) __wparam { #if PEDALBOARD ........here...........
  15. lookin good Yeah i'll make the bank up down button leds light up. I'm in the midst of a major update at moment, I'm having a lot of issues with changing the settings from the box - without the pc editor, I need to decide whether to keep driving myself insane - or just do a complete re-write of program mode handling (which is half the application :( ) The pot is only required to adjust the settings without using the pc editor
  16. sweet, you can play some rounds between sets 8) Some notes on the next major software update: Device event maps will be restricted to CCs and program changes only. Their will be support for note on, note off, aftertouch, channel pressure and pitch bend without having to assign them in the device event maps. Pedal Board will only be available for PIC18F4620. Pedal Box will be available for 18F452 and 18F4620. Eventually you won't need device banksticks - unless you want the enhanced display functionality
  17. ... grumble ... haven't got mine yet, shouldn't be too long now.
  18. ... ah damn it. Nothing - Bug in the new programming platform. I thought I made these after the bug was fixed... (See here) I'll have to update them again.
  19. Do you have an idea of what you will build?
  20. flo. yeah sure. LED indicators are handled by a separete SR in pedal board, so I havn't included them on this schematic Dimitree. Any chance of an english explanation of your circuit ;D
  21. During testing with your files I found some pretty wicked bugs mostly with buttons set to momentary not behaving properly, as well as thier led's not behaving at all. If your banked buttons were still set momentary the leds would not have been working. Software's updated - also included in the config file is an option to enable midi input for pedal board. You'll still have issues with the LCD and multiple commands being sent back. The input handling may be too slow to get your settings when doing a program change :( This is gonna be a tough one to fix
  22. :( i'll have to get the pod deep editor and test it with that. Assuming PB is on bank 1 if you change to the first preset of the second bank from the POD, that should correspond to the 2nd bank of your pedal board, so if you bank up, the first banked button indicator should light up.
  23. hey fonebone I had set it up so upon recieving a program change midi handling is suspended for 10ms to prevent extra messages showing up. The major flaw is that any extra messages won't be calculated... meaning the indicators also won't work I've now changed it so upon recieving ANY event, only the lcd update is suspended for 10ms. This should mean that when you change the amp, the amp is displayed rather than the last message which in this case - i guess is the cabinet changing. And should allow the indicators to light up accordingly. pbx_2beta2bDEV.zip
  24. here it is. Using double throw jack on the send outputs means that if nothing is connected and if the relay is switched to the loop, it will still bypass.
  25. All you seek is in the wiki http://www.midibox.org/dokuwiki/midi_specification working with midi is easy using MIOS.
×
×
  • Create New...