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
744b1137
Commit
744b1137
authored
Apr 26, 2016
by
MagoKimbra
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix Serial Protocol
parent
93bf0686
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
86 additions
and
59 deletions
+86
-59
MK_Main.cpp
MK/module/MK_Main.cpp
+7
-7
dogm_lcd_implementation.h
MK/module/lcd/dogm_lcd_implementation.h
+74
-46
ultralcd.cpp
MK/module/lcd/ultralcd.cpp
+1
-1
ultralcd_implementation_hitachi_HD44780.h
MK/module/lcd/ultralcd_implementation_hitachi_HD44780.h
+2
-3
Nextion_lcd.cpp
MK/module/nextion/Nextion_lcd.cpp
+2
-2
No files found.
MK/module/MK_Main.cpp
View file @
744b1137
...
@@ -3385,7 +3385,7 @@ inline void gcode_G28() {
...
@@ -3385,7 +3385,7 @@ inline void gcode_G28() {
#if ENABLED(ULTIPANEL)
#if ENABLED(ULTIPANEL)
ECHO_LM
(
DB
,
"--LEVEL PLATE SCRIPT--"
);
ECHO_LM
(
DB
,
"--LEVEL PLATE SCRIPT--"
);
while
(
!
lcd_clicked
())
{
while
(
!
lcd_clicked
())
{
idle
(
true
);
idle
();
}
}
saved_feedrate
=
feedrate
;
saved_feedrate
=
feedrate
;
saved_feedrate_multiplier
=
feedrate_multiplier
;
saved_feedrate_multiplier
=
feedrate_multiplier
;
...
@@ -3425,7 +3425,7 @@ inline void gcode_G28() {
...
@@ -3425,7 +3425,7 @@ inline void gcode_G28() {
do_blocking_move_to
(
LEFT_PROBE_BED_POSITION
,
FRONT_PROBE_BED_POSITION
,
current_position
[
Z_AXIS
]);
do_blocking_move_to
(
LEFT_PROBE_BED_POSITION
,
FRONT_PROBE_BED_POSITION
,
current_position
[
Z_AXIS
]);
do_blocking_move_to
(
current_position
[
X_AXIS
],
current_position
[
Y_AXIS
],
Z_MIN_POS
);
do_blocking_move_to
(
current_position
[
X_AXIS
],
current_position
[
Y_AXIS
],
Z_MIN_POS
);
while
(
!
lcd_clicked
())
{
while
(
!
lcd_clicked
())
{
idle
(
true
);
idle
();
}
}
// PROBE SECOND POINT
// PROBE SECOND POINT
...
@@ -3434,7 +3434,7 @@ inline void gcode_G28() {
...
@@ -3434,7 +3434,7 @@ inline void gcode_G28() {
do_blocking_move_to
(
RIGHT_PROBE_BED_POSITION
,
FRONT_PROBE_BED_POSITION
,
current_position
[
Z_AXIS
]);
do_blocking_move_to
(
RIGHT_PROBE_BED_POSITION
,
FRONT_PROBE_BED_POSITION
,
current_position
[
Z_AXIS
]);
do_blocking_move_to
(
current_position
[
X_AXIS
],
current_position
[
Y_AXIS
],
Z_MIN_POS
);
do_blocking_move_to
(
current_position
[
X_AXIS
],
current_position
[
Y_AXIS
],
Z_MIN_POS
);
while
(
!
lcd_clicked
())
{
while
(
!
lcd_clicked
())
{
idle
(
true
);
idle
();
}
}
// PROBE THIRD POINT
// PROBE THIRD POINT
...
@@ -3443,7 +3443,7 @@ inline void gcode_G28() {
...
@@ -3443,7 +3443,7 @@ inline void gcode_G28() {
do_blocking_move_to
(
RIGHT_PROBE_BED_POSITION
,
BACK_PROBE_BED_POSITION
,
current_position
[
Z_AXIS
]);
do_blocking_move_to
(
RIGHT_PROBE_BED_POSITION
,
BACK_PROBE_BED_POSITION
,
current_position
[
Z_AXIS
]);
do_blocking_move_to
(
current_position
[
X_AXIS
],
current_position
[
Y_AXIS
],
Z_MIN_POS
);
do_blocking_move_to
(
current_position
[
X_AXIS
],
current_position
[
Y_AXIS
],
Z_MIN_POS
);
while
(
!
lcd_clicked
())
{
while
(
!
lcd_clicked
())
{
idle
(
true
);
idle
();
}
}
// PROBE FOURTH POINT
// PROBE FOURTH POINT
...
@@ -3452,7 +3452,7 @@ inline void gcode_G28() {
...
@@ -3452,7 +3452,7 @@ inline void gcode_G28() {
do_blocking_move_to
(
LEFT_PROBE_BED_POSITION
,
BACK_PROBE_BED_POSITION
,
current_position
[
Z_AXIS
]);
do_blocking_move_to
(
LEFT_PROBE_BED_POSITION
,
BACK_PROBE_BED_POSITION
,
current_position
[
Z_AXIS
]);
do_blocking_move_to
(
current_position
[
X_AXIS
],
current_position
[
Y_AXIS
],
Z_MIN_POS
);
do_blocking_move_to
(
current_position
[
X_AXIS
],
current_position
[
Y_AXIS
],
Z_MIN_POS
);
while
(
!
lcd_clicked
())
{
while
(
!
lcd_clicked
())
{
idle
(
true
);
idle
();
}
}
// PROBE CENTER
// PROBE CENTER
...
@@ -3461,7 +3461,7 @@ inline void gcode_G28() {
...
@@ -3461,7 +3461,7 @@ inline void gcode_G28() {
do_blocking_move_to
(((
X_MAX_POS
)
-
(
X_MIN_POS
))
/
2
,
((
Y_MAX_POS
)
-
(
Y_MIN_POS
))
/
2
,
current_position
[
Z_AXIS
]);
do_blocking_move_to
(((
X_MAX_POS
)
-
(
X_MIN_POS
))
/
2
,
((
Y_MAX_POS
)
-
(
Y_MIN_POS
))
/
2
,
current_position
[
Z_AXIS
]);
do_blocking_move_to
(
current_position
[
X_AXIS
],
current_position
[
Y_AXIS
],
Z_MIN_POS
);
do_blocking_move_to
(
current_position
[
X_AXIS
],
current_position
[
Y_AXIS
],
Z_MIN_POS
);
while
(
!
lcd_clicked
())
{
while
(
!
lcd_clicked
())
{
idle
(
true
);
idle
();
}
}
// FINISH MANUAL BED LEVEL
// FINISH MANUAL BED LEVEL
...
@@ -6978,7 +6978,7 @@ inline void gcode_M503() {
...
@@ -6978,7 +6978,7 @@ inline void gcode_M503() {
KEEPALIVE_STATE
(
PAUSED_FOR_USER
);
KEEPALIVE_STATE
(
PAUSED_FOR_USER
);
LCD_ALERTMESSAGEPGM
(
MSG_FILAMENTCHANGE
);
LCD_ALERTMESSAGEPGM
(
MSG_FILAMENTCHANGE
);
while
(
!
lcd_clicked
())
{
while
(
!
lcd_clicked
())
{
idle
(
true
);
idle
();
if
((
millis
()
-
last_set
>
60000
)
&&
cnt
<=
FILAMENTCHANGE_PRINTEROFF
)
beep
=
true
;
if
((
millis
()
-
last_set
>
60000
)
&&
cnt
<=
FILAMENTCHANGE_PRINTEROFF
)
beep
=
true
;
if
(
cnt
>=
FILAMENTCHANGE_PRINTEROFF
&&
!
sleep
)
{
if
(
cnt
>=
FILAMENTCHANGE_PRINTEROFF
&&
!
sleep
)
{
disable_all_heaters
();
disable_all_heaters
();
...
...
MK/module/lcd/dogm_lcd_implementation.h
View file @
744b1137
/**
* MK 3D Printer Firmware
*
* Based on Marlin, Sprinter and grbl
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
* Copyright (C) 2013 - 2016 Alberto Cotronei @MagoKimbra
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
/**
* dogm_lcd_implementation.h
* dogm_lcd_implementation.h
*
*
...
@@ -7,7 +29,7 @@
...
@@ -7,7 +29,7 @@
*
*
* With the use of:
* With the use of:
* u8glib by Oliver Kraus
* u8glib by Oliver Kraus
* http
://code.google.com/p/u8glib/
* http
s://github.com/olikraus/U8glib_Arduino
* License: http://opensource.org/licenses/BSD-3-Clause
* License: http://opensource.org/licenses/BSD-3-Clause
*/
*/
...
@@ -173,7 +195,7 @@ char lcd_print(char c) {
...
@@ -173,7 +195,7 @@ char lcd_print(char c) {
return
charset_mapper
(
c
);
return
charset_mapper
(
c
);
}
}
char
lcd_print
(
char
*
str
)
{
char
lcd_print
(
c
onst
c
har
*
str
)
{
char
c
;
char
c
;
int
i
=
0
;
int
i
=
0
;
char
n
=
0
;
char
n
=
0
;
...
@@ -228,14 +250,14 @@ static void lcd_implementation_init() {
...
@@ -228,14 +250,14 @@ static void lcd_implementation_init() {
#endif
#endif
#if ENABLED(SHOW_BOOTSCREEN)
#if ENABLED(SHOW_BOOTSCREEN)
int
offx
=
(
u8g
.
getWidth
()
-
START_BMPWIDTH
)
/
2
;
int
offx
=
(
u8g
.
getWidth
()
-
(
START_BMPWIDTH
)
)
/
2
;
#if ENABLED(START_BMPHIGH)
#if ENABLED(START_BMPHIGH)
int
offy
=
0
;
int
offy
=
0
;
#else
#else
int
offy
=
DOG_CHAR_HEIGHT
;
int
offy
=
DOG_CHAR_HEIGHT
;
#endif
#endif
int
txt1X
=
(
u8g
.
getWidth
()
-
(
sizeof
(
STRING_SPLASH_LINE1
)
-
1
)
*
DOG_CHAR_WIDTH
)
/
2
;
int
txt1X
=
(
u8g
.
getWidth
()
-
(
sizeof
(
STRING_SPLASH_LINE1
)
-
1
)
*
(
DOG_CHAR_WIDTH
)
)
/
2
;
u8g
.
firstPage
();
u8g
.
firstPage
();
do
{
do
{
...
@@ -243,11 +265,11 @@ static void lcd_implementation_init() {
...
@@ -243,11 +265,11 @@ static void lcd_implementation_init() {
u8g
.
drawBitmapP
(
offx
,
offy
,
START_BMPBYTEWIDTH
,
START_BMPHEIGHT
,
start_bmp
);
u8g
.
drawBitmapP
(
offx
,
offy
,
START_BMPBYTEWIDTH
,
START_BMPHEIGHT
,
start_bmp
);
lcd_setFont
(
FONT_MENU
);
lcd_setFont
(
FONT_MENU
);
#if DISABLED(STRING_SPLASH_LINE2)
#if DISABLED(STRING_SPLASH_LINE2)
u8g
.
drawStr
(
txt1X
,
u8g
.
getHeight
()
-
DOG_CHAR_HEIGHT
,
STRING_SPLASH_LINE1
);
u8g
.
drawStr
(
txt1X
,
u8g
.
getHeight
()
-
(
DOG_CHAR_HEIGHT
)
,
STRING_SPLASH_LINE1
);
#else
#else
int
txt2X
=
(
u8g
.
getWidth
()
-
(
sizeof
(
STRING_SPLASH_LINE2
)
-
1
)
*
DOG_CHAR_WIDTH
)
/
2
;
int
txt2X
=
(
u8g
.
getWidth
()
-
(
sizeof
(
STRING_SPLASH_LINE2
)
-
1
)
*
(
DOG_CHAR_WIDTH
)
)
/
2
;
u8g
.
drawStr
(
txt1X
,
u8g
.
getHeight
()
-
DOG_CHAR_HEIGHT
*
3
/
2
,
STRING_SPLASH_LINE1
);
u8g
.
drawStr
(
txt1X
,
u8g
.
getHeight
()
-
(
DOG_CHAR_HEIGHT
)
*
3
/
2
,
STRING_SPLASH_LINE1
);
u8g
.
drawStr
(
txt2X
,
u8g
.
getHeight
()
-
DOG_CHAR_HEIGHT
*
1
/
2
,
STRING_SPLASH_LINE2
);
u8g
.
drawStr
(
txt2X
,
u8g
.
getHeight
()
-
(
DOG_CHAR_HEIGHT
)
*
1
/
2
,
STRING_SPLASH_LINE2
);
#endif
#endif
}
}
}
while
(
u8g
.
nextPage
());
}
while
(
u8g
.
nextPage
());
...
@@ -261,6 +283,13 @@ static void lcd_implementation_init() {
...
@@ -261,6 +283,13 @@ static void lcd_implementation_init() {
static
void
lcd_implementation_clear
()
{
}
// Automatically cleared by Picture Loop
static
void
lcd_implementation_clear
()
{
}
// Automatically cleared by Picture Loop
FORCE_INLINE
void
_draw_centered_temp
(
int
temp
,
int
x
,
int
y
)
{
int
degsize
=
6
*
(
temp
>=
100
?
3
:
temp
>=
10
?
2
:
1
);
// number's pixel width
u8g
.
setPrintPos
(
x
-
(
18
-
degsize
)
/
2
,
y
);
// move left if shorter
lcd_print
(
itostr3
(
temp
));
lcd_printPGM
(
PSTR
(
LCD_STR_DEGREE
" "
));
}
static
void
_draw_heater_status
(
int
x
,
int
heater
)
{
static
void
_draw_heater_status
(
int
x
,
int
heater
)
{
bool
isBed
=
heater
<
0
;
bool
isBed
=
heater
<
0
;
int
y
=
17
+
(
isBed
?
1
:
0
);
int
y
=
17
+
(
isBed
?
1
:
0
);
...
@@ -321,29 +350,30 @@ static void lcd_implementation_status_screen() {
...
@@ -321,29 +350,30 @@ static void lcd_implementation_status_screen() {
// Symbols menu graphics, animated fan
// Symbols menu graphics, animated fan
u8g
.
drawBitmapP
(
9
,
1
,
STATUS_SCREENBYTEWIDTH
,
STATUS_SCREENHEIGHT
,
(
blink
%
2
)
&&
fanSpeed
?
status_screen0_bmp
:
status_screen1_bmp
);
u8g
.
drawBitmapP
(
9
,
1
,
STATUS_SCREENBYTEWIDTH
,
STATUS_SCREENHEIGHT
,
(
blink
%
2
)
&&
fanSpeed
?
status_screen0_bmp
:
status_screen1_bmp
);
// Status Menu Font for SD info, Heater status, Fan, XYZ
lcd_setFont
(
FONT_STATUSMENU
);
#if ENABLED(SDSUPPORT)
#if ENABLED(SDSUPPORT)
// SD Card Symbol
// SD Card Symbol
u8g
.
drawBox
(
42
,
42
-
TALL_FONT_CORRECTION
,
8
,
7
);
u8g
.
drawBox
(
42
,
42
-
(
TALL_FONT_CORRECTION
)
,
8
,
7
);
u8g
.
drawBox
(
50
,
44
-
TALL_FONT_CORRECTION
,
2
,
5
);
u8g
.
drawBox
(
50
,
44
-
(
TALL_FONT_CORRECTION
)
,
2
,
5
);
u8g
.
drawFrame
(
42
,
49
-
TALL_FONT_CORRECTION
,
10
,
4
);
u8g
.
drawFrame
(
42
,
49
-
(
TALL_FONT_CORRECTION
)
,
10
,
4
);
u8g
.
drawPixel
(
50
,
43
-
TALL_FONT_CORRECTION
);
u8g
.
drawPixel
(
50
,
43
-
(
TALL_FONT_CORRECTION
)
);
// Progress bar frame
// Progress bar frame
u8g
.
drawFrame
(
54
,
49
,
73
,
4
-
TALL_FONT_CORRECTION
);
u8g
.
drawFrame
(
54
,
49
,
73
,
4
-
(
TALL_FONT_CORRECTION
)
);
// SD Card Progress bar and clock
// SD Card Progress bar and clock
lcd_setFont
(
FONT_STATUSMENU
);
if
(
IS_SD_PRINTING
)
{
if
(
IS_SD_PRINTING
)
{
// Progress bar solid part
// Progress bar solid part
u8g
.
drawBox
(
55
,
50
,
(
unsigned
int
)(
71
.
f
*
card
.
percentDone
()
/
100
.
f
),
2
-
TALL_FONT_CORRECTION
);
u8g
.
drawBox
(
55
,
50
,
(
unsigned
int
)(
71
.
f
*
card
.
percentDone
()
/
100
.
f
),
2
-
(
TALL_FONT_CORRECTION
)
);
}
}
u8g
.
setPrintPos
(
53
,
47
);
u8g
.
setPrintPos
(
53
,
47
);
if
(
print_job_start_ms
!=
0
)
{
uint16_t
time
=
print_job_timer
.
duration
()
/
60
;
if
(
time
!=
0
)
{
#if HAS(LCD_POWER_SENSOR)
#if HAS(LCD_POWER_SENSOR)
if
(
millis
()
<
print_millis
+
1000
)
{
if
(
millis
()
<
print_millis
+
1000
)
{
uint16_t
time
=
(
millis
()
-
print_job_start_ms
)
/
60000
;
uint16_t
end_time
=
(
time
*
(
100
-
card
.
percentDone
()))
/
card
.
percentDone
();
uint16_t
end_time
=
(
time
*
(
100
-
card
.
percentDone
()))
/
card
.
percentDone
();
lcd_print
(
'S'
);
lcd_print
(
'S'
);
lcd_print
(
itostr2
(
time
/
60
));
lcd_print
(
itostr2
(
time
/
60
));
...
@@ -356,9 +386,9 @@ static void lcd_implementation_status_screen() {
...
@@ -356,9 +386,9 @@ static void lcd_implementation_status_screen() {
u8g
.
print
(
'
E
--:--
'
);
u8g
.
print
(
'
E
--:--
'
);
else
if
(
end_time
>
0
)
{
else
if
(
end_time
>
0
)
{
u8g
.
print
(
'E'
);
u8g
.
print
(
'E'
);
u8g
.
print
(
itostr2
(
end_time
/
60
));
u8g
.
print
(
itostr2
(
end_time
/
60
));
u8g
.
print
(
':'
);
u8g
.
print
(
':'
);
u8g
.
print
(
itostr2
(
end_time
%
60
));
u8g
.
print
(
itostr2
(
end_time
%
60
));
}
}
}
}
else
{
else
{
...
@@ -366,12 +396,11 @@ static void lcd_implementation_status_screen() {
...
@@ -366,12 +396,11 @@ static void lcd_implementation_status_screen() {
lcd_print
((
char
*
)
"Wh"
);
lcd_print
((
char
*
)
"Wh"
);
}
}
#else
#else
uint16_t
time
=
(
millis
()
-
print_job_start_ms
)
/
60000
;
uint16_t
end_time
=
(
time
*
(
100
-
card
.
percentDone
()))
/
card
.
percentDone
();
uint16_t
end_time
=
(
time
*
(
100
-
card
.
percentDone
()))
/
card
.
percentDone
();
lcd_print
(
'S'
);
lcd_print
(
'S'
);
lcd_print
(
itostr2
(
time
/
60
));
lcd_print
(
itostr2
(
time
/
60
));
lcd_print
(
':'
);
lcd_print
(
':'
);
lcd_print
(
itostr2
(
time
%
60
));
lcd_print
(
itostr2
(
time
%
60
));
u8g
.
setPrintPos
(
90
,
47
);
u8g
.
setPrintPos
(
90
,
47
);
...
@@ -379,9 +408,9 @@ static void lcd_implementation_status_screen() {
...
@@ -379,9 +408,9 @@ static void lcd_implementation_status_screen() {
u8g
.
print
(
'
E
--:--
'
);
u8g
.
print
(
'
E
--:--
'
);
else
if
(
end_time
>
0
)
{
else
if
(
end_time
>
0
)
{
u8g
.
print
(
'E'
);
u8g
.
print
(
'E'
);
u8g
.
print
(
itostr2
(
end_time
/
60
));
u8g
.
print
(
itostr2
(
end_time
/
60
));
u8g
.
print
(
':'
);
u8g
.
print
(
':'
);
u8g
.
print
(
itostr2
(
end_time
%
60
));
u8g
.
print
(
itostr2
(
end_time
%
60
));
}
}
#endif
#endif
}
}
...
@@ -395,11 +424,12 @@ static void lcd_implementation_status_screen() {
...
@@ -395,11 +424,12 @@ static void lcd_implementation_status_screen() {
// Hotends
// Hotends
for
(
int
i
=
0
;
i
<
HOTENDS
;
i
++
)
_draw_heater_status
(
6
+
i
*
25
,
i
);
for
(
int
i
=
0
;
i
<
HOTENDS
;
i
++
)
_draw_heater_status
(
6
+
i
*
25
,
i
);
// Heatbed
// Heated bed
if
(
HOTENDS
<
4
)
_draw_heater_status
(
81
,
-
1
);
#if HOTENDS < 4 && HAS(TEMP_BED)
_draw_heater_status
(
81
,
-
1
);
#endif
// Fan
// Fan
lcd_setFont
(
FONT_STATUSMENU
);
u8g
.
setPrintPos
(
104
,
27
);
u8g
.
setPrintPos
(
104
,
27
);
#if HAS(FAN)
#if HAS(FAN)
int
per
=
((
fanSpeed
+
1
)
*
100
)
/
256
;
int
per
=
((
fanSpeed
+
1
)
*
100
)
/
256
;
...
@@ -407,17 +437,13 @@ static void lcd_implementation_status_screen() {
...
@@ -407,17 +437,13 @@ static void lcd_implementation_status_screen() {
lcd_print
(
itostr3
(
per
));
lcd_print
(
itostr3
(
per
));
lcd_print
(
'%'
);
lcd_print
(
'%'
);
}
}
else
#endif
#endif
{
lcd_printPGM
(
PSTR
(
"---"
));
}
// Print XYZ Coordinates
// X, Y, Z-Coordinates
// If the axis was not homed, show "---"
// Before homing the axis letters are blinking 'X' <-> '?'.
// If the position is untrusted, show "?"
// 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'.
#define XYZ_BASELINE 38
#define XYZ_BASELINE 38
lcd_setFont
(
FONT_STATUSMENU
);
#if ENABLED(USE_SMALL_INFOFONT)
#if ENABLED(USE_SMALL_INFOFONT)
u8g
.
drawBox
(
0
,
30
,
LCD_PIXEL_WIDTH
,
10
);
u8g
.
drawBox
(
0
,
30
,
LCD_PIXEL_WIDTH
,
10
);
...
@@ -461,20 +487,20 @@ static void lcd_implementation_status_screen() {
...
@@ -461,20 +487,20 @@ static void lcd_implementation_status_screen() {
lcd_setFont
(
FONT_MENU
);
lcd_setFont
(
FONT_MENU
);
u8g
.
setPrintPos
(
3
,
49
);
u8g
.
setPrintPos
(
3
,
49
);
lcd_print
(
LCD_STR_FEEDRATE
[
0
]);
lcd_print
(
LCD_STR_FEEDRATE
[
0
]);
lcd_setFont
(
FONT_STATUSMENU
);
lcd_setFont
(
FONT_STATUSMENU
);
u8g
.
setPrintPos
(
12
,
49
);
u8g
.
setPrintPos
(
12
,
49
);
lcd_print
(
itostr3
(
feedrate_multiplier
));
lcd_print
(
itostr3
(
feedrate_multiplier
));
lcd_print
(
'%'
);
lcd_print
(
'%'
);
// Status line
// Status line
lcd_setFont
(
FONT_STATUSMENU
);
#if ENABLED(USE_SMALL_INFOFONT)
#if ENABLED(USE_SMALL_INFOFONT)
u8g
.
setPrintPos
(
0
,
62
);
u8g
.
setPrintPos
(
0
,
62
);
#else
#else
u8g
.
setPrintPos
(
0
,
63
);
u8g
.
setPrintPos
(
0
,
63
);
#endif
#endif
#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
)
//Display both Status message line and Filament display on the last line
if
(
PENDING
(
millis
(),
previous_lcd_status_ms
+
5000UL
))
{
//Display both Status message line and Filament display on the last line
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)
...
@@ -507,13 +533,13 @@ static void lcd_implementation_status_screen() {
...
@@ -507,13 +533,13 @@ static void lcd_implementation_status_screen() {
static
void
lcd_implementation_mark_as_selected
(
uint8_t
row
,
bool
isSelected
)
{
static
void
lcd_implementation_mark_as_selected
(
uint8_t
row
,
bool
isSelected
)
{
if
(
isSelected
)
{
if
(
isSelected
)
{
u8g
.
setColorIndex
(
1
);
// black on white
u8g
.
setColorIndex
(
1
);
// black on white
u8g
.
drawBox
(
0
,
row
*
DOG_CHAR_HEIGHT
+
3
-
TALL_FONT_CORRECTION
,
LCD_PIXEL_WIDTH
,
DOG_CHAR_HEIGHT
);
u8g
.
drawBox
(
0
,
row
*
(
DOG_CHAR_HEIGHT
)
+
3
-
(
TALL_FONT_CORRECTION
)
,
LCD_PIXEL_WIDTH
,
DOG_CHAR_HEIGHT
);
u8g
.
setColorIndex
(
0
);
// following text must be white on black
u8g
.
setColorIndex
(
0
);
// following text must be white on black
}
}
else
{
else
{
u8g
.
setColorIndex
(
1
);
// unmarked text is black on white
u8g
.
setColorIndex
(
1
);
// unmarked text is black on white
}
}
u8g
.
setPrintPos
(
START_ROW
*
DOG_CHAR_WIDTH
,
(
row
+
1
)
*
DOG_CHAR_HEIGHT
);
u8g
.
setPrintPos
(
(
START_ROW
)
*
(
DOG_CHAR_WIDTH
),
(
row
+
1
)
*
(
DOG_CHAR_HEIGHT
)
);
}
}
static
void
lcd_implementation_drawmenu_generic
(
bool
isSelected
,
uint8_t
row
,
const
char
*
pstr
,
char
pre_char
,
char
post_char
)
{
static
void
lcd_implementation_drawmenu_generic
(
bool
isSelected
,
uint8_t
row
,
const
char
*
pstr
,
char
pre_char
,
char
post_char
)
{
...
@@ -527,7 +553,7 @@ static void lcd_implementation_drawmenu_generic(bool isSelected, uint8_t row, co
...
@@ -527,7 +553,7 @@ static void lcd_implementation_drawmenu_generic(bool isSelected, uint8_t row, co
pstr
++
;
pstr
++
;
}
}
while
(
n
--
)
lcd_print
(
' '
);
while
(
n
--
)
lcd_print
(
' '
);
u8g
.
setPrintPos
(
LCD_PIXEL_WIDTH
-
DOG_CHAR_WIDTH
,
(
row
+
1
)
*
DOG_CHAR_HEIGHT
);
u8g
.
setPrintPos
(
LCD_PIXEL_WIDTH
-
(
DOG_CHAR_WIDTH
),
(
row
+
1
)
*
(
DOG_CHAR_HEIGHT
)
);
lcd_print
(
post_char
);
lcd_print
(
post_char
);
lcd_print
(
' '
);
lcd_print
(
' '
);
}
}
...
@@ -545,7 +571,7 @@ static void _drawmenu_setting_edit_generic(bool isSelected, uint8_t row, const c
...
@@ -545,7 +571,7 @@ static void _drawmenu_setting_edit_generic(bool isSelected, uint8_t row, const c
}
}
lcd_print
(
':'
);
lcd_print
(
':'
);
while
(
n
--
)
lcd_print
(
' '
);
while
(
n
--
)
lcd_print
(
' '
);
u8g
.
setPrintPos
(
LCD_PIXEL_WIDTH
-
DOG_CHAR_WIDTH
*
vallen
,
(
row
+
1
)
*
DOG_CHAR_HEIGHT
);
u8g
.
setPrintPos
(
LCD_PIXEL_WIDTH
-
(
DOG_CHAR_WIDTH
)
*
vallen
,
(
row
+
1
)
*
(
DOG_CHAR_HEIGHT
)
);
if
(
pgm
)
lcd_printPGM
(
data
);
else
lcd_print
((
char
*
)
data
);
if
(
pgm
)
lcd_printPGM
(
data
);
else
lcd_print
((
char
*
)
data
);
}
}
...
@@ -592,14 +618,16 @@ void lcd_implementation_drawedit(const char* pstr, char* value) {
...
@@ -592,14 +618,16 @@ void lcd_implementation_drawedit(const char* pstr, char* value) {
if
(
lcd_strlen_P
(
pstr
)
>
LCD_WIDTH
-
2
-
vallen
)
rows
=
2
;
if
(
lcd_strlen_P
(
pstr
)
>
LCD_WIDTH
-
2
-
vallen
)
rows
=
2
;
const
float
kHalfChar
=
DOG_CHAR_HEIGHT_EDIT
/
2
;
const
float
kHalfChar
=
(
DOG_CHAR_HEIGHT_EDIT
)
/
2
;
float
rowHeight
=
u8g
.
getHeight
()
/
(
rows
+
1
);
// 1/(rows+1) = 1/2 or 1/3
float
rowHeight
=
u8g
.
getHeight
()
/
(
rows
+
1
);
// 1/(rows+1) = 1/2 or 1/3
u8g
.
setPrintPos
(
0
,
rowHeight
+
kHalfChar
);
u8g
.
setPrintPos
(
0
,
rowHeight
+
kHalfChar
);
lcd_printPGM
(
pstr
);
lcd_printPGM
(
pstr
);
lcd_print
(
':'
);
if
(
value
!=
NULL
)
{
u8g
.
setPrintPos
((
lcd_width
-
1
-
vallen
)
*
char_width
,
rows
*
rowHeight
+
kHalfChar
);
lcd_print
(
':'
);
lcd_print
(
value
);
u8g
.
setPrintPos
((
lcd_width
-
1
-
vallen
)
*
char_width
,
rows
*
rowHeight
+
kHalfChar
);
lcd_print
(
value
);
}
}
}
#if ENABLED(SDSUPPORT)
#if ENABLED(SDSUPPORT)
...
...
MK/module/lcd/ultralcd.cpp
View file @
744b1137
...
@@ -1716,7 +1716,7 @@ static void menu_action_function(menuFunc_t func) { (*func)(); }
...
@@ -1716,7 +1716,7 @@ static void menu_action_function(menuFunc_t func) { (*func)(); }
char
*
c
;
char
*
c
;
sprintf_P
(
cmd
,
PSTR
(
"M23 %s"
),
longFilename
);
sprintf_P
(
cmd
,
PSTR
(
"M23 %s"
),
longFilename
);
for
(
c
=
&
cmd
[
4
];
*
c
;
c
++
)
*
c
=
tolower
(
*
c
);
for
(
c
=
&
cmd
[
4
];
*
c
;
c
++
)
*
c
=
tolower
(
*
c
);
enqueuecommand
(
cmd
);
enqueue
_and_echo_
command
(
cmd
);
enqueue_and_echo_commands_P
(
PSTR
(
"M24"
));
enqueue_and_echo_commands_P
(
PSTR
(
"M24"
));
lcd_return_to_status
();
lcd_return_to_status
();
}
}
...
...
MK/module/lcd/ultralcd_implementation_hitachi_HD44780.h
View file @
744b1137
...
@@ -726,11 +726,11 @@ static void lcd_implementation_status_screen() {
...
@@ -726,11 +726,11 @@ static void lcd_implementation_status_screen() {
#endif // LCD_WIDTH > 19 && SDSUPPORT
#endif // LCD_WIDTH > 19 && SDSUPPORT
lcd
.
setCursor
(
LCD_WIDTH
-
6
,
2
);
lcd
.
setCursor
(
LCD_WIDTH
-
6
,
2
);
if
(
print_job_start_ms
!=
0
)
{
uint16_t
time
=
print_job_timer
.
duration
()
/
60
;
if
(
time
!=
0
)
{
#if HAS(LCD_POWER_SENSOR)
#if HAS(LCD_POWER_SENSOR)
if
(
millis
()
<
print_millis
+
1000
)
{
if
(
millis
()
<
print_millis
+
1000
)
{
lcd
.
print
(
LCD_STR_CLOCK
[
0
]);
lcd
.
print
(
LCD_STR_CLOCK
[
0
]);
uint16_t
time
=
millis
()
/
60000
-
print_job_start_ms
/
60000
;
lcd
.
print
(
itostr2
(
time
/
60
));
lcd
.
print
(
itostr2
(
time
/
60
));
lcd
.
print
(
':'
);
lcd
.
print
(
':'
);
lcd
.
print
(
itostr2
(
time
%
60
));
lcd
.
print
(
itostr2
(
time
%
60
));
...
@@ -741,7 +741,6 @@ static void lcd_implementation_status_screen() {
...
@@ -741,7 +741,6 @@ static void lcd_implementation_status_screen() {
}
}
#else
#else
lcd
.
print
(
LCD_STR_CLOCK
[
0
]);
lcd
.
print
(
LCD_STR_CLOCK
[
0
]);
uint16_t
time
=
millis
()
/
60000
-
print_job_start_ms
/
60000
;
lcd
.
print
(
itostr2
(
time
/
60
));
lcd
.
print
(
itostr2
(
time
/
60
));
lcd
.
print
(
':'
);
lcd
.
print
(
':'
);
lcd
.
print
(
itostr2
(
time
%
60
));
lcd
.
print
(
itostr2
(
time
%
60
));
...
...
MK/module/nextion/Nextion_lcd.cpp
View file @
744b1137
...
@@ -276,7 +276,7 @@
...
@@ -276,7 +276,7 @@
char
*
c
;
char
*
c
;
sprintf_P
(
cmd
,
PSTR
(
"M23 %s"
),
filename
);
sprintf_P
(
cmd
,
PSTR
(
"M23 %s"
),
filename
);
for
(
c
=
&
cmd
[
4
];
*
c
;
c
++
)
*
c
=
tolower
(
*
c
);
for
(
c
=
&
cmd
[
4
];
*
c
;
c
++
)
*
c
=
tolower
(
*
c
);
enqueuecommand
(
cmd
);
enqueue
_and_echo_
command
(
cmd
);
enqueue_and_echo_commands_P
(
PSTR
(
"M24"
));
enqueue_and_echo_commands_P
(
PSTR
(
"M24"
));
setpageInfo
();
setpageInfo
();
}
}
...
@@ -647,7 +647,7 @@
...
@@ -647,7 +647,7 @@
NPlay
.
setPic
(
17
);
NPlay
.
setPic
(
17
);
// Estimate End Time
// Estimate End Time
uint16_t
time
=
(
millis
()
-
print_job_start_ms
)
/
6000
0
;
uint16_t
time
=
print_job_timer
.
duration
()
/
6
0
;
uint16_t
end_time
=
(
time
*
(
100
-
card
.
percentDone
()))
/
card
.
percentDone
();
uint16_t
end_time
=
(
time
*
(
100
-
card
.
percentDone
()))
/
card
.
percentDone
();
if
(
end_time
>
(
60
*
23
))
{
if
(
end_time
>
(
60
*
23
))
{
lcd_setstatus
(
"End --:--"
);
lcd_setstatus
(
"End --:--"
);
...
...
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