瀏覽代碼

🧑‍💻 Remove servo macros

Scott Lahteine 2 年之前
父節點
當前提交
e4e6abe5af

+ 1
- 1
Marlin/src/feature/bltouch.cpp 查看文件

45
 
45
 
46
 bool BLTouch::command(const BLTCommand cmd, const millis_t &ms) {
46
 bool BLTouch::command(const BLTCommand cmd, const millis_t &ms) {
47
   if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("BLTouch Command :", cmd);
47
   if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("BLTouch Command :", cmd);
48
-  MOVE_SERVO(Z_PROBE_SERVO_NR, cmd);
48
+  servo[Z_PROBE_SERVO_NR].move(cmd);
49
   safe_delay(_MAX(ms, (uint32_t)BLTOUCH_DELAY)); // BLTOUCH_DELAY is also the *minimum* delay
49
   safe_delay(_MAX(ms, (uint32_t)BLTOUCH_DELAY)); // BLTOUCH_DELAY is also the *minimum* delay
50
   return triggered();
50
   return triggered();
51
 }
51
 }

+ 2
- 2
Marlin/src/feature/spindle_laser.cpp 查看文件

58
  */
58
  */
59
 void SpindleLaser::init() {
59
 void SpindleLaser::init() {
60
   #if ENABLED(SPINDLE_SERVO)
60
   #if ENABLED(SPINDLE_SERVO)
61
-    MOVE_SERVO(SPINDLE_SERVO_NR, SPINDLE_SERVO_MIN);
61
+    servo[SPINDLE_SERVO_NR].move(SPINDLE_SERVO_MIN);
62
   #else
62
   #else
63
     OUT_WRITE(SPINDLE_LASER_ENA_PIN, !SPINDLE_LASER_ACTIVE_STATE);    // Init spindle to off
63
     OUT_WRITE(SPINDLE_LASER_ENA_PIN, !SPINDLE_LASER_ACTIVE_STATE);    // Init spindle to off
64
   #endif
64
   #endif
131
       isReady = false;
131
       isReady = false;
132
     }
132
     }
133
   #elif ENABLED(SPINDLE_SERVO)
133
   #elif ENABLED(SPINDLE_SERVO)
134
-    MOVE_SERVO(SPINDLE_SERVO_NR, power);
134
+    servo[SPINDLE_SERVO_NR].move(power);
135
   #else
135
   #else
136
     WRITE(SPINDLE_LASER_ENA_PIN, enabled() ? SPINDLE_LASER_ACTIVE_STATE : !SPINDLE_LASER_ACTIVE_STATE);
136
     WRITE(SPINDLE_LASER_ENA_PIN, enabled() ? SPINDLE_LASER_ACTIVE_STATE : !SPINDLE_LASER_ACTIVE_STATE);
137
     isReady = true;
137
     isReady = true;

+ 4
- 4
Marlin/src/gcode/config/M43.cpp 查看文件

198
       uint8_t i = 0;
198
       uint8_t i = 0;
199
       SERIAL_ECHOLNPGM(". Deploy & stow 4 times");
199
       SERIAL_ECHOLNPGM(". Deploy & stow 4 times");
200
       do {
200
       do {
201
-        MOVE_SERVO(probe_index, servo_angles[Z_PROBE_SERVO_NR][0]); // Deploy
201
+        servo[probe_index].move(servo_angles[Z_PROBE_SERVO_NR][0]); // Deploy
202
         safe_delay(500);
202
         safe_delay(500);
203
         deploy_state = READ(PROBE_TEST_PIN);
203
         deploy_state = READ(PROBE_TEST_PIN);
204
-        MOVE_SERVO(probe_index, servo_angles[Z_PROBE_SERVO_NR][1]); // Stow
204
+        servo[probe_index].move(servo_angles[Z_PROBE_SERVO_NR][1]); // Stow
205
         safe_delay(500);
205
         safe_delay(500);
206
         stow_state = READ(PROBE_TEST_PIN);
206
         stow_state = READ(PROBE_TEST_PIN);
207
       } while (++i < 4);
207
       } while (++i < 4);
226
     }
226
     }
227
 
227
 
228
     // Ask the user for a trigger event and measure the pulse width.
228
     // Ask the user for a trigger event and measure the pulse width.
