-
-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
BigTreetech TFT 24 not working #2231
Comments
I don't know of anyone that has attempted to use this device with Klipper. It appears the device is trying to emulate an st7920 device. As a guess, it may not fully emulate the device and thus not be compatible with Klipper. (Klipper uses some features of the st7920 - such as the character generator - that other firmware don't use.) -Kevin |
Thanks for the info. You should give it a chance - it's a good & cheap Display and we'll see more of that around soon. In meantime, maybe I'm luckier with Klipper and the fysetc display - with wich I had no chance on Marlin or Repetier. |
@erik23de I have a Fysetc MKS Mini display with the NeoPixel LED's working though a RAMPS shield on an Adafruit Grand Central M4. Let me know if you need a hand with the config. |
Iam also interested. Does anyone have a config that shows anything? My TFT24 connected to skr 1.3 shows in the 12864 mode only a blue display. |
I have a TFT24, neither the emulated screen nor the touch screen will connect. The screen defaults to 250k baud rate which does not connect. Changing the baud rate to 115k does nothing and when rebooting it resets to 250k. BTT have guides for Marlin, but I have not been able to work out if any of these settings can be configured with Klipper. |
FYI, it appears that the tft24 (and similar) are emulating an st7920 chip: That emulation does not include the character generator, so it is not compatible with Klipper. However, if a developer is interested, it should be possible to add support to Klipper. -Kevin |
Benefit Is above approach make sense ? |
What klipper display settings are you using while trying to get the TFT24/35 running. This is my interpretation of how to set it up. (BTT SKR PRO) [output_pin beeper] [gcode_macro M300] Tested the M300 to get a beep from the display =D Klipper Marlin (Edited as it was wrong)cs_pin == LCD_PINS_ENABLEsclk_pin == LCD_PINS_D4sid_pin == LCD_PINS_RSencoder_pins == BTN_EN1, BTN_EN2click_pin == BTN_ENC |
@alagerqvist I agree serial communication with the screen in 'touch' mode would be nice, I'm currently experimenting with using a USB2TTL adaptor connected from the RPi directly to the Display, and while it connects, I'm unable to get it to do anything useful so far. This way the USB link betweek Klipper and the MCU is totally unhindered, the Screen is on a different bus, and can even be a different baud rate, but the wiring for this is less clean if your RPi is not mounted to your printer. Can I ask if you managed to get the 'marlin mode'/'12864 simulator' mode to get anything to appear on the screen? Or is it only the Beep that works? |
@DeviousPenguin So if someone could confirm/oppose the below I'd be happy: (Do I lack something?) I have started on an implementation of "full 7920 display emulation" for the TFT24/35 (or other), but I really can't test until I get serial working against klipper. |
@alagerqvist I may be wrong but 7920 display emulation mode doesn't need serial in order to work. I had a SKR v1.4 board turn up today, once I get it plugged up and flashed with Klipper, I'll see if I can confirm your pinouts and get some form of functionality with the TFT24 |
Hi,
I was a bit unclear, when I said serial was'nt working I actually meant the
SPI communication to the display.
So what I mean is that the screen gets no 7920 instructions over the
configured pins, I added on screen debug info to see.
Den lör 29 feb. 2020 03:00DeviousPenguin <[email protected]> skrev:
… @alagerqvist <https://github.com/alagerqvist> I may be wrong but 7920
display emulation mode doesn't need serial in order to work.
I had a SKR v1.4 board turn up today, once I get it plugged up and flashed
with Klipper, I'll see if I can confirm your pinouts and get some form of
functionality with the TFT24
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2231>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AICHUCOBQTFYM2BYYIQTD5LRFBV5TANCNFSM4JTMCBVQ>
.
|
@DeviousPenguin The below might have some impact: (This is the setting that works against the display using Marlin) |
@KevinOConnor The timing of Klipper looks strange and the clk is toggled instead of set. Marlin does this: (Works with BTT code which isn't real 7920 HW) Klipper does: |
I'm not aware of any issues with the Klipper bit banging interface to the st7920. What you're looking at is the low-level toggling that is done - it's different from Marlin, but I don't believe it is incorrect. Separately, when I last looked at the BTT firmware running on the display (#2231 (comment)) it did not support the st7920 commands that Klipper issues. I'm pretty sure that's the root of the issue. -Kevin |
Hi,
I was actually checking against the hardware sheet, I understand that
Marlin isn't a golden standard of implementation for this.
Anyway, I have attached a picture from the specification showing what I
mean, there is also a timing table that is dependant on the Vcc 3.3V or 5V
for the TS7920.
My point is that trying to follow the hardware spec. seems to make the
display software fail for Klipper.
Cheers/
Anders Lagerqvist
Den mån 2 mars 2020 04:20KevinOConnor <[email protected]> skrev:
… I'm not aware of any issues with the Klipper bit banging interface to the
st7920. What you're looking at is the low-level toggling that is done -
it's different from Marlin, but I don't believe it is incorrect.
Separately, when I last looked at the BTT firmware running on the display (#2231
(comment)
<#2231 (comment)>)
it did not support the st7920 commands that Klipper issues. I'm pretty sure
that's the root of the issue.
-Kevin
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2231>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AICHUCLZZ7J53M456ATHC7DRFMQXRANCNFSM4JTMCBVQ>
.
|
hi, are there a solution now to run the bigtreetech tft-display (perhaps in marlin mode) |
AFAIK, no. Klipper requires the display to support the character generator, which the BTT emulator doesn't have. There is an open issue on the firmware page about it, but nobody has implemented it yet. |
I'm not the most experienced with C++ and Arduino type code, but can do the basics. Would you know the best place to start with implementing the character generator? |
From the other thread just recently: It sounds like they may not emulate the char generator, but use font files that are already present in the firmware. |
@trevjonez thanks it does look like BTT may be adding the char gen, by the looks of that thread, so we may not need to re-invent the wheel |
I've just got this TFT (a few minutes back), and see that there's a USB port behind it. Would it be possible to connect this to the pi and simply link the two serial port together (one from the TFT and /tmp/printer) - so that any commands the touch screen sends would get sent to klipper. I'm no Linux expert - but it might be possible using socat. Will have to try once I get my board installed and have the printer running again. http://technostuff.blogspot.com/2008/10/some-useful-socat-commands.html |
That port is only for connecting a USB flash drive to the printer instead of using the SD card slot. The serial port is on a different connection entirely, as that is indeed how the display communicates using the "touch screen mode" with the mainboard: purely by sending and receiving Gcode commands, just like OctoPrint does. Connect that display to one of the serial ports on your Raspi instead of the mainboard and instruct Klipper to listen to that port, and you could, in theory, replace Octoprint with that touchscreen. With the caveat that it's almost guaranteed to use some Marlin specific commands that won't work with Klipper. |
Aah - too bad. Turned out when I shorted my previous control board, it also took the TMC drivers with it :(. Now to wait for the new ones to arrive, before I can experiment further. More thoughts:
|
Hi! New owner of Bigtreetech TFT24 and first poster on Github. When I start up the screen, it is blank, part from the "LCD12864 Simulator" text at the top. Once I switch over to Serial Touch Screen mode and then back again it starts to show things. With the patch below, it seems to be working (part from the animations). @@ -126,7 +126,11 @@ class ST7920:
if x + len(data) > 16:
data = data[:16 - min(x, 16)]
pos = [0, 32, 16, 48][y] + x
- self.text_framebuffer[pos:pos+len(data)] = data
+ # self.text_framebuffer[pos:pos+len(data)] = data
+ for c in data:
+ for i, bits in enumerate(bytearray(font8x14.VGA_FONT[ord(c)])):
+ self.write_graphics(x, y, i, [bits])
+ x=x+1
def write_graphics(self, x, y, row, data):
if x + len(data) > 16:
data = data[:16 - min(x, 16)] |
what kind of increased load does that put on the MCU? seems like a decent short term workaround while we wait for btt to finish the char generator. |
Is anyone actively working on adding TFT35 support (native BTT touch firmware) to Klipper? |
Too bad it's not possible to bypass the marlin mode completely and built a nice color and touch interface for Klipper and TFT35 |
in theory is possible, the problem is the knowledge to do it |
How you let ur display work ? Its will be good for me just use it in marlin mode. |
Hello, the mod is working for me, but I have the same flicker during printing as @teeminus. EDIT: I have the same issue if I now use the original ender 3 display. and again only during a printjob Greetings from Germany |
Did a Test on my BIQU B1 with the stock "BIGTREE TFT35 V3.0 B1 Touchscreen" flashed with your NoTouchFW v1.3 . It works fine. Thank you for your awesome work! fluidd: v1.15.0 printer.cfg
EDIT: The Display does not react to Input and does not Update after starting a print. |
If anyone's interested in adding TFT touchscreen support for Klipper, check Desuuuu's work on the runtime-uart branch. He's been working on a sort of serial pass-through implementation that will allow dynamically control of TFTs from the klippy host through mainboard's secondary serial interface (in the same way Klipper already works with I²C and SPI). Maybe someone could use that to finally port the btt touchscreen TFT in Klipper 😄 |
Could please share the config for klipper? I am using the stock mks gen l and the stock tft screen. Many thanks! |
Use this [display] |
Thanks atomadog, but I have isssus with Both See teeminus/NoTouchScreenFirmware#47 and teeminus/NoTouchScreenFirmware#43 |
Currently I have the screen on the B1 working almost without issue (as in freezes or screen corruption). I use v 1.3.1 and the following config in printer.cfg.
|
You are using a different With v1.3.1 you mean NoTouchFirmware i guess? I will give it a try and Report back. |
@pixeldoc2000 Can't remember where I got the miso_pin config. I do indeed mean the NoTouchFirmware 1.3.1 |
There has been a discussion of on how to choose the MISO here: teeminus/NoTouchScreenFirmware#25 |
@hapklaar Starting to think it is an issus with my Printer or my Hardware Setup. What Hardware Setup do you have? I have an original BLTouch 3.1 and the Stock Filament Runout Sensor connected to the Mainboard instead of the Display. Latest Klipper and Firmware with fluiddpi. |
Also original BLTouch 3.1, filament runout sensor still connected to display. I replaced the tmc2208's at some point with 2209's. I run all the latest klipper software and firmware (updated with kiauh) |
Tried BIGTREETECH-TouchScreenFirmware in Marlin Mode. I get the same issue as with NoTouchFirmware, so looks like it is a problem with my setup/hardware on my BIQU B1, not the Display Firmware. |
The same is true with the E3 turbo and TFT35-E3-v3. |
@mlaci001 |
@pixeldoc2000 |
This is kinda unbelievable that the TFT35 and Klipper cant work together in touch screen mode. I dont get why the devs dont fix this themselves? BTT has their own version of Klipper so why the hell dont they fix this crap? |
Any new about this. I have the same problem 😞 |
Hello I had the same issue like others with the BTT TFT50v3 display. I use it together with the BTT SKR v1.4 turbo mainboard. Here is the printer.cfg section which works for me:
|
@KevinOConnor Is it possible to run Klipper on this screen using a stm32 chip (I think yes) and use it like in |
Hi,
Tried to set up Klippy on an skr 1.3 (from the example- configs), copy & pasted the Preprap GLCD
into the config.
Usually, testet with 3 Boards, Marlin and Repetier, the BigTreetech TFT 24 (and 35) works as a 12864 GLDC like a charm (First Display I'm really happy with).
But it does not with Klipper, Screen stays empty (but reset switch works). Wiring is okay, it works with Marlin on the same board.
What did I wrong?
klippy.zip
The text was updated successfully, but these errors were encountered: