Skip to content

Longitudinal control

How NAP handles speed and following distance — pedal-mode ACC, the no-pedal dumb-cruise reality, regen limits, and driving profiles.

Updated June 11, 2026


Longitudinal control means NAP managing the car's speed — accelerating toward a set speed and slowing for lead traffic. NAP only does this in pedal mode. In no-pedal mode there is no adaptive speed control at all: stock cruise holds a fixed speed and you manage it. Both modes share a hard constraint that first-time users regularly underestimate.

The braking constraint

NAP cannot apply friction brakes. Pre-AP Model S cars have vacuum-assisted brakes with no electronic brake actuation. The only deceleration NAP can command is regenerative braking from the drive motor.

Regen is limited in two ways: it's rate-limited (you won't get violent stops), and below about 5 mph (8 km/h) regen output drops off sharply. The car essentially coasts at very low speed.

You are the brakes. NAP will slow the car for a lead vehicle it can see, but if that vehicle stops hard or NAP's detection lags, there is no fallback. The NotAutopilot safety page is required reading before you drive with this. Keep a longer following distance than you would under normal adaptive cruise. Forward collision warning will alert — but alerting is all NAP can do.

An iBooster retrofit added friction-brake actuation in the Tinkla era, but the path is not currently available and NAP support is not promised. See iBooster / stop-and-go.

No-pedal mode: dumb cruise only

In no-pedal mode, NAP steers and the stock Tesla cruise control holds whatever speed you set — plain old cruise control, not adaptive. NAP engages and cancels stock CC for you, but it never adjusts the set speed and never slows for a lead car. Watching traffic and managing speed is your job, same as driving with cruise on any older car.

Tinkla approximated adaptive cruise in this configuration by continuously spamming stalk commands at the stock CC. NAP intentionally does not — injecting a constant stream of synthesized stalk presses is a safety risk we are not willing to take. It may return later if it can be done safely.

Stock CC also has a hard lower limit of approximately 18 mph (29 km/h). When traffic slows below that — a highway backup, a merge deceleration — stock CC drops out and the car coasts. NAP continues to steer until the stalk is pulled or a disengage condition fires, but speed is fully yours. Re-engage with a double-pull once you're back above 18 mph.

Pedal mode: broader speed range

With the Comma Pedal, NAP controls throttle directly and can maintain a target speed down to roughly walking pace. Regen limits still apply: the planner's maximum deceleration is −1.5 m/s². That's less than an average driver braking for a stop sign. The car will get there, but not quickly.

The regen floor at very low speed (~5 mph / 8 km/h) means the last few feet of a slow-down to a stop involve minimal deceleration — the car drifts rather than slows cleanly. Watch for this in stop-and-go traffic.

Driving profiles

Three profiles tune the acceleration ceiling. They map to openpilot's standard Driving Personality setting (which can be changed in the main openpilot settings, not the NAP panel).

ProfilePersonality valueCharacter
Aggressive0Spirited but controlled — pulls harder from low speeds
Standard1Smooth daily driver — default feel
Relaxed2Gentle — minimal push, lower ceilings throughout

The ceilings are speed-dependent. At low speed (0–17 mph / 0–27 km/h) all three profiles start with a 0.3 m/s² floor — that's very gentle. They diverge at mid-range speeds. The differences are most noticeable in the 17–55 mph (27–89 km/h) band where the Aggressive profile reaches 1.1 m/s² and Relaxed stays around 0.9 m/s².

When following a lead car, acceleration is additionally capped regardless of profile to prevent the overshoot-then-regen oscillation that's otherwise easy to trigger on the Model S motor's responsive torque curve.

The Adaptive Accel Limits toggle in the NAP settings works alongside the profile — when enabled, it further reduces the acceleration ceiling in close-follow situations.

Follow distance

Set in the NAP panel as a 1–7 scale (4 is default). The actual gap varies with speed — it's a time-gap setting, not a fixed distance. At 60 mph (97 km/h) the difference between 3 and 5 is noticeable. Given the regen-only braking constraint, err toward a larger gap than you think you need.

Zero-torque learning

One engagement problem unique to the Comma Pedal installation is that the "neutral" position of the pedal signal — the position that produces neither acceleration nor regen — varies slightly with battery state, temperature, and wear. If NAP seeds the pedal at a fixed zero value on engagement, the car either lurches forward or immediately regens.

NAP continuously tracks the pedal position that results in zero measured acceleration — the point where the car neither speeds up nor slows down. On the next engagement, the pedal command seeds at this learned value instead of a hard-coded zero. The result is that engagement feels smooth rather than jarring. The learned value updates every drive and is preserved between sessions.

Acceleration planner architecture

NAP uses a feedforward-dominant tune. The MPC planner's acceleration target passes through nearly 1:1 to the pedal, with a small integral term to correct steady-state errors from hills or headwind. This differs from Tinkla's PID architecture and means the driving profiles need lower ceilings than Tinkla used — the feedforward doesn't naturally dampen the ramp the way a PID does.