Skip to content

Commit

Permalink
Fix: fix 10w laser online power enable exception in G0/G1 command
Browse files Browse the repository at this point in the history
  • Loading branch information
zhangquanyi authored and scotthsl committed Jul 21, 2022
1 parent 62a6221 commit f6967d0
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 2 deletions.
2 changes: 1 addition & 1 deletion Marlin/src/module/planner.cpp
Expand Up @@ -114,7 +114,7 @@ uint8_t Planner::delay_before_delivering; // This counter delays delivery

planner_settings_t Planner::settings; // Initialized by settings.load()

laser_state_t Planner::laser_inline; // Planner laser power for blocks
laser_state_t Planner::laser_inline = {0}; // Planner laser power for blocks

uint32_t Planner::max_acceleration_steps_per_s2[X_TO_EN]; // (steps/s^2) Derived from mm_per_s2

Expand Down
20 changes: 19 additions & 1 deletion snapmaker/src/module/toolhead_laser.cpp
Expand Up @@ -1025,16 +1025,34 @@ void ToolHeadLaser::InlineDisable() {

void ToolHeadLaser::SetOutputInline(float power) {
CheckFan(power);
planner.laser_inline.status.isEnabled = true;

SetPower(power);
planner.laser_inline.power = power_pwm_;

if (power_pwm_ > 0)
planner.laser_inline.status.isEnabled = true;
else
planner.laser_inline.status.isEnabled = false;

if (laser->device_id_ == MODULE_DEVICE_ID_10W_LASER && power_pwm_ > 0) {
if (laser_10w_status_ == LASER_10W_DISABLE) {
// Send the enable command only when the power is disabled
LaserControl(1);
}
// Stop waiting disable
laser_10w_status_ = LASER_10W_ENABLE;
}
}


void ToolHeadLaser::TurnOn_ISR(uint16_t power_pwm) {
if (power_pwm > power_limit_pwm_)
power_pwm = power_limit_pwm_;

if (power_pwm > 0)
state_ = TOOLHEAD_LASER_STATE_ON;
else
state_ = TOOLHEAD_LASER_STATE_OFF;

TimSetPwm(power_pwm);
}

0 comments on commit f6967d0

Please sign in to comment.