Skip to content

[BUG] E_DUAL_STEPPER_DRIVERS code order issue #25787

Open
@ellensp

Description

@ellensp

Did you test the latest bugfix-2.1.x code?

Yes, and the problem still exists.

Bug Description

E_DUAL_STEPPER_DRIVERS is set In Configuration_adv.h, but Conditionals_LCD.h is called before Configuration_adv.h

In Conditionals_LCD.h is:

#if ENABLED(E_DUAL_STEPPER_DRIVERS) // E0/E1 steppers act in tandem as E0
#define E_STEPPERS 2
#define E_MANUAL 1

Which can never be true as a this point the code has not set E_DUAL_STEPPER_DRIVERS

thisiskeithb edit: Symptoms include E1 operating in standalone mode with incorrect microstepping, etc.

Bug Timeline

Unknown

Expected behavior

E_DUAL_STEPPER_DRIVERS should set:

  #define E_STEPPERS      2
  #define E_MANUAL        1

Actual behavior

It does not set these defines.

Steps to Reproduce

  1. get current bugfix
  2. enable #define E1_DRIVER_TYPE A4988
  3. enable #define E_DUAL_STEPPER_DRIVERS In Configuration_adv.h
  4. As a simple test add #error "should error" under #if ENABLED(E_DUAL_STEPPER_DRIVERS) in Conditionals_LCD.h
  5. build. If it was working as expected it would now error on this #error. It does not.

That block of code is also greyed out, but you cant always relay on intellisense, but in this case it is correct. The block is not enabled.

Version of Marlin Firmware

bugfix-2.1.x

Don't forget to include

  • A ZIP file containing your Configuration.h and Configuration_adv.h.

Additional information & file uploads

Configuration.zip

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions