-
-
Notifications
You must be signed in to change notification settings - Fork 19.2k
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
[BUG] Ender 3 v2 does not boot when E0_DRIVER_TYPE is TMC2208 with pin PA3 on 2.0.9.2+ versions #22905
Comments
Ran a git bisect between 2.0.8 and 2.0.9.1 (git bisect log in link below) and traced it down to the failing commit: d13ffa0, which happens to be: 🔨 Creality v4 with STM32 HAL (#21999)
|
so does environment STM32F103RET6_creality_maple work as expected then? |
Did a quick build on 2.0.9.2 with the STM32F103RET6_creality_maple instead of the STM32F103RET6_creality and it does seem to boot with the E0_DRIVER_TYPE as TMC2208. I haven't checked any other functionality besides that it boots. |
I was able to run the M122 command and received the expected register responses from the TMC2208 with the STM32F103RET6_creality_maple environment. Any ideas/tests I can run to trace down the boot issue with the STM32F103RET6_creality environment? |
Can confirm, not booting. Does with libmaple. |
Hello, I have same issue. Someone find this problem? |
Hello, do you have working firmware? BLTouch |
This is still an issue |
How's it going? So let's see what we can see, here… According to the datasheet pin |
Which file will we set this "SERVO0_PIN" exactly. I don't know about it. I'm trying to learn. |
add This overrides the one set in your boards pin.h file. |
Such an error occurs. Marlin\src\HAL\STM32../../inc/SanityCheck.h:1523:8: error: #error "SERVO0_PIN must be defined for your servo or BLTOUCH probe." |
Hmm, looks like a conundrum here. My setup has a BLTouch (and uses it for Z-homing, so disabling it is not an option). But I can't really see any timers that don't conflict... TIM1: default uses PB12 through PB15 and PA8 through PA12; these pins are used for the screen encoder and beeper, along with serial communication to the CH340 and EEPROM access. |
This results in multiple errors as below:
If I comment out the SERVO0_PIN check from SanityCheck.h it compiles fine, however the firmware still gets stuck at a blank screen. I've finally caved in today and modded my Ender 3 with the link for UART today and now I'm learning I can't use linear advance with the current firmware, rip :( EDIT: compiling maple makes the LCD intiialize and get to home screen and update values, however pressing the rotary encoder results in a printer reset (fw reboots) making it unusable :( |
#define SERVO0_PIN -1 breaks a bltouch which thinks its a servo to deploy and retract the probe. |
I guess my question is what has changed since 2.0.8 (in regard to timers) if the older version had no issues working with PA3? What's the root cause and would it be possible to work around this? I'll look at soldering to PA13 in the meantime EDIT: PA13 works fine (at least based on initial limited tests, it's technically easier to use since it's the SWDIO pin of ICSP pin header solderpoints). |
Did you solve the problem with the Pa 13? |
@EntasDisk yes linear advance seems to operate on PA13 although results don't look very satisfying. And no, I didn't use R19, my board is a v4.2.7 with TMC2225's so I used a different one that goes to uart pin of the extruder driver. Which is R52 on my board. Schematics for both boards here: https://klipper.discourse.group/t/creality-board-4-2-2-and-4-2-7-schematics/3104 As for settings I can make a patch sometime later based off my config. |
I’m not sure if you saw the latest release, but as of Marlin 2.1.1, Linear Advance works on 2208s/2225s now, including non-modded Creality boards. |
@thisiskeithb interesting, I definitely didn't go through the whole changelog as I was updating from mid-2021 build of 2.0.x bugfix to most recent 2.1.x bugfix So LA should work without UART access? Did I just waste time modding my board? 😂 Also hmm is there even any advantage to using uart now? I wonder. I'll try to find some info/discussions on this. Thanks. EDIT: #24533 is the PR for this fix |
Looking for 1 more working PIn I guess to make things work non-maple with a BLtouch in it's stock port. PA13, PA14 , PA15 (chip soldered).
I tried TIM6 and TIM3 , it compiles, but fails to boot. Lack of TMC coms I guess. It's also somewhat odd that it's not catching this state with the TMC COMM ERROR? Looks like PC0, PC1, PC13, PC14, PC15 are all NC and might be potentially useable like PA15, but will have to tinker more to make that happen. Trying to judge if it's worth the risk to stay out of deprecation? |
Does any one have any updates? Well, after finding a guide for putting all my 2225's (Creality 4.2.7) into uart mode, I guess it's not entirely needed anymore since LA is working? I wanted uart for vref and I could only presume it would work better for some of these 'new' features. I have BLT, and used PA4, PA7, PA13 and PA14. I was having compile issues with commenting out z_stop_pin, so I set that to PC0. Same problem, blank LCD screen, no serial > USB comms come up. Flash with only Z and E as 2208 (non-stand alone mode) it boots up at least, add in X or Y and same results - blank screen no D4 LED activity. All my testing has been just board, and LCD (E3V2 Display), nothing else, so firmware with Z, E, might still fail when I go to attempt a print. |
I converted that machine to Switchwire, so it's running klipper now. |
I'm having a very similar issue. I also did a mod to have the hotend fan controlled by PWM connected to PC15. Marlin has blank screen on boot unless I use edit 1: to say that I have built marlin with maple and was able to boot. Using the knob seems to restart the printer though. But I am able to communicate via USB and confirm the UART mod was successful on all stepper motor drivers. edit 2: For anyone looking for an immediate solution, I was able to finally proceed with the following pinout on a non-maple build Noting
|
Greetings from the Marlin AutoBot! Disclaimer: This is an open community project with lots of activity and limited |
Did you test the latest
bugfix-2.0.x
code?Yes, and the problem still exists.
Bug Description
I have done a board modification on the stock Ender 3 v2 mainboard (4.2.2 with TMC2208 steppers) that would enable me to use the UART on the TMC2208. This was done by adding a blue wire on PA3 to the E stepper driver's UART pin. This works on 2.0.8, but on 2.0.9.2 versions, it appears that Marlin fails to boot, or at least the LCD stays black until I flash a firmware that will boot. I either have to switch the E0 back to TMC2208_STANDALONE for 2.0.9.2 versions or revert back to 2.0.8 if I wanted to keep E0 as TMC2208.
There seems to be some consensus with the oddity with PA3 pin particularly. There is some discussion in Jyers#1346 where it seems to work again if it's PA13 instead of PA3 if using post 2.0.8 versions.
Note: I have only tried this on 2.0.8 (working), 2.0.9.2 (does not boot), and 2.x.x SHA 1f41437 (does not boot). I have not attempted a git bisect to narrow down the commit, but I can do so if you think it would help.
Bug Timeline
2.0.9.2
Expected behavior
Expected Marlin to boot or at least the LCD to display something
Actual behavior
Marlin appears to fail to boot, LCD screen is black and must either set E0 driver back to TMC2208_STANDALONE or revert to 2.0.8 with E0 set to TMC2208.
Steps to Reproduce
Version of Marlin Firmware
2.0.9.2
Printer model
Creality Ender 3 v2
Electronics
Stock electronics with blue wire from PA3 pin to E stepper driver's UART pin
Add-ons
N/A
Bed Leveling
MBL Manual Bed Leveling
Your Slicer
Cura
Host Software
SD Card (headless)
Additional information & file uploads
Configuration files used
Patch to apply on clean Marlin with Ender-3 V2 MarlinUI configuration copied
Discussion in Jyers with blackscreen with Pin PA3 specifically
The text was updated successfully, but these errors were encountered: