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
6c633f0e
Commit
6c633f0e
authored
May 02, 2016
by
MagoKimbra
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'refs/remotes/origin/master' into dev
parents
249efc81
8e9f3658
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 @
6c633f0e
This diff is collapsed.
Click to expand it.
MK/module/MK_Main.h
View file @
6c633f0e
...
@@ -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 @
6c633f0e
...
@@ -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 @
6c633f0e
...
@@ -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 @
6c633f0e
...
@@ -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 @
6c633f0e
...
@@ -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 @
6c633f0e
...
@@ -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 @
6c633f0e
...
@@ -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 @
6c633f0e
...
@@ -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 @
6c633f0e
...
@@ -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 @
6c633f0e
...
@@ -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