diff -r 2c8ba1964db7 -r b584642d4f58 planner.cpp --- a/planner.cpp Sat Nov 07 13:23:07 2015 +0100 +++ b/planner.cpp Sat Nov 07 13:24:46 2015 +0100 @@ -458,7 +458,7 @@ // Add a new linear movement to the buffer. steps_x, _y and _z is the absolute position in // mm. Microseconds specify how many microseconds the move should take to perform. To aid acceleration // calculation the caller must also provide the physical length of the line in millimeters. -void plan_buffer_line(const float &x, const float &y, const float &z, const float &e, float feed_rate, const uint8_t &extruder) +void plan_buffer_line(const float &x, const float &y, const float &z, const float &e, float feed_rate, const uint8_t &extruder, bool laser_on) { // Calculate the buffer head after we push this byte int next_buffer_head = next_block_index(block_buffer_head); @@ -503,6 +503,9 @@ // Mark block as not busy (Not executed by the stepper interrupt) block->busy = false; + // set the laser output status + block->laser_on = laser_on; + // Number of steps for each axis block->steps_x = labs(target[X_AXIS]-position[X_AXIS]); block->steps_y = labs(target[Y_AXIS]-position[Y_AXIS]);