# Desktop Python teaching example. Numerical inputs are illustrative.
def run(kp):
    speed = 0.0
    trace = []
    for step in range(60):
        command = max(0.0, min(1.0, kp * (0.1 - speed)))
        speed += 0.25 * (0.3 * command - speed)
        trace.append(speed)
    return trace

for kp in [1.0, 3.0, 8.0]:
    values = run(kp)
    print(kp, "final_m_s", values[-1], "peak_m_s", max(values))
