-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
tasmota-display build isn't enabling TM1637 driver without enabling SPI. #11358
Comments
As this display type doesn't need SPI or I2C it should not bother with these interfaces. The goal of adding the dedicated GPIOs was (and is) to only allow this display type to work if a user has configured the specific TM1637 GPIO's. The TM1637 driver should only work when these GPIO's are configured without any need for SPI or I2C. |
Ah I see what you mean. I will need to rewrite the check for display support WITHOUT either I2c or SPI present. |
I had indeed made those changes earlier (as part of TM1638 PR) here: 75699fe |
Pls try if latest fix solves selecting the TM1637 driver |
@arendst However, I see that the
Doesn't this mean the TM1637 driver still "depends" on the existence of either I2C or SPI ? It is working in the Display build after the fix because the Display build already has SPI enabled.
But being able to do this is not critical. It is good to have. |
Ah forgot to change . Will have a look now. |
Fixed again |
Tested the fix. I think the TM1638 PR should work now. Will merge the fix there and test. Hope it is fine that the same TM1637 driver is used for the TM1638 as well. Also, I've originally planned to use the the same driver for the MAX7912 as well. But now having second thoughts about it. Maybe I should make the MAX7912 a separate driver? Please suggest. Thank you! |
Make it seperate first and if in the end there is too much redundancy you can always merge. |
You mean make the MAX driver separate, right? And let TM1638 still be part of TM1637, right? |
Correct, Right. |
I have merged this fix with the TM1638 PR and it works fine without any further changes to the PR code. Would you please accept the PR after review? |
I tried a 6-Digit TM1637 display today. The following commands works: Display, DisplayText 1234, DisplayClock, .... What am I doing wrong? |
|
The future (that I mentioned above) has arrived sooner than expected :) Please ignore the above if you are taking the latest code from arendst/Tasmota development branch. For now, the documentation is here: https://github.com/arendst/Tasmota/blob/development/tasmota/xdsp_15_tm1637.ino |
Thank you for your quick feedback. When I execute this command I change to 6-digit My Wemos D1 mini reboot automaticaly but is still a 4 digits display! 00:00:00.049 CFG: Loaded from flash at F8, Count 28 19:48:05.516 CMD: displaycols My display lights up at value higer then |
@sugus6 , The code is in a bit of flux :) I will update the default Presently, All the 7-segment specific Display- commands work only under Also, Power control is implemented. |
Hi ajithvasudevan I did tests with the latest build: When I execute These are my displays: TM1637 6-digit displays 0.36/0,56 inch: TM1637 4-digit displays 0.36: MAX7219 8-digit displays: |
@sugus6 ,
Thanks for testing this driver thoroughly!
It looks like there are different variants of the 6-digit TM1637 modules, with the digits differently wired. |
@sugus6 , |
Thank you for the quick fix. Well done. |
Is there any chance to have more than one TM1637? May be sharing the DIO pin or on 2 separated ones. |
I am not entirely sure but I think the TM1637 hardware has a limitation on sharing the DIO pin, as the protocol isn't exactly SPI or I2C.
What you want should be possible with two separate sets of pins, though it will need some major changes to the TM1637 Tasmota driver and not to mention changes elsewhere, like adding more assignable GPIO Pins, etc.,
What exactly is your requirement? Is it to just have two sets of 4-digit displays independently controllable by Tasmota? If this is the case, you can get the same effect by simply using a single 8-digit MAX 7219 seven segment display module, separating one set of 4 digits from the module by lengthening its terminals, if needed. You can then concatenate the two 4-digit texts and send it to the MAX in one go.
See attachment, for an example of what I mean.
Ajith
…On Sat, 5 Jun 2021, 20:59 Eduardo Spremolla, ***@***.***> wrote:
Is there any chance to have more than one TM1637? May be sharing the DIO
pin or on 2 separated ones.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#11358 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACBUVQIO27DOXIW36TVKCY3TRI7FZANCNFSM4ZI7LVAA>
.
|
Yes, I need to show 2 temps. Weird no one build the max module as 2 x 4
digit lines.
I also have a bounch of TM1637 modules arround.
Now I use some rules to alternate 2 values in the same display ever 5 sec.
Thanks anyway.
El El sáb, 5 de jun. de 2021 a la(s) 13:54, Ajith ***@***.***>
escribió:
… [image: image]
<https://user-images.githubusercontent.com/8604353/120899185-0a722900-c64c-11eb-9036-dac15a9d874d.png>
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#11358 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACXBW4JKTYQCM2ZOPIWKTALTRJJF3ANCNFSM4ZI7LVAA>
.
|
It does exist. This is the one I used to implement a requirement similar to yours (shown in the image in my previous post) |
I want it in 2 lines, like this one
https://images.app.goo.gl/hcbXGceF4QfBPmug7
But with Max chip. The picture is with 74hc595.
El El sáb, 5 de jun. de 2021 a la(s) 23:38, Ajith ***@***.***>
escribió:
… ... Weird no one build the max module as 2 x 4 digit lines ...
It does exist.
https://robu.in/product/max7219-digital-tube-display-module-control-module/
This is the one I used to implement a similar requirement as yours (shown
in the image in my previous post)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#11358 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACXBW4PYH73HUKYC76F27JTTRLNTJANCNFSM4ZI7LVAA>
.
|
That was the point of the example picture I attached previously. |
PROBLEM DESCRIPTION
Tasmota's Display build (tasmota-display.bin) is supposed to support TM1637 in release 9.3.1. However, this is not happening if we configure just the TM1637 specific GPIO pins (TM1637 DIO and TM1637 CLK).
After configuring the TM1637 DIO and TM1637 CLK pins, none of the
DISPLAY-
commands are available, indicating thatxdrv_13_display
is not executed.I have traced the issue (in the latest development branch) to the following in
xdrv_13_display.ino
:The above condition is
false
even if TM1637 pins are configuredThis could be because of
TasmotaGlobal.soft_spi_enabled
not beingtrue
from the following code insupport_tasmota.ino
As a fix, one could add
(ValidSpiPinUsed(GPIO_TM1637DIO) && ValidSpiPinUsed(GPIO_TM1637CLK))
tovalid_cs
above, but then this will automatically assign 3 SPI pins to GPIOs unnecessarily. I had pointed out this issue in the TM1638 PR and had provided a fix there.REQUESTED INFORMATION
Make sure your have performed every step and checked the applicable boxes before submitting your issue. Thank you!
Backlog Template; Module; GPIO 255
:If using rules, provide the output of this command:
Backlog Rule1; Rule2; Rule3
:Provide the output of this command:
Status 0
:weblog
to 4 and then, when you experience your issue, provide the output of the Console log:TO REPRODUCE
Display
orDisplayModel
stat/TM1637/RESULT = {"Command":"Unknown"}
EXPECTED BEHAVIOUR
After following the steps to reproduce, the output should show the current settings and it should be possible to use the TM1637 Display as it is documented as supported, in the Release notes.
SCREENSHOTS
NA
ADDITIONAL CONTEXT
See discussion in #11031 for additional context
(Please, remember to close the issue when the problem has been addressed)
The text was updated successfully, but these errors were encountered: