From 501638aa5a42bdc717c191e564c2bd494a133b00 Mon Sep 17 00:00:00 2001 From: Gavin lyons Date: Sat, 2 May 2020 15:04:56 +0100 Subject: [PATCH] Version 1.5.0 --- README.md | 22 +++++++++-- examples/TM1638plus_TEST/TM1638plus_TEST.ino | 40 +++++++++++++++----- extra/CHANGELOG.md | 5 +++ library.properties | 2 +- 4 files changed, 56 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index ca8ec9f..849392d 100755 --- a/README.md +++ b/README.md @@ -3,13 +3,15 @@ Overview -------------------------------------------- * Name: TM1638plus -* Description: An Arduino library to display data on a 8-digit TM1638 seven segment module. +* Description: +An Arduino library to display data on a 8-digit TM1638 seven segment module. This library supports the (8 KEY & 8 LED) variant which has 8 LED's and 8 Push buttons, and the (16 KEY QFY) variant which has 16 pushbuttons. -* Author: Gavin Lyons. +* Main Author: Gavin Lyons. * Development platform: Tested on Arduino UNO,NANO and a Nodemcu ESP8266 ESP-12E module. * History: see CHANGELOG.md in extra folder - +* Contributors: [gabormay](https://github.com/gabormay) + Table of contents --------------------------- @@ -166,6 +168,20 @@ Object, set the fourth parameter "swap_nibbles" to True, The default is false. | QYF-TM1638 -Ver 1.0 | Swapped display Fix | TM1638plus_Model2 tm(STROBE_TM, CLOCK_TM , DIO_TM, true) | +*NOTE B* : high frequency micro-controllers. +This library uses "bit banging" on the SPI Bus and may not work fully on +micro-controllers running at a very high frequency, without some adjustments to timing. +See issue 1 & 2 in github issues section for ESP32 untested possible fix. +The ESP32 and Teensy results have been sent to me, I don't have them at time of writing. + +| IC | frequency | Working? | +| ------ | ------ | ------ | +| ESP 32 | 240 MHz | Issues with buttons function Model 1 | +| ESP-12E ESP8266 | 80 and 160 MHZ | The buttons functions works, once not polled continuously | +| Teensy 4.0| 150Mhz | Working, model 1 | +| Teensy 4.0| 396Mhz | buttons not working , display issues , model 1 | + + Memory ------------------------------- diff --git a/examples/TM1638plus_TEST/TM1638plus_TEST.ino b/examples/TM1638plus_TEST/TM1638plus_TEST.ino index 734c5c0..da7a412 100644 --- a/examples/TM1638plus_TEST/TM1638plus_TEST.ino +++ b/examples/TM1638plus_TEST/TM1638plus_TEST.ino @@ -15,8 +15,10 @@ TEST 7 Integer Decimal number TEST 8 Text String + Float TEST 9 Text String + decimal number - TEST 10 Scrolling text - TEST 11 Buttons + LEDS + TEST 10 Multiple dots + TEST 11 Display Overflow + TEST 12 Scrolling text + TEST 13 Buttons + LEDS Author: Gavin Lyons. Created May 2019 @@ -64,8 +66,10 @@ void loop() case 7: Test7(); break; // Integer Decimal number case 8: Test8(); break; // Text String + Float hack case 9: Test9(); break; // Text String + decimal number - case 10: Test10(); break; // Scrolling text - case 11: Test11(); break; // Buttons + LEDS + case 10: Test10(); break; // Multiple Decimal points + case 11: Test11(); break; // Display Overflow + case 12: Test12(); break; // Scrolling text + case 13: Test13(); break; // Buttons + LEDS } testcount++; } @@ -195,8 +199,26 @@ void Test9() { tm.reset(); } -//TEST 10 scrolling text, just one possible method using string object. -void Test10() { +void Test10() +{ + //TEST 10 Multiple dots test + tm.displayText("Hello..."); + delay(myTestDelay); + tm.displayText("...---..."); //SOS in morse + delay(myTestDelay); +} + +void Test11() +{ + //TEST11 user overflow + tm.displayText("1234567890abc"); //should display just 12345678 + delay(myTestDelay); + tm.reset(); +} + + +void Test12() { + //TEST 12 scrolling text, just one possible method using string object. String textScroll = "123456789AbCdEF" ; char charbuf[9]; while (textScroll.length() > 0) @@ -210,9 +232,9 @@ void Test10() { } } -//Test 11 buttons and LED test, press switch number S-X to turn on LED-X, where x is 1-8. -//The HEx value of switch is also sent to Serial port. -void Test11() { +void Test13() { + //Test 13 buttons and LED test, press switch number S-X to turn on LED-X, where x is 1-8. + //The HEx value of switch is also sent to Serial port. while (1) // Loop here forever { tm.displayText("buttons "); diff --git a/extra/CHANGELOG.md b/extra/CHANGELOG.md index 35f4b95..6868868 100755 --- a/extra/CHANGELOG.md +++ b/extra/CHANGELOG.md @@ -33,3 +33,8 @@ * Two new example files added. * Tested on Nodemcu ESP-12E ESP2866 , it works. +* Version 1.5.0 May 2020 + * Minor update to bring in pull request 7 to deal with github issues 6 and 7. + * Display overflow check and dealing with multiple dots. + * Changes are for Model 1 only and "displayText" function only. + * Pull request by [gabormay](https://github.com/gabormay) diff --git a/library.properties b/library.properties index d84c7f6..8dbe401 100755 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=TM1638plus -version=1.4.0 +version=1.5.0 author=Gavin Lyons maintainer=Gavin Lyons sentence=TM1638plus is an Arduino library to control TM1638 seven segment modules.