Diag: speed-change investigation -- authentic analog throttle CONFIRMED, harnesses + gait probes (task #50)
Decomp workflow w0odszxro settled the speed model: the pod throttle was ANALOG- CONTINUOUS (RIO Ranger, 800 ADC counts, 0.05 deadband; sole detent = snap-to-1.0 within 0.05 @004d196c). '5 speeds' is FALSE -- the 1-5 keys are MFD mode pages; the 0..5 stepper is HUD/radar zoom. BONUS: throttleState@0x4a4 is a MISNOMER -- binary census proves it is the fall-contact surface material cache (0..7, init 2=Concrete), written only at knockdown; rename pending. Empirical rule-outs (autonomous drive-sweep harness, this commit): - Record density: with the clock guard + incremental heading in, a per-frame continuous demand sweep measures IDENTICAL to constant throttle on position evenness ([repljit]), render heading ([rendhdg]), and gait cadence ([gaitev]). - Type-3 stomps: ~0 fire in sustained sweeps (only at launch) -- not the driver. - The 0.05-grid keyboard publish experiment is retained env-gated OFF (BT_GRID_LEVER) -- the ADC was ~continuous, so the grid is NOT authentic and gains nothing measurable; default publish stays continuous (authentic). New tooling: BT_DRIVE_SWEEP[0] (forced-drive triangle sweep, optional through- zero), BT_FORCE_STEP (0.05-grid variant), BT_GAITEV (per-frame leg-clip advance + state-flip + demand-change stats), [t3rx] (type-3 stomp trace). STATUS: user still reports visible speed-change glitches in interactive play; all harness metrics saturate at baseline -- next step is probes ON the user's interactive session (their eyes + instruments on the same run). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
93456be051
commit
2c6db6a2de
@@ -665,6 +665,13 @@ void
|
||||
float ph = fmodf(s_swpClock, 2.0f * s_swpP) / s_swpP; // 0..2
|
||||
float tri = (ph < 1.0f) ? ph : (2.0f - ph); // 0..1..0
|
||||
key_throttle = 0.2f + 0.7f * tri;
|
||||
// BT_FORCE_STEP=1: quantize the swept throttle to the RIO
|
||||
// Ranger 0.05 grid (the authentic ADC/deadband step) -- the
|
||||
// stepped-vs-continuous A/B for the speed-change glitch.
|
||||
static int s_swpStep = -1;
|
||||
if (s_swpStep < 0) s_swpStep = getenv("BT_FORCE_STEP") ? 1 : 0;
|
||||
if (s_swpStep)
|
||||
key_throttle = floorf(key_throttle / 0.05f + 0.5f) * 0.05f;
|
||||
}
|
||||
}
|
||||
// BT_FORCE_FLIP=<t>: invert the forced throttle after t sim-seconds
|
||||
|
||||
Reference in New Issue
Block a user