Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
M
MarlinKimbra
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
machinery
MarlinKimbra
Commits
030bc2db
Commit
030bc2db
authored
Jun 19, 2015
by
MagoKimbra
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix hotend_offset
parent
64c7305f
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
20 additions
and
12 deletions
+20
-12
Configuration_adv.h
MarlinKimbra/Configuration_adv.h
+2
-2
Marlin_main.cpp
MarlinKimbra/Marlin_main.cpp
+14
-6
configuration_store.cpp
MarlinKimbra/configuration_store.cpp
+4
-4
No files found.
MarlinKimbra/Configuration_adv.h
View file @
030bc2db
...
...
@@ -168,7 +168,7 @@
//#define Y_DUAL_STEPPER_DRIVERS
// Define if the two Y drives need to rotate in opposite directions
#define INVERT_Y2_VS_Y_DIR
tru
e
#define INVERT_Y2_VS_Y_DIR
fals
e
// Enable this for dual x-carriage printers.
// A dual x-carriage design has the advantage that the inactive extruder can be parked which
...
...
@@ -183,7 +183,7 @@
#define X2_MAX_POS 353 // set maximum to the distance between toolheads when both heads are homed
#define X2_HOME_DIR 1 // the second X-carriage always homes to the maximum endstop position
#define X2_HOME_POS X2_MAX_POS // default home position is the maximum carriage position
// However: In this mode the
EXTRUDER
_OFFSET_X value for the second extruder provides a software
// However: In this mode the
HOTEND
_OFFSET_X value for the second extruder provides a software
// override for X2_HOME_POS. This also allow recalibration of the distance between the two endstops
// without modifying the firmware (through the "M218 T1 X???" command).
// Remember: you should set the second extruder x-offset to 0 in your slicer.
...
...
MarlinKimbra/Marlin_main.cpp
View file @
030bc2db
...
...
@@ -147,6 +147,7 @@
* M109 - Sxxx Wait for extruder current temp to reach target temp. Waits only when heating
* Rxxx Wait for extruder current temp to reach target temp. Waits when heating and cooling
* IF AUTOTEMP is enabled, S<mintemp> B<maxtemp> F<factor>. Exit autotemp by any M109 without F
* M110 - Set current line number.
* M111 - Set debug flags with S<mask>. See flag bits defined in Marlin.h.
* M112 - Emergency stop
* M114 - Output current position to serial port, (V)erbose for user
...
...
@@ -876,10 +877,17 @@ void get_command() {
char
*
apos
=
strchr
(
command
,
'*'
);
if
(
npos
)
{
gcode_N
=
strtol
(
npos
+
1
,
NULL
,
10
);
if
(
gcode_N
!=
gcode_LastN
+
1
&&
strstr_P
(
command
,
PSTR
(
"M110"
))
==
NULL
)
{
if
(
gcode_N
!=
gcode_LastN
+
1
)
{
if
(
strstr_P
(
command
,
PSTR
(
"M110"
))
==
NULL
)
{
gcode_line_error
(
PSTR
(
MSG_ERR_LINE_NO
));
return
;
}
else
{
npos
=
strchr
(
npos
,
'N'
);
gcode_N
=
strtol
(
npos
+
1
,
NULL
,
10
);
gcode_LastN
=
gcode_N
;
}
}
if
(
apos
)
{
byte
checksum
=
0
,
count
=
0
;
...
...
@@ -5722,10 +5730,10 @@ inline void gcode_M503() {
if
(
code_seen
(
'X'
))
duplicate_hotend_x_offset
=
max
(
code_value
(),
X2_MIN_POS
-
x_home_pos
(
0
));
if
(
code_seen
(
'R'
))
duplicate_extruder_temp_offset
=
code_value
();
ECHO_SM
(
DB
,
MSG_HOTEND_OFFSET
);
ECHO_MV
(
" "
,
extruder
_offset
[
X_AXIS
][
0
]);
ECHO_MV
(
","
,
extruder
_offset
[
Y_AXIS
][
0
]);
ECHO_MV
(
" "
,
hotend
_offset
[
X_AXIS
][
0
]);
ECHO_MV
(
","
,
hotend
_offset
[
Y_AXIS
][
0
]);
ECHO_MV
(
" "
,
duplicate_hotend_x_offset
);
ECHO_EMV
(
","
,
extruder
_offset
[
Y_AXIS
][
1
]);
ECHO_EMV
(
","
,
hotend
_offset
[
Y_AXIS
][
1
]);
break
;
case
DXC_FULL_CONTROL_MODE
:
case
DXC_AUTO_PARK_MODE
:
...
...
MarlinKimbra/configuration_store.cpp
View file @
030bc2db
...
...
@@ -454,14 +454,14 @@ void Config_ResetDefault() {
#if HOTENDS > 1
max_i
=
sizeof
(
tmp9
)
/
sizeof
(
*
tmp9
);
if
(
i
<
max_i
)
extruder
_offset
[
X_AXIS
][
i
]
=
tmp9
[
i
];
hotend
_offset
[
X_AXIS
][
i
]
=
tmp9
[
i
];
else
extruder
_offset
[
X_AXIS
][
i
]
=
0
;
hotend
_offset
[
X_AXIS
][
i
]
=
0
;
max_i
=
sizeof
(
tmp10
)
/
sizeof
(
*
tmp10
);
if
(
i
<
max_i
)
extruder
_offset
[
Y_AXIS
][
i
]
=
tmp10
[
i
];
hotend
_offset
[
Y_AXIS
][
i
]
=
tmp10
[
i
];
else
extruder
_offset
[
Y_AXIS
][
i
]
=
0
;
hotend
_offset
[
Y_AXIS
][
i
]
=
0
;
#endif // HOTENDS > 1
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment