File tree 1 file changed +5
-4
lines changed
1 file changed +5
-4
lines changed Original file line number Diff line number Diff line change @@ -32,19 +32,20 @@ impl ArcState {
32
32
direction,
33
33
args. mm_per_arc_segment ,
34
34
) ;
35
- let e_base = toolhead_state. position . w ;
36
- let e_per_move = args. e . map ( |e| ( e - e_base) / ( segments as f64 ) ) ;
35
+ let mut e_base = toolhead_state. position . w ;
36
+ let e_per_move = args. e . map_or ( 0.0 , |e| ( e - e_base) / ( segments as f64 ) ) ;
37
37
38
38
toolhead_state. set_speed ( args. velocity ) ;
39
39
40
40
let old_pos_mode = toolhead_state. position_modes ;
41
41
toolhead_state. position_modes = [ PositionMode :: Absolute ; 4 ] ;
42
- for ( i, segment) in arc. enumerate ( ) {
42
+ for segment in arc {
43
+ e_base += e_per_move;
43
44
let coord = [
44
45
Some ( segment. x ) ,
45
46
Some ( segment. y ) ,
46
47
Some ( segment. z ) ,
47
- e_per_move . map ( |e| e_base + ( i as f64 ) * e ) ,
48
+ Some ( e_base) ,
48
49
] ;
49
50
let mut pm = toolhead_state. perform_move ( coord) ;
50
51
pm. kind = move_kind;
You can’t perform that action at this time.
0 commit comments