Yeah, well, except that the range is from 0-1023 now, and PBP's SIN function takes a "Binary Radian" input (0-255), giving a result of -127 to 127. Sure, it's all there.
Yeah, well, except that the range is from 0-1023 now, and PBP's SIN function takes a "Binary Radian" input (0-255), giving a result of -127 to 127. Sure, it's all there.
But now we need to line it all up.
Got any idea's?
<br>
We don't know how 'hard' he needs his compensation curve...for that matter, we don't know a lot about this 'function'...
'Divide down' the SIN result to make it less agressive, multiply it up for more compensation, add in some linear interpolation to 'fill in the blanks'...
We just don't know what's 'REALLY' needed here.
If this was some sort of R/C controller for a model airplane or something, I'd think he was trying to add a bit of double sided 'exponential throw' into his programming...
We don't know how 'hard' he needs his compensation curve...for that matter, we don't know a lot about this 'function'...
OK, so let's stick with what we DO know.
The original Data spanned from 0-10.
If we expand that to 10-bit, we can make it 0-1000, plus 23. Just multiply by 100.
And, since the PBP SIN function takes an 8-bit input, we can divide the A/D value (X) by 4 to get the Angle in "Binary Radians". (I assume this is the 'Divide down' method)
Then running it through a short PBP program I got the SIN(A) values. (shown in the odd gray color)
Here you can see "Less than Optimal" results.
It's quite a large error.
So I guess the question now is ....
What's the "multiply it up for more compensation" method?
<br>
************************************************** ***********************
Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
************************************************** ***********************
IF there is the word "Problem" in your question ...
certainly the answer is " RTFM " or " RTFDataSheet " !!!
*****************************************
The purpose of this curve is to compensate the output of a joystick to suit players response in a game. Some player like "agrresive" joystick response while some other like "standard,linear" response.
I'm a bit puzzled by that - wondering if you could explain further?
Bookmarks