Sign in to follow this  
Followers 0
adrian4u

anyone can help me? MIDI KEYBOARD

38 posts in this topic

startup message on LCD:

MEOS Z1.5

?

I would guess that should be "MIOS V1.5", a report of the version of the MIDIbox Operating System that is loaded. Maybe there is a language issue that is causing it to appear as "MEOS Z1.5" on your system.

If you have a backup copy of the version of MIOS currently installed available, then I would try updating MIOS to the current version, which is V1.9g. I don't think that will cause any problems but I can't make any promises.

I think it would be a good idea to bring everything up to date but I can pretty much guarantee that you will run into at least one issue that will take some effort to resolve in doing so. My guess is that updating the project code to work with the current tool chain is where that issue will be. As I said before, you will find it harder to get help if you leave the project as an old project.

Share this post


Link to post
Share on other sites

TODAY, in Polnad we have New Year Eve..

so I go t work (party DJ). For now I'm getting familiar with code, moreover yesterday evening I had smal "session" with constructor of this keyboard, so I hope from 1-st of January I start first modification in code and debugging to check what's wrong with AT, Mod and PB - is it software or hardware problem, because constructor swears, that he had no problem like this :)

We will see.

Share this post


Link to post
Share on other sites

sO FAR SO GOOD:

1. i HAVE lcd

2. i made ONE change in code - so now SUSTAIN sends values 0 and 127. good :)

3. after reloading program - accidental PB MOD AT values sending - dissapeared. :)

now - another issues.

1. check AfterTouch. There are two strips - one for white, one for black keys. AT on black keys don't work.

2. After extremly pushing MOD lever, it sends SysEX too! and "g19 NOTE OFF"... WTF?

Share this post


Link to post
Share on other sites
Unfortunatelly I don't have any idea how to make changes I need, it looks like a magic for me....

I want to learn how to do it, but I desperately need help in first steps with this project.

The really big thing you've accomplished is to make a change to the code, rebuild it, load it, and verify that it does what you want.

Now the real fun starts, learning how to do the magic. Do you understand why the change to the code made the sustain send 127?

Once you understand that little change you need to identify ONE issue to work on next. It probably should be something involving note on/off. Most of your issues seem to involve things that are not from the note on/off switches. That stuff is probably highly custom and I might not be able to offer much help. So try to stick to easy stuff while you are learning. Remember it took time to learn how to play the keyboard too.

Share this post


Link to post
Share on other sites

Jim,

I understand why I had to change only one number, I'll show you:

SUSTAIN_PROCEDURE

movf SM_CH_STATUS, W

addlw 0xb0

movwf MIDI_EVNT0

movlw 0x40

movwf MIDI_EVNT1

movlw 0x01

CPFSEQ MIOS_PARAMETER2

goto SEND_SUSTAIN_40

movlw 0x00

goto SEND_SUSTAIN

SEND_SUSTAIN_40

movlw 0x40

SEND_SUSTAIN

movwf MIDI_EVNT_VALUE

call MIDI_EVNT_Send

return

In this example - what was very important to me - was changing value from 64 (HEX: 40) to 127 (HEX: 7F)

but SUSTAIN is #CC: 40, so changing every "40" value into 7F did not gave me expected results, because somehow I changed #CC: 40 into #CC: 7F.

What I finally did was line:

SEND_SUSTAIN_40

movlw 0x40

into line:

SEND_SUSTAIN_40

movlw 0x7F

I more-less understand why only this line - because it defines value that will be sent if SUSTAIN go to state 2 (pressed).

I can (for now, because I have no Assembler skills for now) only assume, that lines:

movf SM_CH_STATUS, W

addlw 0xb0

movwf MIDI_EVNT0

movlw 0x40

just determine #CC of controller.

What I was looking for in meantime (and I'vefound it a week ago but I can't remember where) were lines with controllers definition.

