You are going to be sick of me Steve! Promise this is the last time I’ll ask questions…lol.
Ive just been trying out these two versions of relative to absolute encoder rules. Both work for me as expected in one direction, but the opposite direction will jump almost immediately back to fully the other way.
In the working direction, the cc’s are being output climbing in increments up to 127. But the other way will jump sharply to 64, then 1. Have I done it wrong?
I’m happy to help. Please post your project file and perhaps a log of what is being sent by opening the Log Window, and checking all boxes, then turn your encoders.
Steve Caldwell
Bome Customer Care
Also available for paid consulting services: bome@sniz.biz
OK, so it looks like your controllers act like Mackie MCU V-Pots. They do
things a bit different. They use Bit 5 to set the direction flags and the the lower bits to set the distance moved.
So if the value is greater than 0x40 the amount (pp) moved in the negative direction is the (pp - 0x40) * -1.
Here re the new rules:
// if bit 5 is set it is negative
// the last 4 (bits 0-3) determine the distance moved
// This is like a Mackie V-Pot
// positive movement
if pp<0x40 then rr=pp
// negative movement mask upper bits
if pp>0x40 then rr=pp&0x0f
// amount moved negative
if pp>0x40 then rr=rr*-1
// update the global variable
ga=ga+rr
// don't go past limits
if ga<0 then ga=0
if ga>127 then ga=127
And the project file. I only updated translator 2.0.