3 Commits

Author SHA1 Message Date
rjbatista@gmail.com
2f4e5fece4 Version 2.1.1 2012-03-12 23:59:26 +00:00
rjbatista@gmail.com
da0b7ec9e2 Version 2.1.1 2012-03-12 23:59:00 +00:00
rjbatista@gmail.com
8ba4623718 ISSUE #21: Problems on clearDisplay and setupDisplay 2012-03-12 23:58:28 +00:00
4 changed files with 22 additions and 0 deletions

View File

@@ -1,3 +1,7 @@
Version 2.1.1
- 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[])