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
27cbf4f3
Commit
27cbf4f3
authored
Nov 13, 2014
by
MagoKimbra
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Adaption of LCD info screen
parent
8d8c62d8
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
559 additions
and
463 deletions
+559
-463
DOGMbitmaps.h
MarlinKimbra/DOGMbitmaps.h
+156
-48
dogm_lcd_implementation.h
MarlinKimbra/dogm_lcd_implementation.h
+403
-415
No files found.
MarlinKimbra/DOGMbitmaps.h
View file @
27cbf4f3
...
@@ -68,54 +68,162 @@ const unsigned char start_bmp[574] PROGMEM = { //AVR-GCC, WinAVR
...
@@ -68,54 +68,162 @@ const unsigned char start_bmp[574] PROGMEM = { //AVR-GCC, WinAVR
0xFF
,
0xFF
,
0xFF
,
0xFF
,
0xFF
,
0xFF
,
0xFF
,
0xF0
0xFF
,
0xFF
,
0xFF
,
0xFF
,
0xFF
,
0xFF
,
0xFF
,
0xF0
};
};
#define STATUS_SCREENWIDTH 115 //Width in pixels
// Here comes a compile-time operation to match the extruder symbols
#define STATUS_SCREENHEIGHT 19 //Height in pixels
// on the info screen to the set number of extruders in configuration.h
#define STATUS_SCREENBYTEWIDTH 15 //Width in bytes
//
const
unsigned
char
status_screen0_bmp
[]
PROGMEM
=
{
//AVR-GCC, WinAVR
// When only one extruder is selected, the "1" on the symbol will not
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x7F
,
0xFF
,
0xE0
,
// be displayed.
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x70
,
0x00
,
0xE0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x63
,
0x0C
,
0x60
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x47
,
0x0E
,
0x20
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x4F
,
0x0F
,
0x20
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x5F
,
0x0F
,
0xA0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x5E
,
0x07
,
0xA0
,
0x7F
,
0x80
,
0x00
,
0x3F
,
0xC0
,
0x00
,
0x3F
,
0xC0
,
0x00
,
0x41
,
0x04
,
0x00
,
0x40
,
0x60
,
0x20
,
0xFB
,
0xC0
,
0x00
,
0x79
,
0xE0
,
0x00
,
0x79
,
0xE0
,
0x00
,
0x20
,
0x82
,
0x00
,
0x40
,
0xF0
,
0x20
,
0xF3
,
0xC0
,
0x00
,
0x76
,
0xE0
,
0x00
,
0x76
,
0xE0
,
0x00
,
0x20
,
0x82
,
0x00
,
0x40
,
0xF0
,
0x20
,
0xEB
,
0xC0
,
0x00
,
0x7E
,
0xE0
,
0x00
,
0x7E
,
0xE0
,
0x00
,
0x41
,
0x04
,
0x00
,
0x40
,
0x60
,
0x20
,
0x7B
,
0x80
,
0x00
,
0x3D
,
0xC0
,
0x00
,
0x39
,
0xC0
,
0x00
,
0x82
,
0x08
,
0x00
,
0x5E
,
0x07
,
0xA0
,
0x7B
,
0x80
,
0x00
,
0x3B
,
0xC0
,
0x00
,
0x3E
,
0xC0
,
0x01
,
0x04
,
0x10
,
0x00
,
0x5F
,
0x0F
,
0xA0
,
0xFB
,
0xC0
,
0x00
,
0x77
,
0xE0
,
0x00
,
0x76
,
0xE0
,
0x01
,
0x04
,
0x10
,
0x00
,
0x4F
,
0x0F
,
0x20
,
0xFB
,
0xC0
,
0x00
,
0x70
,
0xE0
,
0x00
,
0x79
,
0xE0
,
0x00
,
0x82
,
0x08
,
0x00
,
0x47
,
0x0E
,
0x20
,
0xFF
,
0xC0
,
0x00
,
0x7F
,
0xE0
,
0x00
,
0x7F
,
0xE0
,
0x00
,
0x41
,
0x04
,
0x00
,
0x63
,
0x0C
,
0x60
,
0x3F
,
0x00
,
0x00
,
0x1F
,
0x80
,
0x00
,
0x1F
,
0x80
,
0x00
,
0x00
,
0x00
,
0x00
,
0x70
,
0x00
,
0xE0
,
0x1E
,
0x00
,
0x00
,
0x0F
,
0x00
,
0x00
,
0x0F
,
0x00
,
0x01
,
0xFF
,
0xFF
,
0x80
,
0x7F
,
0xFF
,
0xE0
,
0x0C
,
0x00
,
0x00
,
0x06
,
0x00
,
0x00
,
0x06
,
0x00
,
0x01
,
0xFF
,
0xFF
,
0x80
,
0x00
,
0x00
,
0x00
};
#define STATUS_SCREENWIDTH 115 //Width in pixels
#if EXTRUDERS == 1
#define STATUS_SCREENHEIGHT 19 //Height in pixels
#define STATUS_SCREENWIDTH 115 //Width in pixels
#define STATUS_SCREENBYTEWIDTH 15 //Width in bytes
#define STATUS_SCREENHEIGHT 19 //Height in pixels
const
unsigned
char
status_screen1_bmp
[]
PROGMEM
=
{
//AVR-GCC, WinAVR
#define STATUS_SCREENBYTEWIDTH 15 //Width in bytes
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x7F
,
0xFF
,
0xE0
,
const
unsigned
char
status_screen0_bmp
[]
PROGMEM
=
{
//AVR-GCC, WinAVR
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x70
,
0x00
,
0xE0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x7F
,
0xFF
,
0xE0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x61
,
0xF8
,
0x60
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x70
,
0x00
,
0xE0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x41
,
0xF8
,
0x20
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x63
,
0x0C
,
0x60
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x40
,
0xF0
,
0x20
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x47
,
0x0E
,
0x20
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x40
,
0x60
,
0x20
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x4F
,
0x0F
,
0x20
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x58
,
0x01
,
0xA0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x5F
,
0x0F
,
0xA0
,
0x7F
,
0x80
,
0x00
,
0x3F
,
0xC0
,
0x00
,
0x3F
,
0xC0
,
0x00
,
0x41
,
0x04
,
0x00
,
0x5C
,
0x63
,
0xA0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x5E
,
0x07
,
0xA0
,
0xFB
,
0xC0
,
0x00
,
0x79
,
0xE0
,
0x00
,
0x79
,
0xE0
,
0x00
,
0x20
,
0x82
,
0x00
,
0x5E
,
0xF7
,
0xA0
,
0x7F
,
0x80
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x41
,
0x04
,
0x00
,
0x40
,
0x60
,
0x20
,
0xF3
,
0xC0
,
0x00
,
0x76
,
0xE0
,
0x00
,
0x76
,
0xE0
,
0x00
,
0x20
,
0x82
,
0x00
,
0x5E
,
0xF7
,
0xA0
,
0xFF
,
0xC0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x20
,
0x82
,
0x00
,
0x40
,
0xF0
,
0x20
,
0xEB
,
0xC0
,
0x00
,
0x7E
,
0xE0
,
0x00
,
0x7E
,
0xE0
,
0x00
,
0x41
,
0x04
,
0x00
,
0x5C
,
0x63
,
0xA0
,
0xFF
,
0xC0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x20
,
0x82
,
0x00
,
0x40
,
0xF0
,
0x20
,
0x7B
,
0x80
,
0x00
,
0x3D
,
0xC0
,
0x00
,
0x39
,
0xC0
,
0x00
,
0x82
,
0x08
,
0x00
,
0x58
,
0x01
,
0xA0
,
0xFF
,
0xC0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x41
,
0x04
,
0x00
,
0x40
,
0x60
,
0x20
,
0x7B
,
0x80
,
0x00
,
0x3B
,
0xC0
,
0x00
,
0x3E
,
0xC0
,
0x01
,
0x04
,
0x10
,
0x00
,
0x40
,
0x60
,
0x20
,
0x7F
,
0x80
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x82
,
0x08
,
0x00
,
0x5E
,
0x07
,
0xA0
,
0xFB
,
0xC0
,
0x00
,
0x77
,
0xE0
,
0x00
,
0x76
,
0xE0
,
0x01
,
0x04
,
0x10
,
0x00
,
0x40
,
0xF0
,
0x20
,
0x7F
,
0x80
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x01
,
0x04
,
0x10
,
0x00
,
0x5F
,
0x0F
,
0xA0
,
0xFB
,
0xC0
,
0x00
,
0x70
,
0xE0
,
0x00
,
0x79
,
0xE0
,
0x00
,
0x82
,
0x08
,
0x00
,
0x41
,
0xF8
,
0x20
,
0xFF
,
0xC0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x01
,
0x04
,
0x10
,
0x00
,
0x4F
,
0x0F
,
0x20
,
0xFF
,
0xC0
,
0x00
,
0x7F
,
0xE0
,
0x00
,
0x7F
,
0xE0
,
0x00
,
0x41
,
0x04
,
0x00
,
0x61
,
0xF8
,
0x60
,
0xFF
,
0xC0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x82
,
0x08
,
0x00
,
0x47
,
0x0E
,
0x20
,
0x3F
,
0x00
,
0x00
,
0x1F
,
0x80
,
0x00
,
0x1F
,
0x80
,
0x00
,
0x00
,
0x00
,
0x00
,
0x70
,
0x00
,
0xE0
,
0xFF
,
0xC0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x41
,
0x04
,
0x00
,
0x63
,
0x0C
,
0x60
,
0x1E
,
0x00
,
0x00
,
0x0F
,
0x00
,
0x00
,
0x0F
,
0x00
,
0x01
,
0xFF
,
0xFF
,
0x80
,
0x7F
,
0xFF
,
0xE0
,
0x3F
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x70
,
0x00
,
0xE0
,
0x0C
,
0x00
,
0x00
,
0x06
,
0x00
,
0x00
,
0x06
,
0x00
,
0x01
,
0xFF
,
0xFF
,
0x80
,
0x00
,
0x00
,
0x00
0x1E
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x01
,
0xFF
,
0xFF
,
0x80
,
0x7F
,
0xFF
,
0xE0
,
};
0x0C
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x01
,
0xFF
,
0xFF
,
0x80
,
0x00
,
0x00
,
0x00
};
#define STATUS_SCREENWIDTH 115 //Width in pixels
#define STATUS_SCREENHEIGHT 19 //Height in pixels
#define STATUS_SCREENBYTEWIDTH 15 //Width in bytes
const
unsigned
char
status_screen1_bmp
[]
PROGMEM
=
{
//AVR-GCC, WinAVR
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x7F
,
0xFF
,
0xE0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x70
,
0x00
,
0xE0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x61
,
0xF8
,
0x60
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x41
,
0xF8
,
0x20
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x40
,
0xF0
,
0x20
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x40
,
0x60
,
0x20
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x58
,
0x01
,
0xA0
,
0x7F
,
0x80
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x41
,
0x04
,
0x00
,
0x5C
,
0x63
,
0xA0
,
0xFF
,
0xC0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x20
,
0x82
,
0x00
,
0x5E
,
0xF7
,
0xA0
,
0xFF
,
0xC0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x20
,
0x82
,
0x00
,
0x5E
,
0xF7
,
0xA0
,
0xFF
,
0xC0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x41
,
0x04
,
0x00
,
0x5C
,
0x63
,
0xA0
,
0x7F
,
0x80
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x82
,
0x08
,
0x00
,
0x58
,
0x01
,
0xA0
,
0x7F
,
0x80
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x01
,
0x04
,
0x10
,
0x00
,
0x40
,
0x60
,
0x20
,
0xFF
,
0xC0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x01
,
0x04
,
0x10
,
0x00
,
0x40
,
0xF0
,
0x20
,
0xFF
,
0xC0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x82
,
0x08
,
0x00
,
0x41
,
0xF8
,
0x20
,
0xFF
,
0xC0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x41
,
0x04
,
0x00
,
0x61
,
0xF8
,
0x60
,
0x3F
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x70
,
0x00
,
0xE0
,
0x1E
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x01
,
0xFF
,
0xFF
,
0x80
,
0x7F
,
0xFF
,
0xE0
,
0x0C
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x01
,
0xFF
,
0xFF
,
0x80
,
0x00
,
0x00
,
0x00
};
#elif EXTRUDERS == 2
#define STATUS_SCREENWIDTH 115 //Width in pixels
#define STATUS_SCREENHEIGHT 19 //Height in pixels
#define STATUS_SCREENBYTEWIDTH 15 //Width in bytes
const
unsigned
char
status_screen0_bmp
[]
PROGMEM
=
{
//AVR-GCC, WinAVR
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x7F
,
0xFF
,
0xE0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x70
,
0x00
,
0xE0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x63
,
0x0C
,
0x60
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x47
,
0x0E
,
0x20
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x4F
,
0x0F
,
0x20
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x5F
,
0x0F
,
0xA0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x5E
,
0x07
,
0xA0
,
0x7F
,
0x80
,
0x00
,
0x3F
,
0xC0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x41
,
0x04
,
0x00
,
0x40
,
0x60
,
0x20
,
0xFB
,
0xC0
,
0x00
,
0x79
,
0xE0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x20
,
0x82
,
0x00
,
0x40
,
0xF0
,
0x20
,
0xF3
,
0xC0
,
0x00
,
0x76
,
0xE0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x20
,
0x82
,
0x00
,
0x40
,
0xF0
,
0x20
,
0xEB
,
0xC0
,
0x00
,
0x7E
,
0xE0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x41
,
0x04
,
0x00
,
0x40
,
0x60
,
0x20
,
0x7B
,
0x80
,
0x00
,
0x3D
,
0xC0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x82
,
0x08
,
0x00
,
0x5E
,
0x07
,
0xA0
,
0x7B
,
0x80
,
0x00
,
0x3B
,
0xC0
,
0x00
,
0x00
,
0x00
,
0x01
,
0x04
,
0x10
,
0x00
,
0x5F
,
0x0F
,
0xA0
,
0xFB
,
0xC0
,
0x00
,
0x77
,
0xE0
,
0x00
,
0x00
,
0x00
,
0x01
,
0x04
,
0x10
,
0x00
,
0x4F
,
0x0F
,
0x20
,
0xFB
,
0xC0
,
0x00
,
0x70
,
0xE0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x82
,
0x08
,
0x00
,
0x47
,
0x0E
,
0x20
,
0xFF
,
0xC0
,
0x00
,
0x7F
,
0xE0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x41
,
0x04
,
0x00
,
0x63
,
0x0C
,
0x60
,
0x3F
,
0x00
,
0x00
,
0x1F
,
0x80
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x70
,
0x00
,
0xE0
,
0x1E
,
0x00
,
0x00
,
0x0F
,
0x00
,
0x00
,
0x00
,
0x00
,
0x01
,
0xFF
,
0xFF
,
0x80
,
0x7F
,
0xFF
,
0xE0
,
0x0C
,
0x00
,
0x00
,
0x06
,
0x00
,
0x00
,
0x00
,
0x00
,
0x01
,
0xFF
,
0xFF
,
0x80
,
0x00
,
0x00
,
0x00
};
#define STATUS_SCREENWIDTH 115 //Width in pixels
#define STATUS_SCREENHEIGHT 19 //Height in pixels
#define STATUS_SCREENBYTEWIDTH 15 //Width in bytes
const
unsigned
char
status_screen1_bmp
[]
PROGMEM
=
{
//AVR-GCC, WinAVR
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x7F
,
0xFF
,
0xE0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x70
,
0x00
,
0xE0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x61
,
0xF8
,
0x60
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x41
,
0xF8
,
0x20
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x40
,
0xF0
,
0x20
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x40
,
0x60
,
0x20
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x58
,
0x01
,
0xA0
,
0x7F
,
0x80
,
0x00
,
0x3F
,
0xC0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x41
,
0x04
,
0x00
,
0x5C
,
0x63
,
0xA0
,
0xFB
,
0xC0
,
0x00
,
0x79
,
0xE0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x20
,
0x82
,
0x00
,
0x5E
,
0xF7
,
0xA0
,
0xF3
,
0xC0
,
0x00
,
0x76
,
0xE0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x20
,
0x82
,
0x00
,
0x5E
,
0xF7
,
0xA0
,
0xEB
,
0xC0
,
0x00
,
0x7E
,
0xE0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x41
,
0x04
,
0x00
,
0x5C
,
0x63
,
0xA0
,
0x7B
,
0x80
,
0x00
,
0x3D
,
0xC0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x82
,
0x08
,
0x00
,
0x58
,
0x01
,
0xA0
,
0x7B
,
0x80
,
0x00
,
0x3B
,
0xC0
,
0x00
,
0x00
,
0x00
,
0x01
,
0x04
,
0x10
,
0x00
,
0x40
,
0x60
,
0x20
,
0xFB
,
0xC0
,
0x00
,
0x77
,
0xE0
,
0x00
,
0x00
,
0x00
,
0x01
,
0x04
,
0x10
,
0x00
,
0x40
,
0xF0
,
0x20
,
0xFB
,
0xC0
,
0x00
,
0x70
,
0xE0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x82
,
0x08
,
0x00
,
0x41
,
0xF8
,
0x20
,
0xFF
,
0xC0
,
0x00
,
0x7F
,
0xE0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x41
,
0x04
,
0x00
,
0x61
,
0xF8
,
0x60
,
0x3F
,
0x00
,
0x00
,
0x1F
,
0x80
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x70
,
0x00
,
0xE0
,
0x1E
,
0x00
,
0x00
,
0x0F
,
0x00
,
0x00
,
0x00
,
0x00
,
0x01
,
0xFF
,
0xFF
,
0x80
,
0x7F
,
0xFF
,
0xE0
,
0x0C
,
0x00
,
0x00
,
0x06
,
0x00
,
0x00
,
0x00
,
0x00
,
0x01
,
0xFF
,
0xFF
,
0x80
,
0x00
,
0x00
,
0x00
};
#else
#define STATUS_SCREENWIDTH 115 //Width in pixels
#define STATUS_SCREENHEIGHT 19 //Height in pixels
#define STATUS_SCREENBYTEWIDTH 15 //Width in bytes
const
unsigned
char
status_screen0_bmp
[]
PROGMEM
=
{
//AVR-GCC, WinAVR
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x7F
,
0xFF
,
0xE0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x70
,
0x00
,
0xE0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x63
,
0x0C
,
0x60
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x47
,
0x0E
,
0x20
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x4F
,
0x0F
,
0x20
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x5F
,
0x0F
,
0xA0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x5E
,
0x07
,
0xA0
,
0x7F
,
0x80
,
0x00
,
0x3F
,
0xC0
,
0x00
,
0x3F
,
0xC0
,
0x00
,
0x41
,
0x04
,
0x00
,
0x40
,
0x60
,
0x20
,
0xFB
,
0xC0
,
0x00
,
0x79
,
0xE0
,
0x00
,
0x79
,
0xE0
,
0x00
,
0x20
,
0x82
,
0x00
,
0x40
,
0xF0
,
0x20
,
0xF3
,
0xC0
,
0x00
,
0x76
,
0xE0
,
0x00
,
0x76
,
0xE0
,
0x00
,
0x20
,
0x82
,
0x00
,
0x40
,
0xF0
,
0x20
,
0xEB
,
0xC0
,
0x00
,
0x7E
,
0xE0
,
0x00
,
0x7E
,
0xE0
,
0x00
,
0x41
,
0x04
,
0x00
,
0x40
,
0x60
,
0x20
,
0x7B
,
0x80
,
0x00
,
0x3D
,
0xC0
,
0x00
,
0x39
,
0xC0
,
0x00
,
0x82
,
0x08
,
0x00
,
0x5E
,
0x07
,
0xA0
,
0x7B
,
0x80
,
0x00
,
0x3B
,
0xC0
,
0x00
,
0x3E
,
0xC0
,
0x01
,
0x04
,
0x10
,
0x00
,
0x5F
,
0x0F
,
0xA0
,
0xFB
,
0xC0
,
0x00
,
0x77
,
0xE0
,
0x00
,
0x76
,
0xE0
,
0x01
,
0x04
,
0x10
,
0x00
,
0x4F
,
0x0F
,
0x20
,
0xFB
,
0xC0
,
0x00
,
0x70
,
0xE0
,
0x00
,
0x79
,
0xE0
,
0x00
,
0x82
,
0x08
,
0x00
,
0x47
,
0x0E
,
0x20
,
0xFF
,
0xC0
,
0x00
,
0x7F
,
0xE0
,
0x00
,
0x7F
,
0xE0
,
0x00
,
0x41
,
0x04
,
0x00
,
0x63
,
0x0C
,
0x60
,
0x3F
,
0x00
,
0x00
,
0x1F
,
0x80
,
0x00
,
0x1F
,
0x80
,
0x00
,
0x00
,
0x00
,
0x00
,
0x70
,
0x00
,
0xE0
,
0x1E
,
0x00
,
0x00
,
0x0F
,
0x00
,
0x00
,
0x0F
,
0x00
,
0x01
,
0xFF
,
0xFF
,
0x80
,
0x7F
,
0xFF
,
0xE0
,
0x0C
,
0x00
,
0x00
,
0x06
,
0x00
,
0x00
,
0x06
,
0x00
,
0x01
,
0xFF
,
0xFF
,
0x80
,
0x00
,
0x00
,
0x00
};
#define STATUS_SCREENWIDTH 115 //Width in pixels
#define STATUS_SCREENHEIGHT 19 //Height in pixels
#define STATUS_SCREENBYTEWIDTH 15 //Width in bytes
const
unsigned
char
status_screen1_bmp
[]
PROGMEM
=
{
//AVR-GCC, WinAVR
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x7F
,
0xFF
,
0xE0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x70
,
0x00
,
0xE0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x61
,
0xF8
,
0x60
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x41
,
0xF8
,
0x20
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x40
,
0xF0
,
0x20
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x40
,
0x60
,
0x20
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x58
,
0x01
,
0xA0
,
0x7F
,
0x80
,
0x00
,
0x3F
,
0xC0
,
0x00
,
0x3F
,
0xC0
,
0x00
,
0x41
,
0x04
,
0x00
,
0x5C
,
0x63
,
0xA0
,
0xFB
,
0xC0
,
0x00
,
0x79
,
0xE0
,
0x00
,
0x79
,
0xE0
,
0x00
,
0x20
,
0x82
,
0x00
,
0x5E
,
0xF7
,
0xA0
,
0xF3
,
0xC0
,
0x00
,
0x76
,
0xE0
,
0x00
,
0x76
,
0xE0
,
0x00
,
0x20
,
0x82
,
0x00
,
0x5E
,
0xF7
,
0xA0
,
0xEB
,
0xC0
,
0x00
,
0x7E
,
0xE0
,
0x00
,
0x7E
,
0xE0
,
0x00
,
0x41
,
0x04
,
0x00
,
0x5C
,
0x63
,
0xA0
,
0x7B
,
0x80
,
0x00
,
0x3D
,
0xC0
,
0x00
,
0x39
,
0xC0
,
0x00
,
0x82
,
0x08
,
0x00
,
0x58
,
0x01
,
0xA0
,
0x7B
,
0x80
,
0x00
,
0x3B
,
0xC0
,
0x00
,
0x3E
,
0xC0
,
0x01
,
0x04
,
0x10
,
0x00
,
0x40
,
0x60
,
0x20
,
0xFB
,
0xC0
,
0x00
,
0x77
,
0xE0
,
0x00
,
0x76
,
0xE0
,
0x01
,
0x04
,
0x10
,
0x00
,
0x40
,
0xF0
,
0x20
,
0xFB
,
0xC0
,
0x00
,
0x70
,
0xE0
,
0x00
,
0x79
,
0xE0
,
0x00
,
0x82
,
0x08
,
0x00
,
0x41
,
0xF8
,
0x20
,
0xFF
,
0xC0
,
0x00
,
0x7F
,
0xE0
,
0x00
,
0x7F
,
0xE0
,
0x00
,
0x41
,
0x04
,
0x00
,
0x61
,
0xF8
,
0x60
,
0x3F
,
0x00
,
0x00
,
0x1F
,
0x80
,
0x00
,
0x1F
,
0x80
,
0x00
,
0x00
,
0x00
,
0x00
,
0x70
,
0x00
,
0xE0
,
0x1E
,
0x00
,
0x00
,
0x0F
,
0x00
,
0x00
,
0x0F
,
0x00
,
0x01
,
0xFF
,
0xFF
,
0x80
,
0x7F
,
0xFF
,
0xE0
,
0x0C
,
0x00
,
0x00
,
0x06
,
0x00
,
0x00
,
0x06
,
0x00
,
0x01
,
0xFF
,
0xFF
,
0x80
,
0x00
,
0x00
,
0x00
};
#endif // Extruders
MarlinKimbra/dogm_lcd_implementation.h
View file @
27cbf4f3
...
@@ -16,8 +16,8 @@
...
@@ -16,8 +16,8 @@
#define ULTRA_LCD_IMPLEMENTATION_DOGM_H
#define ULTRA_LCD_IMPLEMENTATION_DOGM_H
/**
/**
* Implementation of the LCD display routines for a DOGM128 graphic display. These are common LCD 128x64 pixel graphic displays.
* Implementation of the LCD display routines for a DOGM128 graphic display. These are common LCD 128x64 pixel graphic displays.
**/
**/
#ifdef ULTIPANEL
#ifdef ULTIPANEL
#define BLEN_A 0
#define BLEN_A 0
...
@@ -41,15 +41,15 @@
...
@@ -41,15 +41,15 @@
/* Russian language not supported yet, needs custom font
/* Russian language not supported yet, needs custom font
#if LANGUAGE_CHOICE == 6
#if LANGUAGE_CHOICE == 6
#include "LiquidCrystalRus.h"
#include "LiquidCrystalRus.h"
#define LCD_CLASS LiquidCrystalRus
#define LCD_CLASS LiquidCrystalRus
#else
#else
#include <LiquidCrystal.h>
#include <LiquidCrystal.h>
#define LCD_CLASS LiquidCrystal
#define LCD_CLASS LiquidCrystal
#endif
#endif
*/
*/
// DOGM parameters (size in pixels)
// DOGM parameters (size in pixels)
#define DOG_CHAR_WIDTH 6
#define DOG_CHAR_WIDTH 6
...
@@ -91,339 +91,328 @@ U8GLIB_DOGM128 u8g(DOGLCD_CS, DOGLCD_A0); // HW-SPI Com: CS, A0
...
@@ -91,339 +91,328 @@ U8GLIB_DOGM128 u8g(DOGLCD_CS, DOGLCD_A0); // HW-SPI Com: CS, A0
static
void
lcd_implementation_init
()
static
void
lcd_implementation_init
()
{
{
#ifdef LCD_PIN_BL
#ifdef LCD_PIN_BL
pinMode
(
LCD_PIN_BL
,
OUTPUT
);
// Enable LCD backlight
pinMode
(
LCD_PIN_BL
,
OUTPUT
);
// Enable LCD backlight
digitalWrite
(
LCD_PIN_BL
,
HIGH
);
digitalWrite
(
LCD_PIN_BL
,
HIGH
);
#endif
#endif
u8g
.
setContrast
(
lcd_contrast
);
u8g
.
setContrast
(
lcd_contrast
);
// Uncomment this if you have the first generation (V1.10) of STBs board
// Uncomment this if you have the first generation (V1.10) of STBs board
// pinMode(17, OUTPUT); // Enable LCD backlight
// pinMode(17, OUTPUT); // Enable LCD backlight
// digitalWrite(17, HIGH);
// digitalWrite(17, HIGH);
u8g
.
firstPage
();
u8g
.
firstPage
();
do
{
do
{
u8g
.
setFont
(
u8g_font_6x10_marlin
);
u8g
.
setFont
(
u8g_font_6x10_marlin
);
u8g
.
setColorIndex
(
1
);
u8g
.
setColorIndex
(
1
);
u8g
.
drawBox
(
0
,
0
,
u8g
.
getWidth
(),
u8g
.
getHeight
());
u8g
.
drawBox
(
0
,
0
,
u8g
.
getWidth
(),
u8g
.
getHeight
());
u8g
.
setColorIndex
(
1
);
u8g
.
setColorIndex
(
1
);
}
}
while
(
u8g
.
nextPage
()
);
while
(
u8g
.
nextPage
()
);
#ifdef LCD_SCREEN_ROT_90
#ifdef LCD_SCREEN_ROT_90
u8g
.
setRot90
();
// Rotate screen by 90°
u8g
.
setRot90
();
// Rotate screen by 90°
#endif
#endif
#ifdef LCD_SCREEN_ROT_180
#ifdef LCD_SCREEN_ROT_180
u8g
.
setRot180
();
// Rotate screen by 180°
u8g
.
setRot180
();
// Rotate screen by 180°
#endif
#endif
#ifdef LCD_SCREEN_ROT_270
#ifdef LCD_SCREEN_ROT_270
u8g
.
setRot270
();
// Rotate screen by 270°
u8g
.
setRot270
();
// Rotate screen by 270°
#endif
#endif
u8g
.
firstPage
();
u8g
.
firstPage
();
do
{
do
{
// RepRap init bmp
// RepRap init bmp
u8g
.
drawBitmapP
(
0
,
0
,
START_BMPBYTEWIDTH
,
START_BMPHEIGHT
,
start_bmp
);
u8g
.
drawBitmapP
(
0
,
0
,
START_BMPBYTEWIDTH
,
START_BMPHEIGHT
,
start_bmp
);
// Welcome message
// Welcome message
u8g
.
setFont
(
u8g_font_6x10_marlin
);
u8g
.
setFont
(
u8g_font_6x10_marlin
);
u8g
.
drawStr
(
62
,
10
,
"MARLIN"
);
u8g
.
drawStr
(
62
,
10
,
"MARLIN"
);
u8g
.
setFont
(
u8g_font_5x8
);
u8g
.
setFont
(
u8g_font_5x8
);
u8g
.
drawStr
(
62
,
19
,
"V1.0.0 RC2-mm"
);
u8g
.
drawStr
(
62
,
19
,
"V1.0.0 RC2-mm"
);
u8g
.
setFont
(
u8g_font_6x10_marlin
);
u8g
.
setFont
(
u8g_font_6x10_marlin
);
u8g
.
drawStr
(
62
,
28
,
"by ErikZalm"
);
u8g
.
drawStr
(
62
,
28
,
"by ErikZalm"
);
u8g
.
drawStr
(
62
,
41
,
"DOGM128 LCD"
);
u8g
.
drawStr
(
62
,
41
,
"DOGM128 LCD"
);
u8g
.
setFont
(
u8g_font_5x8
);
u8g
.
setFont
(
u8g_font_5x8
);
u8g
.
drawStr
(
62
,
48
,
"enhancements"
);
u8g
.
drawStr
(
62
,
48
,
"enhancements"
);
u8g
.
setFont
(
u8g_font_5x8
);
u8g
.
setFont
(
u8g_font_5x8
);
u8g
.
drawStr
(
62
,
55
,
"by STB, MM"
);
u8g
.
drawStr
(
62
,
55
,
"by STB, MM"
);
u8g
.
drawStr
(
62
,
61
,
"uses u"
);
u8g
.
drawStr
(
62
,
61
,
"uses u"
);
u8g
.
drawStr90
(
92
,
57
,
"8"
);
u8g
.
drawStr90
(
92
,
57
,
"8"
);
u8g
.
drawStr
(
100
,
61
,
"glib"
);
u8g
.
drawStr
(
100
,
61
,
"glib"
);
}
}
while
(
u8g
.
nextPage
()
);
while
(
u8g
.
nextPage
()
);
}
}
static
void
lcd_implementation_clear
()
static
void
lcd_implementation_clear
()
{
{
// NO NEED TO IMPLEMENT LIKE SO. Picture loop automatically clears the display.
// NO NEED TO IMPLEMENT LIKE SO. Picture loop automatically clears the display.
//
//
// Check this article: http://arduino.cc/forum/index.php?topic=91395.25;wap2
// Check this article: http://arduino.cc/forum/index.php?topic=91395.25;wap2
//
//
// u8g.firstPage();
// u8g.firstPage();
// do {
// do {
// u8g.setColorIndex(0);
// u8g.setColorIndex(0);
// u8g.drawBox (0, 0, u8g.getWidth(), u8g.getHeight());
// u8g.drawBox (0, 0, u8g.getWidth(), u8g.getHeight());
// u8g.setColorIndex(1);
// u8g.setColorIndex(1);
// } while( u8g.nextPage() );
// } while( u8g.nextPage() );
}
}
/* Arduino < 1.0.0 is missing a function to print PROGMEM strings, so we need to implement our own */
/* Arduino < 1.0.0 is missing a function to print PROGMEM strings, so we need to implement our own */
static
void
lcd_printPGM
(
const
char
*
str
)
static
void
lcd_printPGM
(
const
char
*
str
)
{
{
char
c
;
char
c
;
while
((
c
=
pgm_read_byte
(
str
++
))
!=
'\0'
)
while
((
c
=
pgm_read_byte
(
str
++
))
!=
'\0'
)
{
{
u8g
.
print
(
c
);
u8g
.
print
(
c
);
}
}
}
}
static
void
lcd_implementation_status_screen
()
static
void
lcd_implementation_status_screen
()
{
{
static
unsigned
char
fan_rot
=
0
;
static
unsigned
char
fan_rot
=
0
;
u8g
.
setColorIndex
(
1
);
// black on white
u8g
.
setColorIndex
(
1
);
// black on white
// Symbols menu graphics, animated fan
// Symbols menu graphics, animated fan
if
((
blink
%
2
)
&&
fanSpeed
)
u8g
.
drawBitmapP
(
9
,
1
,
STATUS_SCREENBYTEWIDTH
,
STATUS_SCREENHEIGHT
,
status_screen0_bmp
);
if
((
blink
%
2
)
&&
fanSpeed
)
u8g
.
drawBitmapP
(
9
,
1
,
STATUS_SCREENBYTEWIDTH
,
STATUS_SCREENHEIGHT
,
status_screen0_bmp
);
else
u8g
.
drawBitmapP
(
9
,
1
,
STATUS_SCREENBYTEWIDTH
,
STATUS_SCREENHEIGHT
,
status_screen1_bmp
);
else
u8g
.
drawBitmapP
(
9
,
1
,
STATUS_SCREENBYTEWIDTH
,
STATUS_SCREENHEIGHT
,
status_screen1_bmp
);
#ifdef SDSUPPORT
#ifdef SDSUPPORT
//SD Card Symbol
//SD Card Symbol
u8g
.
drawBox
(
42
,
42
,
8
,
7
);
u8g
.
drawBox
(
42
,
42
,
8
,
7
);
u8g
.
drawBox
(
50
,
44
,
2
,
5
);
u8g
.
drawBox
(
50
,
44
,
2
,
5
);
u8g
.
drawFrame
(
42
,
49
,
10
,
4
);
u8g
.
drawFrame
(
42
,
49
,
10
,
4
);
u8g
.
drawPixel
(
50
,
43
);
u8g
.
drawPixel
(
50
,
43
);
// Progress bar
// Progress bar
u8g
.
drawFrame
(
54
,
49
,
73
,
4
);
u8g
.
drawFrame
(
54
,
49
,
73
,
4
);
// SD Card Progress bar and clock
// SD Card Progress bar and clock
u8g
.
setFont
(
FONT_STATUSMENU
);
u8g
.
setFont
(
FONT_STATUSMENU
);
if
(
IS_SD_PRINTING
)
if
(
IS_SD_PRINTING
)
{
{
// Progress bar
// Progress bar
u8g
.
drawBox
(
55
,
50
,
(
unsigned
int
)(
(
71
*
card
.
percentDone
())
/
100
)
,
2
);
u8g
.
drawBox
(
55
,
50
,
(
unsigned
int
)(
(
71
*
card
.
percentDone
())
/
100
)
,
2
);
}
}
else
{
else
{
// do nothing
// do nothing
}
}
u8g
.
setPrintPos
(
80
,
47
);
u8g
.
setPrintPos
(
80
,
47
);
if
(
starttime
!=
0
)
if
(
starttime
!=
0
)
{
{
uint16_t
time
=
millis
()
/
60000
-
starttime
/
60000
;
uint16_t
time
=
millis
()
/
60000
-
starttime
/
60000
;
u8g
.
print
(
itostr2
(
time
/
60
));
u8g
.
print
(
itostr2
(
time
/
60
));
u8g
.
print
(
':'
);
u8g
.
print
(
':'
);
u8g
.
print
(
itostr2
(
time
%
60
));
u8g
.
print
(
itostr2
(
time
%
60
));
}
}
else
{
else
{
lcd_printPGM
(
PSTR
(
"--:--"
));
lcd_printPGM
(
PSTR
(
"--:--"
));
}
}
#endif
#endif
// Extruder 1
// Extruder 1
u8g
.
setFont
(
FONT_STATUSMENU
);
u8g
.
setFont
(
FONT_STATUSMENU
);
u8g
.
setPrintPos
(
6
,
6
);
u8g
.
setPrintPos
(
6
,
6
);
u8g
.
print
(
itostr3
(
int
(
degTargetHotend
(
0
)
+
0
.
5
)));
u8g
.
print
(
itostr3
(
int
(
degTargetHotend
(
0
)
+
0
.
5
)));
lcd_printPGM
(
PSTR
(
LCD_STR_DEGREE
" "
));
lcd_printPGM
(
PSTR
(
LCD_STR_DEGREE
" "
));
u8g
.
setPrintPos
(
6
,
27
);
u8g
.
setPrintPos
(
6
,
27
);
u8g
.
print
(
itostr3
(
int
(
degHotend
(
0
)
+
0
.
5
)));
u8g
.
print
(
itostr3
(
int
(
degHotend
(
0
)
+
0
.
5
)));
lcd_printPGM
(
PSTR
(
LCD_STR_DEGREE
" "
));
lcd_printPGM
(
PSTR
(
LCD_STR_DEGREE
" "
));
if
(
!
isHeatingHotend
(
0
))
u8g
.
drawBox
(
13
,
17
,
2
,
2
);
if
(
!
isHeatingHotend
(
0
))
u8g
.
drawBox
(
13
,
17
,
2
,
2
);
else
else
{
{
u8g
.
setColorIndex
(
0
);
// white on black
u8g
.
setColorIndex
(
0
);
// white on black
u8g
.
drawBox
(
13
,
17
,
2
,
2
);
u8g
.
drawBox
(
13
,
17
,
2
,
2
);
u8g
.
setColorIndex
(
1
);
// black on white
u8g
.
setColorIndex
(
1
);
// black on white
}
}
// Extruder 2
// Extruder 2
u8g
.
setFont
(
FONT_STATUSMENU
);
u8g
.
setFont
(
FONT_STATUSMENU
);
#if EXTRUDERS > 1
#if EXTRUDERS > 1
u8g
.
setPrintPos
(
31
,
6
);
u8g
.
setPrintPos
(
31
,
6
);
u8g
.
print
(
itostr3
(
int
(
degTargetHotend
(
1
)
+
0
.
5
)));
u8g
.
print
(
itostr3
(
int
(
degTargetHotend
(
1
)
+
0
.
5
)));
lcd_printPGM
(
PSTR
(
LCD_STR_DEGREE
" "
));
lcd_printPGM
(
PSTR
(
LCD_STR_DEGREE
" "
));
u8g
.
setPrintPos
(
31
,
27
);
u8g
.
setPrintPos
(
31
,
27
);
u8g
.
print
(
itostr3
(
int
(
degHotend
(
1
)
+
0
.
5
)));
u8g
.
print
(
itostr3
(
int
(
degHotend
(
1
)
+
0
.
5
)));
lcd_printPGM
(
PSTR
(
LCD_STR_DEGREE
" "
));
lcd_printPGM
(
PSTR
(
LCD_STR_DEGREE
" "
));
if
(
!
isHeatingHotend
(
1
))
u8g
.
drawBox
(
38
,
17
,
2
,
2
);
if
(
!
isHeatingHotend
(
1
))
u8g
.
drawBox
(
38
,
17
,
2
,
2
);
else
else
{
{
u8g
.
setColorIndex
(
0
);
// white on black
u8g
.
setColorIndex
(
0
);
// white on black
u8g
.
drawBox
(
38
,
17
,
2
,
2
);
u8g
.
drawBox
(
38
,
17
,
2
,
2
);
u8g
.
setColorIndex
(
1
);
// black on white
u8g
.
setColorIndex
(
1
);
// black on white
}
}
#endif
#else
u8g
.
setPrintPos
(
31
,
27
);
// Extruder 3
u8g
.
print
(
"---"
);
u8g
.
setFont
(
FONT_STATUSMENU
);
#endif
# if EXTRUDERS > 2
u8g
.
setPrintPos
(
55
,
6
);
// Extruder 3
u8g
.
print
(
itostr3
(
int
(
degTargetHotend
(
2
)
+
0
.
5
)));
u8g
.
setFont
(
FONT_STATUSMENU
);
lcd_printPGM
(
PSTR
(
LCD_STR_DEGREE
" "
));
# if EXTRUDERS > 2
u8g
.
setPrintPos
(
55
,
27
);
u8g
.
setPrintPos
(
55
,
6
);
u8g
.
print
(
itostr3
(
int
(
degHotend
(
2
)
+
0
.
5
)));
u8g
.
print
(
itostr3
(
int
(
degTargetHotend
(
2
)
+
0
.
5
)));
lcd_printPGM
(
PSTR
(
LCD_STR_DEGREE
" "
));
lcd_printPGM
(
PSTR
(
LCD_STR_DEGREE
" "
));
if
(
!
isHeatingHotend
(
2
))
u8g
.
drawBox
(
62
,
17
,
2
,
2
);
u8g
.
setPrintPos
(
55
,
27
);
else
u8g
.
print
(
itostr3
(
int
(
degHotend
(
2
)
+
0
.
5
)));
{
lcd_printPGM
(
PSTR
(
LCD_STR_DEGREE
" "
));
u8g
.
setColorIndex
(
0
);
// white on black
if
(
!
isHeatingHotend
(
2
))
u8g
.
drawBox
(
62
,
17
,
2
,
2
);
u8g
.
drawBox
(
62
,
17
,
2
,
2
);
else
u8g
.
setColorIndex
(
1
);
// black on white
{
}
u8g
.
setColorIndex
(
0
);
// white on black
#endif
u8g
.
drawBox
(
62
,
17
,
2
,
2
);
u8g
.
setColorIndex
(
1
);
// black on white
// Heatbed
}
u8g
.
setFont
(
FONT_STATUSMENU
);
#else
u8g
.
setPrintPos
(
81
,
6
);
u8g
.
setPrintPos
(
55
,
27
);
u8g
.
print
(
itostr3
(
int
(
degTargetBed
()
+
0
.
5
)));
u8g
.
print
(
"---"
);
lcd_printPGM
(
PSTR
(
LCD_STR_DEGREE
" "
));
#endif
u8g
.
setPrintPos
(
81
,
27
);
u8g
.
print
(
itostr3
(
int
(
degBed
()
+
0
.
5
)));
// Heatbed
lcd_printPGM
(
PSTR
(
LCD_STR_DEGREE
" "
));
u8g
.
setFont
(
FONT_STATUSMENU
);
if
(
!
isHeatingBed
())
u8g
.
drawBox
(
88
,
18
,
2
,
2
);
u8g
.
setPrintPos
(
81
,
6
);
else
u8g
.
print
(
itostr3
(
int
(
degTargetBed
()
+
0
.
5
)));
{
lcd_printPGM
(
PSTR
(
LCD_STR_DEGREE
" "
));
u8g
.
setColorIndex
(
0
);
// white on black
u8g
.
setPrintPos
(
81
,
27
);
u8g
.
drawBox
(
88
,
18
,
2
,
2
);
u8g
.
print
(
itostr3
(
int
(
degBed
()
+
0
.
5
)));
u8g
.
setColorIndex
(
1
);
// black on white
lcd_printPGM
(
PSTR
(
LCD_STR_DEGREE
" "
));
}
if
(
!
isHeatingBed
())
u8g
.
drawBox
(
88
,
18
,
2
,
2
);
else
// Fan
{
u8g
.
setFont
(
FONT_STATUSMENU
);
u8g
.
setColorIndex
(
0
);
// white on black
u8g
.
setPrintPos
(
104
,
27
);
u8g
.
drawBox
(
88
,
18
,
2
,
2
);
#if defined(FAN_PIN) && FAN_PIN > -1
u8g
.
setColorIndex
(
1
);
// black on white
u8g
.
print
(
itostr3
(
int
((
fanSpeed
*
100
)
/
256
+
1
)));
}
u8g
.
print
(
"%"
);
#else
// Fan
u8g
.
print
(
"---"
);
u8g
.
setFont
(
FONT_STATUSMENU
);
#endif
u8g
.
setPrintPos
(
104
,
27
);
#if defined(FAN_PIN) && FAN_PIN > -1
u8g
.
print
(
itostr3
(
int
((
fanSpeed
*
100
)
/
256
+
1
)));
// X, Y, Z-Coordinates
u8g
.
print
(
"%"
);
u8g
.
setFont
(
FONT_STATUSMENU
);
#else
u8g
.
drawBox
(
0
,
29
,
128
,
10
);
u8g
.
print
(
"---"
);
u8g
.
setColorIndex
(
0
);
// white on black
#endif
u8g
.
setPrintPos
(
2
,
37
);
u8g
.
print
(
"X"
);
u8g
.
drawPixel
(
8
,
33
);
// X, Y, Z-Coordinates
u8g
.
drawPixel
(
8
,
35
);
u8g
.
setFont
(
FONT_STATUSMENU
);
u8g
.
setPrintPos
(
10
,
37
);
u8g
.
drawBox
(
0
,
29
,
128
,
10
);
u8g
.
print
(
ftostr31ns
(
current_position
[
X_AXIS
]));
u8g
.
setColorIndex
(
0
);
// white on black
u8g
.
setPrintPos
(
43
,
37
);
u8g
.
setPrintPos
(
2
,
37
);
lcd_printPGM
(
PSTR
(
"Y"
));
u8g
.
print
(
"X"
);
u8g
.
drawPixel
(
49
,
33
);
u8g
.
drawPixel
(
8
,
33
);
u8g
.
drawPixel
(
49
,
35
);
u8g
.
drawPixel
(
8
,
35
);
u8g
.
setPrintPos
(
51
,
37
);
u8g
.
setPrintPos
(
10
,
37
);
u8g
.
print
(
ftostr31ns
(
current_position
[
Y_AXIS
]));
u8g
.
print
(
ftostr31ns
(
current_position
[
X_AXIS
]));
u8g
.
setPrintPos
(
83
,
37
);
u8g
.
setPrintPos
(
43
,
37
);
u8g
.
print
(
"Z"
);
lcd_printPGM
(
PSTR
(
"Y"
));
u8g
.
drawPixel
(
89
,
33
);
u8g
.
drawPixel
(
49
,
33
);
u8g
.
drawPixel
(
89
,
35
);
u8g
.
drawPixel
(
49
,
35
);
u8g
.
setPrintPos
(
91
,
37
);
u8g
.
setPrintPos
(
51
,
37
);
u8g
.
print
(
ftostr31
(
current_position
[
Z_AXIS
]));
u8g
.
print
(
ftostr31ns
(
current_position
[
Y_AXIS
]));
u8g
.
setColorIndex
(
1
);
// black on white
u8g
.
setPrintPos
(
83
,
37
);
u8g
.
print
(
"Z"
);
// Feedrate
u8g
.
drawPixel
(
89
,
33
);
u8g
.
setFont
(
u8g_font_6x10_marlin
);
u8g
.
drawPixel
(
89
,
35
);
u8g
.
setPrintPos
(
3
,
49
);
u8g
.
setPrintPos
(
91
,
37
);
u8g
.
print
(
LCD_STR_FEEDRATE
[
0
]);
u8g
.
print
(
ftostr31
(
current_position
[
Z_AXIS
]));
u8g
.
setFont
(
FONT_STATUSMENU
);
u8g
.
setColorIndex
(
1
);
// black on white
u8g
.
setPrintPos
(
12
,
48
);
u8g
.
print
(
itostr3
(
feedmultiply
));
// Feedrate
u8g
.
print
(
'%'
);
u8g
.
setFont
(
u8g_font_6x10_marlin
);
u8g
.
setPrintPos
(
3
,
49
);
// Status line
u8g
.
print
(
LCD_STR_FEEDRATE
[
0
]);
u8g
.
setFont
(
FONT_STATUSMENU
);
u8g
.
setFont
(
FONT_STATUSMENU
);
u8g
.
setPrintPos
(
0
,
61
);
u8g
.
setPrintPos
(
12
,
48
);
u8g
.
print
(
lcd_status_message
);
u8g
.
print
(
itostr3
(
feedmultiply
));
u8g
.
print
(
'%'
);
// Status line
u8g
.
setFont
(
FONT_STATUSMENU
);
u8g
.
setPrintPos
(
0
,
61
);
u8g
.
print
(
lcd_status_message
);
}
}
static
void
lcd_implementation_drawmenu_generic
(
uint8_t
row
,
const
char
*
pstr
,
char
pre_char
,
char
post_char
)
static
void
lcd_implementation_drawmenu_generic
(
uint8_t
row
,
const
char
*
pstr
,
char
pre_char
,
char
post_char
)
{
{
char
c
;
char
c
;
uint8_t
n
=
LCD_WIDTH
-
1
-
2
;
uint8_t
n
=
LCD_WIDTH
-
1
-
2
;
if
((
pre_char
==
'>'
)
||
(
pre_char
==
LCD_STR_UPLEVEL
[
0
]
))
if
((
pre_char
==
'>'
)
||
(
pre_char
==
LCD_STR_UPLEVEL
[
0
]
))
{
{
u8g
.
setColorIndex
(
1
);
// black on white
u8g
.
setColorIndex
(
1
);
// black on white
u8g
.
drawBox
(
0
,
row
*
DOG_CHAR_HEIGHT
+
3
,
128
,
DOG_CHAR_HEIGHT
);
u8g
.
drawBox
(
0
,
row
*
DOG_CHAR_HEIGHT
+
3
,
128
,
DOG_CHAR_HEIGHT
);
u8g
.
setColorIndex
(
0
);
// following text must be white on black
u8g
.
setColorIndex
(
0
);
// following text must be white on black
}
}
else
u8g
.
setColorIndex
(
1
);
// unmarked text is black on white
else
u8g
.
setColorIndex
(
1
);
// unmarked text is black on white
u8g
.
setPrintPos
(
0
*
DOG_CHAR_WIDTH
,
(
row
+
1
)
*
DOG_CHAR_HEIGHT
);
u8g
.
setPrintPos
(
0
*
DOG_CHAR_WIDTH
,
(
row
+
1
)
*
DOG_CHAR_HEIGHT
);
if
(
pre_char
!=
'>'
)
u8g
.
print
(
pre_char
);
else
u8g
.
print
(
' '
);
// Row selector is obsolete
if
(
pre_char
!=
'>'
)
u8g
.
print
(
pre_char
);
else
u8g
.
print
(
' '
);
// Row selector is obsolete
while
(
(
c
=
pgm_read_byte
(
pstr
))
!=
'\0'
)
{
while
(
(
c
=
pgm_read_byte
(
pstr
))
!=
'\0'
)
u8g
.
print
(
c
);
{
pstr
++
;
u8g
.
print
(
c
);
n
--
;
pstr
++
;
}
n
--
;
while
(
n
--
){
}
u8g
.
print
(
' '
);
while
(
n
--
){
}
u8g
.
print
(
' '
);
}
u8g
.
print
(
post_char
);
u8g
.
print
(
' '
);
u8g
.
print
(
post_char
);
u8g
.
setColorIndex
(
1
);
// restore settings to black on white
u8g
.
print
(
' '
);
u8g
.
setColorIndex
(
1
);
// restore settings to black on white
}
}
static
void
lcd_implementation_drawmenu_setting_edit_generic
(
uint8_t
row
,
const
char
*
pstr
,
char
pre_char
,
char
*
data
)
static
void
lcd_implementation_drawmenu_setting_edit_generic
(
uint8_t
row
,
const
char
*
pstr
,
char
pre_char
,
char
*
data
)
{
{
static
unsigned
int
fkt_cnt
=
0
;
static
unsigned
int
fkt_cnt
=
0
;
char
c
;
char
c
;
uint8_t
n
=
LCD_WIDTH
-
1
-
2
-
strlen
(
data
);
uint8_t
n
=
LCD_WIDTH
-
1
-
2
-
strlen
(
data
);
u8g
.
setPrintPos
(
0
*
DOG_CHAR_WIDTH
,
(
row
+
1
)
*
DOG_CHAR_HEIGHT
);
u8g
.
setPrintPos
(
0
*
DOG_CHAR_WIDTH
,
(
row
+
1
)
*
DOG_CHAR_HEIGHT
);
u8g
.
print
(
pre_char
);
u8g
.
print
(
pre_char
);
while
(
(
c
=
pgm_read_byte
(
pstr
))
!=
'\0'
)
while
(
(
c
=
pgm_read_byte
(
pstr
))
!=
'\0'
)
{
{
u8g
.
print
(
c
);
u8g
.
print
(
c
);
pstr
++
;
pstr
++
;
n
--
;
n
--
;
}
}
u8g
.
print
(
':'
);
u8g
.
print
(
':'
);
while
(
n
--
){
while
(
n
--
){
u8g
.
print
(
' '
);
u8g
.
print
(
' '
);
}
}
u8g
.
print
(
data
);
u8g
.
print
(
data
);
}
}
static
void
lcd_implementation_drawmenu_setting_edit_generic_P
(
uint8_t
row
,
const
char
*
pstr
,
char
pre_char
,
const
char
*
data
)
static
void
lcd_implementation_drawmenu_setting_edit_generic_P
(
uint8_t
row
,
const
char
*
pstr
,
char
pre_char
,
const
char
*
data
)
{
{
char
c
;
char
c
;
uint8_t
n
=
LCD_WIDTH
-
1
-
2
-
strlen_P
(
data
);
uint8_t
n
=
LCD_WIDTH
-
1
-
2
-
strlen_P
(
data
);
u8g
.
setPrintPos
(
0
*
DOG_CHAR_WIDTH
,
(
row
+
1
)
*
DOG_CHAR_HEIGHT
);
u8g
.
setPrintPos
(
0
*
DOG_CHAR_WIDTH
,
(
row
+
1
)
*
DOG_CHAR_HEIGHT
);
u8g
.
print
(
pre_char
);
u8g
.
print
(
pre_char
);
while
(
(
c
=
pgm_read_byte
(
pstr
))
!=
'\0'
)
while
(
(
c
=
pgm_read_byte
(
pstr
))
!=
'\0'
)
{
{
u8g
.
print
(
c
);
u8g
.
print
(
c
);
pstr
++
;
pstr
++
;
n
--
;
n
--
;
}
}
u8g
.
print
(
':'
);
u8g
.
print
(
':'
);
while
(
n
--
){
while
(
n
--
){
u8g
.
print
(
' '
);
u8g
.
print
(
' '
);
}
}
lcd_printPGM
(
data
);
lcd_printPGM
(
data
);
}
}
#define lcd_implementation_drawmenu_setting_edit_int3_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', itostr3(*(data)))
#define lcd_implementation_drawmenu_setting_edit_int3_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', itostr3(*(data)))
...
@@ -463,125 +452,125 @@ static void lcd_implementation_drawmenu_setting_edit_generic_P(uint8_t row, cons
...
@@ -463,125 +452,125 @@ static void lcd_implementation_drawmenu_setting_edit_generic_P(uint8_t row, cons
void
lcd_implementation_drawedit
(
const
char
*
pstr
,
char
*
value
)
void
lcd_implementation_drawedit
(
const
char
*
pstr
,
char
*
value
)
{
{
u8g
.
setPrintPos
(
0
*
DOG_CHAR_WIDTH_LARGE
,
(
u8g
.
getHeight
()
-
1
-
DOG_CHAR_HEIGHT_LARGE
)
-
(
1
*
DOG_CHAR_HEIGHT_LARGE
)
-
START_ROW
);
u8g
.
setPrintPos
(
0
*
DOG_CHAR_WIDTH_LARGE
,
(
u8g
.
getHeight
()
-
1
-
DOG_CHAR_HEIGHT_LARGE
)
-
(
1
*
DOG_CHAR_HEIGHT_LARGE
)
-
START_ROW
);
u8g
.
setFont
(
u8g_font_9x18
);
u8g
.
setFont
(
u8g_font_9x18
);
lcd_printPGM
(
pstr
);
lcd_printPGM
(
pstr
);
u8g
.
print
(
':'
);
u8g
.
print
(
':'
);
u8g
.
setPrintPos
((
14
-
strlen
(
value
))
*
DOG_CHAR_WIDTH_LARGE
,
(
u8g
.
getHeight
()
-
1
-
DOG_CHAR_HEIGHT_LARGE
)
-
(
1
*
DOG_CHAR_HEIGHT_LARGE
)
-
START_ROW
);
u8g
.
setPrintPos
((
14
-
strlen
(
value
))
*
DOG_CHAR_WIDTH_LARGE
,
(
u8g
.
getHeight
()
-
1
-
DOG_CHAR_HEIGHT_LARGE
)
-
(
1
*
DOG_CHAR_HEIGHT_LARGE
)
-
START_ROW
);
u8g
.
print
(
value
);
u8g
.
print
(
value
);
}
}
static
void
lcd_implementation_drawmenu_sdfile_selected
(
uint8_t
row
,
const
char
*
pstr
,
const
char
*
filename
,
char
*
longFilename
)
static
void
lcd_implementation_drawmenu_sdfile_selected
(
uint8_t
row
,
const
char
*
pstr
,
const
char
*
filename
,
char
*
longFilename
)
{
{
char
c
;
char
c
;
uint8_t
n
=
LCD_WIDTH
-
1
;
uint8_t
n
=
LCD_WIDTH
-
1
;
if
(
longFilename
[
0
]
!=
'\0'
)
if
(
longFilename
[
0
]
!=
'\0'
)
{
{
filename
=
longFilename
;
filename
=
longFilename
;
longFilename
[
LCD_WIDTH
-
1
]
=
'\0'
;
longFilename
[
LCD_WIDTH
-
1
]
=
'\0'
;
}
}
u8g
.
setColorIndex
(
1
);
// black on white
u8g
.
setColorIndex
(
1
);
// black on white
u8g
.
drawBox
(
0
,
row
*
DOG_CHAR_HEIGHT
+
3
,
128
,
DOG_CHAR_HEIGHT
);
u8g
.
drawBox
(
0
,
row
*
DOG_CHAR_HEIGHT
+
3
,
128
,
DOG_CHAR_HEIGHT
);
u8g
.
setColorIndex
(
0
);
// following text must be white on black
u8g
.
setColorIndex
(
0
);
// following text must be white on black
u8g
.
setPrintPos
(
0
*
DOG_CHAR_WIDTH
,
(
row
+
1
)
*
DOG_CHAR_HEIGHT
);
u8g
.
setPrintPos
(
0
*
DOG_CHAR_WIDTH
,
(
row
+
1
)
*
DOG_CHAR_HEIGHT
);
u8g
.
print
(
' '
);
// Indent by 1 char
u8g
.
print
(
' '
);
// Indent by 1 char
while
((
c
=
*
filename
)
!=
'\0'
)
while
((
c
=
*
filename
)
!=
'\0'
)
{
{
u8g
.
print
(
c
);
u8g
.
print
(
c
);
filename
++
;
filename
++
;
n
--
;
n
--
;
}
}
while
(
n
--
){
while
(
n
--
){
u8g
.
print
(
' '
);
u8g
.
print
(
' '
);
}
}
u8g
.
setColorIndex
(
1
);
// black on white
u8g
.
setColorIndex
(
1
);
// black on white
}
}
static
void
lcd_implementation_drawmenu_sdfile
(
uint8_t
row
,
const
char
*
pstr
,
const
char
*
filename
,
char
*
longFilename
)
static
void
lcd_implementation_drawmenu_sdfile
(
uint8_t
row
,
const
char
*
pstr
,
const
char
*
filename
,
char
*
longFilename
)
{
{
char
c
;
char
c
;
uint8_t
n
=
LCD_WIDTH
-
1
;
uint8_t
n
=
LCD_WIDTH
-
1
;
if
(
longFilename
[
0
]
!=
'\0'
)
if
(
longFilename
[
0
]
!=
'\0'
)
{
{
filename
=
longFilename
;
filename
=
longFilename
;
longFilename
[
LCD_WIDTH
-
1
]
=
'\0'
;
longFilename
[
LCD_WIDTH
-
1
]
=
'\0'
;
}
}
u8g
.
setPrintPos
(
0
*
DOG_CHAR_WIDTH
,
(
row
+
1
)
*
DOG_CHAR_HEIGHT
);
u8g
.
setPrintPos
(
0
*
DOG_CHAR_WIDTH
,
(
row
+
1
)
*
DOG_CHAR_HEIGHT
);
u8g
.
print
(
' '
);
u8g
.
print
(
' '
);
while
((
c
=
*
filename
)
!=
'\0'
)
while
((
c
=
*
filename
)
!=
'\0'
)
{
{
u8g
.
print
(
c
);
u8g
.
print
(
c
);
filename
++
;
filename
++
;
n
--
;
n
--
;
}
}
while
(
n
--
){
while
(
n
--
){
u8g
.
print
(
' '
);
u8g
.
print
(
' '
);
}
}
}
}
static
void
lcd_implementation_drawmenu_sddirectory_selected
(
uint8_t
row
,
const
char
*
pstr
,
const
char
*
filename
,
char
*
longFilename
)
static
void
lcd_implementation_drawmenu_sddirectory_selected
(
uint8_t
row
,
const
char
*
pstr
,
const
char
*
filename
,
char
*
longFilename
)
{
{
char
c
;
char
c
;
uint8_t
n
=
LCD_WIDTH
-
2
;
uint8_t
n
=
LCD_WIDTH
-
2
;
if
(
longFilename
[
0
]
!=
'\0'
)
if
(
longFilename
[
0
]
!=
'\0'
)
{
{
filename
=
longFilename
;
filename
=
longFilename
;
longFilename
[
LCD_WIDTH
-
2
]
=
'\0'
;
longFilename
[
LCD_WIDTH
-
2
]
=
'\0'
;
}
}
u8g
.
setColorIndex
(
1
);
// black on white
u8g
.
setColorIndex
(
1
);
// black on white
u8g
.
drawBox
(
0
,
row
*
DOG_CHAR_HEIGHT
+
3
,
128
,
DOG_CHAR_HEIGHT
);
u8g
.
drawBox
(
0
,
row
*
DOG_CHAR_HEIGHT
+
3
,
128
,
DOG_CHAR_HEIGHT
);
u8g
.
setColorIndex
(
0
);
// following text must be white on black
u8g
.
setColorIndex
(
0
);
// following text must be white on black
u8g
.
setPrintPos
(
0
*
DOG_CHAR_WIDTH
,
(
row
+
1
)
*
DOG_CHAR_HEIGHT
);
u8g
.
setPrintPos
(
0
*
DOG_CHAR_WIDTH
,
(
row
+
1
)
*
DOG_CHAR_HEIGHT
);
u8g
.
print
(
' '
);
// Indent by 1 char
u8g
.
print
(
' '
);
// Indent by 1 char
u8g
.
print
(
LCD_STR_FOLDER
[
0
]);
u8g
.
print
(
LCD_STR_FOLDER
[
0
]);
while
((
c
=
*
filename
)
!=
'\0'
)
while
((
c
=
*
filename
)
!=
'\0'
)
{
{
u8g
.
print
(
c
);
u8g
.
print
(
c
);
filename
++
;
filename
++
;
n
--
;
n
--
;
}
}
while
(
n
--
){
while
(
n
--
){
u8g
.
print
(
' '
);
u8g
.
print
(
' '
);
}
}
u8g
.
setColorIndex
(
1
);
// black on white
u8g
.
setColorIndex
(
1
);
// black on white
}
}
static
void
lcd_implementation_drawmenu_sddirectory
(
uint8_t
row
,
const
char
*
pstr
,
const
char
*
filename
,
char
*
longFilename
)
static
void
lcd_implementation_drawmenu_sddirectory
(
uint8_t
row
,
const
char
*
pstr
,
const
char
*
filename
,
char
*
longFilename
)
{
{
char
c
;
char
c
;
uint8_t
n
=
LCD_WIDTH
-
2
;
uint8_t
n
=
LCD_WIDTH
-
2
;
if
(
longFilename
[
0
]
!=
'\0'
)
if
(
longFilename
[
0
]
!=
'\0'
)
{
{
filename
=
longFilename
;
filename
=
longFilename
;
longFilename
[
LCD_WIDTH
-
2
]
=
'\0'
;
longFilename
[
LCD_WIDTH
-
2
]
=
'\0'
;
}
}
u8g
.
setPrintPos
(
0
*
DOG_CHAR_WIDTH
,
(
row
+
1
)
*
DOG_CHAR_HEIGHT
);
u8g
.
setPrintPos
(
0
*
DOG_CHAR_WIDTH
,
(
row
+
1
)
*
DOG_CHAR_HEIGHT
);
u8g
.
print
(
' '
);
u8g
.
print
(
' '
);
u8g
.
print
(
LCD_STR_FOLDER
[
0
]);
u8g
.
print
(
LCD_STR_FOLDER
[
0
]);
while
((
c
=
*
filename
)
!=
'\0'
)
while
((
c
=
*
filename
)
!=
'\0'
)
{
{
u8g
.
print
(
c
);
u8g
.
print
(
c
);
filename
++
;
filename
++
;
n
--
;
n
--
;
}
}
while
(
n
--
){
while
(
n
--
){
u8g
.
print
(
' '
);
u8g
.
print
(
' '
);
}
}
}
}
#define lcd_implementation_drawmenu_back_selected(row, pstr, data) lcd_implementation_drawmenu_generic(row, pstr, LCD_STR_UPLEVEL[0], LCD_STR_UPLEVEL[0])
#define lcd_implementation_drawmenu_back_selected(row, pstr, data) lcd_implementation_drawmenu_generic(row, pstr, LCD_STR_UPLEVEL[0], LCD_STR_UPLEVEL[0])
...
@@ -597,17 +586,16 @@ static void lcd_implementation_quick_feedback()
...
@@ -597,17 +586,16 @@ static void lcd_implementation_quick_feedback()
{
{
#if BEEPER > -1
#if BEEPER > -1
SET_OUTPUT
(
BEEPER
);
SET_OUTPUT
(
BEEPER
);
for
(
int8_t
i
=
0
;
i
<
10
;
i
++
)
for
(
int8_t
i
=
0
;
i
<
10
;
i
++
)
{
{
WRITE
(
BEEPER
,
HIGH
);
WRITE
(
BEEPER
,
HIGH
);
delay
(
3
);
delay
(
3
);
WRITE
(
BEEPER
,
LOW
);
WRITE
(
BEEPER
,
LOW
);
delay
(
3
);
delay
(
3
);
}
}
#endif
#endif
}
}
#endif//ULTRA_LCD_IMPLEMENTATION_DOGM_H
#endif//ULTRA_LCD_IMPLEMENTATION_DOGM_H
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