Set selected work offset when running program.

This commit is contained in:
2023-05-05 11:33:00 +03:00
parent 0d8bff6fd5
commit 4f9aed3996
3 changed files with 10 additions and 5 deletions
+8 -3
View File
@@ -96,10 +96,16 @@ void grbl::machine::check_program(const grbl::program& pgm) {
switch_to_state(grbl_machine_state::check_program); switch_to_state(grbl_machine_state::check_program);
} }
void grbl::machine::run_program(const grbl::program& pgm) { void grbl::machine::run_program(const grbl::program& pgm, std::string work_offset) {
running_program = pgm; running_program = pgm;
std::cout << "running program (" << running_program.filename << ") with " << running_program.number_of_instructions() << " instructions" std::cout << "running program (" << running_program.filename << ") with " << running_program.number_of_instructions() << " instructions"
<< std::endl; << " on work offset " << work_offset << std::endl;
// set desired offset
while (awaiting_responses > 0);
pipe->send(work_offset);
while (awaiting_responses > 0);
switch_to_state(grbl_machine_state::run_program); switch_to_state(grbl_machine_state::run_program);
} }
@@ -821,7 +827,6 @@ void grbl::machine_state_run_program::on_enter(grbl::machine *m) {
} }
void grbl::machine_state_run_program::on_exit(grbl::machine *m) { void grbl::machine_state_run_program::on_exit(grbl::machine *m) {
} }
void grbl::machine_state_run_program::move_to_next_run_stage() { void grbl::machine_state_run_program::move_to_next_run_stage() {
+1 -1
View File
@@ -228,7 +228,7 @@ struct machine : public transport_callbacks {
void set_listener(grbl::machine_listener *listener); void set_listener(grbl::machine_listener *listener);
void connect(); void connect();
void run_program(const grbl::program& pgm); void run_program(const grbl::program& pgm, std::string work_offset);
void check_program(const grbl::program& pgm); void check_program(const grbl::program& pgm);
void request_jog(jog_state jog) const; void request_jog(jog_state jog) const;
void cancel_jog() const; void cancel_jog() const;
+1 -1
View File
@@ -248,7 +248,7 @@ public:
btnRunProgram = new Button(pgm_actions, "Run"); btnRunProgram = new Button(pgm_actions, "Run");
btnRunProgram->set_enabled(false); btnRunProgram->set_enabled(false);
btnRunProgram->set_callback([&] { btnRunProgram->set_callback([&] {
cnc.run_program(pgm); cnc.run_program(pgm, "G" + std::to_string(cboOffset->selected_index() + 54));
}); });
btnRunProgram->set_tooltip("Execute program"); btnRunProgram->set_tooltip("Execute program");