-
-
Notifications
You must be signed in to change notification settings - Fork 19.3k
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
[WIP] Support for up to LINEAR_AXES 9 #22822
Conversation
Co-authored-by: DerAndere <26200979+DerAndere1@users.noreply.github.com> Co-authored-by: Paloky <paloky@gmail.com>
Thanks to HendrikJan-5D (/~https://github.com/HendrikJan-5D) for some of this
this is getting absurd.... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TODO: LINEAR_AXIS >=7 with SAFE_HOMING, IMPROVED_HOMING_RELIABILITY, SENSORLESS_HOMING, QUICK_HOMING
I know, @ellensp :D But I I obtained the code and wanted to present it here. I do not recommend to merge this, as the maintainability suffers, even with the latest refactorings. |
39c0930
to
a558613
Compare
df6c9e6
to
66f4579
Compare
LSTR MSG_AUTO_HOME_M = _UxGT("Home ") LCD_STR_M; | ||
LSTR MSG_AUTO_HOME_O = _UxGT("Home ") LCD_STR_O; | ||
LSTR MSG_AUTO_HOME_P = _UxGT("Home ") LCD_STR_P; | ||
LSTR MSG_AUTO_HOME_Q = _UxGT("Home ") LCD_STR_Q; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think strings that contain axis names will need to get the lcd_put_u8str_ind_P
treatment, so the @
character will stand in for the axis name, similar to how =
, ~
, and *
are now used as placeholders for 1-based index, 0-based index, and indexed-E. That will reduce each set of 10 strings down to just one string.
d2091fb
to
4403138
Compare
4403138
to
04a17e7
Compare
e46ed76
to
719654d
Compare
719654d
to
22d3d56
Compare
d7781d4
to
6f9a076
Compare
Axis renaming to UVW is done. Also, SENSORLESS_HOMING, M217 and M907 now support LINEAR_AXES 9. Now, there is a request to add a new option like `#define SAFE_BED_LEVELING_START_[XYZIJKUVW]... EDIT: I added the requested feature to this PR because it is necessary for some machines with LINEAR_AXES >= 4. Now we have in Configuration_adv,h:
|
6f9a076
to
092bff0
Compare
Settings to ensure that z probe is perpendicular to bed at beginning of bed leveling procedure, even with LINEAR_AXES >= 4.
This was sucessfully tested by HendrikJan-5D in hardware, including a full 7-axis print using a handwritten gcode script. I opened a new PR that superseeds this PR: #23112 (no new features, just a fresh rebase) |
Description
This is early work in progress towards support for up to ten (EDIT: 9) non-extruder axes. No inverse kinematics are included. Like my previous 6-axis-support, the new code is Mostly framed by ´#if LINEAR_AXES >= ... #endif` preprocessor directives.
Contributors: Paloky, HendrikJan-5D, DerAndere, thinkyhead
TODO:
Requirements
LINEAR_AXES 9
Benefits
Extends multi-axis support to up to 10 (EDIT: 9) axes that benefit from endstops and auto homing. Axis names can be configured (Internal axis names are X,Y,Z,I,J,K,U,V,W). The extra axes are not so useful out of the box because inverse kinematics are missing, but this work can be used as the basis to develop multi axis machines. So far, the extra axes were used to control additional steppers that are not involved in positioning of the main tool.
Configurations
7axis_configs.zip
9axis_configs.zip
Related Issues
#22488