Closed nichols89ben closed 7 months ago
Did you remove all DIAG_JUMPERS? Just commenting it out is not sufficient.
"PG10 T1 X2Stop - Z_MIN:0 when hit Z_MIN:1 when removed"
huh?
In pins_BTT_OCTOPUS_V1_common.h you have set
but then you set #define Z_STOP_PIN X2_DIAG_PIN // Z-STOP
so Z-MIN is using PG10
In Configuration_advanced.h you have
#define X2_STOP_PIN X2_DIAG_PIN //#BEN_ENDSTOP // X2 endstop pin override
But this block of the config file is not used when you have DUAL_X_CARRIAGE, so all these setting are ignored.
#if HAS_X2_STEPPER && DISABLED(DUAL_X_CARRIAGE)
//#define INVERT_X2_VS_X_DIR // X2 direction signal is the opposite of X
#define X_DUAL_ENDSTOPS //#BEN_ENDSTOP // X2 has its own endstop
#if ENABLED(X_DUAL_ENDSTOPS)
//#define X2_STOP_PIN X_MAX_PIN //#BEN_ENDSTOP // X2 endstop pin override
#define X2_STOP_PIN X2_DIAG_PIN //#BEN_ENDSTOP // X2 endstop pin override
#define X2_ENDSTOP_ADJUSTMENT 0 // X2 offset relative to X endstop
#endif
#endif
HAS_X2_STEPPER is for when you have two X stepper drivers on the on X axis, like dual Z, but for X. These are not the setting you want for DUAL_X_CARRIAGE
With DUAL_X_CARRIAGE T0 homes to X-MIN ie X_DIAG_PIN (PG6) T1 homes to X-MAX ie E0_DIAG_PIN (PG12)
Most of the changes you made to Marlin/src/pins/stm32f4/pins_BTT_OCTOPUS_V1_common.h are not needed undo all but these
#define X2_STEP_PIN PE2 // MOTOR 6
#define X2_DIR_PIN PE3
#define X2_ENABLE_PIN PD4
#ifndef X2_CS_PIN
#define X2_CS_PIN PE1
#endif
#define X2_SERIAL_TX_PIN PE1
#define X2_SERIAL_RX_PIN X2_SERIAL_TX_PIN
Even these are not technically needed as marlin will automatically use E2 as X2 and will warn you with
This Issue Queue is for Marlin bug reports and development-related issues, and we prefer not to handle user-support questions here. (As noted on this page.) For best results getting help with configuration and troubleshooting, please use the following resources:
After seeking help from the community, if the consensus points to a bug in Marlin, then you should post a bug report.
Configuration_advanced.h:
In Configuration_advanced.h you have
#define X2_STOP_PIN X2_DIAG_PIN //#BEN_ENDSTOP // X2 endstop pin override
But this block of the config file is not used when you have DUAL_X_CARRIAGE, so all these setting are ignored.#if HAS_X2_STEPPER && DISABLED(DUAL_X_CARRIAGE) //#define INVERT_X2_VS_X_DIR // X2 direction signal is the opposite of X #define X_DUAL_ENDSTOPS //#BEN_ENDSTOP // X2 has its own endstop #if ENABLED(X_DUAL_ENDSTOPS) //#define X2_STOP_PIN X_MAX_PIN //#BEN_ENDSTOP // X2 endstop pin override #define X2_STOP_PIN X2_DIAG_PIN //#BEN_ENDSTOP // X2 endstop pin override #define X2_ENDSTOP_ADJUSTMENT 0 // X2 offset relative to X endstop #endif #endif
HAS_X2_STEPPER is for when you have two X stepper drivers on the on X axis, like dual Z, but for X. These are not the setting you want for DUAL_X_CARRIAGE
NOTE:
With DUAL_X_CARRIAGE T0 homes to X-MIN ie X_DIAG_PIN (PG6) T1 homes to X-MAX ie E0_DIAG_PIN (PG12)
pins_BTT_OCTOPUS_V1_common:
Most of the changes you made to Marlin/src/pins/stm32f4/pins_BTT_OCTOPUS_V1_common.h are not needed undo all but these
#define X2_STEP_PIN PE2 // MOTOR 6 #define X2_DIR_PIN PE3 #define X2_ENABLE_PIN PD4 #ifndef X2_CS_PIN #define X2_CS_PIN PE1 #endif #define X2_SERIAL_TX_PIN PE1 #define X2_SERIAL_RX_PIN X2_SERIAL_TX_PIN
Even these are not technically needed as marlin will automatically use E2 as X2 and will warn you with #warning "Note: Auto-assigned X2 STEP/DIR/ENABLE_PINs to unused En_STEP/DIR/ENABLE_PINs. (Define NO_AUTO_ASSIGN_WARNING to suppress this warning.)"
Hi, thank you for the detailed reply. I reset the pins back to default as you suggested and re flashed, however the behavior is still the same as depicted prior. I made sure to reset to defaults with M502 and M500.
I reached out to the discord threads several times and never got a response, ive been at it for weeks and the bug report was my last resort. Any other suggestions is appreciated
Configuration_advanced.h:
In Configuration_advanced.h you have
#define X2_STOP_PIN X2_DIAG_PIN //#BEN_ENDSTOP // X2 endstop pin override
But this block of the config file is not used when you have DUAL_X_CARRIAGE, so all these setting are ignored.#if HAS_X2_STEPPER && DISABLED(DUAL_X_CARRIAGE) //#define INVERT_X2_VS_X_DIR // X2 direction signal is the opposite of X #define X_DUAL_ENDSTOPS //#BEN_ENDSTOP // X2 has its own endstop #if ENABLED(X_DUAL_ENDSTOPS) //#define X2_STOP_PIN X_MAX_PIN //#BEN_ENDSTOP // X2 endstop pin override #define X2_STOP_PIN X2_DIAG_PIN //#BEN_ENDSTOP // X2 endstop pin override #define X2_ENDSTOP_ADJUSTMENT 0 // X2 offset relative to X endstop #endif #endif
HAS_X2_STEPPER is for when you have two X stepper drivers on the on X axis, like dual Z, but for X. These are not the setting you want for DUAL_X_CARRIAGE
NOTE:
With DUAL_X_CARRIAGE T0 homes to X-MIN ie X_DIAG_PIN (PG6) T1 homes to X-MAX ie E0_DIAG_PIN (PG12)
pins_BTT_OCTOPUS_V1_common:
Most of the changes you made to Marlin/src/pins/stm32f4/pins_BTT_OCTOPUS_V1_common.h are not needed undo all but these
#define X2_STEP_PIN PE2 // MOTOR 6 #define X2_DIR_PIN PE3 #define X2_ENABLE_PIN PD4 #ifndef X2_CS_PIN #define X2_CS_PIN PE1 #endif #define X2_SERIAL_TX_PIN PE1 #define X2_SERIAL_RX_PIN X2_SERIAL_TX_PIN
Even these are not technically needed as marlin will automatically use E2 as X2 and will warn you with #warning "Note: Auto-assigned X2 STEP/DIR/ENABLE_PINs to unused En_STEP/DIR/ENABLE_PINs. (Define NO_AUTO_ASSIGN_WARNING to suppress this warning.)"
Also, I know you mentioned Marlin will automatically use E2 as X2, I dont know if that applies to the endstop also. The Stepper is in the E2 defined slot, but In the pins file E2 endstop is defined as PG14 and a runout sensor. I have the X2 endstop plugged into #define Z_DIAG_PIN PG10 // Z-STOP. The pin debug also reports Z_MIN pin
stepper driver pins have little to do with endstops. endstops pin don't change.
I repeat:
With DUAL_X_CARRIAGE Tool 0 homes to X-MIN ie X_DIAG_PIN (PG6) Tool 1 homes to X-MAX ie E0_DIAG_PIN (PG12)
stepper driver pins have little to do with endstops. endstops pin don't change.
I repeat:
With DUAL_X_CARRIAGE Tool 0 homes to X-MIN ie X_DIAG_PIN (PG6) Tool 1 homes to X-MAX ie E0_DIAG_PIN (PG12)
Thanks again, that did fix the behavior. I didnt try that earlier because the pins.h specifically refer to those four as filament run out sensors. I previously had a run out sensor in that pin but removed it and shifted everything down one. Will marlin pick up the new run out sensor locations or does that need to be specified?
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
Did you test the latest
bugfix-2.1.x
code?Yes, and the problem still exists.
Bug Description
Having issues with DUAL_X_CARRIAGE and being unable to auto park or park X2 at all. The firmware settings look correct based on what I read in the documentation. See attached video links for easy clarification of the issue. But when homing, te X2 head moves as if it will park but only moves to the left and not back to the endstop. Also selecting certain autopark/full control modes causes it to crash into the X1 Carriage. The X2 carriage is responsive in the UI and will move fine manually, but homing and parking is the issue. I attached videos, configs and pins.h. These are also what the endstop pins show when in debugging. Any help is appreciated. Pin
PG6 T0 Xstop - X_MIN:0 when hit X_MIN:1 when removed PG9 Ystop - Y_MIN:0 when hit Y_MIN:1 when removed PG10 T1 X2Stop - Z_MIN:0 when hit Z_MIN:1 when removed
Configs: config.zip
Videos: https://drive.google.com/file/d/11NCRGhEjbzqHYfuVxzfL01xzpnt_FIoE/view?usp=sharing https://drive.google.com/file/d/1q-FJaFxrjhutsMmYiXYODnDMw1kP9xHs/view?usp=sharing
Version of Marlin Firmware
bugfix-2.1.x 2024-02-02
Printer model
SV04
Electronics
BTT Octopus
LCD/Controller
BTT
Bed Leveling
ABL Bilinear mesh
Host Software
OctoPrint
Don't forget to include
Configuration.h
andConfiguration_adv.h
.