-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AIP1629B/TM1629B support #52
Comments
Hello, thank you for your post and for including a picture of the display module. Unfortunately I don't have any to the different TM1629 chips in my collection. For that reason I have not made a chip specific class for the TM1629B. Although that chip is similar to the TM1638, the TM1628 and the TM1668, there are differences that most likely will result in limited functionality. For you it may be good to just give these a try. Using an incorrect chip class will not break the hardware. In the past weeks I have been working on a generic class to allow adventurous developers to experiment with chips that I have not tested. It contains definitions for all TM16xx chips and generic code supporting different type of connections, various display memory layouts and key scanning methods. That class is still under development, but if you are willing to spend I could publish it so you can give that class a try. I think it could provide a good matching support for the TM1629B. To illustrate; this is an example of the chip specific definitions used in that generic class:
|
I found a person on the Internet who used the TM1628 and TM1668 libraries. He simply changed the number of segments from 14 to 16 and it worked. |
Excellent. The TM1629B supports 14 SEG x 8 GRD, and 8x2 key scanning. Display memory is same layout as TM1638/TM1668 with only additional segments. Unlike TM1668 the TM1629 (and TM1638) have no display modes for changing SEG pins to GRD. Good luck! |
Just saw your message. I was indeed waiting for a reply and while doing so did some more testing of the generic class on the RP2040. Thank you for your response. I will upload the required changes asap, and add a comment here when done. |
Hello @Voha888 , thanks for your elaboration. Doing something yourself is quite educational, so I recommend that at all times. I still will upload my changes and if you don't mind, perhaps you can give it a go. I also like to know what you didn't understand. Was it my code? Or didn't you know how to use it? This library aims to support all TM16xx chips. Such goal and the long history of the library may have introduced some complexities you won't have when developing for a specific chip from scratch. The generic class that I will upload in a few moments tries to address all commonalities and may even have more complexities as a result. I always try to write readable comments, with sufficient comments, but other documentation may be lacking a bit. Ah well... perhaps it will get better sometime... |
Hello @Voha888 , I added a branch for testing the generic class TM16xxIC. You can find it here. This is the constructor code I used to test this class with a TM1640 on the RP2040:
Please note that although for now I tested it only on the RP2040, it should also work on other boards such as Arduino Nano. As you probably can guess I don't have the AiP1629B in my collection either, so I cannot tell how compatible it is with the TM16xx series. In the include file TM16xxIC.h you can find a list of all TM16xx chips that I know of. I studied their datasheets to determine their specifics in terms of SEG/GRD layout and display/key memory. I included definitions for all those chips and made comments about the chips that I have tested this generic class with. Most 2 and 3 wire chips should be supported. Some chips (eg. TM1650, TM1652) are too specific to include in the generic class. For those chip specific classes are available or may be added in the future, I will do more testing on many other MCU's, such as ATtiny85, ATMEGA328P, LGT8F328P, CH32V003, ESP8266, ESP32, but that may take some time. |
TM1629A_V2.0.pdf
I want to connect this chip model. And as far as I understand, I just need to change the existing header file to accommodate the number of signal lines 1629B?
1629B controls a display like this, I want to write a test sketch to determine which segments, which data lines correspond to
The text was updated successfully, but these errors were encountered: