From 780048da8b4142a5e42ba26fa2717ee5764f53c6 Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Sun, 2 Feb 2014 16:47:01 +0100 Subject: [PATCH] enable/disable calibration support --- meterBusMaster.cpp | 16 +++++++++++++--- meterBusMaster.h | 3 ++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/meterBusMaster.cpp b/meterBusMaster.cpp index 95985a6..e34e391 100644 --- a/meterBusMaster.cpp +++ b/meterBusMaster.cpp @@ -39,13 +39,23 @@ uint16_t stringToUInt8(String i, uint8_t index) { String CalibrationSupport::exec(String params) { + String res = "failed"; + MeterBusMaster *mbm = (MeterBusMaster*)m_meterBusMaster; - if (params.equalsIgnoreCase("sample")) { + if (params.equalsIgnoreCase("sample") && enable) { mbm->sample(); - } else if (params.equalsIgnoreCase("hold")) { + res = "done"; + } else if (params.equalsIgnoreCase("hold") && enable) { mbm->hold(); + res = "done"; + } else if (params.equalsIgnoreCase("enable") && ! enable) { + enable = true; + res = "enabled"; + } else if (params.equalsIgnoreCase("disable") && enable) { + enable = false; + res = "disabled"; } - return "Done"; + return res; } String MeasureCurrent::exec(String params) { diff --git a/meterBusMaster.h b/meterBusMaster.h index 9591056..63b7ea8 100644 --- a/meterBusMaster.h +++ b/meterBusMaster.h @@ -42,12 +42,13 @@ private: class CalibrationSupport : public Cmd { public: - CalibrationSupport(RequestSender *meterBusMaster) : m_meterBusMaster(meterBusMaster) {} + CalibrationSupport(RequestSender *meterBusMaster) : m_meterBusMaster(meterBusMaster), enable(false) {} virtual String getCmdName() { return "CS"; } virtual String getHelp() { return "Calibration Support"; } virtual String exec(String params); private: RequestSender *m_meterBusMaster; + bool enable; };