Extruder: append_empty_block returns the new block so we don't have to look it up
authorMichael Moon <triffid.hunter@gmail.com>
Mon, 11 Mar 2013 10:26:27 +0000 (21:26 +1100)
committerMichael Moon <triffid.hunter@gmail.com>
Mon, 11 Mar 2013 10:26:27 +0000 (21:26 +1100)
src/modules/tools/extruder/Extruder.cpp
src/modules/tools/extruder/Extruder.h

index 528fbe5..d878e88 100644 (file)
@@ -138,16 +138,18 @@ void Extruder::on_gcode_received(void *argument)
 }
 
 // Append an empty block in the queue so that solo mode can pick it up
-void Extruder::append_empty_block(){
+Block* Extruder::append_empty_block(){
     this->kernel->conveyor->wait_for_queue(2);
     Block* block = this->kernel->conveyor->new_block();
     block->planner = this->kernel->planner;
     block->millimeters = 0;
-    block->steps[0] = 0; 
-    block->steps[1] = 0; 
-    block->steps[2] = 0; 
+    block->steps[0] = 0;
+    block->steps[1] = 0;
+    block->steps[2] = 0;
     // feed the block into the system. Will execute it if we are at the beginning of the queue
     block->ready();
+
+    return block;
 }
 
 //#pragma GCC push_options
index 083cbc1..f34c07f 100644 (file)
@@ -43,7 +43,7 @@ class Extruder : public Module{
         void on_speed_change(void* argument);
         uint32_t acceleration_tick(uint32_t dummy);
         uint32_t stepper_motor_finished_move(uint32_t dummy);
-        void append_empty_block();
+        Block*   append_empty_block();
 
         Pin             step_pin;                     // Step pin for the stepper driver
         Pin             dir_pin;                      // Dir pin for the stepper driver