Refactor the brightness parameter in setBrightness to value + enable

This commit is contained in:
Avishay Orpaz
2016-11-19 14:51:41 +02:00
parent adaaf49963
commit 196c9c0dd3
3 changed files with 15 additions and 4 deletions
+2 -2
View File
@@ -71,9 +71,9 @@ TM1637Display::TM1637Display(uint8_t pinClk, uint8_t pinDIO)
digitalWrite(m_pinDIO, LOW);
}
void TM1637Display::setBrightness(uint8_t brightness)
void TM1637Display::setBrightness(uint8_t brightness, bool on)
{
m_brightness = brightness;
m_brightness = (brightness & 0x7) | (on? 0x08 : 0x00);
}
void TM1637Display::setSegments(const uint8_t segments[], uint8_t length, uint8_t pos)
+2 -1
View File
@@ -43,7 +43,8 @@ public:
//! displayed.
//!
//! @param brightness A number from 0 (lowes brightness) to 7 (highest brightness)
void setBrightness(uint8_t brightness);
//! @param on Turn display on or off
void setBrightness(uint8_t brightness, bool on = true);
//! Display arbitrary data on the module
//!
+11 -1
View File
@@ -89,11 +89,21 @@ void loop()
// Brightness Test
for(k = 0; k < 4; k++)
data[k] = 0xff;
for(k = 0; k < 16; k++) {
for(k = 0; k < 7; k++) {
display.setBrightness(k);
display.setSegments(data);
delay(TEST_DELAY);
}
// On/Off test
for(k = 0; k < 4; k++) {
display.setBrightness(k, false); // Turn off
display.setSegments(data);
delay(TEST_DELAY);
display.setBrightness(k, true); // Turn on
display.setSegments(data);
delay(TEST_DELAY);
}
// Done!
display.setSegments(SEG_DONE);