Jump to content

anakin

Members
  • Posts

    28
  • Joined

  • Last visited

    Never

About anakin

  • Birthday 01/01/1

Profile Information

  • Gender
    Not Telling

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

anakin's Achievements

MIDIbox Newbie

MIDIbox Newbie (1/4)

0

Reputation

  1. Hi Just for contribute to the forum, I was able to code something for this with a help from a friend of mine something like this: ///////////////////////////////////////////////////////////////////////////// // Local variables ///////////////////////////////////////////////////////////////////////////// // Store Program Change Number int CurrentPC = 0; // Define higher program change number #define MAXPCNUM 63 ///////////////////////////////////////////////////////////////////////////// // This function is called by MIOS when an button has been toggled // pin_value is 1 when button released, and 0 when button pressed ///////////////////////////////////////////////////////////////////////////// if (pin == 13 && pin_value == 1) { CurrentPC++; if (CurrentPC > MAXPCNUM ) CurrentPC = MAXPCNUM; MIOS_MIDI_BeginStream(); MIOS_MIDI_TxBufferPut(0xC0); // Program Change Event MIOS_MIDI_TxBufferPut(CurrentPC); // Program Change Number MIOS_MIDI_EndStream(); } if (pin == 14 && pin_value == 1) { CurrentPC--; if (CurrentPC < 0 ) CurrentPC = 0; MIOS_MIDI_BeginStream(); MIOS_MIDI_TxBufferPut(0xC0); // Program Change Event MIOS_MIDI_TxBufferPut(CurrentPC); // Program Change Number MIOS_MIDI_EndStream(); } What do you think about? Maybe not so elegant... Hope this will help someone... bye Anakin
  2. Hi I'm looking for an help with something like this... I'm building a very simple pedalboard midi controller ( just built) using midio128 as app. It work good, only send note_on note_off messages depending on key pressed. Obviously I change for my needings the ini files for range of notes. Now I would like to expand it adding two addition buttons: one for increase program change and one for decrease it. I think it is quite clear that I can't use the ini file for do this because it is not implemented in the code, so I need to code something new. I want to use Midio128 as it is so simple and direct, but I don't know how to do this in the code ( and where...) Any suggestions? I'm considering also to use other applications maybe in C ( maybe easier for me to code in) but using something like ain64_din128_dout128_v2_0 I need to make also modification in the hardware ( put all analogs to ground). I look also this post ( yes, I used the search!!!) that is exactly what I need but I can't understand how to do... http://www.midibox.org/forum/index.php/topic,427.0.html Any help or suggestion? Bye Anakin
  3. anakin

    SM_fast

    Hi Tk and thank you :) It's not a matter of changing the speed ( it is just as fast!) it is only for try to understand how it work as I'm bit new to asm. So, what does the code I posted stands for? I can't understand the reason of it and what does it mean. Ok , it is for the debounce counters but I don't know how it means, maybe it's better to search at google and then return here! For the difference between sm_fast and sm_slow thank you very much I understand ( so for example if I add a pot in a free ain port, it will stop the scanning of the matrix , right?) thanks! Anakin
  4. anakin

    SM_fast

    I'm studying the application SM_fast ( asm version) and I have some question on it, just for tryin' to understand the way it work. 1)I'm searching where I can change the "scanning speed" of the keyboard: I think it is on main.asm here: movlw 10000 & 0xff movwf MIOS_PARAMETER1 movlw 10000 >> 8 movwf MIOS_PARAMETER2 movlw 0x00 call MIOS_TIMER_Init call SM_Init movlw 0x00 movwf SM_CH_STATUS movlw 0 call MIOS_AIN_NumberSet call MIOS_AIN_UnMuxed movlw 4;7 call MIOS_AIN_DeadbandSet it is right? If no where it is ? 2)What's the difference in Sm-Fast and Sm_slow in performance? What's the difference in managing the scan matrix? Thank you for your help! Anakin
  5. Hi Tk and thank you for your reply! If I remove the first core , I don't have the problem. If I upload a dummy app on second core with merger enable all work good ( I upload the slow version of SM) So I think maybe is a hardware issue, maybe with the matrix I'm using, I have to do some tests on it, surely I can open a new treat if is a hardware compatibility problem, but it is very strange as if remove the first core the apps seems to work good! Bye Anakin p.s. I have some question about SM_fast but I post in a separate treat.
  6. Hi and thank you for your reply Yes, I just did this and also phisical disconnect it and it change and work good. The problem seems to be the merge... that's why my question... bye
  7. Hi First of all excuse me there's the possibility that this is a question just submitted... I try to find in the forum but without results. :) I'm using two midiboxes connected together with the classic tx and rx ports in this way: first midibox with standard Midibox64 , the midiout of it ( port TX 25 ) connected with the midi in port ( port RX 26 ) of second pic, it work on channel 1 Second midibox running the scan matrix application of TK ( fast version) in an old keyboard ( midi merge function enable in the code) ,work on channel 1. I'm suffer this kind of problem: Few times it doesn't put out the Note_off message and the results is that note always stay ON and I need to re-push the key for do the Note_off. I notice that it happens when I move some pots in the first midibox, or when I'm playin' hard ( e.g. slides) so this is my question. Is it possible that the problem is caused by a kind of "data overflow" from the input of the second pic? What's about the performance of the midi merge feature? Is there any kind of filter on it? I don't think Midibox link will help in my case because I think this isn't a loop problem: what do you think about? And what's about the sharing of the same channel: is this a problem? Thank you very much for your help Anakin
  8. Hi and thank you! ;) you got right! Now I solved the problem! I forgot that the code is an example, so now I add the function in the INIT and all work good. Excuse me for my "not seriously searching" in the forum but it was not a matter of searching, but a matter of understanding that I must "ADD", not "modify" Thank you! Anakin p.s. I use ASM because I'm starting to try to understand it instead of C. ???
  9. Hi and thank you for your help... but still not solved the problem!!! I try to explain: TK made 4 differents codes for working with scan matrix, 2 in C and 2 in ASM each are divided in "simple" and "fast". Assuming that I'm working with the one "fast" and in ASM, the link you gave me is for C code but doesn't matter! I go to MIOS Functions Reference (ASM Version) and take a look at the mergerGet and mergerSet function... I take a look at file called mios.h in code sm_example2_v1a and I find "something" that refer to midi merger function: ;; ========================================================================== ;; General constants ;; ========================================================================== ;; used by MIOS_MIDI_Interface* MIOS_MIDI_INTERFACE_COMMON EQU 0x00 MIOS_MIDI_INTERFACE_TO_HOST EQU 0x01 ;; used by MIOS_MIDI_Merger* MIOS_MIDI_MERGER_DISABLED EQU 0x00 MIOS_MIDI_MERGER_ENABLED EQU 0x01 MIOS_MIDI_MERGER_MBLINK_EP EQU 0x02 MIOS_MIDI_MERGER_MBLINK_FP EQU 0x03 But code has also other files and these are general constant... so where ( meaning in which file and where in the code) I have to change parameters for enabling it? Where's my mistake? Thank you Bye Anakin
  10. Hi friends I'm working with example codes for scanning keyboard matrix made by TK ( and re-worked by QBAS) codes are sm_example1_v2a, sm_example1_v1a and Sm_16x16 Vel. I need to enable the midi merge-serial function for cascade 2 cores via midi in-out ports: I think the code to modify is the file Mios.h ( but i'm not sure about) but I don't know where and how as i'm not familiar with ASM. ??? Can you help me please? Bye Anakin
  11. Hi Tk Another time I want to thank you very much for your help! Today I will try to do something, write down some code and try it in my hardware. Best regards :) Anakin
  12. Hi Maybe for the reason that english is not my default language :) i'm not sure I understand the stuff... We have 2 method for write the eeprom of the core: 1 using mios studio or other software and send a .syx file and this a thing that I already can do... 2 using the application by itself for doing it... is this what we are talking about? If so, what do you mean with "parse the sysex stream"? So, if I understand well (just before trying to understand code you wrote) this is a "template" for doing what we are talking about, also if it is complicated, it is C, so it's better for me ;D The main reason why I don't use the "generic MIOS download feature" (case 1 the two method), is that this is not so fast... and I'm using my hardware based Midibox for live situation, it is difficult to explain but I have to change some "presets" 2-3 times every night and the first method is not so easy, the other reason is that writing down everytime the value of the pots (in hexadecimal) and write them in the file "preset.asm", recompile and then put is into the core it's not a simple thing... Best and optimal thing: decided a "pot situation", do like a snapshots and store them into the eeprom, so then I can resume them when I want. Are you agree? I'm mistaken in something? Best regards Anakin
  13. Hi and thank you for your help It's OK, I will try to code something using the EEPROM write function. Just another question: You tell me that it's better to suspend the midi data when we are writing on eeprom... maybe you are think about a "special state", a "programming state" in which midi messages are not recognize or are you thinking about something else? Bye Anakin
  14. Hi I'm doing some tests using the application sm_example2_v1b that is coded in ASM. The apps for me is quite difficult also because i'M not able to code in asm but quite well in C. question: is it possible to add some lines in C inside the code in asm? in which way? Do I have to create a new file called , for example main.c and code inside or I have to do in other way? thank you for your precious help! Anakin
×
×
  • Create New...