Here is now a version for 6 digit modules with TM1637 chip
The attached zip file contains:
tm1637_6d.h - library
tm1637_6d.doc - list of commands
tm1637_6d.gcb - simple demo program
tm1637_6d.avi - video clip on how the demo program works
Have a nice day.
These modules also use the TM1637 chip, but the internal connection on the module is different, so they need a slightly modified library to work properly.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
And they have different naming conventions. tm1637a.h and tm1637_6d.h. Remember. tm1637a.h is documented/help and all the demos work.... so, renaming tm1637_6d.h to something else is not trivial.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Most TM1637 modules on the market use a 4-digit clock display. But the chip itself supports 6 digits and decimal points. Therefore there are also such modules with 6 digits (RobotDyne, TinyTronic and clones)
Additionally, because the digit layout is different on 4 and 6 digits modules, the libraries for the 4 and 6 digit modules are not interchangeable.
If a 4-digit library is used on the 6-digits module, or vice versa, the characters are not displayed or are in the wrong places.
Since only one such screen can be connected to the MCU at a time, I find it pointless to build everything into one library, as half of the functions will not be used, but the code consumption will be higher due to checking which type is selected.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Very good Wiki page. I drew the a missing connection diagram (Display-Module6d-Interface-with-Controller.png), it in the attached file.
TM_Point command is for set on or off digital points (dots) on six-digit display. Maybe the picture (TM_point.png) will better explain what I want to say.
However, I think it should be pointed out that the 4 and 6 digit modules are different and each needs a different library. For this reason, I made a video clip of how the gcb code used to show the operation of the 6-digit module works on the 4-digit clock display.
For this reason, the commands do not work exactly the same for both versions.
Example TMHex from TM1637a-h displays the hexadecimal number on the 4-digit module, and TM1637_6d.h displays 0x before the hexadecimal number on the 6-digit module. So I don't know if it would be better to change TMHex in TM1637_6d.h for 6 digit display to for example TM6Hex?
Here is now a version for 6 digit modules with TM1637 chip
The attached zip file contains:
tm1637_6d.h - library
tm1637_6d.doc - list of commands
tm1637_6d.gcb - simple demo program
tm1637_6d.avi - video clip on how the demo program works
Have a nice day.
Thank you.
I am getting confused.
Does this replace all the tm1637a stuff? As this is all documented. What changed etc?
NO, this library is for 6 digit version only.
https://www.ebay.com/itm/174433130076?ViewItem=&item=174433130076&var=473633776723
These modules also use the TM1637 chip, but the internal connection on the module is different, so they need a slightly modified library to work properly.
Does this replace the tm1637a.h library?
And they have different naming conventions. tm1637a.h and tm1637_6d.h. Remember. tm1637a.h is documented/help and all the demos work.... so, renaming tm1637_6d.h to something else is not trivial.
NO!
tm1637a.h library is for 4 digit display and
tm1637_6d.h library is for 6 digit display with TM1637 chip
Sorry to keep asking questions.
What does the d in 6d mean? If version control then we need to remove.
6d mean six digit.
Most TM1637 modules on the market use a 4-digit clock display. But the chip itself supports 6 digits and decimal points. Therefore there are also such modules with 6 digits (RobotDyne, TinyTronic and clones)
Additionally, because the digit layout is different on 4 and 6 digits modules, the libraries for the 4 and 6 digit modules are not interchangeable.
If a 4-digit library is used on the 6-digits module, or vice versa, the characters are not displayed or are in the wrong places.
Since only one such screen can be connected to the MCU at a time, I find it pointless to build everything into one library, as half of the functions will not be used, but the code consumption will be higher due to checking which type is selected.
@Friderik I have merged.
Using your documents. THANK YOU.
A few things need sorting.
1., The source of page #1 is here: https://github.com/Anobium/Great-Cow-BASIC-Help/blob/master/source/TM16376d.adoc This needs a review and a new wiring diagram (or you could delete the existing diagram?)
2. The source for page #2 is here: https://github.com/Anobium/Great-Cow-BASIC-Help/blob/master/source/TM16376dSections.adoc There is one source page for all the pages in the Help. This source page needs reviewing/editing. I used the 4 digit library as the source. And, I did not understand
TM_Point = (Point)
so this will need editing.I changed the AVI to a GIF to include in the Help! See https://github.com/Anobium/Great-Cow-BASIC-Help/wiki/7_segment_displays_tm1637_6_digits (this the WIKI page, so, make any changes to the source and then after I compile I will update the WIKI.)
If you want the see the pages use the Wiki https://github.com/Anobium/Great-Cow-BASIC-Help/wiki/7_segment_displays but I will have to compile here and republish so you can see all your edits.
Let me know when I can recompile the Help.
Last edit: Anobium 2020-12-10
Very good Wiki page. I drew the a missing connection diagram (Display-Module6d-Interface-with-Controller.png), it in the attached file.
TM_Point command is for set on or off digital points (dots) on six-digit display. Maybe the picture (TM_point.png) will better explain what I want to say.
However, I think it should be pointed out that the 4 and 6 digit modules are different and each needs a different library. For this reason, I made a video clip of how the gcb code used to show the operation of the 6-digit module works on the 4-digit clock display.
For this reason, the commands do not work exactly the same for both versions.
Example TMHex from TM1637a-h displays the hexadecimal number on the 4-digit module, and TM1637_6d.h displays 0x before the hexadecimal number on the 6-digit module. So I don't know if it would be better to change TMHex in TM1637_6d.h for 6 digit display to for example TM6Hex?
Thank you Friderik.
I will update the pictures. When you get time - can you carefully review the new pages.
Thank you.