|
@@ -109,8 +109,6 @@ public:
|
109
|
109
|
FORCE_INLINE static void refresh() { apply_power(power); }
|
110
|
110
|
FORCE_INLINE static void set_power(const uint8_t upwr) { power = upwr; refresh(); }
|
111
|
111
|
|
112
|
|
- static inline void set_enabled(const bool enable) { set_power(enable ? (power ?: (unitPower ? upower_to_ocr(cpwr_to_upwr(SPEED_POWER_STARTUP)) : 0)) : 0); }
|
113
|
|
-
|
114
|
112
|
#if ENABLED(SPINDLE_LASER_PWM)
|
115
|
113
|
|
116
|
114
|
static void set_ocr(const uint8_t ocr);
|
|
@@ -148,21 +146,21 @@ public:
|
148
|
146
|
cutter_power_t upwr;
|
149
|
147
|
switch (pwrUnit) {
|
150
|
148
|
case 0: // PWM
|
151
|
|
- upwr = (
|
|
149
|
+ upwr = cutter_power_t(
|
152
|
150
|
(pwr < pct_to_ocr(min_pct)) ? pct_to_ocr(min_pct) // Use minimum if set below
|
153
|
151
|
: (pwr > pct_to_ocr(max_pct)) ? pct_to_ocr(max_pct) // Use maximum if set above
|
154
|
152
|
: pwr
|
155
|
153
|
);
|
156
|
154
|
break;
|
157
|
155
|
case 1: // PERCENT
|
158
|
|
- upwr = (
|
|
156
|
+ upwr = cutter_power_t(
|
159
|
157
|
(pwr < min_pct) ? min_pct // Use minimum if set below
|
160
|
158
|
: (pwr > max_pct) ? max_pct // Use maximum if set above
|
161
|
159
|
: pwr // PCT
|
162
|
160
|
);
|
163
|
161
|
break;
|
164
|
162
|
case 2: // RPM
|
165
|
|
- upwr = (
|
|
163
|
+ upwr = cutter_power_t(
|
166
|
164
|
(pwr < SPEED_POWER_MIN) ? SPEED_POWER_MIN // Use minimum if set below
|
167
|
165
|
: (pwr > SPEED_POWER_MAX) ? SPEED_POWER_MAX // Use maximum if set above
|
168
|
166
|
: pwr // Calculate OCR value
|
|
@@ -175,6 +173,10 @@ public:
|
175
|
173
|
|
176
|
174
|
#endif // SPINDLE_LASER_PWM
|
177
|
175
|
|
|
176
|
+ static inline void set_enabled(const bool enable) {
|
|
177
|
+ set_power(enable ? TERN(SPINDLE_LASER_PWM, (power ?: (unitPower ? upower_to_ocr(cpwr_to_upwr(SPEED_POWER_STARTUP)) : 0)), 255) : 0);
|
|
178
|
+ }
|
|
179
|
+
|
178
|
180
|
// Wait for spindle to spin up or spin down
|
179
|
181
|
static inline void power_delay(const bool on) {
|
180
|
182
|
#if DISABLED(LASER_POWER_INLINE)
|
|
@@ -194,7 +196,7 @@ public:
|
194
|
196
|
|
195
|
197
|
static inline void enable_with_dir(const bool reverse) {
|
196
|
198
|
isReady = true;
|
197
|
|
- const uint8_t ocr = upower_to_ocr(menuPower);
|
|
199
|
+ const uint8_t ocr = TERN(SPINDLE_LASER_PWM, upower_to_ocr(menuPower), 255);
|
198
|
200
|
if (menuPower)
|
199
|
201
|
power = ocr;
|
200
|
202
|
else
|