Releases: jasonacox/TM1637TinyDisplay
Releases · jasonacox/TM1637TinyDisplay
Added flipDisplay() Function for Device Orientation
v1.5.0
- Added support for device orientation, flipping display upside down if selected during
initialization or through a function call.
// Flip display
display.flipDisplay(true);
display.showNumber(12.34);
Full Changelog: v1.4.4...v1.5.0
Issue #2
Bug Fix for showNumber() Floating Point Placement
v1.4.4
- Bug Fix for showNumber() for floating point numbers where position is greater than zero. Fix applies to both TM1637TinyDisplay and TM1637TinyDisplay6 classes.
// Example code that demonstrates the bug and fix.
// showNumber(num, decimal_length, length, pos)
display.showNumber(9.87, 2, 3, 0);
display.showNumber(1.23, 2, 3, 3);
Full Changelog: v1.4.3...v1.4.4
Issue: #15
Added 6-Digit Animation Support
v1.4.3
- Updated
TM1637TinyDisplay6
to support true 6-digit animation. - Added interactive Animator Tool for 6-Digit Display's
showAnimation()
function (See Link)
const uint8_t ANIMATION[16][6] = {
{ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00 }, // Frame 0
{ 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 }, // Frame 1
{ 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 }, // Frame 2
{ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 }, // Frame 3
{ 0x00, 0x00, 0x00, 0x00, 0x08, 0x00 }, // Frame 4
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x08 }, // Frame 5
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x04 }, // Frame 6
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02 }, // Frame 7
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }, // Frame 8
{ 0x00, 0x00, 0x00, 0x00, 0x01, 0x00 }, // Frame 9
{ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00 }, // Frame 10
{ 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 }, // Frame 11
{ 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 }, // Frame 12
{ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 }, // Frame 13
{ 0x20, 0x00, 0x00, 0x00, 0x00, 0x00 }, // Frame 14
{ 0x10, 0x00, 0x00, 0x00, 0x00, 0x00 } // Frame 15
};
display.showAnimation(ANIMATION, FRAMES(ANIMATION), TIME_MS(10));
Add Dots Param to showString()
- Added dots parameter to showString() and showString_P() functions.
// void showString(const char s[], uint8_t length = MAXDIGITS, uint8_t pos = 0, uint8_t dots = 0);
display.showString("HHSS",4,0,0b01000000); // Expect: HH:SS or HH.SS
display.showString("1234",4,0,0b01000000); // Expect: 12:34 or 12.34
Large Number Display Fix
- Bug Fix for 6-digit display - Changed to
long num
for showNumberDec() anduint32_t num
for showNumberBaseEx() to display values > 32,768. See Issue #10 - Updated 6-digit test sketch to include > 32,768 value tests with decimal settings.
display.showNumberDec(987654, 0b10101000, false); // Expect: 3.03.03.
display.showNumberDec(123456, 0b11111100, false); // Expect: 1.2.3.4.5.6.
6-Digit Display Support
- Added support for 6-digit displays using
TM1637TinyDisplay6
class (see README) - Update showString() for variable display size and optimized code.
- Created global digits[] scratch storage for all functions.
- Update showNumber() to handle long integers.
Lookup Tables PROGMEM
v1.3.0
- Converted global digitToSegment[] and asciiToSegment[] lookup tables to PROGMEM space to save RAM
- Fixed comparison between signed and unsigned integer expressions warning #5
- Saves ~1.5kB in the ATtiny85 example by using showNumber() instead of sprintf() #6
- Fixed implicit case fall through and signed/unsigned comparison warnings #7
Floating Point Numbers
- Added floating number support to showNumber() for TM1637 displays with decimal points.
Examples
TM1637TinyDisplay display(CLK, DIO);
// Display floating point number
display.showNumber(1.234); // Displays: 1.234
// Display floating point numbers with 2 decimal place formatting
display.showNumber(0.123456, 2); // Displays: _0.12
// Display integer number (without decimal)
display.showNumber(42); // Displays: __42
Animation Tool
- Added interactive Animator Tool to create frame data for the showAnimation() function.
- Added demo sketch to showcase functions and animation features.
Initial release
This is an Arduino library for the tiny 4-digit 7-segment display modules based on the TM1637 chip.
- Easy to use functions like showNumber(), showString(), showLevel() and showAnimation()
- Display will scroll text for larger strings
- Functions support screen splitting for easy number + text formatting
- Runs well on tiny controllers including the ATtiny85.