229
-    MOVE_SERVO(probe_index, servo_angles[Z_PROBE_SERVO_NR][0]); // Deploy
229
+    servo[probe_index].move(servo_angles[Z_PROBE_SERVO_NR][0]); // Deploy
230
     safe_delay(500);
230
     safe_delay(500);
231
     SERIAL_ECHOLNPGM("** Please trigger probe within 30 sec **");
231
     SERIAL_ECHOLNPGM("** Please trigger probe within 30 sec **");
232
     uint16_t probe_counter = 0;
232
     uint16_t probe_counter = 0;
256
         }
256
         }
257
         else SERIAL_ECHOLNPGM("FAIL: Noise detected - please re-run test");
257
         else SERIAL_ECHOLNPGM("FAIL: Noise detected - please re-run test");
258
 
258
 
259
-        MOVE_SERVO(probe_index, servo_angles[Z_PROBE_SERVO_NR][1]); // Stow
259
+        servo[probe_index].move(servo_angles[Z_PROBE_SERVO_NR][1]); // Stow
260
         return;
260
         return;
261
       }
261
       }
262
     }
262
     }

+ 3
- 3
Marlin/src/gcode/control/M280.cpp 查看文件

56
             while (PENDING(now, end)) {
56
             while (PENDING(now, end)) {
57
               safe_delay(50);
57
               safe_delay(50);
58
               now = _MIN(millis(), end);
58
               now = _MIN(millis(), end);
59
-              MOVE_SERVO(servo_index, LROUND(aold + (anew - aold) * (float(now - start) / t)));
59
+              servo[servo_index].move(LROUND(aold + (anew - aold) * (float(now - start) / t)));
60
             }
60
             }
61
           }
61
           }
62
         #endif // POLARGRAPH
62
         #endif // POLARGRAPH
63
-        MOVE_SERVO(servo_index, anew);
63
+        servo[servo_index].move(anew);
64
       }
64
       }
65
       else
65
       else
66
-        DETACH_SERVO(servo_index);
66
+        servo[servo_index].detach();
67
     }
67
     }
68
     else
68
     else
69
       SERIAL_ECHO_MSG(" Servo ", servo_index, ": ", servo[servo_index].read());
69
       SERIAL_ECHO_MSG(" Servo ", servo_index, ": ", servo[servo_index].read());

+ 1
- 1
Marlin/src/gcode/control/M282.cpp 查看文件

36
 
36
 
37
   const int servo_index = parser.value_int();
37
   const int servo_index = parser.value_int();
38
   if (WITHIN(servo_index, 0, NUM_SERVOS - 1))
38
   if (WITHIN(servo_index, 0, NUM_SERVOS - 1))
39
-    DETACH_SERVO(servo_index);
39
+    servo[servo_index].detach();
40
   else
40
   else
41
     SERIAL_ECHO_MSG("Servo ", servo_index, " out of range");
41
     SERIAL_ECHO_MSG("Servo ", servo_index, " out of range");
42
 
42
 

+ 1
- 1
Marlin/src/module/probe.cpp 查看文件

343
 
343
 
344
   #elif HAS_Z_SERVO_PROBE
344
   #elif HAS_Z_SERVO_PROBE
345
 
345
 
346
-    MOVE_SERVO(Z_PROBE_SERVO_NR, servo_angles[Z_PROBE_SERVO_NR][deploy ? 0 : 1]);
346
+    servo[Z_PROBE_SERVO_NR].move(servo_angles[Z_PROBE_SERVO_NR][deploy ? 0 : 1]);
347
 
347
 
348
   #elif EITHER(TOUCH_MI_PROBE, Z_PROBE_ALLEN_KEY)
348
   #elif EITHER(TOUCH_MI_PROBE, Z_PROBE_ALLEN_KEY)
349
 
349
 

+ 4
- 4
Marlin/src/module/servo.cpp 查看文件

