| Line 401... |
Line 401... |
| 401 |
* These are OPPO's tuning values and are deliberately independent of realme's.
|
401 |
* These are OPPO's tuning values and are deliberately independent of realme's.
|
| 402 |
* The two classes drive the same dingxiang widget but convert very differently
|
402 |
* The two classes drive the same dingxiang widget but convert very differently
|
| 403 |
* (oppo ~12%, realme ~60% of completed drags), so a change proven on one is NOT
|
403 |
* (oppo ~12%, realme ~60% of completed drags), so a change proven on one is NOT
|
| 404 |
* evidence for the other. Tune and measure them separately.
|
404 |
* evidence for the other. Tune and measure them separately.
|
| 405 |
*
|
405 |
*
|
| 406 |
* 1.7 was a guess carried over from a single hand measurement. Measured over 3,694
|
406 |
* Back to 1.7 after r37433 set this to 0.67 and it did not help (14% -> 13%).
|
| - |
|
407 |
*
|
| 407 |
* real oppo calibrations in production the ratio is 0.67 (realme's is 0.70, on its
|
408 |
* 0.67 was fitted to 3,694 production calibrations -- but every one of those was
|
| - |
|
409 |
* measured while the slider press was being leaked between attempts (r37435), so the
|
| - |
|
410 |
* sample was contaminated and the value fitted to noise.
|
| - |
|
411 |
*
|
| - |
|
412 |
* With that confound removed the clean evidence is realme: identical widget, same
|
| - |
|
413 |
* calibration code, ASSUMED_RATIO 1.7, converting 82%. Measured post-fix on similar
|
| - |
|
414 |
* gaps, 1.7 probes ~31px and closes ~11% of the gap, while 0.67 probes ~52px and
|
| 408 |
* own 1,683). At 1.7 the probe closes about a fifth of the gap instead of the half
|
415 |
* closes ~37%. The SMALLER probe is the one that lands -- a probe that eats a third
|
| - |
|
416 |
* of the gap risks crossing the target during calibration, and |c1-c2| cannot tell
|
| 409 |
* it is meant to, so the ratio is derived from a needlessly small, noisy sample.
|
417 |
* "not there yet" from "gone past", so the derived ratio comes back wrong.
|
| 410 |
*/
|
418 |
*/
|
| 411 |
private static final double ASSUMED_RATIO = 0.67;
|
419 |
private static final double ASSUMED_RATIO = 1.7;
|
| 412 |
private static final int MIN_NUDGE = 10;
|
420 |
private static final int MIN_NUDGE = 10;
|
| 413 |
private static final int MAX_NUDGE = 60;
|
421 |
private static final int MAX_NUDGE = 60;
|
| 414 |
private static final double ALIGNED_PX = 2.0;
|
422 |
private static final double ALIGNED_PX = 2.0;
|
| 415 |
|
423 |
|
| 416 |
private static int nudgeFor(double gap) {
|
424 |
private static int nudgeFor(double gap) {
|