From 6ddd672cadcf8e286006639a726656dca2fb9d3e Mon Sep 17 00:00:00 2001 From: wvdv2002 Date: Mon, 10 Jun 2019 14:31:39 +0200 Subject: [PATCH 1/4] Added getter for the set value without ramping --- keywords.txt | 1 + src/Dimmer.cpp | 4 ++++ src/Dimmer.h | 7 +++++++ 3 files changed, 12 insertions(+) diff --git a/keywords.txt b/keywords.txt index 954960b..1e1b839 100755 --- a/keywords.txt +++ b/keywords.txt @@ -16,6 +16,7 @@ on KEYWORD2 toggle KEYWORD2 getValue KEYWORD2 getState KEYWORD2 +getSetValue KEYWORD2 set KEYWORD2 ####################################### diff --git a/src/Dimmer.cpp b/src/Dimmer.cpp index c2ca3ce..6f5e6f7 100644 --- a/src/Dimmer.cpp +++ b/src/Dimmer.cpp @@ -187,6 +187,10 @@ uint8_t Dimmer::getValue() { } } +uint8_t Dimmer::getSetValue() { + return lampValue; +} + void Dimmer::set(uint8_t value) { if (value > 100) { value = 100; diff --git a/src/Dimmer.h b/src/Dimmer.h index 1e7f9c1..01d462d 100644 --- a/src/Dimmer.h +++ b/src/Dimmer.h @@ -99,6 +99,13 @@ class Dimmer { */ uint8_t getValue(); + /** + * Gets the current set value (intensity) of the lamp. + * + * @return current set lamp value, from 0 to 100. + */ + uint8_t getSetValue(); + /** * Gets the current state of the lamp. * From 90c1042fec91aa61b4fade8c5387998d1f488cfe Mon Sep 17 00:00:00 2001 From: wvdv2002 Date: Mon, 10 Jun 2019 14:32:35 +0200 Subject: [PATCH 2/4] Added setRampTime to keywords.txt --- keywords.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/keywords.txt b/keywords.txt index 1e1b839..a391df8 100755 --- a/keywords.txt +++ b/keywords.txt @@ -17,6 +17,7 @@ toggle KEYWORD2 getValue KEYWORD2 getState KEYWORD2 getSetValue KEYWORD2 +setRampTime KEYWORD2 set KEYWORD2 ####################################### From 9ef1569164851de7436fcc623355b061f4f1bc12 Mon Sep 17 00:00:00 2001 From: wvdv2002 Date: Mon, 10 Jun 2019 14:33:03 +0200 Subject: [PATCH 3/4] Changed ramp time so for a 50% change it will only take half the time of a full ramp --- src/Dimmer.cpp | 6 ++++-- src/Dimmer.h | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Dimmer.cpp b/src/Dimmer.cpp index 6f5e6f7..9c27de1 100644 --- a/src/Dimmer.cpp +++ b/src/Dimmer.cpp @@ -204,6 +204,8 @@ void Dimmer::set(uint8_t value) { if (value != lampValue) { if (operatingMode == DIMMER_RAMP) { rampStartValue = getValue(); + rampCycles = (((int32_t)abs(value-rampStartValue))*totalRampCycles)/100; + if(rampCycles<1){rampCycles=1;} rampCounter = 0; } else if (operatingMode == DIMMER_COUNT) { pulsesHigh = 0; @@ -238,8 +240,8 @@ void Dimmer::setMinimum(uint8_t value) { void Dimmer::setRampTime(double rampTime) { ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { rampTime = rampTime * 2 * acFreq; - rampCycles = rampTime > 0xFFFF ? 0xFFFF : rampTime; - rampCounter = rampCycles; + totalRampCycles = rampTime > 0xFFFF ? 0xFFFF : rampTime; + rampCounter = rampCycles= totalRampCycles; } } diff --git a/src/Dimmer.h b/src/Dimmer.h index 01d462d..508ff6d 100644 --- a/src/Dimmer.h +++ b/src/Dimmer.h @@ -154,6 +154,7 @@ class Dimmer { uint8_t rampStartValue; uint16_t rampCounter; uint16_t rampCycles; + uint16_t totalRampCycles; uint8_t acFreq; uint8_t pulseCount; uint8_t pulsesUsed; From 6dab8e1cc2b0abd38722b67177bd78a2aa12e7c2 Mon Sep 17 00:00:00 2001 From: wvdv2002 Date: Mon, 10 Jun 2019 14:36:38 +0200 Subject: [PATCH 4/4] Updated library version to v1.1 --- library.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library.properties b/library.properties index f7c59da..76011ab 100755 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=Dimmer -version=1.0 +version=1.1 author=Alex Monteiro Sartin maintainer=Luis Chavier sentence=A library to control dimmable lamps and other AC loads.