DRO works properly with work offsets. Offsets can be zeroed.

This commit is contained in:
2023-05-04 15:57:34 +03:00
parent cacbe1b8aa
commit 3ea1ca5efa
3 changed files with 219 additions and 167 deletions
+8 -1
View File
@@ -112,6 +112,8 @@ struct machine_listener {
virtual void on_init_completed() = 0;
virtual void on_run_completed(bool success, size_t failed_index, size_t error) = 0;
virtual void on_check_completed(bool success, size_t failed_index, size_t error) = 0;
virtual void on_settings_reloaded() = 0;
virtual void on_parameters_reloaded() = 0;
};
@@ -210,10 +212,14 @@ struct machine : public transport_callbacks {
void request_unlock();
void request_home();
void request_reset();
void request_cycle_start();
void request_feed_hold();
// 0 = G54, 1 = G55, etc
void zero_offset(int which);
// 0 = G54, 1 = G55, etc axis 0=X, 1=Y, 2=Z
void zero_offset_axis(int offset_index, int axis);
protected:
void on_connected(transport *transport) override;
@@ -232,6 +238,7 @@ protected:
std::map<std::string, std::string, settings_cmp> settings;
std::map<std::string, std::string, parameters_cmp> parameters;
volatile size_t awaiting_responses = 0;
realtime_status_report last_report{};
machine_listener *listener = nullptr;
transport *pipe = nullptr;