ISSUE #21: Problems on clearDisplay and setupDisplay

This commit is contained in:
rjbatista@gmail.com
2012-03-12 23:58:28 +00:00
parent cb437405ea
commit 8ba4623718
4 changed files with 20 additions and 0 deletions

View File

@@ -1,3 +1,5 @@
- ISSUE #21: Problems on clearDisplay and setupDisplay;
Version 2.1.0
- ISSUE #20: Support for negative decimal numbers;

View File

@@ -36,3 +36,13 @@ void TM1640::sendChar(byte pos, byte data, boolean dot)
{
sendData(pos, data | (dot ? 0b10000000 : 0));
}
void TM1640::clearDisplay()
{
digitalWrite(strobePin, LOW);
send(0xC0);
for (int i = 0; i < 16; i++) {
send(0x00);
}
digitalWrite(strobePin, HIGH);
}

View File

@@ -33,6 +33,8 @@ class TM1640 : public TM16XX
public:
/** Instantiate a tm1640 module specifying the display state, the starting intensity (0-7) data and clock pins. */
TM1640(byte dataPin, byte clockPin, boolean activateDisplay = true, byte intensity = 7);
/** Clear the display */
virtual void clearDisplay();
protected:
virtual void sendChar(byte pos, byte data, boolean dot);

View File

@@ -54,6 +54,12 @@ TM16XX::TM16XX(byte dataPin, byte clockPin, byte strobePin, byte displays, boole
void TM16XX::setupDisplay(boolean active, byte intensity)
{
sendCommand(0x80 | (active ? 8 : 0) | min(7, intensity));
// necessary for the TM1640
digitalWrite(strobePin, LOW);
digitalWrite(clockPin, LOW);
digitalWrite(clockPin, HIGH);
digitalWrite(strobePin, HIGH);
}
void TM16XX::setDisplayDigit(byte digit, byte pos, boolean dot, const byte numberFont[])