@@ -86,9 +86,13 @@ print("line 0: X starts at 0.000000")
8686
8787
8888# find where X starts moving (X is the second column, column 1)
89- i = 0
90- while samples [i ][1 ] == samples [i + 1 ][1 ]:
91- i += 1
89+ for i in range (0 , len (samples ) - 1 ):
90+ if samples [i ][1 ] != samples [i + 1 ][1 ]:
91+ break
92+
93+ if len (samples ) == i + 2 :
94+ print ("error: no acceleration detected, did linuxcnc take too long to start moving?" )
95+ sys .exit (1 )
9296
9397print ("line %d: accel phase starts" % i )
9498
@@ -100,7 +104,7 @@ print("line %d: accel phase starts" % i)
100104highest_seen_accel_ipc2 = 0
101105old_accel_ipc2 = 0
102106old_v_ipc = 0
103- for i in range (i , len (samples )):
107+ for i in range (i , len (samples ) - 1 ):
104108
105109 new_v_ipc = samples [i + 1 ][1 ] - samples [i ][1 ]
106110 accel_ipc2 = new_v_ipc - old_v_ipc
@@ -141,7 +145,7 @@ print("line %d: entering cruise phase, vel=%.6f i/s, max_accel = %.6f i/s^2" % (
141145
142146# now i is the first sample of the cruise phase
143147# wait for vel to drop again
144- for i in range (i , len (samples )):
148+ for i in range (i , len (samples ) - 1 ):
145149 new_v_ipc = samples [i + 1 ][1 ] - samples [i ][1 ]
146150
147151 if abs (new_v_ipc - old_v_ipc ) > 0.0000001 :
@@ -158,7 +162,7 @@ print("line %d: decel phase starting, old_v=%.6f i/s, new_v=%.6f i/s" % (i, old_
158162# verify decel phase stops when vel == 0
159163highest_seen_accel_ipc2 = 0
160164old_accel_ipc2 = 0
161- for i in range (i , len (samples )):
165+ for i in range (i , len (samples ) - 1 ):
162166
163167 new_v_ipc = samples [i + 1 ][1 ] - samples [i ][1 ]
164168 accel_ipc2 = new_v_ipc - old_v_ipc
0 commit comments