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
8e9f3658
Commit
8e9f3658
authored
May 02, 2016
by
MagoKimbra
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix Delta
parent
2fafa5fb
Changes
11
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
285 additions
and
285 deletions
+285
-285
MK_Main.cpp
MK/module/MK_Main.cpp
+152
-173
MK_Main.h
MK/module/MK_Main.h
+9
-4
language.h
MK/module/language/language.h
+0
-3
dogm_lcd_implementation.h
MK/module/lcd/dogm_lcd_implementation.h
+22
-21
ultralcd.cpp
MK/module/lcd/ultralcd.cpp
+12
-1
ultralcd_implementation_hitachi_HD44780.h
MK/module/lcd/ultralcd_implementation_hitachi_HD44780.h
+38
-28
macros.h
MK/module/macros.h
+8
-5
planner.cpp
MK/module/motion/planner.cpp
+7
-6
stepper.cpp
MK/module/motion/stepper.cpp
+3
-4
stepper_indirection.h
MK/module/motion/stepper_indirection.h
+27
-27
Nextion_lcd.cpp
MK/module/nextion/Nextion_lcd.cpp
+7
-13
No files found.
MK/module/MK_Main.cpp
View file @
8e9f3658
This diff is collapsed.
Click to expand it.
MK/module/MK_Main.h
View file @
8e9f3658
...
@@ -48,7 +48,6 @@ void ok_to_send();
...
@@ -48,7 +48,6 @@ void ok_to_send();
void
calibration_report
();
void
calibration_report
();
void
bed_probe_all
();
void
bed_probe_all
();
void
set_delta_constants
();
void
set_delta_constants
();
void
save_carriage_positions
(
int
position_num
);
void
calculate_delta
(
float
cartesian
[
3
]);
void
calculate_delta
(
float
cartesian
[
3
]);
void
adjust_delta
(
float
cartesian
[
3
]);
void
adjust_delta
(
float
cartesian
[
3
]);
void
adj_endstops
();
void
adj_endstops
();
...
@@ -71,7 +70,13 @@ void ok_to_send();
...
@@ -71,7 +70,13 @@ void ok_to_send();
void
calculate_delta
(
float
cartesian
[
3
]);
void
calculate_delta
(
float
cartesian
[
3
]);
void
calculate_SCARA_forward_Transform
(
float
f_scara
[
3
]);
void
calculate_SCARA_forward_Transform
(
float
f_scara
[
3
]);
#endif
#endif
void
prepare_move
();
void
prepare_move
(
#if MECH(DELTA)
const
bool
delta_probe
=
false
#endif
);
void
kill
(
const
char
*
);
void
kill
(
const
char
*
);
void
Stop
();
void
Stop
();
...
@@ -130,9 +135,9 @@ extern float home_offset[3];
...
@@ -130,9 +135,9 @@ extern float home_offset[3];
extern
float
hotend_offset
[
3
][
HOTENDS
];
extern
float
hotend_offset
[
3
][
HOTENDS
];
extern
float
sw_endstop_min
[
3
];
extern
float
sw_endstop_min
[
3
];
extern
float
sw_endstop_max
[
3
];
extern
float
sw_endstop_max
[
3
];
extern
bool
axis_known_position
[
3
];
extern
bool
axis_homed
[
3
];
extern
float
zprobe_zoffset
;
extern
float
zprobe_zoffset
;
extern
uint8_t
axis_known_position
;
extern
uint8_t
axis_was_homed
;
#if HEATER_USES_AD595
#if HEATER_USES_AD595
extern
float
ad595_offset
[
HOTENDS
];
extern
float
ad595_offset
[
HOTENDS
];
...
...
MK/module/language/language.h
View file @
8e9f3658
...
@@ -50,9 +50,6 @@
...
@@ -50,9 +50,6 @@
// 18 Japanese utf
// 18 Japanese utf
// 19 Chinese
// 19 Chinese
#define STRINGIFY_(n) #n
#define STRINGIFY(n) STRINGIFY_(n)
#define PROTOCOL_VERSION "2.0"
#define PROTOCOL_VERSION "2.0"
#if MB(ULTIMAKER)|| MB(ULTIMAKER_OLD)|| MB(ULTIMAIN_2)
#if MB(ULTIMAKER)|| MB(ULTIMAKER_OLD)|| MB(ULTIMAIN_2)
...
...
MK/module/lcd/dogm_lcd_implementation.h
View file @
8e9f3658
...
@@ -349,6 +349,21 @@ FORCE_INLINE void _draw_heater_status(int x, int heater) {
...
@@ -349,6 +349,21 @@ FORCE_INLINE void _draw_heater_status(int x, int heater) {
#endif
#endif
}
}
FORCE_INLINE
void
_draw_axis_label
(
AxisEnum
axis
,
const
char
*
pstr
,
bool
blink
)
{
if
(
blink
)
lcd_printPGM
(
pstr
);
else
{
if
(
!
axis_homed
[
axis
])
lcd_printPGM
(
PSTR
(
"?"
));
else
{
if
(
!
axis_known_position
[
axis
])
lcd_printPGM
(
PSTR
(
" "
));
else
lcd_printPGM
(
pstr
);
}
}
}
static
void
lcd_implementation_status_screen
()
{
static
void
lcd_implementation_status_screen
()
{
u8g
.
setColorIndex
(
1
);
// black on white
u8g
.
setColorIndex
(
1
);
// black on white
...
@@ -458,34 +473,20 @@ static void lcd_implementation_status_screen() {
...
@@ -458,34 +473,20 @@ static void lcd_implementation_status_screen() {
u8g
.
setColorIndex
(
0
);
// white on black
u8g
.
setColorIndex
(
0
);
// white on black
u8g
.
setPrintPos
(
2
,
XYZ_BASELINE
);
u8g
.
setPrintPos
(
2
,
XYZ_BASELINE
);
lcd_print
(
TEST
(
axis_known_position
,
X_AXIS
)
||
!
TEST
(
axis_was_homed
,
X_AXIS
)
?
'X'
:
'?'
);
_draw_axis_label
(
X_AXIS
,
PSTR
(
MSG_X
),
blink
);
u8g
.
drawPixel
(
8
,
XYZ_BASELINE
-
5
);
u8g
.
drawPixel
(
8
,
XYZ_BASELINE
-
3
);
u8g
.
setPrintPos
(
10
,
XYZ_BASELINE
);
u8g
.
setPrintPos
(
10
,
XYZ_BASELINE
);
if
(
TEST
(
axis_was_homed
,
X_AXIS
))
lcd_print
(
ftostr4sign
(
current_position
[
X_AXIS
]));
lcd_print
(
ftostr31ns
(
current_position
[
X_AXIS
]));
else
lcd_printPGM
(
PSTR
(
"---"
));
u8g
.
setPrintPos
(
43
,
XYZ_BASELINE
);
u8g
.
setPrintPos
(
43
,
XYZ_BASELINE
);
lcd_print
(
TEST
(
axis_known_position
,
Y_AXIS
)
||
!
TEST
(
axis_was_homed
,
Y_AXIS
)
?
'Y'
:
'?'
);
_draw_axis_label
(
Y_AXIS
,
PSTR
(
MSG_Y
),
blink
);
u8g
.
drawPixel
(
49
,
XYZ_BASELINE
-
5
);
u8g
.
drawPixel
(
49
,
XYZ_BASELINE
-
3
);
u8g
.
setPrintPos
(
51
,
XYZ_BASELINE
);
u8g
.
setPrintPos
(
51
,
XYZ_BASELINE
);
if
(
TEST
(
axis_was_homed
,
Y_AXIS
))
lcd_print
(
ftostr4sign
(
current_position
[
Y_AXIS
]));
lcd_print
(
ftostr31ns
(
current_position
[
Y_AXIS
]));
else
lcd_printPGM
(
PSTR
(
"---"
));
u8g
.
setPrintPos
(
83
,
XYZ_BASELINE
);
u8g
.
setPrintPos
(
83
,
XYZ_BASELINE
);
lcd_print
(
TEST
(
axis_known_position
,
Z_AXIS
)
||
!
TEST
(
axis_was_homed
,
Z_AXIS
)
?
'Z'
:
'?'
);
_draw_axis_label
(
Z_AXIS
,
PSTR
(
MSG_Z
),
blink
);
u8g
.
drawPixel
(
89
,
XYZ_BASELINE
-
5
);
u8g
.
drawPixel
(
89
,
XYZ_BASELINE
-
3
);
u8g
.
setPrintPos
(
91
,
XYZ_BASELINE
);
u8g
.
setPrintPos
(
91
,
XYZ_BASELINE
);
if
(
TEST
(
axis_was_homed
,
Z_AXIS
))
lcd_print
(
ftostr32sp
(
current_position
[
Z_AXIS
]
+
0
.
00001
));
lcd_print
(
ftostr32sp
(
current_position
[
Z_AXIS
]));
else
lcd_printPGM
(
PSTR
(
"---.--"
));
u8g
.
setColorIndex
(
1
);
// black on white
u8g
.
setColorIndex
(
1
);
// black on white
// Feedrate
// Feedrate
...
...
MK/module/lcd/ultralcd.cpp
View file @
8e9f3658
...
@@ -2034,6 +2034,17 @@ int lcd_strlen_P(const char* s) {
...
@@ -2034,6 +2034,17 @@ int lcd_strlen_P(const char* s) {
return
j
;
return
j
;
}
}
bool
lcd_blink
()
{
static
uint8_t
blink
=
0
;
static
millis_t
next_blink_ms
=
0
;
millis_t
ms
=
millis
();
if
(
ELAPSED
(
ms
,
next_blink_ms
))
{
blink
^=
0xFF
;
next_blink_ms
=
ms
+
1000
-
LCD_UPDATE_INTERVAL
/
2
;
}
return
blink
!=
0
;
}
/**
/**
* Update the LCD, read encoder buttons, etc.
* Update the LCD, read encoder buttons, etc.
* - Read button states
* - Read button states
...
@@ -2096,7 +2107,7 @@ void lcd_update() {
...
@@ -2096,7 +2107,7 @@ void lcd_update() {
#if ENABLED(REPRAPWORLD_KEYPAD)
#if ENABLED(REPRAPWORLD_KEYPAD)
#if
ENABLED(DELTA) || ENABLED
(SCARA)
#if
MECH(DELTA) || MECH
(SCARA)
#define _KEYPAD_MOVE_ALLOWED (axis_homed[X_AXIS] && axis_homed[Y_AXIS] && axis_homed[Z_AXIS])
#define _KEYPAD_MOVE_ALLOWED (axis_homed[X_AXIS] && axis_homed[Y_AXIS] && axis_homed[Z_AXIS])
#else
#else
#define _KEYPAD_MOVE_ALLOWED true
#define _KEYPAD_MOVE_ALLOWED true
...
...
MK/module/lcd/ultralcd_implementation_hitachi_HD44780.h
View file @
8e9f3658
...
@@ -575,6 +575,21 @@ unsigned lcd_print(char c) { return charset_mapper(c); }
...
@@ -575,6 +575,21 @@ unsigned lcd_print(char c) { return charset_mapper(c); }
}
}
#endif // SHOW_BOOTSCREEN
#endif // SHOW_BOOTSCREEN
FORCE_INLINE
void
_draw_axis_label
(
AxisEnum
axis
,
const
char
*
pstr
,
bool
blink
)
{
if
(
blink
)
lcd_printPGM
(
pstr
);
else
{
if
(
!
axis_homed
[
axis
])
lcd_printPGM
(
PSTR
(
"?"
));
else
{
if
(
!
axis_known_position
[
axis
])
lcd_printPGM
(
PSTR
(
" "
));
else
lcd_printPGM
(
pstr
);
}
}
}
/*
/*
Possible status screens:
Possible status screens:
16x2 |000/000 B000/000|
16x2 |000/000 B000/000|
...
@@ -668,6 +683,8 @@ static void lcd_implementation_status_screen() {
...
@@ -668,6 +683,8 @@ static void lcd_implementation_status_screen() {
#if LCD_HEIGHT > 2
#if LCD_HEIGHT > 2
bool
blink
=
lcd_blink
();
#if LCD_WIDTH < 20
#if LCD_WIDTH < 20
#if ENABLED(SDSUPPORT)
#if ENABLED(SDSUPPORT)
...
@@ -684,12 +701,6 @@ static void lcd_implementation_status_screen() {
...
@@ -684,12 +701,6 @@ static void lcd_implementation_status_screen() {
lcd
.
setCursor
(
0
,
1
);
lcd
.
setCursor
(
0
,
1
);
//
// Print XYZ Coordinates
// If the axis was not homed, show "---"
// If the position is untrusted, show "?"
//
#if HOTENDS > 1 && TEMP_SENSOR_BED != 0
#if HOTENDS > 1 && TEMP_SENSOR_BED != 0
// If we both have a 2nd hotend and a heated bed,
// If we both have a 2nd hotend and a heated bed,
...
@@ -698,29 +709,25 @@ static void lcd_implementation_status_screen() {
...
@@ -698,29 +709,25 @@ static void lcd_implementation_status_screen() {
LCD_TEMP
(
degBed
(),
degTargetBed
(),
LCD_STR_BEDTEMP
[
0
]);
LCD_TEMP
(
degBed
(),
degTargetBed
(),
LCD_STR_BEDTEMP
[
0
]);
#else
#else
// Before homing the axis letters are blinking 'X' <-> '?'.
// When axis is homed but axis_known_position is false the axis letters are blinking 'X' <-> ' '.
// When everything is ok you see a constant 'X'.
lcd
.
print
(
TEST
(
axis_known_position
,
X_AXIS
)
||
!
TEST
(
axis_was_homed
,
X_AXIS
)
?
'X'
:
'?'
);
_draw_axis_label
(
X_AXIS
,
PSTR
(
MSG_X
),
blink
);
if
(
TEST
(
axis_was_homed
,
X_AXIS
))
lcd
.
print
(
ftostr4sign
(
current_position
[
X_AXIS
]));
lcd
.
print
(
ftostr4sign
(
current_position
[
X_AXIS
]));
else
lcd_printPGM
(
PSTR
(
" ---"
));
lcd_printPGM
(
TEST
(
axis_known_position
,
Y_AXIS
)
||
!
TEST
(
axis_was_homed
,
Y_AXIS
)
?
PSTR
(
" Y"
)
:
PSTR
(
" ?"
));
lcd_printPGM
(
PSTR
(
" "
));
if
(
TEST
(
axis_was_homed
,
Y_AXIS
))
lcd
.
print
(
ftostr4sign
(
current_position
[
Y_AXIS
]));
_draw_axis_label
(
Y_AXIS
,
PSTR
(
MSG_Y
),
blink
);
else
lcd
.
print
(
ftostr4sign
(
current_position
[
Y_AXIS
]));
lcd_printPGM
(
PSTR
(
" ---"
));
#endif // HOTENDS > 1 || TEMP_SENSOR_BED != 0
#endif // HOTENDS > 1 || TEMP_SENSOR_BED != 0
#endif // LCD_WIDTH >= 20
#endif // LCD_WIDTH >= 20
lcd
.
setCursor
(
LCD_WIDTH
-
8
,
1
);
lcd
.
setCursor
(
LCD_WIDTH
-
8
,
1
);
lcd_printPGM
(
TEST
(
axis_known_position
,
Z_AXIS
)
||
!
TEST
(
axis_was_homed
,
Z_AXIS
)
?
PSTR
(
"Z "
)
:
PSTR
(
"? "
));
_draw_axis_label
(
Z_AXIS
,
PSTR
(
MSG_Z
),
blink
);
if
(
TEST
(
axis_was_homed
,
Z_AXIS
))
lcd
.
print
(
ftostr32sp
(
current_position
[
Z_AXIS
]
+
0
.
00001
));
lcd
.
print
(
ftostr32sp
(
current_position
[
Z_AXIS
]
+
0
.
00001
));
else
lcd_printPGM
(
PSTR
(
"---.--"
));
#endif // LCD_HEIGHT > 2
#endif // LCD_HEIGHT > 2
...
@@ -807,12 +814,12 @@ static void lcd_implementation_status_screen() {
...
@@ -807,12 +814,12 @@ static void lcd_implementation_status_screen() {
//Display both Status message line and Filament display on the last line
//Display both Status message line and Filament display on the last line
#if HAS(LCD_FILAMENT_SENSOR) || HAS(LCD_POWER_SENSOR)
#if HAS(LCD_FILAMENT_SENSOR) || HAS(LCD_POWER_SENSOR)
if
(
millis
()
>=
previous_lcd_status_ms
+
5000
)
{
if
(
millis
()
>=
previous_lcd_status_ms
+
5000
UL
)
{
lcd_print
(
lcd_status_message
);
lcd_print
(
lcd_status_message
);
}
}
#if HAS(LCD_POWER_SENSOR)
#if HAS(LCD_POWER_SENSOR)
#if HAS(LCD_FILAMENT_SENSOR)
#if HAS(LCD_FILAMENT_SENSOR)
else
if
(
millis
()
<
message_millis
+
10000
)
else
if
(
millis
()
<
message_millis
+
10000
UL
)
#else
#else
else
else
#endif
#endif
...
@@ -829,7 +836,7 @@ static void lcd_implementation_status_screen() {
...
@@ -829,7 +836,7 @@ static void lcd_implementation_status_screen() {
lcd_printPGM
(
PSTR
(
"Dia "
));
lcd_printPGM
(
PSTR
(
"Dia "
));
lcd
.
print
(
ftostr12ns
(
filament_width_meas
));
lcd
.
print
(
ftostr12ns
(
filament_width_meas
));
lcd_printPGM
(
PSTR
(
" V"
));
lcd_printPGM
(
PSTR
(
" V"
));
lcd
.
print
(
itostr3
(
100
.
0
*
volumetric_multiplier
[
FILAMENT_SENSOR_EXTRUDER_NUM
]));
lcd
.
print
(
itostr3
(
100
.
0
*
volumetric_multiplier
[
FILAMENT_SENSOR_EXTRUDER_NUM
]));
lcd
.
print
(
'%'
);
lcd
.
print
(
'%'
);
return
;
return
;
}
}
...
@@ -900,17 +907,20 @@ static void lcd_implementation_drawmenu_setting_edit_generic_P(bool sel, uint8_t
...
@@ -900,17 +907,20 @@ static void lcd_implementation_drawmenu_setting_edit_generic_P(bool sel, uint8_t
#define lcd_implementation_drawmenu_setting_edit_callback_long5(sel, row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, '>', ftostr5(*(data)))
#define lcd_implementation_drawmenu_setting_edit_callback_long5(sel, row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, '>', ftostr5(*(data)))
#define lcd_implementation_drawmenu_setting_edit_callback_bool(sel, row, pstr, pstr2, data, callback) lcd_implementation_drawmenu_setting_edit_generic_P(sel, row, pstr, '>', (*(data))?PSTR(MSG_ON):PSTR(MSG_OFF))
#define lcd_implementation_drawmenu_setting_edit_callback_bool(sel, row, pstr, pstr2, data, callback) lcd_implementation_drawmenu_setting_edit_generic_P(sel, row, pstr, '>', (*(data))?PSTR(MSG_ON):PSTR(MSG_OFF))
void
lcd_implementation_drawedit
(
const
char
*
pstr
,
c
har
*
value
)
{
void
lcd_implementation_drawedit
(
const
char
*
pstr
,
c
onst
char
*
value
=
NULL
)
{
lcd
.
setCursor
(
1
,
1
);
lcd
.
setCursor
(
1
,
1
);
lcd_printPGM
(
pstr
);
lcd_printPGM
(
pstr
);
lcd
.
print
(
':'
);
if
(
value
!=
NULL
)
{
lcd
.
setCursor
(
LCD_WIDTH
-
lcd_strlen
(
value
),
1
);
lcd
.
print
(
':'
);
lcd_print
(
value
);
lcd
.
setCursor
(
LCD_WIDTH
-
lcd_strlen
(
value
),
1
);
lcd_print
(
value
);
}
}
}
#if ENABLED(SDSUPPORT)
#if ENABLED(SDSUPPORT)
static
void
lcd_implementation_drawmenu_sd
(
bool
sel
,
uint8_t
row
,
const
char
*
pstr
,
const
char
*
longFilename
,
uint8_t
concat
,
char
post_char
)
{
static
void
lcd_implementation_drawmenu_sd
(
bool
sel
,
uint8_t
row
,
const
char
*
pstr
,
const
char
*
longFilename
,
uint8_t
concat
,
char
post_char
)
{
UNUSED
(
pstr
);
char
c
;
char
c
;
uint8_t
n
=
LCD_WIDTH
-
concat
;
uint8_t
n
=
LCD_WIDTH
-
concat
;
lcd
.
setCursor
(
0
,
row
);
lcd
.
setCursor
(
0
,
row
);
...
...
MK/module/macros.h
View file @
8e9f3658
...
@@ -48,14 +48,9 @@
...
@@ -48,14 +48,9 @@
#define ENABLED defined
#define ENABLED defined
#define DISABLED !defined
#define DISABLED !defined
#define PIN_EXISTS(PN) (defined(PN##_PIN) && PN##_PIN >= 0)
#define HAS(FE) (HAS_##FE)
#define HAS(FE) (HAS_##FE)
#define HASNT(FE) (!(HAS_##FE))
#define HASNT(FE) (!(HAS_##FE))
#define PENDING(NOW,SOON) ((long)(NOW-(SOON))<0)
#define ELAPSED(NOW,SOON) (!PENDING(NOW,SOON))
// Macros to contrain values
// Macros to contrain values
#define NUMERIC(a) ((a) >= '0' && '9' >= (a))
#define NUMERIC(a) ((a) >= '0' && '9' >= (a))
#define NUMERIC_SIGNED(a) (NUMERIC(a) || (a) == '-')
#define NUMERIC_SIGNED(a) (NUMERIC(a) || (a) == '-')
...
@@ -73,4 +68,12 @@
...
@@ -73,4 +68,12 @@
#define STRINGIFY_(n) #n
#define STRINGIFY_(n) #n
#define STRINGIFY(n) STRINGIFY_(n)
#define STRINGIFY(n) STRINGIFY_(n)
// Macro for varie
#define PIN_EXISTS(PN) (defined(PN##_PIN) && PN##_PIN >= 0)
#define PENDING(NOW,SOON) ((long)(NOW-(SOON))<0)
#define ELAPSED(NOW,SOON) (!PENDING(NOW,SOON))
#define NOOP do{}while(0)
#endif //__MACROS_H
#endif //__MACROS_H
MK/module/motion/planner.cpp
View file @
8e9f3658
...
@@ -532,12 +532,13 @@ float junction_deviation = 0.1;
...
@@ -532,12 +532,13 @@ float junction_deviation = 0.1;
// The target position of the tool in absolute steps
// The target position of the tool in absolute steps
// Calculate target position in absolute steps
// Calculate target position in absolute steps
//this should be done after the wait, because otherwise a M92 code within the gcode disrupts this calculation somehow
// this should be done after the wait, because otherwise a M92 code within the gcode disrupts this calculation somehow
int32_t
target
[
NUM_AXIS
];
int32_t
target
[
NUM_AXIS
]
=
{
target
[
X_AXIS
]
=
lround
(
x
*
axis_steps_per_unit
[
X_AXIS
]);
lround
(
x
*
axis_steps_per_unit
[
X_AXIS
]),
target
[
Y_AXIS
]
=
lround
(
y
*
axis_steps_per_unit
[
Y_AXIS
]);
lround
(
y
*
axis_steps_per_unit
[
Y_AXIS
]),
target
[
Z_AXIS
]
=
lround
(
z
*
axis_steps_per_unit
[
Z_AXIS
]);
lround
(
z
*
axis_steps_per_unit
[
Z_AXIS
]),
target
[
E_AXIS
]
=
lround
(
e
*
axis_steps_per_unit
[
E_AXIS
+
extruder
]);
lround
(
e
*
axis_steps_per_unit
[
E_AXIS
+
extruder
])
};
// If changing extruder have to recalculate current position based on
// If changing extruder have to recalculate current position based on
// the steps-per-mm value for the new extruder.
// the steps-per-mm value for the new extruder.
...
...
MK/module/motion/stepper.cpp
View file @
8e9f3658
...
@@ -305,7 +305,7 @@ void checkHitEndstops() {
...
@@ -305,7 +305,7 @@ void checkHitEndstops() {
card
.
sdprinting
=
false
;
card
.
sdprinting
=
false
;
card
.
closeFile
();
card
.
closeFile
();
#endif
#endif
for
(
int
i
=
0
;
i
<
3
;
i
++
)
CBI
(
axis_known_position
,
i
)
;
// not homed anymore
for
(
int
i
=
0
;
i
<
3
;
i
++
)
axis_known_position
[
i
]
=
true
;
// not homed anymore
quickStop
();
// kill the planner buffer
quickStop
();
// kill the planner buffer
Stop
();
// restart by M999
Stop
();
// restart by M999
}
}
...
@@ -656,12 +656,11 @@ ISR(TIMER1_COMPA_vect) {
...
@@ -656,12 +656,11 @@ ISR(TIMER1_COMPA_vect) {
trapezoid_generator_reset
();
trapezoid_generator_reset
();
// Initialize Bresenham counters to 1/2 the ceiling
// Initialize Bresenham counters to 1/2 the ceiling
long
new_count
=
-
(
current_block
->
step_event_count
>>
1
);
counter_X
=
counter_Y
=
counter_Z
=
counter_E
=
-
(
current_block
->
step_event_count
>>
1
);
counter_X
=
counter_Y
=
counter_Z
=
counter_E
=
new_count
;
#if ENABLED(COLOR_MIXING_EXTRUDER)
#if ENABLED(COLOR_MIXING_EXTRUDER)
for
(
uint8_t
i
=
0
;
i
<
DRIVER_EXTRUDERS
;
i
++
)
for
(
uint8_t
i
=
0
;
i
<
DRIVER_EXTRUDERS
;
i
++
)
counter_m
[
i
]
=
new_count
;
counter_m
[
i
]
=
-
(
current_block
->
step_event_count
>>
1
)
;
#endif
#endif
step_events_completed
=
0
;
step_events_completed
=
0
;
...
...
MK/module/motion/stepper_indirection.h
View file @
8e9f3658
...
@@ -188,7 +188,7 @@
...
@@ -188,7 +188,7 @@
#define E5_ENABLE_READ READ(E5_ENABLE_PIN)
#define E5_ENABLE_READ READ(E5_ENABLE_PIN)
#if ENABLED(COLOR_MIXING_EXTRUDER)
#if ENABLED(COLOR_MIXING_EXTRUDER)
#define E_STEP_WRITE(v)
;
/* not used for mixing extruders! */
#define E_STEP_WRITE(v)
NOOP
/* not used for mixing extruders! */
#if DRIVER_EXTRUDERS > 5
#if DRIVER_EXTRUDERS > 5
#define En_STEP_WRITE(n,v) { switch (n) { case 0: E0_STEP_WRITE(v); break; case 1: E1_STEP_WRITE(v); break; case 2: E2_STEP_WRITE(v); break; case 3: E3_STEP_WRITE(v); break; case 4: E4_STEP_WRITE(v); break; case 5: E5_STEP_WRITE(v); } }
#define En_STEP_WRITE(n,v) { switch (n) { case 0: E0_STEP_WRITE(v); break; case 1: E1_STEP_WRITE(v); break; case 2: E2_STEP_WRITE(v); break; case 3: E3_STEP_WRITE(v); break; case 4: E4_STEP_WRITE(v); break; case 5: E5_STEP_WRITE(v); } }
#define NORM_E_DIR() { E0_DIR_WRITE(!INVERT_E0_DIR); E1_DIR_WRITE(!INVERT_E1_DIR); E2_DIR_WRITE(!INVERT_E2_DIR); E3_DIR_WRITE(!INVERT_E3_DIR); E4_DIR_WRITE(!INVERT_E4_DIR); E5_DIR_WRITE(!INVERT_E5_DIR); }
#define NORM_E_DIR() { E0_DIR_WRITE(!INVERT_E0_DIR); E1_DIR_WRITE(!INVERT_E1_DIR); E2_DIR_WRITE(!INVERT_E2_DIR); E3_DIR_WRITE(!INVERT_E3_DIR); E4_DIR_WRITE(!INVERT_E4_DIR); E5_DIR_WRITE(!INVERT_E5_DIR); }
...
@@ -254,7 +254,7 @@
...
@@ -254,7 +254,7 @@
#define disable_x() do { X_ENABLE_WRITE(!X_ENABLE_ON); X2_ENABLE_WRITE(!X_ENABLE_ON); CBI(axis_known_position, X_AXIS); } while (0)
#define disable_x() do { X_ENABLE_WRITE(!X_ENABLE_ON); X2_ENABLE_WRITE(!X_ENABLE_ON); CBI(axis_known_position, X_AXIS); } while (0)
#elif HAS(X_ENABLE)
#elif HAS(X_ENABLE)
#define enable_x() X_ENABLE_WRITE( X_ENABLE_ON)
#define enable_x() X_ENABLE_WRITE( X_ENABLE_ON)
#define disable_x() { X_ENABLE_WRITE(!X_ENABLE_ON);
CBI(axis_known_position, X_AXIS)
; }
#define disable_x() { X_ENABLE_WRITE(!X_ENABLE_ON);
axis_known_position[X_AXIS] = false
; }
#else
#else
#define enable_x() ;
#define enable_x() ;
#define disable_x() ;
#define disable_x() ;
...
@@ -266,7 +266,7 @@
...
@@ -266,7 +266,7 @@
#define disable_y() { Y_ENABLE_WRITE(!Y_ENABLE_ON); Y2_ENABLE_WRITE(!Y_ENABLE_ON); CBI(axis_known_position, Y_AXIS); }
#define disable_y() { Y_ENABLE_WRITE(!Y_ENABLE_ON); Y2_ENABLE_WRITE(!Y_ENABLE_ON); CBI(axis_known_position, Y_AXIS); }
#else
#else
#define enable_y() Y_ENABLE_WRITE( Y_ENABLE_ON)
#define enable_y() Y_ENABLE_WRITE( Y_ENABLE_ON)
#define disable_y() { Y_ENABLE_WRITE(!Y_ENABLE_ON);
CBI(axis_known_position, Y_AXIS)
; }
#define disable_y() { Y_ENABLE_WRITE(!Y_ENABLE_ON);
axis_known_position[Y_AXIS] = false
; }
#endif
#endif
#else
#else
#define enable_y() ;
#define enable_y() ;
...
@@ -276,10 +276,10 @@
...
@@ -276,10 +276,10 @@
#if HAS(Z_ENABLE)
#if HAS(Z_ENABLE)
#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
#define enable_z() { Z_ENABLE_WRITE( Z_ENABLE_ON); Z2_ENABLE_WRITE(Z_ENABLE_ON); }
#define enable_z() { Z_ENABLE_WRITE( Z_ENABLE_ON); Z2_ENABLE_WRITE(Z_ENABLE_ON); }
#define disable_z() { Z_ENABLE_WRITE(!Z_ENABLE_ON); Z2_ENABLE_WRITE(!Z_ENABLE_ON);
CBI(axis_known_position, Z_AXIS)
; }
#define disable_z() { Z_ENABLE_WRITE(!Z_ENABLE_ON); Z2_ENABLE_WRITE(!Z_ENABLE_ON);
axis_known_position[Z_AXIS] = false
; }
#else
#else
#define enable_z() Z_ENABLE_WRITE( Z_ENABLE_ON)
#define enable_z() Z_ENABLE_WRITE( Z_ENABLE_ON)
#define disable_z() { Z_ENABLE_WRITE(!Z_ENABLE_ON);
CBI(axis_known_position, Z_AXIS)
; }
#define disable_z() { Z_ENABLE_WRITE(!Z_ENABLE_ON);
axis_known_position[Z_AXIS] = false
; }
#endif
#endif
#else
#else
#define enable_z() ;
#define enable_z() ;
...
@@ -305,16 +305,16 @@
...
@@ -305,16 +305,16 @@
#define disable_e0() { E0_ENABLE_WRITE(!E_ENABLE_ON); E1_ENABLE_WRITE(!E_ENABLE_ON); }
#define disable_e0() { E0_ENABLE_WRITE(!E_ENABLE_ON); E1_ENABLE_WRITE(!E_ENABLE_ON); }
#endif
#endif
#define enable_e1()
;
#define enable_e1()
NOOP
#define disable_e1()
;
#define disable_e1()
NOOP
#define enable_e2()
;
#define enable_e2()
NOOP
#define disable_e2()
;
#define disable_e2()
NOOP
#define enable_e3()
;
#define enable_e3()
NOOP
#define disable_e3()
;
#define disable_e3()
NOOP
#define enable_e4()
;
#define enable_e4()
NOOP
#define disable_e4()
;
#define disable_e4()
NOOP
#define enable_e5()
;
#define enable_e5()
NOOP
#define disable_e5()
;
#define disable_e5()
NOOP
#else // !COLOR_MIXING_EXTRUDER
#else // !COLOR_MIXING_EXTRUDER
...
@@ -322,48 +322,48 @@
...
@@ -322,48 +322,48 @@
#define enable_e0() E0_ENABLE_WRITE( E_ENABLE_ON)
#define enable_e0() E0_ENABLE_WRITE( E_ENABLE_ON)
#define disable_e0() E0_ENABLE_WRITE(!E_ENABLE_ON)
#define disable_e0() E0_ENABLE_WRITE(!E_ENABLE_ON)
#else
#else
#define enable_e0()
/* nothing */
#define enable_e0()
NOOP
#define disable_e0()
/* nothing */
#define disable_e0()
NOOP
#endif
#endif
#if (DRIVER_EXTRUDERS > 1) && HAS(E1_ENABLE)
#if (DRIVER_EXTRUDERS > 1) && HAS(E1_ENABLE)
#define enable_e1() E1_ENABLE_WRITE( E_ENABLE_ON)
#define enable_e1() E1_ENABLE_WRITE( E_ENABLE_ON)
#define disable_e1() E1_ENABLE_WRITE(!E_ENABLE_ON)
#define disable_e1() E1_ENABLE_WRITE(!E_ENABLE_ON)
#else
#else
#define enable_e1()
/* nothing */
#define enable_e1()
NOOP
#define disable_e1()
/* nothing */
#define disable_e1()
NOOP
#endif
#endif
#if (DRIVER_EXTRUDERS > 2) && HAS(E2_ENABLE)
#if (DRIVER_EXTRUDERS > 2) && HAS(E2_ENABLE)
#define enable_e2() E2_ENABLE_WRITE( E_ENABLE_ON)
#define enable_e2() E2_ENABLE_WRITE( E_ENABLE_ON)
#define disable_e2() E2_ENABLE_WRITE(!E_ENABLE_ON)
#define disable_e2() E2_ENABLE_WRITE(!E_ENABLE_ON)
#else
#else
#define enable_e2()
/* nothing */
#define enable_e2()
NOOP
#define disable_e2()
/* nothing */
#define disable_e2()
NOOP
#endif
#endif
#if (DRIVER_EXTRUDERS > 3) && HAS(E3_ENABLE)
#if (DRIVER_EXTRUDERS > 3) && HAS(E3_ENABLE)
#define enable_e3() E3_ENABLE_WRITE( E_ENABLE_ON)
#define enable_e3() E3_ENABLE_WRITE( E_ENABLE_ON)
#define disable_e3() E3_ENABLE_WRITE(!E_ENABLE_ON)
#define disable_e3() E3_ENABLE_WRITE(!E_ENABLE_ON)
#else
#else
#define enable_e3()
/* nothing */
#define enable_e3()
NOOP
#define disable_e3()
/* nothing */
#define disable_e3()
NOOP
#endif
#endif
#if (DRIVER_EXTRUDERS > 4) && HAS(E4_ENABLE)
#if (DRIVER_EXTRUDERS > 4) && HAS(E4_ENABLE)
#define enable_e4() E4_ENABLE_WRITE( E_ENABLE_ON)
#define enable_e4() E4_ENABLE_WRITE( E_ENABLE_ON)
#define disable_e4() E4_ENABLE_WRITE(!E_ENABLE_ON)
#define disable_e4() E4_ENABLE_WRITE(!E_ENABLE_ON)
#else
#else
#define enable_e4()
/* nothing */
#define enable_e4()
NOOP
#define disable_e4()
/* nothing */
#define disable_e4()
NOOP
#endif
#endif
#if (DRIVER_EXTRUDERS > 5) && HAS(E5_ENABLE)
#if (DRIVER_EXTRUDERS > 5) && HAS(E5_ENABLE)
#define enable_e5() E5_ENABLE_WRITE( E_ENABLE_ON)
#define enable_e5() E5_ENABLE_WRITE( E_ENABLE_ON)
#define disable_e5() E5_ENABLE_WRITE(!E_ENABLE_ON)
#define disable_e5() E5_ENABLE_WRITE(!E_ENABLE_ON)
#else
#else
#define enable_e5()
/* nothing */
#define enable_e5()
NOOP
#define disable_e5()
/* nothing */
#define disable_e5()
NOOP
#endif
#endif
#endif
#endif
...
...
MK/module/nextion/Nextion_lcd.cpp
View file @
8e9f3658
...
@@ -612,30 +612,24 @@
...
@@ -612,30 +612,24 @@
char
*
valuetemp
;
char
*
valuetemp
;
memset
(
buffer
,
0
,
sizeof
(
buffer
));
memset
(
buffer
,
0
,
sizeof
(
buffer
));
strcat
(
buffer
,
TEST
(
axis_known_position
,
X_AXIS
)
||
!
TEST
(
axis_was_homed
,
X_AXIS
)
?
"X"
:
"?"
);
strcat
(
buffer
,
(
axis_known_position
[
X_AXIS
]
?
"X"
:
"?"
)
);
if
(
TEST
(
axis_was_homed
,
X_AXIS
)
)
{
if
(
axis_homed
[
X_AXIS
]
)
{
valuetemp
=
ftostr4sign
(
current_position
[
X_AXIS
]);
valuetemp
=
ftostr4sign
(
current_position
[
X_AXIS
]);
strcat
(
buffer
,
valuetemp
);
strcat
(
buffer
,
valuetemp
);
}
}
else
strcat
(
buffer
,
"---"
);
strcat
(
buffer
,
TEST
(
axis_known_position
,
Y_AXIS
)
||
!
TEST
(
axis_was_homed
,
Y_AXIS
)
?
PSTR
(
" Y"
)
:
PSTR
(
" ?"
));
strcat
(
buffer
,
(
axis_known_position
[
Y_AXIS
]
?
" Y"
:
" ?"
));
if
(
TEST
(
axis_was_homed
,
Y_AXIS
)
)
{
if
(
axis_homed
[
Y_AXIS
]
)
{
valuetemp
=
ftostr4sign
(
current_position
[
Y_AXIS
]);
valuetemp
=
ftostr4sign
(
current_position
[
Y_AXIS
]);
strcat
(
buffer
,
valuetemp
);
strcat
(
buffer
,
valuetemp
);
}
}
else
strcat
(
buffer
,
"---"
);
strcat
(
buffer
,
TEST
(
axis_known_position
,
Z_AXIS
)
||
!
TEST
(
axis_was_homed
,
Z_AXIS
)
?
PSTR
(
" Z "
)
:
PSTR
(
"
? "
));
strcat
(
buffer
,
(
axis_known_position
[
Z_AXIS
]
?
" Z "
:
"
? "
));
if
(
TEST
(
axis_was_homed
,
Z_AXIS
)
)
{
if
(
axis_homed
[
Z_AXIS
]
)
{
valuetemp
=
ftostr32sp
(
current_position
[
Z_AXIS
]
+
0.00001
);
valuetemp
=
ftostr32sp
(
current_position
[
Z_AXIS
]
+
0.00001
);
strcat
(
buffer
,
valuetemp
);
strcat
(
buffer
,
valuetemp
);
}
}
else
strcat
(
buffer
,
"---"
);
LedCoord1
.
setText
(
buffer
);
LedCoord1
.
setText
(
buffer
);
LedCoord6
.
setText
(
buffer
);
LedCoord6
.
setText
(
buffer
);
}
}
...
...
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