39
 void servo_init() {
39
 void servo_init() {
40
   #if NUM_SERVOS >= 1 && HAS_SERVO_0
40
   #if NUM_SERVOS >= 1 && HAS_SERVO_0
41
     servo[0].attach(SERVO0_PIN);
41
     servo[0].attach(SERVO0_PIN);
42
-    DETACH_SERVO(0); // Just set up the pin. We don't have a position yet. Don't move to a random position.
42
+    servo[0].detach(); // Just set up the pin. We don't have a position yet. Don't move to a random position.
43
   #endif
43
   #endif
44
   #if NUM_SERVOS >= 2 && HAS_SERVO_1
44
   #if NUM_SERVOS >= 2 && HAS_SERVO_1
45
     servo[1].attach(SERVO1_PIN);
45
     servo[1].attach(SERVO1_PIN);
46
-    DETACH_SERVO(1);
46
+    servo[1].detach();
47
   #endif
47
   #endif
48
   #if NUM_SERVOS >= 3 && HAS_SERVO_2
48
   #if NUM_SERVOS >= 3 && HAS_SERVO_2
49
     servo[2].attach(SERVO2_PIN);
49
     servo[2].attach(SERVO2_PIN);
50
-    DETACH_SERVO(2);
50
+    servo[2].detach();
51
   #endif
51
   #endif
52
   #if NUM_SERVOS >= 4 && HAS_SERVO_3
52
   #if NUM_SERVOS >= 4 && HAS_SERVO_3
53
     servo[3].attach(SERVO3_PIN);
53
     servo[3].attach(SERVO3_PIN);
54
-    DETACH_SERVO(3);
54
+    servo[3].detach();
55
   #endif
55
   #endif
56
 }
56
 }
57
 
57
 

+ 2
- 5
Marlin/src/module/servo.h 查看文件

103
   };
103
   };
104
 
104
 
105
   #if HAS_Z_SERVO_PROBE
105
   #if HAS_Z_SERVO_PROBE
106
-    #define DEPLOY_Z_SERVO() MOVE_SERVO(Z_PROBE_SERVO_NR, servo_angles[Z_PROBE_SERVO_NR][0])
107
-    #define STOW_Z_SERVO() MOVE_SERVO(Z_PROBE_SERVO_NR, servo_angles[Z_PROBE_SERVO_NR][1])
106
+    #define DEPLOY_Z_SERVO() servo[Z_PROBE_SERVO_NR].move(servo_angles[Z_PROBE_SERVO_NR][0])
107
+    #define STOW_Z_SERVO() servo[Z_PROBE_SERVO_NR].move(servo_angles[Z_PROBE_SERVO_NR][1])
108
   #endif
108
   #endif
109
 
109
 
110
 #endif // HAS_SERVO_ANGLES
110
 #endif // HAS_SERVO_ANGLES
111
 
111
 
112
-#define MOVE_SERVO(I, P) servo[I].move(P)
113
-#define DETACH_SERVO(I) servo[I].detach()
114
-
115
 extern hal_servo_t servo[NUM_SERVOS];
112
 extern hal_servo_t servo[NUM_SERVOS];
116
 void servo_init();
113
 void servo_init();

+ 3
- 3
Marlin/src/module/temperature.cpp 查看文件

1881
         #endif
1881
         #endif
1882
         #if ENABLED(CHAMBER_VENT)
1882
         #if ENABLED(CHAMBER_VENT)
1883
           flag_chamber_excess_heat = false;
1883
           flag_chamber_excess_heat = false;
1884
-          MOVE_SERVO(CHAMBER_VENT_SERVO_NR, 90);
1884
+          servo[CHAMBER_VENT_SERVO_NR].move(90);
1885
         #endif
1885
         #endif
1886
       }
1886
       }
1887
     #endif
1887
     #endif
1897
           if (flag_chamber_excess_heat) {
1897
           if (flag_chamber_excess_heat) {
1898
             temp_chamber.soft_pwm_amount = 0;
1898
             temp_chamber.soft_pwm_amount = 0;
1899
             #if ENABLED(CHAMBER_VENT)
1899
             #if ENABLED(CHAMBER_VENT)
1900
-              if (!flag_chamber_off) MOVE_SERVO(CHAMBER_VENT_SERVO_NR, temp_chamber.celsius <= temp_chamber.target ? 0 : 90);
1900
+              if (!flag_chamber_off) servo[CHAMBER_VENT_SERVO_NR].move(temp_chamber.celsius <= temp_chamber.target ? 0 : 90);
1901
             #endif
1901
             #endif
1902
           }
1902
           }
