Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rework TFT Color UI layout #26077

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions Marlin/Configuration.h
Original file line number Diff line number Diff line change
@@ -3303,6 +3303,15 @@
*/
#define TFT_FONT NOTOSANS

/**
* TFT Theme for Color_UI. Choose one of the following or add a new one to 'Marlin/src/lcd/tft/themes' directory
*
* BLUE_MARLIN - Default theme with 'midnight blue' background
* BLACK_MARLIN - Theme with 'black' background
* ANET_BLACK - Theme used for Anet ET4/5
*/
#define TFT_THEME BLACK_MARLIN

//#define TFT_SHARED_IO // I/O is shared between TFT display and other devices. Disable async data transfer.
#endif

18 changes: 10 additions & 8 deletions Marlin/src/feature/runout.cpp
Original file line number Diff line number Diff line change
@@ -101,15 +101,16 @@ void event_filament_runout(const uint8_t extruder) {

const bool run_runout_script = !runout.host_handling;

const bool park_or_pause = (false
#ifdef FILAMENT_RUNOUT_SCRIPT
|| strstr(FILAMENT_RUNOUT_SCRIPT, "M600")
|| strstr(FILAMENT_RUNOUT_SCRIPT, "M125")
|| TERN0(ADVANCED_PAUSE_FEATURE, strstr(FILAMENT_RUNOUT_SCRIPT, "M25"))
#endif
);

#if ENABLED(HOST_ACTION_COMMANDS)

const bool park_or_pause = (false
#ifdef FILAMENT_RUNOUT_SCRIPT
|| strstr(FILAMENT_RUNOUT_SCRIPT, "M600")
|| strstr(FILAMENT_RUNOUT_SCRIPT, "M125")
|| TERN0(ADVANCED_PAUSE_FEATURE, strstr(FILAMENT_RUNOUT_SCRIPT, "M25"))
#endif
);

if (run_runout_script && park_or_pause) {
hostui.paused(false);
}
@@ -127,6 +128,7 @@ void event_filament_runout(const uint8_t extruder) {
SERIAL_ECHOPGM(" " ACTION_REASON_ON_FILAMENT_RUNOUT " ");
SERIAL_CHAR(tool);
SERIAL_EOL();

#endif // HOST_ACTION_COMMANDS

#ifdef FILAMENT_RUNOUT_SCRIPT
9 changes: 8 additions & 1 deletion Marlin/src/inc/Conditionals_LCD.h
Original file line number Diff line number Diff line change
@@ -1781,12 +1781,19 @@
#elif ANY(TFT_1024x600_LTDC, TFT_1024x600_SIM)
#define HAS_UI_1024x600 1
#endif
#if ANY(HAS_UI_320x240, HAS_UI_480x320, HAS_UI_480x272)

#if ANY(HAS_UI_320x240, HAS_UI_480x272)
#if ENABLED(TFT_COLOR_UI_PORTRAIT)
#define LCD_HEIGHT TERN(TOUCH_SCREEN, 8, 9) // Fewer lines with touch buttons onscreen
#else
#define LCD_HEIGHT TERN(TOUCH_SCREEN, 6, 7) // Fewer lines with touch buttons onscreen
#endif
#elif HAS_UI_480x320
#if ENABLED(TFT_COLOR_UI_PORTRAIT)
#define LCD_HEIGHT TERN(TOUCH_SCREEN, 9, 10) // Fewer lines with touch buttons onscreen
#else
#define LCD_HEIGHT TERN(TOUCH_SCREEN, 6, 7) // Fewer lines with touch buttons onscreen
#endif
#elif HAS_UI_1024x600
#define LCD_HEIGHT TERN(TOUCH_SCREEN, 12, 13) // Fewer lines with touch buttons onscreen
#endif
2 changes: 1 addition & 1 deletion Marlin/src/inc/Conditionals_adv.h
Original file line number Diff line number Diff line change
@@ -833,7 +833,7 @@
#define HAS_MEDIA_SUBCALLS 1
#endif

#if ANY(SHOW_PROGRESS_PERCENT, SHOW_ELAPSED_TIME, SHOW_REMAINING_TIME, SHOW_INTERACTION_TIME)
#if ANY(SHOW_PROGRESS_PERCENT, SHOW_ELAPSED_TIME, SHOW_REMAINING_TIME, SHOW_INTERACTION_TIME) && !HAS_GRAPHICAL_TFT
#define HAS_EXTRA_PROGRESS 1
#endif

44 changes: 22 additions & 22 deletions Marlin/src/lcd/dogm/fontdata/fontdata_ISO10646_1.h
Original file line number Diff line number Diff line change
@@ -25,17 +25,17 @@
#if defined(__AVR__) && ENABLED(NOT_EXTENDED_ISO10646_1_5X7)
// reduced font (only symbols 1 - 127) - saves about 1278 bytes of FLASH

/*
Fontname: -Marlin6x12-Fixed-Medium-R-SemiCondensed--12-90-100-100-C-111-ISO10646-1
Copyright: Public domain terminal emulator font. Share and enjoy. original font -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1
Capital A Height: 7, '1' Height: 7
Calculated Max Values w= 7 h=10 x= 5 y= 5 dx= 7 dy= 0 ascent= 8 len=10
Font Bounding box w=12 h=15 x= 0 y=-2
Calculated Min Values x= 0 y=-2 dx= 0 dy= 0
Pure Font ascent = 7 descent=-2
X Font ascent = 8 descent=-2
Max Font ascent = 8 descent=-2
*/
/**
* Fontname: -Marlin6x12-Fixed-Medium-R-SemiCondensed--12-90-100-100-C-111-ISO10646-1
* Copyright: Public domain terminal emulator font. Share and enjoy. original font -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1
* Capital A Height: 7, '1' Height: 7
* Calculated Max Values w= 7 h=10 x= 5 y= 5 dx= 7 dy= 0 ascent= 8 len=10
* Font Bounding box w=12 h=15 x= 0 y=-2
* Calculated Min Values x= 0 y=-2 dx= 0 dy= 0
* Pure Font ascent = 7 descent=-2
* X Font ascent = 8 descent=-2
* Max Font ascent = 8 descent=-2
*/
const u8g_fntpgm_uint8_t ISO10646_1_5x7[1324] U8G_FONT_SECTION("ISO10646_1_5x7") = {
0x00,0x0C,0x0F,0x00,0xFE,0x07,0x02,0x25,0x03,0xBB,0x01,0x7F,0xFE,0x08,0xFE,0x08,
0xFE,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0xF0,0xC8,0x88,0x88,0x98,0x78,0x10,0x05,
@@ -123,17 +123,17 @@ const u8g_fntpgm_uint8_t ISO10646_1_5x7[1324] U8G_FONT_SECTION("ISO10646_1_5x7")
#else
// extended (original) font (symbols 1 - 255)

/*
Fontname: -Marlin6x12-Fixed-Medium-R-SemiCondensed--12-90-100-100-C-111-ISO10646-1
Copyright: Public domain terminal emulator font. Share and enjoy. original font -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1
Capital A Height: 7, '1' Height: 7
Calculated Max Values w= 7 h=10 x= 5 y= 7 dx= 7 dy= 0 ascent=10 len=10
Font Bounding box w=12 h=15 x= 0 y=-2
Calculated Min Values x= 0 y=-2 dx= 0 dy= 0
Pure Font ascent = 7 descent=-2
X Font ascent = 8 descent=-2
Max Font ascent =10 descent=-2
*/
/**
* Fontname: -Marlin6x12-Fixed-Medium-R-SemiCondensed--12-90-100-100-C-111-ISO10646-1
* Copyright: Public domain terminal emulator font. Share and enjoy. original font -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1
* Capital A Height: 7, '1' Height: 7
* Calculated Max Values w= 7 h=10 x= 5 y= 7 dx= 7 dy= 0 ascent=10 len=10
* Font Bounding box w=12 h=15 x= 0 y=-2
* Calculated Min Values x= 0 y=-2 dx= 0 dy= 0
* Pure Font ascent = 7 descent=-2
* X Font ascent = 8 descent=-2
* Max Font ascent =10 descent=-2
*/
const u8g_fntpgm_uint8_t ISO10646_1_5x7[2647] U8G_FONT_SECTION("ISO10646_1_5x7") = {
0x00,0x0C,0x0F,0x00,0xFE,0x07,0x02,0x25,0x03,0xBB,0x01,0xFF,0xFE,0x0A,0xFE,0x08,
0xFE,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0xF0,0xC8,0x88,0x88,0x98,0x78,0x10,0x05,
1 change: 0 additions & 1 deletion Marlin/src/lcd/tft/canvas.h
Original file line number Diff line number Diff line change
@@ -21,7 +21,6 @@
*/
#pragma once

#include "tft_color.h"
#include "tft_string.h"
#include "tft_image.h"
#include "tft.h"
31 changes: 14 additions & 17 deletions Marlin/src/lcd/tft/fontdata/Helvetica/Helvetica_14.cpp
Original file line number Diff line number Diff line change
@@ -20,26 +20,23 @@
*
*/

/*
Fontname: Helvetica
Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
Capital A Height: 14, '1' Height: 13
Calculated Max Values w=16 h=18 x= 2 y=12 dx=18 dy= 0 ascent=16 len=36
Font Bounding box w=18 h=19 x= 0 y=-4
Calculated Min Values x= 0 y=-4 dx= 0 dy= 0
Pure Font ascent =14 descent=-4
X Font ascent =14 descent=-4
Max Font ascent =16 descent=-4
*/
/**
* Fontname: Helvetica
* Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
* Capital A Height: 14, '1' Height: 13
* Calculated Max Values w=16 h=18 x= 2 y=12 dx=18 dy= 0 ascent=16 len=36
* Font Bounding box w=18 h=19 x= 0 y=-4
* Calculated Min Values x= 0 y=-4 dx= 0 dy= 0
* Pure Font ascent =14 descent=-4
* X Font ascent =14 descent=-4
* Max Font ascent =16 descent=-4
*/

#include "../../../../inc/MarlinConfigPre.h"
#include "../fontdata.h"

#define HELVETICA 123
#if HAS_GRAPHICAL_TFT && TFT_FONT == HELVETICA

#include <stdint.h>

// Helvetica Symbols, capital 'A' heigth: 14px
// Helvetica Symbols, capital 'A' height: 14px
extern const uint8_t Helvetica_Symbols_14[43] = {
129,14,8,0,9,0,16,252, // unifont_t
// 0x08 - LCD_STR_THERMOMETER a.k.a 0x1f321 🌡
@@ -48,7 +45,7 @@ extern const uint8_t Helvetica_Symbols_14[43] = {
5,5,5,7,1,8,112,216,136,216,112,
};

// Helvetica, capital 'A' heigth: 14px
// Helvetica, capital 'A' height: 14px
extern const uint8_t Helvetica_14[4831] = {
129,14,32,0,255,0,16,252, // unifont_t
// 0x0020 " "
31 changes: 14 additions & 17 deletions Marlin/src/lcd/tft/fontdata/Helvetica/Helvetica_19.cpp
Original file line number Diff line number Diff line change
@@ -20,26 +20,23 @@
*
*/

/*
Fontname: -Adobe-Helvetica-Medium-R-Normal--25-180-100-100-P-130-ISO10646-1
Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
Capital A Height: 19, '1' Height: 18
Calculated Max Values w=22 h=24 x= 3 y=16 dx=25 dy= 0 ascent=24 len=69
Font Bounding box w=28 h=37 x=-3 y=-8
Calculated Min Values x=-1 y=-5 dx= 0 dy= 0
Pure Font ascent =19 descent=-5
X Font ascent =19 descent=-5
Max Font ascent =24 descent=-5
*/
/**
* Fontname: -Adobe-Helvetica-Medium-R-Normal--25-180-100-100-P-130-ISO10646-1
* Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
* Capital A Height: 19, '1' Height: 18
* Calculated Max Values w=22 h=24 x= 3 y=16 dx=25 dy= 0 ascent=24 len=69
* Font Bounding box w=28 h=37 x=-3 y=-8
* Calculated Min Values x=-1 y=-5 dx= 0 dy= 0
* Pure Font ascent =19 descent=-5
* X Font ascent =19 descent=-5
* Max Font ascent =24 descent=-5
*/

#include "../../../../inc/MarlinConfigPre.h"
#include "../fontdata.h"

#define HELVETICA 123
#if HAS_GRAPHICAL_TFT && TFT_FONT == HELVETICA

#include <stdint.h>

// Helvetica Symbols, capital 'A' heigth: 19px
// Helvetica Symbols, capital 'A' height: 19px
extern const uint8_t Helvetica_Symbols_19[45] = {
129,19,8,0,9,0,24,251, // unifont_t
// 0x08 - LCD_STR_THERMOMETER a.k.a 0x1f321 🌡
@@ -49,7 +46,7 @@ extern const uint8_t Helvetica_Symbols_19[45] = {
};


// Helvetica, capital 'A' heigth: 19px
// Helvetica, capital 'A' height: 19px
extern const uint8_t Helvetica_19[7298] = {
129,19,32,0,255,0,24,251, // unifont_t
// 0x0020 " "
Original file line number Diff line number Diff line change
@@ -20,14 +20,11 @@
*
*/

#include "../../../../../inc/MarlinConfigPre.h"
#include "../../fontdata.h"

#define NOTOSANS 123
#if HAS_GRAPHICAL_TFT && TFT_FONT == NOTOSANS

#include <stdint.h>

// NotoSans Medium 19pt, capital 'A' heigth: 14px, width: 100%, range: 0x0020-0x00ff
// NotoSans Medium 19pt, capital 'A' height: 14px, width: 100%, range: 0x0020-0x00ff
extern const uint8_t NotoSans_Medium_14[8358] = {
130,14,32,0,255,0,18,251, // unifont_t
// 0x0020 " "
Original file line number Diff line number Diff line change
@@ -20,14 +20,11 @@
*
*/

#include "../../../../../inc/MarlinConfigPre.h"
#include "../../fontdata.h"

#define NOTOSANS 123
#if HAS_GRAPHICAL_TFT && TFT_FONT == NOTOSANS

#include <stdint.h>

// NotoSans Medium ASCII 19pt, capital 'A' heigth: 14px, width: 100%, range: 0x0020-0x007e
// NotoSans Medium ASCII 19pt, capital 'A' height: 14px, width: 100%, range: 0x0020-0x007e
extern const uint8_t NotoSans_Medium_ASCII_14[3865] = {
130,14,32,0,126,0,18,251, // unifont_t
// 0x0020 " "
Original file line number Diff line number Diff line change
@@ -20,14 +20,11 @@
*
*/

#include "../../../../../inc/MarlinConfigPre.h"
#include "../../fontdata.h"

#define NOTOSANS 123
#if HAS_GRAPHICAL_TFT && TFT_FONT == NOTOSANS

#include <stdint.h>

// NotoSans Medium Cyrillic 19pt, capital 'A' heigth: 14px, width: 100%, range: 0x0401-0x0491, glyphs: 74
// NotoSans Medium Cyrillic 19pt, capital 'A' height: 14px, width: 100%, range: 0x0401-0x0491, glyphs: 74
extern const uint8_t NotoSans_Medium_Cyrillic_14[3616] = {
130,14,1,4,145,4,18,251, // unifont_t
// 0x0401 Ё
Original file line number Diff line number Diff line change
@@ -20,14 +20,11 @@
*
*/

#include "../../../../../inc/MarlinConfigPre.h"
#include "../../fontdata.h"

#define NOTOSANS 123
#if HAS_GRAPHICAL_TFT && TFT_FONT == NOTOSANS

#include <stdint.h>

// NotoSans Medium Greek 19pt, capital 'A' heigth: 14px, width: 100%, range: 0x0386-0x03ce, glyphs: 63
// NotoSans Medium Greek 19pt, capital 'A' height: 14px, width: 100%, range: 0x0386-0x03ce, glyphs: 63
extern const uint8_t NotoSans_Medium_Greek_14[3253] = {
130,14,134,3,206,3,18,251, // unifont_t
// 0x0386 Ά
Original file line number Diff line number Diff line change
@@ -20,14 +20,11 @@
*
*/

#include "../../../../../inc/MarlinConfigPre.h"
#include "../../fontdata.h"

#define NOTOSANS 123
#if HAS_GRAPHICAL_TFT && TFT_FONT == NOTOSANS

#include <stdint.h>

// NotoSans Medium Katakana 19pt, capital 'A' heigth: 14px, width: 100%, range: 0x30a0-0x8868, glyphs: 103
// NotoSans Medium Katakana 19pt, capital 'A' height: 14px, width: 100%, range: 0x30a0-0x8868, glyphs: 103
extern const uint8_t NotoSans_Medium_Katakana_14[7913] = {
162,14,160,48,104,136,18,251, // unifont_t
// 0x30a0 ゠
Original file line number Diff line number Diff line change
@@ -20,14 +20,11 @@
*
*/

#include "../../../../../inc/MarlinConfigPre.h"
#include "../../fontdata.h"

#define NOTOSANS 123
#if HAS_GRAPHICAL_TFT && TFT_FONT == NOTOSANS

#include <stdint.h>

// NotoSans Medium Korean 19pt, capital 'A' heigth: 14px, width: 100%, range: 0xac70-0xd788, glyphs: 110
// NotoSans Medium Korean 19pt, capital 'A' height: 14px, width: 100%, range: 0xac70-0xd788, glyphs: 110
extern const uint8_t NotoSans_Medium_Korean_14[8848] = {
162,14,112,172,136,215,18,251, // unifont_t
// 0xac70 거
Original file line number Diff line number Diff line change
@@ -20,14 +20,11 @@
*
*/

#include "../../../../../inc/MarlinConfigPre.h"
#include "../../fontdata.h"

#define NOTOSANS 123
#if HAS_GRAPHICAL_TFT && TFT_FONT == NOTOSANS

#include <stdint.h>

// NotoSans Medium Latin Extended-A 19pt, capital 'A' heigth: 14px, width: 100%, range: 0x0100-0x017f
// NotoSans Medium Latin Extended-A 19pt, capital 'A' height: 14px, width: 100%, range: 0x0100-0x017f
extern const uint8_t NotoSans_Medium_Latin_Extended_A_14[6668] = {
130,14,0,1,127,1,18,251, // unifont_t
// 0x0100 Ā
Original file line number Diff line number Diff line change
@@ -20,14 +20,11 @@
*
*/

#include "../../../../../inc/MarlinConfigPre.h"
#include "../../fontdata.h"

#define NOTOSANS 123
#if HAS_GRAPHICAL_TFT && TFT_FONT == NOTOSANS

#include <stdint.h>

// NotoSans Medium Simplified Chinese 19pt, capital 'A' heigth: 14px, width: 100%, range: 0x201c-0xff1a, glyphs: 373
// NotoSans Medium Simplified Chinese 19pt, capital 'A' height: 14px, width: 100%, range: 0x201c-0xff1a, glyphs: 373
extern const uint8_t NotoSans_Medium_Simplified_Chinese_14[37028] = {
162,14,28,32,26,255,18,251, // unifont_t
// 0x201c “
Loading