define dejitter defaults

This commit is contained in:
thrust26 2019-05-09 20:11:42 +02:00
parent 035ebbfbf4
commit 94c4eb962f
3 changed files with 25 additions and 4 deletions

View File

@ -262,6 +262,7 @@ void Paddles::update()
bool sa_changed = false;
int sa_xaxis = myEvent.get(myP0AxisValue);
int sa_yaxis = myEvent.get(myP1AxisValue);
int new_val;
const double bFac[MAX_DEJITTER - MIN_DEJITTER + 1] = {
// higher values mean more dejitter strength
@ -280,18 +281,26 @@ void Paddles::update()
if(abs(myLastAxisX - sa_xaxis) > 10)
{
// anti jitter, suppress small changes only
// dejitter, suppress small changes only
double dejitter = std::pow(baseFactor, abs(sa_xaxis - myLastAxisX) * diffFactor);
sa_xaxis = sa_xaxis * (1 - dejitter) + myLastAxisX * dejitter;
new_val = sa_xaxis * (1 - dejitter) + myLastAxisX * dejitter;
// only use new dejittered value for larger differences
if (abs(new_val - sa_xaxis) > 10)
sa_xaxis = new_val;
setPin(AnalogPin::Nine, Int32(MAX_RESISTANCE * ((32767 - Int16(sa_xaxis)) / 65536.0)));
sa_changed = true;
}
if(abs(myLastAxisY - sa_yaxis) > 10)
{
// anti jitter, suppress small changes only
// dejitter, suppress small changes only
double dejitter = std::pow(baseFactor, abs(sa_yaxis - myLastAxisY) * diffFactor);
sa_yaxis = sa_yaxis * (1 - dejitter) + myLastAxisY * dejitter;
new_val = sa_yaxis * (1 - dejitter) + myLastAxisY * dejitter;
// only use new dejittered value for larger differences
if (abs(new_val - sa_yaxis) > 10)
sa_yaxis = new_val;
setPin(AnalogPin::Five, Int32(MAX_RESISTANCE * ((32767 - Int16(sa_yaxis)) / 65536.0)));
sa_changed = true;

View File

@ -413,8 +413,16 @@ void InputDialog::setDefaults()
myDPaddleLabel->setLabel("10");
myMPaddleSpeed->setValue(10);
myMPaddleLabel->setLabel("10");
// FIXME - use the R77 define in the final release
// use the '1' define for testing
#if defined(RETRON77)
// #if 1
myDejitterBase->setValue(2);
myDejitterDiff->setValue(6);
#else
myDejitterBase->setValue(0);
myDejitterDiff->setValue(0);
#endif
UpdateDejitter();
myTrackBallSpeed->setValue(10);
myTrackBallLabel->setLabel("10");

View File

@ -72,6 +72,10 @@ SettingsR77::SettingsR77()
setPermanent("tv.phosblend", "45"); // level 6
setPermanent("tv.scanlines", "18"); // level 3
// enable dejitter by default
setPermanent("dejitterBase", "2");
setPermanent("dejitterDiff", "6");
setPermanent("joymap",
string() +
"128^i2c_controller|4 17 18 15 16 31 31 35 35 121 122 112 113 0 0 0 0|8 19 20 100 99 103 0 0 0 120 123 127 126 0 124 0 0|" +