From 6208988ac5965836453d5d3642f4f597be91622c Mon Sep 17 00:00:00 2001 From: Christian Hammacher Date: Thu, 29 Sep 2022 17:23:04 +0200 Subject: Added spindle min/max/idle PWM to OM --- src/Tools/Spindle.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Tools/Spindle.cpp b/src/Tools/Spindle.cpp index 60455daf..b84903cd 100644 --- a/src/Tools/Spindle.cpp +++ b/src/Tools/Spindle.cpp @@ -27,12 +27,15 @@ constexpr ObjectModelTableEntry Spindle::objectModelTable[] = { "canReverse", OBJECT_MODEL_FUNC(self->reverseNotForwardPort.IsValid()), ObjectModelEntryFlags::none }, { "current", OBJECT_MODEL_FUNC((int32_t)self->currentRpm), ObjectModelEntryFlags::live }, { "frequency", OBJECT_MODEL_FUNC((int32_t)self->frequency), ObjectModelEntryFlags::verbose }, + { "idlePwm", OBJECT_MODEL_FUNC(self->idlePwm, 1), ObjectModelEntryFlags::verbose }, { "max", OBJECT_MODEL_FUNC((int32_t)self->maxRpm), ObjectModelEntryFlags::verbose }, + { "maxPwm", OBJECT_MODEL_FUNC(self->maxPwm, 1), ObjectModelEntryFlags::verbose }, { "min", OBJECT_MODEL_FUNC((int32_t)self->minRpm), ObjectModelEntryFlags::verbose }, + { "minPwm", OBJECT_MODEL_FUNC(self->minPwm, 1), ObjectModelEntryFlags::verbose }, { "state", OBJECT_MODEL_FUNC(self->state.ToString()), ObjectModelEntryFlags::live }, }; -constexpr uint8_t Spindle::objectModelTableDescriptor[] = { 1, 7 }; +constexpr uint8_t Spindle::objectModelTableDescriptor[] = { 1, 10 }; DEFINE_GET_OBJECT_MODEL_TABLE(Spindle) -- cgit v1.2.3 From 46349c643bdf85bd55bca659f05bad4709bb7dd9 Mon Sep 17 00:00:00 2001 From: Christian Hammacher Date: Thu, 29 Sep 2022 17:48:35 +0200 Subject: Object model updates Fixed precision of idle/min/max PWM in the object model Added fans[].thermostatic.sensors in favour of heaters Marked fans[].thermostatic.heaters as deprecated --- src/Fans/Fan.cpp | 5 +++-- src/Tools/Spindle.cpp | 11 +++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/Fans/Fan.cpp b/src/Fans/Fan.cpp index 17d53cef..8f9ccce4 100644 --- a/src/Fans/Fan.cpp +++ b/src/Fans/Fan.cpp @@ -34,12 +34,13 @@ constexpr ObjectModelTableEntry Fan::objectModelTable[] = { "thermostatic", OBJECT_MODEL_FUNC(self, 1), ObjectModelEntryFlags::none }, // 1. Fan.thermostatic members - { "heaters", OBJECT_MODEL_FUNC(self->sensorsMonitored), ObjectModelEntryFlags::none }, // empty if not thermostatic + { "heaters", OBJECT_MODEL_FUNC(self->sensorsMonitored), ObjectModelEntryFlags::obsolete }, // empty if not thermostatic { "highTemperature", OBJECT_MODEL_FUNC_IF(self->sensorsMonitored.IsNonEmpty(), self->triggerTemperatures[1], 1), ObjectModelEntryFlags::none }, { "lowTemperature", OBJECT_MODEL_FUNC_IF(self->sensorsMonitored.IsNonEmpty(), self->triggerTemperatures[0], 1), ObjectModelEntryFlags::none }, + { "sensors", OBJECT_MODEL_FUNC(self->sensorsMonitored), ObjectModelEntryFlags::none }, // empty if not thermostatic }; -constexpr uint8_t Fan::objectModelTableDescriptor[] = { 2, 9, 3 }; +constexpr uint8_t Fan::objectModelTableDescriptor[] = { 2, 9, 4 }; DEFINE_GET_OBJECT_MODEL_TABLE(Fan) diff --git a/src/Tools/Spindle.cpp b/src/Tools/Spindle.cpp index b84903cd..5b45675a 100644 --- a/src/Tools/Spindle.cpp +++ b/src/Tools/Spindle.cpp @@ -27,11 +27,11 @@ constexpr ObjectModelTableEntry Spindle::objectModelTable[] = { "canReverse", OBJECT_MODEL_FUNC(self->reverseNotForwardPort.IsValid()), ObjectModelEntryFlags::none }, { "current", OBJECT_MODEL_FUNC((int32_t)self->currentRpm), ObjectModelEntryFlags::live }, { "frequency", OBJECT_MODEL_FUNC((int32_t)self->frequency), ObjectModelEntryFlags::verbose }, - { "idlePwm", OBJECT_MODEL_FUNC(self->idlePwm, 1), ObjectModelEntryFlags::verbose }, + { "idlePwm", OBJECT_MODEL_FUNC(self->idlePwm, 2), ObjectModelEntryFlags::verbose }, { "max", OBJECT_MODEL_FUNC((int32_t)self->maxRpm), ObjectModelEntryFlags::verbose }, - { "maxPwm", OBJECT_MODEL_FUNC(self->maxPwm, 1), ObjectModelEntryFlags::verbose }, + { "maxPwm", OBJECT_MODEL_FUNC(self->maxPwm, 2), ObjectModelEntryFlags::verbose }, { "min", OBJECT_MODEL_FUNC((int32_t)self->minRpm), ObjectModelEntryFlags::verbose }, - { "minPwm", OBJECT_MODEL_FUNC(self->minPwm, 1), ObjectModelEntryFlags::verbose }, + { "minPwm", OBJECT_MODEL_FUNC(self->minPwm, 2), ObjectModelEntryFlags::verbose }, { "state", OBJECT_MODEL_FUNC(self->state.ToString()), ObjectModelEntryFlags::live }, }; @@ -43,9 +43,8 @@ DEFINE_GET_OBJECT_MODEL_TABLE(Spindle) Spindle::Spindle() noexcept : minPwm(DefaultMinSpindlePwm), maxPwm(DefaultMaxSpindlePwm), idlePwm(DefaultIdleSpindlePwm), - currentRpm(0), configuredRpm(0),minRpm(DefaultMinSpindleRpm), maxRpm(DefaultMaxSpindleRpm), - frequency(0), - state(SpindleState::unconfigured) + currentRpm(0), configuredRpm(0), minRpm(DefaultMinSpindleRpm), maxRpm(DefaultMaxSpindleRpm), + frequency(0), state(SpindleState::unconfigured) { } -- cgit v1.2.3 From a98453dc82397d8831371a4f636671c6c492824b Mon Sep 17 00:00:00 2001 From: Christian Hammacher Date: Fri, 30 Sep 2022 11:38:12 +0200 Subject: Possible fix for M292 Get possible expression before acknowledging msgboxes --- src/GCodes/GCodes7.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/GCodes/GCodes7.cpp b/src/GCodes/GCodes7.cpp index 23abce06..171ef8bf 100644 --- a/src/GCodes/GCodes7.cpp +++ b/src/GCodes/GCodes7.cpp @@ -121,17 +121,18 @@ GCodeResult GCodes::AcknowledgeMessage(GCodeBuffer&gb, const StringRef& reply) T seq = gb.GetUIValue(); } + const bool cancelled = (gb.Seen('P') && gb.GetIValue() == 1); + ExpressionValue rslt; + if (!cancelled && gb.Seen('R')) + { + rslt = gb.GetExpression(); + } + bool wasBlocking; if (reprap.AcknowledgeMessageBox(seq, wasBlocking)) { if (wasBlocking) { - const bool cancelled = (gb.Seen('P') && gb.GetIValue() == 1); - ExpressionValue rslt; - if (!cancelled && gb.Seen('R')) - { - rslt = gb.GetExpression(); - } MessageBoxClosed(cancelled, true, rslt); } return GCodeResult::ok; -- cgit v1.2.3