Tuan Nguyen 11 місяців тому
батько
коміт
772797d626

+ 6 - 3
dune_weaver_flask/modules/connection/connection_manager.py

@@ -279,7 +279,6 @@ def get_machine_steps(timeout=10):
     logger.error("Timeout reached waiting for machine steps")
     return False
 
-# TODO: set custom homing speed based on the device
 def home():
     """
     Perform homing by checking device configuration and sending the appropriate commands.
@@ -291,8 +290,12 @@ def home():
     else:
         logger.info("Sensorless homing not supported. Using crash homing")
         logger.info(f"Homing with speed {state.speed}")
-        send_grbl_coordinates(0, -22, state.speed, home=True)
-        state.machine_y -= 22
+        if state.gear_ratio == 6.25:
+            send_grbl_coordinates(0, - 30, state.speed, home=True)
+            state.machine_y -= 30
+        else:
+            send_grbl_coordinates(0, -22, state.speed, home=True)
+            state.machine_y -= 22
 
     state.current_theta = state.current_rho = 0
 

+ 7 - 5
dune_weaver_flask/modules/core/pattern_manager.py

@@ -138,21 +138,23 @@ def move_polar(theta, rho):
     if rho > (1-soft_limit_outter):
         rho = (1-soft_limit_outter)
     
-    x_scaling_factor = 2
-    y_scaling_factor = 5
+    if state.gear_ratio == 6.25:
+        x_scaling_factor = 2
+        y_scaling_factor = 3.7
+    else:
+        x_scaling_factor = 2
+        y_scaling_factor = 5
     
     delta_theta = theta - state.current_theta
     delta_rho = rho - state.current_rho
     x_increment = delta_theta * 100 / (2 * pi * x_scaling_factor)  # Added -1 to reverse direction
     y_increment = delta_rho * 100 / y_scaling_factor
     
-    if state.gear_ratio == 6.25:
-        x_increment = - x_increment
-    
     x_total_steps = state.x_steps_per_mm * (100/x_scaling_factor)
     y_total_steps = state.y_steps_per_mm * (100/y_scaling_factor)
         
     offset = x_increment * (x_total_steps * x_scaling_factor / (state.gear_ratio * y_total_steps * y_scaling_factor))
+
     y_increment += offset
     
     new_x_abs = state.machine_x + x_increment

+ 9 - 9
firmware/dune_weaver_mini/config.yaml

@@ -12,24 +12,24 @@ axes:
   shared_stepper_disable_pin: gpio.13
   x:
     steps_per_mm: 256
-    max_rate_mm_per_min: 500
-    acceleration_mm_per_sec2: 500
+    max_rate_mm_per_min: 300
+    acceleration_mm_per_sec2: 10
     max_travel_mm: 4000
     motor0:
       hard_limits: false
       unipolar:
-        phase0_pin: gpio.26
-        phase1_pin: gpio.27
-        phase2_pin: gpio.14
-        phase3_pin: gpio.12
+        phase0_pin: gpio.14
+        phase1_pin: gpio.12
+        phase2_pin: gpio.26
+        phase3_pin: gpio.27
         half_step: false
       limit_neg_pin: NO_PIN
       limit_pos_pin: NO_PIN
       limit_all_pin: NO_PIN
   y:
-    steps_per_mm: 232
-    max_rate_mm_per_min: 500
-    acceleration_mm_per_sec2: 500
+    steps_per_mm: 180
+    max_rate_mm_per_min: 300
+    acceleration_mm_per_sec2: 10
     max_travel_mm: 6.25
     motor0:
       hard_limits: false