1903
           else {
1903
           else {
1910
               temp_chamber.soft_pwm_amount = temp_chamber.celsius < temp_chamber.target ? (MAX_CHAMBER_POWER) >> 1 : 0;
1910
               temp_chamber.soft_pwm_amount = temp_chamber.celsius < temp_chamber.target ? (MAX_CHAMBER_POWER) >> 1 : 0;
1911
             #endif
1911
             #endif
1912
             #if ENABLED(CHAMBER_VENT)
1912
             #if ENABLED(CHAMBER_VENT)
1913
-              if (!flag_chamber_off) MOVE_SERVO(CHAMBER_VENT_SERVO_NR, 0);
1913
+              if (!flag_chamber_off) servo[CHAMBER_VENT_SERVO_NR].move(0);
1914
             #endif
1914
             #endif
1915
           }
1915
           }
1916
         }
1916
         }

+ 4
- 4
Marlin/src/module/tool_change.cpp 查看文件

116
   void move_extruder_servo(const uint8_t e) {
116
   void move_extruder_servo(const uint8_t e) {
117
     planner.synchronize();
117
     planner.synchronize();
118
     if ((EXTRUDERS & 1) && e < EXTRUDERS - 1) {
118
     if ((EXTRUDERS & 1) && e < EXTRUDERS - 1) {
119
-      MOVE_SERVO(_SERVO_NR(e), servo_angles[_SERVO_NR(e)][e & 1]);
119
+      servo[_SERVO_NR(e)].move(servo_angles[_SERVO_NR(e)][e & 1]);
120
       safe_delay(500);
120
       safe_delay(500);
121
     }
121
     }
122
   }
122
   }
131
       constexpr int8_t  sns_index[2] = { SWITCHING_NOZZLE_SERVO_NR, SWITCHING_NOZZLE_E1_SERVO_NR };
131
       constexpr int8_t  sns_index[2] = { SWITCHING_NOZZLE_SERVO_NR, SWITCHING_NOZZLE_E1_SERVO_NR };
132
       constexpr int16_t sns_angles[2] = SWITCHING_NOZZLE_SERVO_ANGLES;
132
       constexpr int16_t sns_angles[2] = SWITCHING_NOZZLE_SERVO_ANGLES;
133
       planner.synchronize();
133
       planner.synchronize();
134
-      MOVE_SERVO(sns_index[e], sns_angles[angle_index]);
134
+      servo[sns_index[e]].move(sns_angles[angle_index]);
135
       safe_delay(500);
135
       safe_delay(500);
136
     }
136
     }
137
 
137
 
142
 
142
 
143
     void move_nozzle_servo(const uint8_t angle_index) {
143
     void move_nozzle_servo(const uint8_t angle_index) {
144
       planner.synchronize();
144
       planner.synchronize();
145
-      MOVE_SERVO(SWITCHING_NOZZLE_SERVO_NR, servo_angles[SWITCHING_NOZZLE_SERVO_NR][angle_index]);
145
+      servo[SWITCHING_NOZZLE_SERVO_NR].move(servo_angles[SWITCHING_NOZZLE_SERVO_NR][angle_index]);
146
       safe_delay(500);
146
       safe_delay(500);
147
     }
147
     }
148
 
148
 
443
   inline void switching_toolhead_lock(const bool locked) {
443
   inline void switching_toolhead_lock(const bool locked) {
444
     #ifdef SWITCHING_TOOLHEAD_SERVO_ANGLES
444
     #ifdef SWITCHING_TOOLHEAD_SERVO_ANGLES
445
       const uint16_t swt_angles[2] = SWITCHING_TOOLHEAD_SERVO_ANGLES;
445
       const uint16_t swt_angles[2] = SWITCHING_TOOLHEAD_SERVO_ANGLES;
446
-      MOVE_SERVO(SWITCHING_TOOLHEAD_SERVO_NR, swt_angles[locked ? 0 : 1]);
446
+      servo[SWITCHING_TOOLHEAD_SERVO_NR].move(swt_angles[locked ? 0 : 1]);
447
     #elif PIN_EXISTS(SWT_SOLENOID)
447
     #elif PIN_EXISTS(SWT_SOLENOID)
448
       OUT_WRITE(SWT_SOLENOID_PIN, locked);
448
       OUT_WRITE(SWT_SOLENOID_PIN, locked);
449
       gcode.dwell(10);
449
       gcode.dwell(10);

Loading…
取消
儲存