Next issue is that PitchBend (Roland Pitchbend - it's described like this somewhere in the code) in farest left sends accidental SysEX values like STOP, START etc (MIDIOX shows those values), and in farest right - it sends "G19 NOTE OFF".... totally weird.

Moreover I want to change two things:

1. PitchBend WHEEL works on CH 3 instead of CH 1.

2. I want to change PitchBend WHEEL into #CC: 2 (Breath Controller)

Later I have to check what's up with code or CORE, because I DID ERROR-FREE loading several times, I made few ON-OFFs, and keyboard was running great, but yesterday I had issues like in first post:

- PB and MOD was sending acccidental values (mostly 0).....

Jim - is there another way (newer core?) to try to make this project simpler?

Edited by adrian4u

Share this post


Link to post
Share on other sites
is there another way (newer core?) to try to make this project simpler?

Converting it to a C project rather than an assembler project would probably make the changes you want to make simpler. But converting the project to C would probably be harder than making the fixes you want in assembler.

In other words, no.

Very good on figuring out the sustain value.

Is everything that is based on an on-off switch working to your satisfaction? I wouldn't move on to the analog inputs until you have done everything with the digital (on-off) inputs.

Share this post


Link to post
Share on other sites

Keyboard itself and Sustain work great - and keyboard and Sustain are on DIN and DOUT.

But I still have troubles with MOD, AT, PB - and these controllers are cinnected to analog inputs (J5)

I've fouynd some code lines concerning PB, MOD and AT - in MAIN.ASM file.

those controls are connected to analog inputs.

It seems for newbie that everything gonna be OK, but I can't find description, where to change MIDI channel of "Fatar pitchbend", and...

I don't really know what's wrong with these controls - they still sending accidental values. I fixed itself after reloading program, but after 2 days of not being

Maybe problem isn't in the code but in the CORE itself, or problem is somewhere in connections?

I wanted to try latest MIOS to compare if theese errors will still appear but I'm affraid thar original program wil not work on higher version of mIOS.

And I don't have MIOS 1.5 to load it back in case that program won't work on MIOS 1.9.

Any sugestions?

Share this post


Link to post
Share on other sites

I wanted to try latest MIOS to compare if theese errors will still appear but I'm affraid thar original program wil not work on higher version of mIOS.

And I don't have MIOS 1.5 to load it back in case that program won't work on MIOS 1.9.

You could try to look at the changelog to see if any of your code might be affected by newer revisions of MIOS.

Share this post


Link to post
Share on other sites

especially if I'm rookie, right :)

as I mentioned above - first of all I will check connections, because I've seen somewhere on uCApps that accidental communicates can be sent if some free inputs arent grounded or something like this.

It will take a while, cause I have to unscrew CORE and DIN and DOUT modules and take them out the enclosure.

I can only guess, that there is something wrong concerning analog inputs, but I can be wrong. Maybe you have an idea what's up?

Next thing is to find where in code (and in which file) I can define mIDI channel for outgoing MIDI messages from controllers.

Share this post


Link to post
Share on other sites

especially if I'm rookie, right :)

as I mentioned above - first of all I will check connections, because I've seen somewhere on uCApps that accidental communicates can be sent if some free inputs arent grounded or something like this.

It will take a while, cause I have to unscrew CORE and DIN and DOUT modules and take them out the enclosure.

I can only guess, that there is something wrong concerning analog inputs, but I can be wrong. Maybe you have an idea what's up?

Next thing is to find where in code (and in which file) I can define mIDI channel for outgoing MIDI messages from controllers.

I would try to avoid taking the modules out of the enclosure. There is a chance you will create problems if you don't have them already.

Do you have a multimeter so you measure resistances and other electrical values?

Share this post


Link to post
Share on other sites

yup, I have multimeter, but I'm affraid that I'l have to get electronics out of the box. It's hard to visually controll all the connections, especially these analog ones.

It's not "elegant" construction, so some pins are soldered with "shortcuts"

Share this post


Link to post
Share on other sites
It's not "elegant" construction, so some pins are soldered with "shortcuts"

All the more reason to avoid touching the hardware if you can. If you take it out it sounds like you should plan on redoing the "shortcuts" at that time. Can you get to anything that allows you to test the operation of the analog inputs at any point?

Share this post


Link to post
Share on other sites

for now I'm not sure if "junk-CCs" are sent because of mechanical (soldering) issues or program issues.

from one hand - it worked well after reloading program - even after few on-offs, but after day or two without power - I run keyboard and junk-CCs appeared again.

From the other hand - I moved keyboard from one place to another.

So - it can be something with chip, with connestions and with program....

Got to check it somehow... but it looks that I need few more days, because I have hard time in my office.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0