More progress on transform engine

So I have debugged the merge, and apart from Sysex it pretty much works.
Sysex opens some interesting buffering challenges.
I will need to give that some thought.

The PITA with Arduino is lack of debug support.
Indeed, I lot 1 week of time because only when I added debug code did the thing work.

Short version: I made two mistakes.
The debug (1) slowed down the receive, so we READ the message.
Without the Serial.print out, the loop was far to quick to read a complete message.
Secondly, my "report if you get an incomplete message" was "out by one".
So it never told me I was incomplete ... when I was!
The debug messages made things worse because when you enable them you are NOT out by one :-).

I can laugh now.

I had to recall to put a % 256 (well & 255 is more efficient) on the NRPN address to that Knob X, Y and Z work.

I was getting odd behaviour with the NRPN Value.
If I send them as straight CCs all is well.
I found my logic error and now I am pretty sure the runningValue is ok now.
This opens up the way for easier 8192 bias (which one applies twice!).

So summary

1 - hardware is merging UF80 (Stream 1) and Miniak (Stream 2).
2 - merged stream is fed into splitter for debug purposed, but essentially goes into BCR2000 (and feed into MidiOx .. not necessary, just for debug)
3 - BCR can then recognize input from the Miniak, and update the BCR
or the BCR can update the hardware.
4 - the transform engine can then take care of any bias added to the NRPN values


Create a BCR preset where 1 knob is used where previous 2 were used
Debug transform logic
Add in LCD and decode the values, displaying them in the natural units of the Miniak.
Publish "how to" for anyone who is interested.


Steve H

PS the great news from my perspective is I finally got some time to write some music :-)

Posted by Stephen Hookings 2012-06-18

Log in to post a comment.