def move_a_bit(a): stepper = Stepper(a, 2000, 1000) df = pd.DataFrame(index=np.arange(0, 1500 * 2), columns=('v', 's', 'd', 't')) t = 0.0 s = 0 try: stepper.target_pos = 1500 while True: d = stepper.step() m = 1 << stepper.micro if d == 0 or stepper.pos / m >= 300: stepper.set_target_speed(6000) break t += d df.loc[s] = [1e6 / d / m, stepper.pos / m, d / 1e6, t / 1e6] s += 1 while True: d = stepper.step() m = 1 << stepper.micro if d == 0: break if 1e6 / d / m < 200: i = 1 df.loc[s] = [1e6 / d / m, stepper.pos / m, d / 1e6, t / 1e6] t += d s += 1 except: print("FAIL") return df.dropna()
def accel_2_integer(steps, a): stepper = Stepper(a, 10000, 700) stepper.target_pos = steps df = pd.DataFrame(index=np.arange(0, steps * 16), columns=('v', 's', 'd', 't', 'adj_d', 'micro', 'shift')) t = 0 s = 0 while True: d = stepper.step() if d == 0 or s > steps * 16: break m = 1 << stepper.micro v = 1e6 / d / m p = stepper.pos / m ad = d * m t += d df.loc[s] = [v, p, d, t / 1e6, ad, m, stepper.shift] s += 1 return df.dropna()