Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7cde2c670b | ||
|
|
b32993401f | ||
|
|
bb28428a44 | ||
|
|
cff5d047bf | ||
|
|
eb4538e162 | ||
|
|
a8bcd661c8 | ||
|
|
7260c88f7d | ||
|
|
7c6678133c |
14
CHANGES.txt
14
CHANGES.txt
@@ -1,3 +1,17 @@
|
||||
Version 1.6.0
|
||||
|
||||
- ISSUE #10: Support for starting position on setDisplayToString() methods.
|
||||
WARNING: setDisplayToString methods have changed prototype and are incompatible with code compiled for 1.5.x (if you specified a custom font)
|
||||
|
||||
Version 1.5.2
|
||||
|
||||
- ISSUE #9: Backwards compatibility with previous Arduino IDE.
|
||||
|
||||
Version 1.5.1
|
||||
|
||||
- ISSUE #7: New character data in default font for '*';
|
||||
- Minor optimization on inverted TM1638.
|
||||
|
||||
Version 1.5.0
|
||||
|
||||
- support for inverted module;
|
||||
|
||||
@@ -53,9 +53,5 @@ byte InvertedTM1638::getButtons()
|
||||
|
||||
void InvertedTM1638::sendChar(byte pos, byte data, boolean dot)
|
||||
{
|
||||
byte n = data;
|
||||
|
||||
n = n & 128 | n & 64 | (n & 4) << 3 | (n & 2) << 3 | (n & 1) << 3 | (n & 32) >> 3 | (n & 16) >> 3 | (n & 8) >> 3;
|
||||
|
||||
TM1638::sendChar(7 - pos, n, dot);
|
||||
TM1638::sendChar(7 - pos, data & 0xC0 | (data & 0x07) << 3 | (data & 0x38) >> 3, dot);
|
||||
}
|
||||
|
||||
23
TM1638.cpp
23
TM1638.cpp
@@ -49,11 +49,6 @@ TM1638::TM1638(byte dataPin, byte clockPin, byte strobePin, boolean activateDisp
|
||||
digitalWrite(strobePin, HIGH);
|
||||
}
|
||||
|
||||
TM1638::~TM1638()
|
||||
{
|
||||
// nothing to do
|
||||
}
|
||||
|
||||
void TM1638::setupDisplay(boolean active, byte intensity)
|
||||
{
|
||||
sendCommand(0x80 | (active ? 8 : 0) | min(7, intensity));
|
||||
@@ -129,22 +124,26 @@ void TM1638::clearDisplay()
|
||||
}
|
||||
}
|
||||
|
||||
void TM1638::setDisplayToString(const char* string, const byte dots, const byte font[])
|
||||
void TM1638::setDisplayToString(const char* string, const byte dots, const byte pos, const byte font[])
|
||||
{
|
||||
for (int i = 0; i < 8; i++) {
|
||||
sendChar(i, font[string[i] - 32], dots & (1 << (7 - i)));
|
||||
for (int i = 0; i < 8 - pos; i++) {
|
||||
if (string[i] != '\0') {
|
||||
sendChar(i + pos, font[string[i] - 32], dots & (1 << (7 - i)));
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void TM1638::setDisplayToString(const String string, const byte dots, const byte font[])
|
||||
void TM1638::setDisplayToString(const String string, const byte dots, const byte pos, const byte font[])
|
||||
{
|
||||
int stringLength = string.length();
|
||||
|
||||
for (int i = 0; i < 8; i++) {
|
||||
for (int i = 0; i < 8 - pos; i++) {
|
||||
if (i < stringLength) {
|
||||
sendChar(i, font[string.charAt(i) - 32], dots & (1 << (7 - i)));
|
||||
sendChar(i + pos, font[string.charAt(i) - 32], dots & (1 << (7 - i)));
|
||||
} else {
|
||||
sendChar(i, 0, dots & (1 << (7 - i)));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
7
TM1638.h
7
TM1638.h
@@ -35,7 +35,6 @@ class TM1638
|
||||
public:
|
||||
/** Instantiate a tm1638 module specifying the display state, the starting intensity (0-7) data, clock and stobe pins. */
|
||||
TM1638(byte dataPin, byte clockPin, byte strobePin, boolean activateDisplay = true, byte intensity = 7);
|
||||
virtual ~TM1638();
|
||||
|
||||
/** Set the display (segments and LEDs) active or off and intensity (range from 0-7). */
|
||||
void setupDisplay(boolean active, byte intensity);
|
||||
@@ -61,9 +60,11 @@ class TM1638
|
||||
/** Clear the display */
|
||||
void clearDisplay();
|
||||
/** Set the display to the string (defaults to built in font) */
|
||||
void setDisplayToString(const char* string, const byte dots = 0, const byte font[] = FONT_DEFAULT);
|
||||
void setDisplayToString(const char* string, const byte dots = 0, const byte pos = 0,
|
||||
const byte font[] = FONT_DEFAULT);
|
||||
/** Set the display to the String (defaults to built in font) */
|
||||
void setDisplayToString(String string, const byte dots = 0, const byte font[] = FONT_DEFAULT);
|
||||
void setDisplayToString(String string, const byte dots = 0, const byte pos = 0,
|
||||
const byte font[] = FONT_DEFAULT);
|
||||
|
||||
/** Set the LED at pos to color (TM1638_COLOR_RED, TM1638_COLOR_GREEN or both) */
|
||||
virtual void setLED(byte color, byte pos);
|
||||
|
||||
@@ -74,7 +74,7 @@ const byte FONT_DEFAULT[] = {
|
||||
0b00000010, // (39) '
|
||||
0b00110000, // (40) (
|
||||
0b00000110, // (41) )
|
||||
0b00000000, // (42) *
|
||||
0b01100011, // (42) *
|
||||
0b00000000, // (43) +
|
||||
0b00000100, // (44) ,
|
||||
0b01000000, // (45) -
|
||||
|
||||
Reference in New Issue
Block a user