Skip to content

Comments

TMC updates, capture LCD changes#14074

Merged
thinkyhead merged 6 commits intoMarlinFirmware:bugfix-2.0.xfrom
teemuatlut:tmc_capture_lcd_variables
May 25, 2019
Merged

TMC updates, capture LCD changes#14074
thinkyhead merged 6 commits intoMarlinFirmware:bugfix-2.0.xfrom
teemuatlut:tmc_capture_lcd_variables

Conversation

@teemuatlut
Copy link
Member

@teemuatlut teemuatlut commented May 20, 2019

In an effort to crack down on some bugs

  • If a user has an LCD configured, capture the LCD shadow variables any time a write happens. This will keep the variables always up to date when viewed (or modified) either from the LCD menu or from gcode commands. Initiating the shadow variables at boot time is no longer necessary.
  • TMCMarlin class is now aware of the AxisEnum axis ID number. For now it is only used for determining the steps per mm setting from planner array, but it may become useful later on.
  • MONITOR_DRIVER_STATUS now works with TMC2208 SW Serial communication as well. This was an artificial limitation as it is considerable slower than the HW counterpart, but perhaps not too slow after all.
  • Removed many unnecessary functions and references with planner spmm as arguments. The same functionality can be handled inside the class which is now aware of the planner array and indexing.
  • Addressed a compile warning about some unused functions in tmc_util.

Current state: Final maybe

@teemuatlut teemuatlut force-pushed the tmc_capture_lcd_variables branch from 19ce2ed to ef37e77 Compare May 20, 2019 21:09
@teemuatlut
Copy link
Member Author

teemuatlut commented May 20, 2019

WIP: Need to account for Distinct E factors for Axis Enum Index

@teemuatlut teemuatlut force-pushed the tmc_capture_lcd_variables branch 2 times, most recently from 329ce9c to 112713c Compare May 22, 2019 05:36
@teemuatlut
Copy link
Member Author

Ended up restructuring much of the stepper indirection but it's now a bit more concise with 200 fewer lines of code. The vast majority of it is TMC stuff anyway.

@teemuatlut teemuatlut force-pushed the tmc_capture_lcd_variables branch from 112713c to c367a48 Compare May 24, 2019 19:14
@thinkyhead thinkyhead merged commit 1c86fbc into MarlinFirmware:bugfix-2.0.x May 25, 2019
@thinkyhead thinkyhead changed the title Capture TMC LCD variables TMC updates, capture LCD changes May 25, 2019
@rst00
Copy link

rst00 commented May 26, 2019

After 1c86fbc marlin is not compiling with TMC and disabled HYBRID_THRESHOLD because get_pwm_thrs is undefined.

@teemuatlut
Copy link
Member Author

teemuatlut commented May 26, 2019

Can you attach your config files. I'm not getting an error and a quick search shows that all get_pwm_thrs are methods inside the class and everywhere are accessed through the stepper objects.

EDIT: Found the issue from tmc_util.cpp. Updating soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants