code: def _make_padded_ramp(self, v1, v2, pad_velocity, total_time):
          
          # The time taken to ramp from v1 to pad_velocity
          t1 = self.acceleration_time(v1, pad_velocity)
          # Then on to v2
          t2 = self.acceleration_time(pad_velocity, v2)
          # The distance during the pad
          tp = total_time - t1 - t2
          # Yield the points
          yield t1, pad_velocity
          yield tp, pad_velocity
          yield t2, v2
docs: Makes a ramp that looks like this:
  
          v1 \______ pad_velocity
             |      |\
             |      | \v2
           t1   tp   t2
          Such that whole section takes total_time