Touch UI fixes for Cocoa Press (#15847)
This commit is contained in:
parent
28e1614c2e
commit
5639b8ca20
|
@ -19,6 +19,9 @@ void sd_mmc_spi_mem_init() {
|
||||||
}
|
}
|
||||||
|
|
||||||
Ctrl_status sd_mmc_spi_test_unit_ready() {
|
Ctrl_status sd_mmc_spi_test_unit_ready() {
|
||||||
|
#if defined(DISABLE_DUE_SD_MMC)
|
||||||
|
return CTRL_NO_PRESENT;
|
||||||
|
#endif
|
||||||
if (!IS_SD_INSERTED() || IS_SD_PRINTING() || IS_SD_FILE_OPEN() || !card.isMounted())
|
if (!IS_SD_INSERTED() || IS_SD_PRINTING() || IS_SD_FILE_OPEN() || !card.isMounted())
|
||||||
return CTRL_NO_PRESENT;
|
return CTRL_NO_PRESENT;
|
||||||
return CTRL_GOOD;
|
return CTRL_GOOD;
|
||||||
|
@ -55,6 +58,9 @@ uint8_t sector_buf[SD_MMC_BLOCK_SIZE];
|
||||||
// #define DEBUG_MMC
|
// #define DEBUG_MMC
|
||||||
|
|
||||||
Ctrl_status sd_mmc_spi_usb_read_10(uint32_t addr, uint16_t nb_sector) {
|
Ctrl_status sd_mmc_spi_usb_read_10(uint32_t addr, uint16_t nb_sector) {
|
||||||
|
#if defined(DISABLE_DUE_SD_MMC)
|
||||||
|
return CTRL_NO_PRESENT;
|
||||||
|
#endif
|
||||||
if (!IS_SD_INSERTED() || IS_SD_PRINTING() || IS_SD_FILE_OPEN() || !card.isMounted())
|
if (!IS_SD_INSERTED() || IS_SD_PRINTING() || IS_SD_FILE_OPEN() || !card.isMounted())
|
||||||
return CTRL_NO_PRESENT;
|
return CTRL_NO_PRESENT;
|
||||||
|
|
||||||
|
@ -92,6 +98,9 @@ Ctrl_status sd_mmc_spi_usb_read_10(uint32_t addr, uint16_t nb_sector) {
|
||||||
}
|
}
|
||||||
|
|
||||||
Ctrl_status sd_mmc_spi_usb_write_10(uint32_t addr, uint16_t nb_sector) {
|
Ctrl_status sd_mmc_spi_usb_write_10(uint32_t addr, uint16_t nb_sector) {
|
||||||
|
#if defined(DISABLE_DUE_SD_MMC)
|
||||||
|
return CTRL_NO_PRESENT;
|
||||||
|
#endif
|
||||||
if (!IS_SD_INSERTED() || IS_SD_PRINTING() || IS_SD_FILE_OPEN() || !card.isMounted())
|
if (!IS_SD_INSERTED() || IS_SD_PRINTING() || IS_SD_FILE_OPEN() || !card.isMounted())
|
||||||
return CTRL_NO_PRESENT;
|
return CTRL_NO_PRESENT;
|
||||||
|
|
||||||
|
|
|
@ -598,8 +598,12 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
|
||||||
/**
|
/**
|
||||||
* Custom Boot and Status screens
|
* Custom Boot and Status screens
|
||||||
*/
|
*/
|
||||||
#if EITHER(SHOW_CUSTOM_BOOTSCREEN, CUSTOM_STATUS_SCREEN_IMAGE) && !HAS_GRAPHICAL_LCD
|
#if ENABLED(SHOW_CUSTOM_BOOTSCREEN) && !HAS_GRAPHICAL_LCD && !ENABLED(LULZBOT_TOUCH_UI)
|
||||||
#error "Graphical LCD is required for SHOW_CUSTOM_BOOTSCREEN and CUSTOM_STATUS_SCREEN_IMAGE."
|
#error "Graphical LCD is required for SHOW_CUSTOM_BOOTSCREEN."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if ENABLED(CUSTOM_STATUS_SCREEN_IMAGE) && !HAS_GRAPHICAL_LCD
|
||||||
|
#error "Graphical LCD is required for CUSTOM_STATUS_SCREEN_IMAGE."
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -68,7 +68,7 @@ class UIFlashStorage : private SPIFlash {
|
||||||
static void set_media_file_size(uint8_t slot, uint32_t size);
|
static void set_media_file_size(uint8_t slot, uint32_t size);
|
||||||
static uint32_t get_media_file_size(uint8_t slot);
|
static uint32_t get_media_file_size(uint8_t slot);
|
||||||
|
|
||||||
static constexpr uint32_t delimiter = 0x4C554C5A; // 'LULZ'
|
static constexpr uint32_t delimiter = 0x4D524C4E; // 'MRLN'
|
||||||
public:
|
public:
|
||||||
enum error_t {
|
enum error_t {
|
||||||
SUCCESS,
|
SUCCESS,
|
||||||
|
|
|
@ -1015,8 +1015,8 @@ template <class T> bool CLCD::CommandFifo::write(T data, uint16_t len) {
|
||||||
if (Command_Space < (len + padding)) {
|
if (Command_Space < (len + padding)) {
|
||||||
#if ENABLED(TOUCH_UI_DEBUG)
|
#if ENABLED(TOUCH_UI_DEBUG)
|
||||||
SERIAL_ECHO_START();
|
SERIAL_ECHO_START();
|
||||||
SERIAL_ECHOPAIR("Waiting for ", len + padding,
|
SERIAL_ECHOPAIR("Waiting for ", len + padding);
|
||||||
" bytes in command queue, now free: ", Command_Space);
|
SERIAL_ECHOLNPAIR(" bytes in command queue, now free: ", Command_Space);
|
||||||
#endif
|
#endif
|
||||||
do {
|
do {
|
||||||
Command_Space = mem_read_32(REG::CMDB_SPACE) & 0x0FFF;
|
Command_Space = mem_read_32(REG::CMDB_SPACE) & 0x0FFF;
|
||||||
|
|
|
@ -197,6 +197,7 @@
|
||||||
#define SERIAL_ECHO_START()
|
#define SERIAL_ECHO_START()
|
||||||
#define SERIAL_ECHOLNPGM(str) Serial.println(F(str))
|
#define SERIAL_ECHOLNPGM(str) Serial.println(F(str))
|
||||||
#define SERIAL_ECHOPGM(str) Serial.print(F(str))
|
#define SERIAL_ECHOPGM(str) Serial.print(F(str))
|
||||||
|
#define SERIAL_ECHO_MSG(str) Serial.println(str)
|
||||||
#define SERIAL_ECHOLNPAIR(str, val) {Serial.print(F(str)); Serial.println(val);}
|
#define SERIAL_ECHOLNPAIR(str, val) {Serial.print(F(str)); Serial.println(val);}
|
||||||
#define SERIAL_ECHOPAIR(str, val) {Serial.print(F(str)); Serial.print(val);}
|
#define SERIAL_ECHOPAIR(str, val) {Serial.print(F(str)); Serial.print(val);}
|
||||||
|
|
||||||
|
|
|
@ -129,15 +129,15 @@ bool DLCache::store(uint32_t num_bytes /* = 0*/) {
|
||||||
// Not enough memory to cache the display list.
|
// Not enough memory to cache the display list.
|
||||||
#if ENABLED(TOUCH_UI_DEBUG)
|
#if ENABLED(TOUCH_UI_DEBUG)
|
||||||
SERIAL_ECHO_START();
|
SERIAL_ECHO_START();
|
||||||
SERIAL_ECHOLNPAIR("Not enough space in GRAM to cache display list, free space: ", free_space,
|
SERIAL_ECHOPAIR ("Not enough space in GRAM to cache display list, free space: ", free_space);
|
||||||
" Required: ", dl_size);
|
SERIAL_ECHOLNPAIR( " Required: ", dl_size);
|
||||||
#endif
|
#endif
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
#if ENABLED(TOUCH_UI_DEBUG)
|
#if ENABLED(TOUCH_UI_DEBUG)
|
||||||
SERIAL_ECHO_START();
|
SERIAL_ECHO_START();
|
||||||
SERIAL_ECHOLNPAIR("Saving DL to RAMG cache, bytes: ", dl_size,
|
SERIAL_ECHOPAIR ("Saving DL to RAMG cache, bytes: ", dl_size);
|
||||||
" Free space: ", free_space);
|
SERIAL_ECHOLNPAIR(" Free space: ", free_space);
|
||||||
#endif
|
#endif
|
||||||
cmd.memcpy(dl_addr, MAP::RAM_DL, dl_size);
|
cmd.memcpy(dl_addr, MAP::RAM_DL, dl_size);
|
||||||
cmd.execute();
|
cmd.execute();
|
||||||
|
@ -167,8 +167,8 @@ void DLCache::append() {
|
||||||
cmd.execute();
|
cmd.execute();
|
||||||
wait_until_idle();
|
wait_until_idle();
|
||||||
SERIAL_ECHO_START();
|
SERIAL_ECHO_START();
|
||||||
SERIAL_ECHOLNPAIR("Appending to DL from RAMG cache, bytes: ", dl_size,
|
SERIAL_ECHOPAIR ("Appending to DL from RAMG cache, bytes: ", dl_size);
|
||||||
" REG_CMD_DL: ", CLCD::mem_read_32(REG::CMD_DL));
|
SERIAL_ECHOLNPAIR(" REG_CMD_DL: ", CLCD::mem_read_32(REG::CMD_DL));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -31,25 +31,25 @@ constexpr float _hsl_fmod(float x, float y) {
|
||||||
return x - int(x/y)*y;
|
return x - int(x/y)*y;
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr float _hsl_c(int, float S, float L) {
|
constexpr float _hsl_c(float, float S, float L) {
|
||||||
return (1.0f - fabs(2*L-1.0f)) * S;
|
return (1.0f - fabs(2*L-1.0f)) * S;
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr float _hsl_x(int H, float S, float L) {
|
constexpr float _hsl_x(float H, float S, float L) {
|
||||||
return _hsl_c(H,S,L) * (1.0f - fabs(_hsl_fmod(float(H)/60, 2) - 1));
|
return _hsl_c(H,S,L) * (1.0f - fabs(_hsl_fmod(H/60, 2) - 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr float _hsl_m(int H, float S, float L) {
|
constexpr float _hsl_m(float H, float S, float L) {
|
||||||
return L - _hsl_c(H,S,L)/2;
|
return L - _hsl_c(H,S,L)/2;
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr float _hsl_rgb(int H, float S, float L, float r, float g, float b) {
|
constexpr float _hsl_rgb(float H, float S, float L, float r, float g, float b) {
|
||||||
return ((uint32_t((r + _hsl_m(H,S,L))*255+0.5) << 16) |
|
return ((uint32_t((r + _hsl_m(H,S,L))*255+0.5) << 16) |
|
||||||
(uint32_t((g + _hsl_m(H,S,L))*255+0.5) << 8) |
|
(uint32_t((g + _hsl_m(H,S,L))*255+0.5) << 8) |
|
||||||
(uint32_t((b + _hsl_m(H,S,L))*255+0.5) << 0));
|
(uint32_t((b + _hsl_m(H,S,L))*255+0.5) << 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr uint32_t hsl_to_rgb(int H, float S, float L) {
|
constexpr uint32_t hsl_to_rgb(float H, float S, float L) {
|
||||||
return (H < 60) ? _hsl_rgb(H,S,L,_hsl_c(H,S,L), _hsl_x(H,S,L), 0) :
|
return (H < 60) ? _hsl_rgb(H,S,L,_hsl_c(H,S,L), _hsl_x(H,S,L), 0) :
|
||||||
(H < 120) ? _hsl_rgb(H,S,L,_hsl_x(H,S,L), _hsl_c(H,S,L), 0) :
|
(H < 120) ? _hsl_rgb(H,S,L,_hsl_x(H,S,L), _hsl_c(H,S,L), 0) :
|
||||||
(H < 180) ? _hsl_rgb(H,S,L, 0, _hsl_c(H,S,L), _hsl_x(H,S,L)) :
|
(H < 180) ? _hsl_rgb(H,S,L, 0, _hsl_c(H,S,L), _hsl_x(H,S,L)) :
|
||||||
|
|
|
@ -38,7 +38,8 @@ namespace FTDI {
|
||||||
|
|
||||||
#if ENABLED(TOUCH_UI_DEBUG)
|
#if ENABLED(TOUCH_UI_DEBUG)
|
||||||
SERIAL_ECHO_START();
|
SERIAL_ECHO_START();
|
||||||
SERIAL_ECHOLNPAIR("Playing note ", int(note), ", instrument ", int(effect));
|
SERIAL_ECHOPAIR("Playing note ", int(note));
|
||||||
|
SERIAL_ECHOLNPAIR(", instrument ", int(effect));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Play the note
|
// Play the note
|
||||||
|
|
|
@ -53,9 +53,10 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class PolyReader {
|
class PolyReader {
|
||||||
private:
|
public:
|
||||||
typedef uint16_t type_t;
|
typedef uint16_t type_t;
|
||||||
|
|
||||||
|
private:
|
||||||
static constexpr type_t eol = 0xFFFF;
|
static constexpr type_t eol = 0xFFFF;
|
||||||
|
|
||||||
const type_t *p, *top, *end;
|
const type_t *p, *top, *end;
|
||||||
|
@ -321,10 +322,10 @@ class GenericPolyUI {
|
||||||
int16_t x_max = INT16_MIN;
|
int16_t x_max = INT16_MIN;
|
||||||
int16_t y_max = INT16_MIN;
|
int16_t y_max = INT16_MIN;
|
||||||
for(r.start(); r.has_more(); r.next()) {
|
for(r.start(); r.has_more(); r.next()) {
|
||||||
x_min = min(x_min, r.x);
|
x_min = min(x_min, int16_t(r.x));
|
||||||
x_max = max(x_max, r.x);
|
x_max = max(x_max, int16_t(r.x));
|
||||||
y_min = min(y_min, r.y);
|
y_min = min(y_min, int16_t(r.y));
|
||||||
y_max = max(y_max, r.y);
|
y_max = max(y_max, int16_t(r.y));
|
||||||
}
|
}
|
||||||
x = x_min;
|
x = x_min;
|
||||||
y = y_min;
|
y = y_min;
|
||||||
|
|
|
@ -126,7 +126,7 @@ class WriteDataStructure:
|
||||||
self.hex_words = []
|
self.hex_words = []
|
||||||
|
|
||||||
def push(self, value):
|
def push(self, value):
|
||||||
self.hex_words.append("0x%04X" % value)
|
self.hex_words.append("0x%04X" % (0xffff & int(value)))
|
||||||
|
|
||||||
def command(self, type, x, y):
|
def command(self, type, x, y):
|
||||||
if type == "M":
|
if type == "M":
|
||||||
|
|
|
@ -21,5 +21,3 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "language_en.h"
|
#include "language_en.h"
|
||||||
#include "language_de.h"
|
|
||||||
#include "language_fr.h"
|
|
||||||
|
|
|
@ -1,78 +0,0 @@
|
||||||
/*****************
|
|
||||||
* language_de.h *
|
|
||||||
*****************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Written By Marcio Teixeira 2019 - Aleph Objects, Inc. *
|
|
||||||
* *
|
|
||||||
* 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. *
|
|
||||||
* *
|
|
||||||
* To view a copy of the GNU General Public License, go to the following *
|
|
||||||
* location: <http://www.gnu.org/licenses/>. *
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
namespace Language_de {
|
|
||||||
using namespace Language_en; // Inherit undefined strings from English
|
|
||||||
|
|
||||||
PROGMEM Language_Str YES = u8"JA";
|
|
||||||
PROGMEM Language_Str NO = u8"NEIN";
|
|
||||||
PROGMEM Language_Str BACK = u8"Zurück";
|
|
||||||
|
|
||||||
PROGMEM Language_Str MOVE_AXIS = u8"Achsen bewegen";
|
|
||||||
PROGMEM Language_Str MOTORS_OFF = u8"Motoren deaktivieren";
|
|
||||||
PROGMEM Language_Str TEMPERATURE = u8"Temperatur";
|
|
||||||
PROGMEM Language_Str CHANGE_FILAMENT = u8"Filament wechseln";
|
|
||||||
PROGMEM Language_Str ADVANCED_SETTINGS = u8"Erw. Einstellungen";
|
|
||||||
PROGMEM Language_Str ABOUT_PRINTER = u8"Über den Drucker";
|
|
||||||
PROGMEM Language_Str PRINTER_STATISTICS = u8"Drucker-Statistik";
|
|
||||||
|
|
||||||
PROGMEM Language_Str ZPROBE_ZOFFSET = u8"Sondenversatz Z";
|
|
||||||
PROGMEM Language_Str TOOL_OFFSETS = u8"Werkzeugversätze";
|
|
||||||
PROGMEM Language_Str VELOCITY = u8"Geschwindigkeit";
|
|
||||||
PROGMEM Language_Str ACCELERATION = u8"Beschleunigung";
|
|
||||||
PROGMEM Language_Str ACCEL_PRINTING = u8"Beschleunigung";
|
|
||||||
PROGMEM Language_Str ACCEL_TRAVEL = u8"A Einzug";
|
|
||||||
PROGMEM Language_Str ACCEL_RETRACT = u8"A Leerfahrt";
|
|
||||||
PROGMEM Language_Str BACKLASH = u8"Spiel";
|
|
||||||
PROGMEM Language_Str SMOOTHING = u8"Glätten";
|
|
||||||
PROGMEM Language_Str CORRECTION = u8"Korrektur";
|
|
||||||
PROGMEM Language_Str ENDSTOPS = u8"Endstopp";
|
|
||||||
PROGMEM Language_Str SOFT_ENDSTOPS = u8"Software-Endstopp";
|
|
||||||
PROGMEM Language_Str RESTORE_DEFAULTS = u8"Standardwerte laden";
|
|
||||||
|
|
||||||
|
|
||||||
PROGMEM Language_Str HOTEND = u8"Düse";
|
|
||||||
PROGMEM Language_Str HOTEND1 = u8"Düse 1";
|
|
||||||
PROGMEM Language_Str HOTEND2 = u8"Düse 2";
|
|
||||||
PROGMEM Language_Str HOTEND3 = u8"Düse 3";
|
|
||||||
PROGMEM Language_Str HOTEND4 = u8"Düse 4";
|
|
||||||
PROGMEM Language_Str BED = u8"Bett";
|
|
||||||
PROGMEM Language_Str AXIS_ALL = u8"Alle";
|
|
||||||
|
|
||||||
PROGMEM Language_Str FAN_SPEED = u8"Lüfter";
|
|
||||||
|
|
||||||
PROGMEM Language_Str PRINT_FILE = u8"Drucken";
|
|
||||||
|
|
||||||
PROGMEM Language_Str RESUME_PRINT = u8"SD-Druck fortsetzen";
|
|
||||||
PROGMEM Language_Str PAUSE_PRINT = u8"SD-Druck pausieren";
|
|
||||||
PROGMEM Language_Str STOP_PRINT = u8"SD-Druck abbrechen";
|
|
||||||
|
|
||||||
PROGMEM Language_Str INFO_PRINT_COUNT = u8"Gesamte Drucke";
|
|
||||||
PROGMEM Language_Str INFO_COMPLETED_PRINTS = u8"Komplette Drucke";
|
|
||||||
PROGMEM Language_Str INFO_PRINT_TIME = u8"Gesamte Druckzeit";
|
|
||||||
PROGMEM Language_Str INFO_PRINT_LONGEST = u8"Längste Druckzeit";
|
|
||||||
PROGMEM Language_Str INFO_PRINT_FILAMENT = u8"Gesamt Extrudiert";
|
|
||||||
|
|
||||||
PROGMEM Language_Str PRINTER_HALTED = u8"DRUCKER GESTOPPT";
|
|
||||||
PROGMEM Language_Str PLEASE_RESET = u8"Bitte neustarten";
|
|
||||||
}; // namespace Language_de
|
|
|
@ -23,210 +23,139 @@
|
||||||
|
|
||||||
#include "language.h"
|
#include "language.h"
|
||||||
|
|
||||||
namespace Language_en {
|
|
||||||
PROGMEM Language_Str YES = u8"Yes";
|
|
||||||
PROGMEM Language_Str NO = u8"No";
|
|
||||||
PROGMEM Language_Str BACK = u8"Back";
|
|
||||||
PROGMEM Language_Str OKAY = u8"Okay";
|
|
||||||
PROGMEM Language_Str MENU = u8"Menu";
|
|
||||||
PROGMEM Language_Str MEDIA = u8"Media";
|
|
||||||
|
|
||||||
PROGMEM Language_Str AUTO_HOME = u8"Auto Home";
|
|
||||||
PROGMEM Language_Str CLEAN_NOZZLE = u8"Clean Nozzle";
|
|
||||||
PROGMEM Language_Str MOVE_AXIS = u8"Move Axis";
|
|
||||||
PROGMEM Language_Str MOTORS_OFF = u8"Motors Off";
|
|
||||||
PROGMEM Language_Str TEMPERATURE = u8"Temperature";
|
|
||||||
PROGMEM Language_Str CHANGE_FILAMENT = u8"Change Filament";
|
|
||||||
PROGMEM Language_Str ADVANCED_SETTINGS = u8"Advanced Settings";
|
|
||||||
PROGMEM Language_Str ABOUT_PRINTER = u8"About Printer";
|
|
||||||
PROGMEM Language_Str PRINTER_STATISTICS = u8"Printer Statistics";
|
|
||||||
|
|
||||||
PROGMEM Language_Str ZPROBE_ZOFFSET = u8"Z Offset";
|
|
||||||
PROGMEM Language_Str STEPS_PER_MM = u8"Steps/mm";
|
|
||||||
PROGMEM Language_Str TOOL_OFFSETS = u8"Tool Offsets";
|
|
||||||
PROGMEM Language_Str VELOCITY = u8"Velocity";
|
|
||||||
PROGMEM Language_Str VMAX_X = u8"Vmax X";
|
|
||||||
PROGMEM Language_Str VMAX_Y = u8"Vmax Y";
|
|
||||||
PROGMEM Language_Str VMAX_Z = u8"Vmax Z";
|
|
||||||
PROGMEM Language_Str VMAX_E1 = u8"Vmax E1";
|
|
||||||
PROGMEM Language_Str VMAX_E2 = u8"Vmax E2";
|
|
||||||
PROGMEM Language_Str VMAX_E3 = u8"Vmax E3";
|
|
||||||
PROGMEM Language_Str VMAX_E4 = u8"Vmax E4";
|
|
||||||
PROGMEM Language_Str ACCELERATION = u8"Acceleration";
|
|
||||||
PROGMEM Language_Str ACCEL_PRINTING = u8"Printing";
|
|
||||||
PROGMEM Language_Str ACCEL_TRAVEL = u8"Travel";
|
|
||||||
PROGMEM Language_Str ACCEL_RETRACT = u8"Retraction";
|
|
||||||
PROGMEM Language_Str AMAX_X = u8"Amax X";
|
|
||||||
PROGMEM Language_Str AMAX_Y = u8"Amax Y";
|
|
||||||
PROGMEM Language_Str AMAX_Z = u8"Amax Z";
|
|
||||||
PROGMEM Language_Str AMAX_E1 = u8"Amax E1";
|
|
||||||
PROGMEM Language_Str AMAX_E2 = u8"Amax E2";
|
|
||||||
PROGMEM Language_Str AMAX_E3 = u8"Amax E3";
|
|
||||||
PROGMEM Language_Str AMAX_E4 = u8"Amax E4";
|
|
||||||
PROGMEM Language_Str JERK = u8"Jerk";
|
|
||||||
PROGMEM Language_Str JUNC_DEVIATION = u8"Junc Dev";
|
|
||||||
PROGMEM Language_Str BACKLASH = u8"Backlash";
|
|
||||||
PROGMEM Language_Str SMOOTHING = u8"Smoothing";
|
|
||||||
PROGMEM Language_Str CORRECTION = u8"Correction";
|
|
||||||
PROGMEM Language_Str MOTOR_CURRENT = u8"Currents";
|
|
||||||
PROGMEM Language_Str FILAMENT = u8"Filament";
|
|
||||||
PROGMEM Language_Str ENDSTOPS = u8"Endstops";
|
|
||||||
PROGMEM Language_Str SOFT_ENDSTOPS = u8"Soft Endstops";
|
|
||||||
PROGMEM Language_Str RESTORE_DEFAULTS = u8"Restore Defaults";
|
|
||||||
|
|
||||||
PROGMEM Language_Str HOTEND = u8"Hot End";
|
|
||||||
PROGMEM Language_Str HOTEND1 = u8"Hot End 1";
|
|
||||||
PROGMEM Language_Str HOTEND2 = u8"Hot End 2";
|
|
||||||
PROGMEM Language_Str HOTEND3 = u8"Hot End 3";
|
|
||||||
PROGMEM Language_Str HOTEND4 = u8"Hot End 4";
|
|
||||||
PROGMEM Language_Str BED = u8"Bed";
|
|
||||||
PROGMEM Language_Str AXIS_X = u8"X";
|
|
||||||
PROGMEM Language_Str AXIS_Y = u8"Y";
|
|
||||||
PROGMEM Language_Str AXIS_Z = u8"Z";
|
|
||||||
PROGMEM Language_Str AXIS_E = u8"E";
|
|
||||||
PROGMEM Language_Str AXIS_E1 = u8"E1";
|
|
||||||
PROGMEM Language_Str AXIS_E2 = u8"E2";
|
|
||||||
PROGMEM Language_Str AXIS_E3 = u8"E3";
|
|
||||||
PROGMEM Language_Str AXIS_E4 = u8"E4";
|
|
||||||
PROGMEM Language_Str AXIS_ALL = u8"All";
|
|
||||||
PROGMEM Language_Str HOME = u8"Home";
|
|
||||||
|
|
||||||
PROGMEM Language_Str FAN_SPEED = u8"Fan Speed";
|
|
||||||
PROGMEM Language_Str RUNOUT_SENSOR = u8"Runout Sensor";
|
|
||||||
|
|
||||||
PROGMEM Language_Str OPEN_DIR = u8"Open";
|
|
||||||
PROGMEM Language_Str PRINT_FILE = u8"Print";
|
|
||||||
|
|
||||||
PROGMEM Language_Str RESUME_PRINT = u8"Resume Print";
|
|
||||||
PROGMEM Language_Str PAUSE_PRINT = u8"Pause Print";
|
|
||||||
PROGMEM Language_Str STOP_PRINT = u8"Stop Print";
|
|
||||||
|
|
||||||
PROGMEM Language_Str PRINT_STARTING = u8"Print starting";
|
|
||||||
PROGMEM Language_Str PRINT_FINISHED = u8"Print finished";
|
|
||||||
PROGMEM Language_Str PRINT_ERROR = u8"Print error";
|
|
||||||
|
|
||||||
PROGMEM Language_Str INFO_PRINT_COUNT = u8"Print Count";
|
|
||||||
PROGMEM Language_Str INFO_COMPLETED_PRINTS = u8"Total Prints";
|
|
||||||
PROGMEM Language_Str INFO_PRINT_TIME = u8"Total Print Time";
|
|
||||||
PROGMEM Language_Str INFO_PRINT_LONGEST = u8"Longest Print";
|
|
||||||
PROGMEM Language_Str INFO_PRINT_FILAMENT = u8"Filament Used";
|
|
||||||
|
|
||||||
PROGMEM Language_Str PRINTER_HALTED = u8"PRINTER HALTED";
|
|
||||||
PROGMEM Language_Str PLEASE_RESET = u8"Please reset";
|
|
||||||
|
|
||||||
PROGMEM Language_Str COLOR_TOUCH_PANEL = u8"Color Touch Panel";
|
|
||||||
#if ENABLED(TOUCH_UI_UTF8_COPYRIGHT)
|
#if ENABLED(TOUCH_UI_UTF8_COPYRIGHT)
|
||||||
PROGMEM Language_Str ABOUT_ALEPH_OBJECTS = u8"© 2019 Aleph Objects, Inc.\n\nwww.lulzbot.com";
|
#define COPYRIGHT_SIGN u8"©"
|
||||||
#else
|
#else
|
||||||
PROGMEM Language_Str ABOUT_ALEPH_OBJECTS = u8"(C) 2019 Aleph Objects, Inc.\n\nwww.lulzbot.com";
|
#define COPYRIGHT_SIGN u8"(c)"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
PROGMEM Language_Str FIRMWARE_FOR_TOOLHEAD = u8"Firmware for toolhead:\n%s\n\n";
|
#if ENABLED(TOUCH_UI_UTF8_SUPERSCRIPTS)
|
||||||
|
#define SUPERSCRIPT_TWO u8"²"
|
||||||
|
#else
|
||||||
|
#define SUPERSCRIPT_TWO u8"^2"
|
||||||
|
#endif
|
||||||
|
|
||||||
PROGMEM Language_Str HOME_SENSE = u8"Home Sense";
|
|
||||||
PROGMEM Language_Str X_MAX = u8"X Max";
|
|
||||||
PROGMEM Language_Str X_MIN = u8"X Min";
|
|
||||||
PROGMEM Language_Str Y_MAX = u8"Y Max";
|
|
||||||
PROGMEM Language_Str Y_MIN = u8"Y Min";
|
|
||||||
PROGMEM Language_Str Z_MAX = u8"Z Max";
|
|
||||||
PROGMEM Language_Str Z_MIN = u8"Z Min";
|
|
||||||
PROGMEM Language_Str Z_PROBE = u8"Z Probe";
|
|
||||||
PROGMEM Language_Str RUNOUT_1 = u8"Runout 1";
|
|
||||||
PROGMEM Language_Str RUNOUT_2 = u8"Runout 2";
|
|
||||||
PROGMEM Language_Str DISPLAY_MENU = u8"Display";
|
|
||||||
PROGMEM Language_Str INTERFACE_SETTINGS = u8"Interface Settings";
|
|
||||||
PROGMEM Language_Str MEASURE_AUTOMATICALLY = u8"Measure automatically";
|
|
||||||
PROGMEM Language_Str H_OFFSET = u8"H Offset";
|
|
||||||
PROGMEM Language_Str V_OFFSET = u8"V Offset";
|
|
||||||
PROGMEM Language_Str TOUCH_SCREEN = u8"Touch Screen";
|
|
||||||
PROGMEM Language_Str CALIBRATE = u8"Calibrate";
|
|
||||||
|
|
||||||
PROGMEM Language_Str UNITS_MILLIAMP = u8"mA";
|
|
||||||
PROGMEM Language_Str UNITS_MM = u8"mm";
|
|
||||||
PROGMEM Language_Str UNITS_MM_S = u8"mm/s";
|
|
||||||
#if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET)
|
#if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET)
|
||||||
PROGMEM Language_Str UNITS_MM_S2 = u8"mm/s²";
|
#define DEGREE_SIGN u8"°"
|
||||||
#else
|
#else
|
||||||
PROGMEM Language_Str UNITS_MM_S2 = u8"mm/s^2";
|
#define DEGREE_SIGN u8" "
|
||||||
#endif
|
#endif
|
||||||
PROGMEM Language_Str UNITS_STEP_MM = u8"st/mm";
|
|
||||||
PROGMEM Language_Str UNITS_PERCENT = u8"%";
|
namespace Language_en {
|
||||||
#if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET)
|
PROGMEM Language_Str MSG_BUTTON_OKAY = u8"Okay";
|
||||||
PROGMEM Language_Str UNITS_C = u8"°C";
|
PROGMEM Language_Str MSG_BUTTON_MENU = u8"Menu";
|
||||||
#else
|
PROGMEM Language_Str MSG_BUTTON_MEDIA = u8"Media";
|
||||||
PROGMEM Language_Str UNITS_C = u8" C";
|
PROGMEM Language_Str MSG_BUTTON_OPEN = u8"Open";
|
||||||
|
PROGMEM Language_Str MSG_CLEAN_NOZZLE = u8"Clean Nozzle";
|
||||||
|
PROGMEM Language_Str MSG_VMAX_X = u8"Vmax X";
|
||||||
|
PROGMEM Language_Str MSG_VMAX_Y = u8"Vmax Y";
|
||||||
|
PROGMEM Language_Str MSG_VMAX_Z = u8"Vmax Z";
|
||||||
|
PROGMEM Language_Str MSG_ACCEL_PRINTING = u8"Printing";
|
||||||
|
PROGMEM Language_Str MSG_ACCEL_TRAVEL = u8"Travel";
|
||||||
|
PROGMEM Language_Str MSG_ACCEL_RETRACT = u8"Retraction";
|
||||||
|
PROGMEM Language_Str MSG_AMAX_X = u8"Amax X";
|
||||||
|
PROGMEM Language_Str MSG_AMAX_Y = u8"Amax Y";
|
||||||
|
PROGMEM Language_Str MSG_AMAX_Z = u8"Amax Z";
|
||||||
|
PROGMEM Language_Str MSG_AXIS_X = u8"X";
|
||||||
|
PROGMEM Language_Str MSG_AXIS_Y = u8"Y";
|
||||||
|
PROGMEM Language_Str MSG_AXIS_Z = u8"Z";
|
||||||
|
PROGMEM Language_Str MSG_AXIS_E = u8"E";
|
||||||
|
PROGMEM Language_Str MSG_AXIS_E1 = u8"E1";
|
||||||
|
PROGMEM Language_Str MSG_AXIS_E2 = u8"E2";
|
||||||
|
PROGMEM Language_Str MSG_AXIS_E3 = u8"E3";
|
||||||
|
PROGMEM Language_Str MSG_AXIS_E4 = u8"E4";
|
||||||
|
PROGMEM Language_Str MSG_AXIS_ALL = u8"All";
|
||||||
|
PROGMEM Language_Str MSG_HOME = u8"Home";
|
||||||
|
PROGMEM Language_Str MSG_PRINT_STARTING = u8"Print starting";
|
||||||
|
PROGMEM Language_Str MSG_PRINT_FINISHED = u8"Print finished";
|
||||||
|
PROGMEM Language_Str MSG_PRINT_ERROR = u8"Print error";
|
||||||
|
PROGMEM Language_Str MSG_ABOUT_TOUCH_PANEL_1 = u8"Color Touch Panel";
|
||||||
|
PROGMEM Language_Str MSG_ABOUT_TOUCH_PANEL_2 = u8"Portions " COPYRIGHT_SIGN " 2019 Aleph Objects, Inc.";
|
||||||
|
PROGMEM Language_Str MSG_FIRMWARE_FOR_TOOLHEAD = u8"Firmware for toolhead:\n%s\n\n";
|
||||||
|
PROGMEM Language_Str MSG_RUNOUT_1 = u8"Runout 1";
|
||||||
|
PROGMEM Language_Str MSG_RUNOUT_2 = u8"Runout 2";
|
||||||
|
PROGMEM Language_Str MSG_DISPLAY_MENU = u8"Display";
|
||||||
|
PROGMEM Language_Str MSG_INTERFACE_SETTINGS = u8"Interface Settings";
|
||||||
|
PROGMEM Language_Str MSG_MEASURE_AUTOMATICALLY = u8"Measure automatically";
|
||||||
|
PROGMEM Language_Str MSG_H_OFFSET = u8"H Offset";
|
||||||
|
PROGMEM Language_Str MSG_V_OFFSET = u8"V Offset";
|
||||||
|
PROGMEM Language_Str MSG_TOUCH_SCREEN = u8"Touch Screen";
|
||||||
|
PROGMEM Language_Str MSG_CALIBRATE = u8"Calibrate";
|
||||||
|
PROGMEM Language_Str MSG_UNITS_MILLIAMP = u8"mA";
|
||||||
|
PROGMEM Language_Str MSG_UNITS_MM = u8"mm";
|
||||||
|
PROGMEM Language_Str MSG_UNITS_MM_S = u8"mm/s";
|
||||||
|
PROGMEM Language_Str MSG_UNITS_MM_S2 = u8"mm/s" SUPERSCRIPT_TWO;
|
||||||
|
PROGMEM Language_Str MSG_UNITS_STEP_MM = u8"st/mm";
|
||||||
|
PROGMEM Language_Str MSG_UNITS_PERCENT = u8"%";
|
||||||
|
PROGMEM Language_Str MSG_UNITS_C = DEGREE_SIGN u8"C";
|
||||||
|
PROGMEM Language_Str MSG_MATERIAL_PLA = u8"PLA";
|
||||||
|
PROGMEM Language_Str MSG_MATERIAL_ABS = u8"ABS";
|
||||||
|
PROGMEM Language_Str MSG_MATERIAL_HIGH_TEMP = u8"High";
|
||||||
|
PROGMEM Language_Str MSG_IDLE = u8"idle";
|
||||||
|
PROGMEM Language_Str MSG_SET_MAXIMUM = u8"Set Maximum";
|
||||||
|
PROGMEM Language_Str MSG_PRINT_SPEED = u8"Print Speed";
|
||||||
|
PROGMEM Language_Str MSG_LINEAR_ADVANCE = u8"Linear Advance";
|
||||||
|
PROGMEM Language_Str MSG_LINEAR_ADVANCE_K = u8"K";
|
||||||
|
PROGMEM Language_Str MSG_LINEAR_ADVANCE_K1 = u8"K E1";
|
||||||
|
PROGMEM Language_Str MSG_LINEAR_ADVANCE_K2 = u8"K E2";
|
||||||
|
PROGMEM Language_Str MSG_LINEAR_ADVANCE_K3 = u8"K E3";
|
||||||
|
PROGMEM Language_Str MSG_LINEAR_ADVANCE_K4 = u8"K E4";
|
||||||
|
PROGMEM Language_Str MSG_NUDGE_NOZZLE = u8"Nudge Nozzle";
|
||||||
|
PROGMEM Language_Str MSG_ADJUST_BOTH_NOZZLES = u8"Adjust Both Nozzles";
|
||||||
|
PROGMEM Language_Str MSG_SHOW_OFFSETS = u8"Show Offsets";
|
||||||
|
PROGMEM Language_Str MSG_INCREMENT = u8"Increment";
|
||||||
|
PROGMEM Language_Str MSG_ERASE_FLASH_WARNING = u8"Are you sure? SPI flash will be erased.";
|
||||||
|
PROGMEM Language_Str MSG_ERASING = u8"Erasing...";
|
||||||
|
PROGMEM Language_Str MSG_ERASED = u8"SPI flash erased";
|
||||||
|
PROGMEM Language_Str MSG_CALIBRATION_WARNING = u8"For best results, unload the filament and clean the hotend prior to starting calibration. Continue?";
|
||||||
|
PROGMEM Language_Str MSG_START_PRINT_CONFIRMATION = u8"Start printing %s?";
|
||||||
|
PROGMEM Language_Str MSG_ABORT_WARNING = u8"Are you sure you want to cancel the print?";
|
||||||
|
PROGMEM Language_Str MSG_EXTRUDER_SELECTION = u8"Extruder Selection";
|
||||||
|
PROGMEM Language_Str MSG_CURRENT_TEMPERATURE = u8"Current Temp";
|
||||||
|
PROGMEM Language_Str MSG_REMOVAL_TEMPERATURE = u8"Removal Temp";
|
||||||
|
PROGMEM Language_Str MSG_CAUTION = u8"Caution:";
|
||||||
|
PROGMEM Language_Str MSG_HOT = u8"Hot!";
|
||||||
|
PROGMEM Language_Str MSG_UNLOAD_FILAMENT = u8"Unload/Retract";
|
||||||
|
PROGMEM Language_Str MSG_LOAD_FILAMENT = u8"Load/Extruder";
|
||||||
|
PROGMEM Language_Str MSG_MOMENTARY = u8"Momentary";
|
||||||
|
PROGMEM Language_Str MSG_CONTINUOUS = u8"Continuous";
|
||||||
|
PROGMEM Language_Str MSG_PLEASE_WAIT = u8"Please wait...";
|
||||||
|
PROGMEM Language_Str MSG_PRINT_MENU = u8"Print Menu";
|
||||||
|
PROGMEM Language_Str MSG_FINE_MOTION = u8"Fine motion";
|
||||||
|
PROGMEM Language_Str MSG_ENABLE_MEDIA = u8"Enable Media";
|
||||||
|
PROGMEM Language_Str MSG_INSERT_MEDIA = u8"Insert Media...";
|
||||||
|
PROGMEM Language_Str MSG_LCD_BRIGHTNESS = u8"LCD brightness";
|
||||||
|
PROGMEM Language_Str MSG_SOUND_VOLUME = u8"Sound volume";
|
||||||
|
PROGMEM Language_Str MSG_SCREEN_LOCK = u8"Screen lock";
|
||||||
|
PROGMEM Language_Str MSG_BOOT_SCREEN = u8"Boot screen";
|
||||||
|
PROGMEM Language_Str MSG_INTERFACE_SOUNDS = u8"Interface Sounds";
|
||||||
|
PROGMEM Language_Str MSG_CLICK_SOUNDS = u8"Click sounds";
|
||||||
|
PROGMEM Language_Str MSG_EEPROM_RESTORED = u8"Settings restored from backup";
|
||||||
|
PROGMEM Language_Str MSG_EEPROM_RESET = u8"Settings restored to default";
|
||||||
|
PROGMEM Language_Str MSG_EEPROM_SAVED = u8"Settings saved!";
|
||||||
|
PROGMEM Language_Str MSG_EEPROM_SAVE_PROMPT = u8"Do you wish to save these settings as defaults?";
|
||||||
|
PROGMEM Language_Str MSG_EEPROM_RESET_WARNING = u8"Are you sure? Customizations will be lost.";
|
||||||
|
|
||||||
|
PROGMEM Language_Str MSG_PASSCODE_REJECTED = u8"Wrong passcode!";
|
||||||
|
PROGMEM Language_Str MSG_PASSCODE_ACCEPTED = u8"Passcode accepted!";
|
||||||
|
PROGMEM Language_Str MSG_PASSCODE_SELECT = u8"Select Passcode:";
|
||||||
|
PROGMEM Language_Str MSG_PASSCODE_REQUEST = u8"Enter Passcode:";
|
||||||
|
|
||||||
|
PROGMEM Language_Str MSG_TOUCH_CALIBRATION_START = u8"Release to begin screen calibration";
|
||||||
|
PROGMEM Language_Str MSG_TOUCH_CALIBRATION_PROMPT = u8"Touch the dots to calibrate";
|
||||||
|
|
||||||
|
#ifdef TOUCH_UI_LULZBOT_BIO
|
||||||
|
PROGMEM Language_Str MSG_MOVE_TO_HOME = u8"Move to Home";
|
||||||
|
PROGMEM Language_Str MSG_RAISE_PLUNGER = u8"Raise Plunger";
|
||||||
|
PROGMEM Language_Str MSG_RELEASE_XY_AXIS = u8"Release X and Y Axis";
|
||||||
|
PROGMEM Language_Str MSG_AUTOLEVEL_X_AXIS = u8"Auto-level X Axis";
|
||||||
|
PROGMEM Language_Str MSG_BED_TEMPERATURE = u8"Bed Temperature";
|
||||||
|
PROGMEM Language_Str MSG_HOME_XYZ_WARNING = u8"About to move to home position. Ensure the top and the bed of the printer are clear.\n\nContinue?";
|
||||||
|
PROGMEM Language_Str MSG_HOME_E_WARNING = u8"About to re-home plunger and auto-level. Remove syringe prior to proceeding.\n\nContinue?";
|
||||||
#endif
|
#endif
|
||||||
PROGMEM Language_Str MATERIAL_PLA = u8"PLA";
|
|
||||||
PROGMEM Language_Str MATERIAL_ABS = u8"ABS";
|
|
||||||
PROGMEM Language_Str MATERIAL_HIGH_TEMP = u8"High";
|
|
||||||
PROGMEM Language_Str TEMP_IDLE = u8"idle";
|
|
||||||
|
|
||||||
PROGMEM Language_Str PRINTING = u8"Printing";
|
#ifdef TOUCH_UI_COCOA_PRESS
|
||||||
PROGMEM Language_Str SET_MAXIMUM = u8"Set Maximum";
|
PROGMEM Language_Str MSG_ZONE_1 = u8"Zone 1:";
|
||||||
PROGMEM Language_Str DETECTION_THRESHOLD = u8"Detection Threshold";
|
PROGMEM Language_Str MSG_ZONE_2 = u8"Zone 2:";
|
||||||
PROGMEM Language_Str DISTANCE = u8"Distance";
|
|
||||||
PROGMEM Language_Str COOLDOWN = u8"Cooldown (All Off)";
|
|
||||||
PROGMEM Language_Str PRINT_SPEED = u8"Print Speed";
|
|
||||||
PROGMEM Language_Str SPEED = u8"Speed";
|
|
||||||
PROGMEM Language_Str LINEAR_ADVANCE = u8"Linear Advance";
|
|
||||||
PROGMEM Language_Str LINEAR_ADVANCE_K = u8"K";
|
|
||||||
PROGMEM Language_Str LINEAR_ADVANCE_K1 = u8"K E1";
|
|
||||||
PROGMEM Language_Str LINEAR_ADVANCE_K2 = u8"K E2";
|
|
||||||
PROGMEM Language_Str LINEAR_ADVANCE_K3 = u8"K E3";
|
|
||||||
PROGMEM Language_Str LINEAR_ADVANCE_K4 = u8"K E4";
|
|
||||||
PROGMEM Language_Str NUDGE_NOZZLE = u8"Nudge Nozzle";
|
|
||||||
PROGMEM Language_Str ADJUST_BOTH_NOZZLES = u8"Adjust Both Nozzles";
|
|
||||||
PROGMEM Language_Str SHOW_OFFSETS = u8"Show Offsets";
|
|
||||||
PROGMEM Language_Str INCREMENT = u8"Increment";
|
|
||||||
PROGMEM Language_Str ERASE_FLASH_WARNING = u8"Are you sure? SPI flash will be erased.";
|
|
||||||
PROGMEM Language_Str ERASING = u8"Erasing...";
|
|
||||||
PROGMEM Language_Str ERASED = u8"SPI flash erased";
|
|
||||||
PROGMEM Language_Str CALIBRATION_WARNING = u8"For best results, unload the filament and clean the hotend prior to starting calibration. Continue?";
|
|
||||||
PROGMEM Language_Str START_PRINT_CONFIRMATION = u8"Start printing %s?";
|
|
||||||
PROGMEM Language_Str ABORT_WARNING = u8"Are you sure you want to cancel the print?";
|
|
||||||
PROGMEM Language_Str EXTRUDER_SELECTION = u8"Extruder Selection";
|
|
||||||
PROGMEM Language_Str CURRENT_TEMPERATURE = u8"Current Temp";
|
|
||||||
PROGMEM Language_Str REMOVAL_TEMPERATURE = u8"Removal Temp";
|
|
||||||
PROGMEM Language_Str HEATING = u8"Heating";
|
|
||||||
PROGMEM Language_Str CAUTION = u8"Caution:";
|
|
||||||
PROGMEM Language_Str HOT = u8"Hot!";
|
|
||||||
PROGMEM Language_Str UNLOAD_FILAMENT = u8"Unload";
|
|
||||||
PROGMEM Language_Str LOAD_FILAMENT = u8"Load/Extruder";
|
|
||||||
PROGMEM Language_Str MOMENTARY = u8"Momentary";
|
|
||||||
PROGMEM Language_Str CONTINUOUS = u8"Continuous";
|
|
||||||
PROGMEM Language_Str PLEASE_WAIT = u8"Please wait...";
|
|
||||||
PROGMEM Language_Str PRINT_MENU = u8"Print Menu";
|
|
||||||
PROGMEM Language_Str FINE_MOTION = u8"Fine motion";
|
|
||||||
PROGMEM Language_Str ENABLE_MEDIA = u8"Enable Media";
|
|
||||||
PROGMEM Language_Str INSERT_MEDIA = u8"Insert Media...";
|
|
||||||
PROGMEM Language_Str LCD_BRIGHTNESS = u8"LCD brightness";
|
|
||||||
PROGMEM Language_Str SOUND_VOLUME = u8"Sound volume";
|
|
||||||
PROGMEM Language_Str SCREEN_LOCK = u8"Screen lock";
|
|
||||||
PROGMEM Language_Str BOOT_SCREEN = u8"Boot screen";
|
|
||||||
PROGMEM Language_Str INTERFACE_SOUNDS = u8"Interface Sounds";
|
|
||||||
PROGMEM Language_Str CLICK_SOUNDS = u8"Click sounds";
|
|
||||||
PROGMEM Language_Str EEPROM_RESTORED = u8"Settings restored from backup";
|
|
||||||
PROGMEM Language_Str EEPROM_RESET = u8"Settings restored to default";
|
|
||||||
PROGMEM Language_Str EEPROM_SAVED = u8"Settings saved!";
|
|
||||||
PROGMEM Language_Str EEPROM_SAVE_PROMPT = u8"Do you wish to save these settings as defaults?";
|
|
||||||
PROGMEM Language_Str EEPROM_RESET_WARNING = u8"Are you sure? Customizations will be lost.";
|
|
||||||
|
|
||||||
PROGMEM Language_Str PASSCODE_REJECTED = u8"Wrong passcode!";
|
|
||||||
PROGMEM Language_Str PASSCODE_ACCEPTED = u8"Passcode accepted!";
|
|
||||||
PROGMEM Language_Str PASSCODE_SELECT = u8"Select Passcode:";
|
|
||||||
PROGMEM Language_Str PASSCODE_REQUEST = u8"Enter Passcode:";
|
|
||||||
|
|
||||||
PROGMEM Language_Str TOUCH_CALIBRATION_START = u8"Release to begin screen calibration";
|
|
||||||
PROGMEM Language_Str TOUCH_CALIBRATION_PROMPT = u8"Touch the dots to calibrate";
|
|
||||||
|
|
||||||
#ifdef LULZBOT_USE_BIOPRINTER_UI
|
|
||||||
PROGMEM Language_Str MAIN_MENU = u8"Main Menu";
|
|
||||||
PROGMEM Language_Str MOVE_TO_HOME = u8"Move To Home";
|
|
||||||
PROGMEM Language_Str RAISE_PLUNGER = u8"Raise Plunger";
|
|
||||||
PROGMEM Language_Str RELEASE_XY_AXIS = u8"Release X and Y Axis";
|
|
||||||
PROGMEM Language_Str AUTOLEVEL_X_AXIS = u8"Auto-level X Axis";
|
|
||||||
PROGMEM Language_Str BED_TEMPERATURE = u8"Bed Temperature";
|
|
||||||
PROGMEM Language_Str HOME_XYZ_WARNING = u8"About to move to home position. Ensure the top and the bed of the printer are clear.\n\nContinue?";
|
|
||||||
PROGMEM Language_Str HOME_E_WARNING = u8"About to re-home plunger and auto-level. Remove syringe prior to proceeding.\n\nContinue?";
|
|
||||||
#endif
|
#endif
|
||||||
}; // namespace Language_en
|
}; // namespace Language_en
|
||||||
|
|
|
@ -1,84 +0,0 @@
|
||||||
/*****************
|
|
||||||
* language_fr.h *
|
|
||||||
*****************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Written By Marcio Teixeira 2019 - Aleph Objects, Inc. *
|
|
||||||
* *
|
|
||||||
* 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. *
|
|
||||||
* *
|
|
||||||
* To view a copy of the GNU General Public License, go to the following *
|
|
||||||
* location: <http://www.gnu.org/licenses/>. *
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
namespace Language_fr {
|
|
||||||
using namespace Language_en; // Inherit undefined strings from English
|
|
||||||
|
|
||||||
PROGMEM Language_Str YES = u8"oui";
|
|
||||||
PROGMEM Language_Str NO = u8"non";
|
|
||||||
PROGMEM Language_Str BACK = u8"Retour";
|
|
||||||
|
|
||||||
PROGMEM Language_Str AUTO_HOME = u8"Origine auto";
|
|
||||||
//PROGMEM Language_Str CLEAN_NOZZLE = u8"Clean Nozzle";
|
|
||||||
PROGMEM Language_Str MOVE_AXIS = u8"Déplacer un axe";
|
|
||||||
PROGMEM Language_Str MOTORS_OFF = u8"Arrêter moteurs";
|
|
||||||
PROGMEM Language_Str TEMPERATURE = u8"Température";
|
|
||||||
PROGMEM Language_Str CHANGE_FILAMENT = u8"Changer filament";
|
|
||||||
PROGMEM Language_Str ADVANCED_SETTINGS = u8"Config. avancée";
|
|
||||||
PROGMEM Language_Str ABOUT_PRINTER = u8"Infos imprimante";
|
|
||||||
PROGMEM Language_Str PRINTER_STATISTICS = u8"Stats. imprimante";
|
|
||||||
|
|
||||||
PROGMEM Language_Str ZPROBE_ZOFFSET = u8"Décalage Z";
|
|
||||||
PROGMEM Language_Str STEPS_PER_MM = u8"Pas/mm";
|
|
||||||
PROGMEM Language_Str TOOL_OFFSETS = u8"Offsets Outil";
|
|
||||||
PROGMEM Language_Str VELOCITY = u8"Vélocité";
|
|
||||||
PROGMEM Language_Str ACCELERATION = u8"Accélération";
|
|
||||||
PROGMEM Language_Str ACCEL_PRINTING = u8"A impr.";
|
|
||||||
PROGMEM Language_Str ACCEL_TRAVEL = u8"A dépl.";
|
|
||||||
PROGMEM Language_Str ACCEL_RETRACT = u8"A retrait";
|
|
||||||
PROGMEM Language_Str JUNC_DEVIATION = u8"Déviat. jonct.";
|
|
||||||
//PROGMEM Language_Str BACKLASH = u8"Backlash";
|
|
||||||
PROGMEM Language_Str SMOOTHING = u8"Lissage";
|
|
||||||
PROGMEM Language_Str MOTOR_CURRENT = u8"Courant";
|
|
||||||
PROGMEM Language_Str ENDSTOPS = u8"Butées";
|
|
||||||
PROGMEM Language_Str SOFT_ENDSTOPS = u8"Butées SW";
|
|
||||||
PROGMEM Language_Str RESTORE_DEFAULTS = u8"Restaurer défauts";
|
|
||||||
|
|
||||||
|
|
||||||
PROGMEM Language_Str HOTEND = u8"Buse";
|
|
||||||
PROGMEM Language_Str HOTEND1 = u8"Buse 1";
|
|
||||||
PROGMEM Language_Str HOTEND2 = u8"Buse 2";
|
|
||||||
PROGMEM Language_Str HOTEND3 = u8"Buse 3";
|
|
||||||
PROGMEM Language_Str HOTEND4 = u8"Buse 4";
|
|
||||||
PROGMEM Language_Str BED = u8"Lit";
|
|
||||||
PROGMEM Language_Str AXIS_ALL = u8"Tous";
|
|
||||||
PROGMEM Language_Str HOME = u8"Origine";
|
|
||||||
|
|
||||||
PROGMEM Language_Str FAN_SPEED = u8"Vitesse ventil.";
|
|
||||||
PROGMEM Language_Str RUNOUT_SENSOR = u8"Capteur fil.";
|
|
||||||
|
|
||||||
PROGMEM Language_Str PRINT_FILE = u8"Imprimer";
|
|
||||||
|
|
||||||
PROGMEM Language_Str RESUME_PRINT = u8"Reprendre impr.";
|
|
||||||
PROGMEM Language_Str PAUSE_PRINT = u8"Pause impression";
|
|
||||||
PROGMEM Language_Str STOP_PRINT = u8"Arrêter impr.";
|
|
||||||
|
|
||||||
PROGMEM Language_Str INFO_PRINT_COUNT = u8"Nbre impressions";
|
|
||||||
PROGMEM Language_Str INFO_COMPLETED_PRINTS = u8"Terminées";
|
|
||||||
PROGMEM Language_Str INFO_PRINT_TIME = u8"Tps impr. total";
|
|
||||||
PROGMEM Language_Str INFO_PRINT_LONGEST = u8"Impr. la + longue";
|
|
||||||
PROGMEM Language_Str INFO_PRINT_FILAMENT = u8"Total filament";
|
|
||||||
|
|
||||||
PROGMEM Language_Str PRINTER_HALTED = u8"IMPR. STOPPÉE";
|
|
||||||
PROGMEM Language_Str PLEASE_RESET = u8"Redémarrer SVP";
|
|
||||||
}; // namespace Language_fr
|
|
|
@ -103,7 +103,7 @@ namespace ExtUI {
|
||||||
}
|
}
|
||||||
|
|
||||||
void onConfigurationStoreWritten(bool success) {
|
void onConfigurationStoreWritten(bool success) {
|
||||||
#ifdef LULZBOT_EEPROM_BACKUP_SIZE
|
#ifdef ARCHIM2_SPI_FLASH_EEPROM_BACKUP_SIZE
|
||||||
if (success && InterfaceSettingsScreen::backupEEPROM()) {
|
if (success && InterfaceSettingsScreen::backupEEPROM()) {
|
||||||
SERIAL_ECHOLNPGM("Made backup of EEPROM to SPI Flash");
|
SERIAL_ECHOLNPGM("Made backup of EEPROM to SPI Flash");
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,43 +45,43 @@ void AboutScreen::onRedraw(draw_mode_t) {
|
||||||
.cmd(COLOR_RGB(bg_text_enabled))
|
.cmd(COLOR_RGB(bg_text_enabled))
|
||||||
.tag(0);
|
.tag(0);
|
||||||
|
|
||||||
draw_text_box(cmd, BTN_POS(1,2), BTN_SIZE(4,1), F(
|
draw_text_box(cmd, BTN_POS(1,2), BTN_SIZE(4,1),
|
||||||
#ifdef LULZBOT_LCD_MACHINE_NAME
|
#ifdef CUSTOM_MACHINE_NAME
|
||||||
LULZBOT_LCD_MACHINE_NAME
|
F(CUSTOM_MACHINE_NAME)
|
||||||
#else
|
#else
|
||||||
GET_TEXT_F(COLOR_TOUCH_PANEL)
|
GET_TEXT_F(MSG_ABOUT_TOUCH_PANEL_1)
|
||||||
#endif
|
#endif
|
||||||
), OPT_CENTER, font_xlarge);
|
, OPT_CENTER, font_xlarge);
|
||||||
|
|
||||||
#ifdef LULZBOT_LCD_TOOLHEAD_NAME
|
#ifdef TOOLHEAD_NAME
|
||||||
char about_str[
|
char about_str[
|
||||||
strlen_P(GET_TEXT(FIRMWARE_FOR_TOOLHEAD)) +
|
strlen_P(GET_TEXT(FIRMWARE_FOR_TOOLHEAD)) +
|
||||||
strlen_P(LULZBOT_LCD_TOOLHEAD_NAME) +
|
strlen_P(TOOLHEAD_NAME) +
|
||||||
strlen_P(GET_TEXT(ABOUT_ALEPH_OBJECTS)) + 1];
|
strlen_P(GET_TEXT(ABOUT_TOUCH_PANEL_2)) + 1];
|
||||||
|
|
||||||
sprintf_P(about_str, GET_TEXT(FIRMWARE_FOR_TOOLHEAD), LULZBOT_LCD_TOOLHEAD_NAME);
|
sprintf_P(about_str, GET_TEXT(FIRMWARE_FOR_TOOLHEAD), TOOLHEAD_NAME);
|
||||||
strcat_P(about_str, GET_TEXT(ABOUT_ALEPH_OBJECTS));
|
strcat_P (about_str, GET_TEXT(ABOUT_TOUCH_PANEL_2));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
cmd.tag(2);
|
cmd.tag(2);
|
||||||
draw_text_box(cmd, BTN_POS(1,3), BTN_SIZE(4,3),
|
draw_text_box(cmd, BTN_POS(1,3), BTN_SIZE(4,3),
|
||||||
#ifdef LULZBOT_LCD_TOOLHEAD_NAME
|
#ifdef TOOLHEAD_NAME
|
||||||
about_str
|
about_str
|
||||||
#else
|
#else
|
||||||
GET_TEXT_F(ABOUT_ALEPH_OBJECTS)
|
GET_TEXT_F(MSG_ABOUT_TOUCH_PANEL_2)
|
||||||
#endif
|
#endif
|
||||||
, OPT_CENTER, font_medium);
|
, OPT_CENTER, font_medium);
|
||||||
|
|
||||||
cmd.tag(0);
|
cmd.tag(0);
|
||||||
draw_text_box(cmd, BTN_POS(1,6), BTN_SIZE(4,2), progmem_str(getFirmwareName_str()), OPT_CENTER, font_medium);
|
draw_text_box(cmd, BTN_POS(1,6), BTN_SIZE(4,2), progmem_str(getFirmwareName_str()), OPT_CENTER, font_medium);
|
||||||
|
|
||||||
cmd.font(font_medium).colors(action_btn).tag(1).button(BTN_POS(2,8), BTN_SIZE(2,1), GET_TEXT_F(OKAY));
|
cmd.font(font_medium).colors(action_btn).tag(1).button(BTN_POS(2,8), BTN_SIZE(2,1), GET_TEXT_F(MSG_BUTTON_OKAY));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AboutScreen::onTouchEnd(uint8_t tag) {
|
bool AboutScreen::onTouchEnd(uint8_t tag) {
|
||||||
switch (tag) {
|
switch (tag) {
|
||||||
case 1: GOTO_PREVIOUS(); return true;
|
case 1: GOTO_PREVIOUS(); return true;
|
||||||
#if ENABLED(DEVELOPER_SCREENS)
|
#if ENABLED(TOUCH_UI_DEVELOPER_MENU)
|
||||||
case 2: GOTO_SCREEN(DeveloperMenu); return true;
|
case 2: GOTO_SCREEN(DeveloperMenu); return true;
|
||||||
#endif
|
#endif
|
||||||
default: return false;
|
default: return false;
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
#include "../config.h"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(LULZBOT_TOUCH_UI) && !defined(LULZBOT_USE_BIOPRINTER_UI)
|
#if ENABLED(LULZBOT_TOUCH_UI) && !defined(TOUCH_UI_LULZBOT_BIO)
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
@ -49,52 +49,52 @@ void AdvancedSettingsMenu::onRedraw(draw_mode_t what) {
|
||||||
#else
|
#else
|
||||||
.enabled(0)
|
.enabled(0)
|
||||||
#endif
|
#endif
|
||||||
.tag(2) .button( BTN_POS(1,1), BTN_SIZE(1,1), GET_TEXT_F(ZPROBE_ZOFFSET))
|
.tag(2) .button( BTN_POS(1,1), BTN_SIZE(1,1), GET_TEXT_F(MSG_ZPROBE_ZOFFSET))
|
||||||
.enabled(1)
|
.enabled(1)
|
||||||
.tag(3) .button( BTN_POS(2,1), BTN_SIZE(1,1), GET_TEXT_F(STEPS_PER_MM))
|
.tag(3) .button( BTN_POS(2,1), BTN_SIZE(1,1), GET_TEXT_F(MSG_STEPS_PER_MM))
|
||||||
#if HAS_TRINAMIC
|
#if HAS_TRINAMIC
|
||||||
.enabled(1)
|
.enabled(1)
|
||||||
#else
|
#else
|
||||||
.enabled(0)
|
.enabled(0)
|
||||||
#endif
|
#endif
|
||||||
.tag(13).button( BTN_POS(1,5), BTN_SIZE(1,1), GET_TEXT_F(MOTOR_CURRENT))
|
.tag(13).button( BTN_POS(1,5), BTN_SIZE(1,1), GET_TEXT_F(MSG_TMC_CURRENT))
|
||||||
#if HAS_TRINAMIC
|
#if HAS_TRINAMIC
|
||||||
.enabled(1)
|
.enabled(1)
|
||||||
#else
|
#else
|
||||||
.enabled(0)
|
.enabled(0)
|
||||||
#endif
|
#endif
|
||||||
.tag(14).button( BTN_POS(1,4), BTN_SIZE(1,1), GET_TEXT_F(HOME_SENSE))
|
.tag(14).button( BTN_POS(1,4), BTN_SIZE(1,1), GET_TEXT_F(MSG_TMC_HOMING_THRS))
|
||||||
#if HOTENDS > 1
|
#if HOTENDS > 1
|
||||||
.enabled(1)
|
.enabled(1)
|
||||||
#else
|
#else
|
||||||
.enabled(0)
|
.enabled(0)
|
||||||
#endif
|
#endif
|
||||||
.tag(4) .button( BTN_POS(1,2), BTN_SIZE(1,1), GET_TEXT_F(TOOL_OFFSETS))
|
.tag(4) .button( BTN_POS(1,2), BTN_SIZE(1,1), GET_TEXT_F(MSG_OFFSETS_MENU))
|
||||||
#if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR)
|
#if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR)
|
||||||
.enabled(1)
|
.enabled(1)
|
||||||
#else
|
#else
|
||||||
.enabled(0)
|
.enabled(0)
|
||||||
#endif
|
#endif
|
||||||
.tag(11).button( BTN_POS(1,3), BTN_SIZE(1,1), GET_TEXT_F(FILAMENT))
|
.tag(11).button( BTN_POS(1,3), BTN_SIZE(1,1), GET_TEXT_F(MSG_FILAMENT))
|
||||||
.tag(12).button( BTN_POS(1,6), BTN_SIZE(1,1), GET_TEXT_F(ENDSTOPS))
|
.tag(12).button( BTN_POS(1,6), BTN_SIZE(1,1), GET_TEXT_F(MSG_LCD_ENDSTOPS))
|
||||||
.tag(15).button( BTN_POS(2,6), BTN_SIZE(1,1), GET_TEXT_F(DISPLAY_MENU))
|
.tag(15).button( BTN_POS(2,6), BTN_SIZE(1,1), GET_TEXT_F(MSG_DISPLAY_MENU))
|
||||||
.tag(9) .button( BTN_POS(1,7), BTN_SIZE(2,1), GET_TEXT_F(INTERFACE_SETTINGS))
|
.tag(9) .button( BTN_POS(1,7), BTN_SIZE(2,1), GET_TEXT_F(MSG_INTERFACE_SETTINGS))
|
||||||
.tag(10).button( BTN_POS(1,8), BTN_SIZE(2,1), GET_TEXT_F(RESTORE_DEFAULTS))
|
.tag(10).button( BTN_POS(1,8), BTN_SIZE(2,1), GET_TEXT_F(MSG_RESTORE_FAILSAFE))
|
||||||
.tag(5) .button( BTN_POS(2,2), BTN_SIZE(1,1), GET_TEXT_F(VELOCITY))
|
.tag(5) .button( BTN_POS(2,2), BTN_SIZE(1,1), GET_TEXT_F(MSG_VELOCITY))
|
||||||
.tag(6) .button( BTN_POS(2,3), BTN_SIZE(1,1), GET_TEXT_F(ACCELERATION))
|
.tag(6) .button( BTN_POS(2,3), BTN_SIZE(1,1), GET_TEXT_F(MSG_ACCELERATION))
|
||||||
#if DISABLED(CLASSIC_JERK)
|
#if DISABLED(CLASSIC_JERK)
|
||||||
.tag(7) .button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXT_F(JUNC_DEVIATION))
|
.tag(7) .button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXT_F(MSG_JUNCTION_DEVIATION))
|
||||||
#else
|
#else
|
||||||
.tag(7) .button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXT_F(JERK))
|
.tag(7) .button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXT_F(MSG_JERK))
|
||||||
#endif
|
#endif
|
||||||
#if ENABLED(BACKLASH_GCODE)
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
.enabled(1)
|
.enabled(1)
|
||||||
#else
|
#else
|
||||||
.enabled(0)
|
.enabled(0)
|
||||||
#endif
|
#endif
|
||||||
.tag(8).button( BTN_POS(2,5), BTN_SIZE(1,1), GET_TEXT_F(BACKLASH))
|
.tag(8).button( BTN_POS(2,5), BTN_SIZE(1,1), GET_TEXT_F(MSG_BACKLASH))
|
||||||
.colors(action_btn)
|
.colors(action_btn)
|
||||||
.tag(1) .button( BTN_POS(1,9), BTN_SIZE(2,1), GET_TEXT_F(BACK));
|
.tag(1) .button( BTN_POS(1,9), BTN_SIZE(2,1), GET_TEXT_F(MSG_BACK));
|
||||||
#undef GRID_COLS
|
#undef GRID_COLS
|
||||||
#undef GRID_ROWS
|
#undef GRID_ROWS
|
||||||
#else
|
#else
|
||||||
|
@ -105,47 +105,47 @@ void AdvancedSettingsMenu::onRedraw(draw_mode_t what) {
|
||||||
#else
|
#else
|
||||||
.enabled(0)
|
.enabled(0)
|
||||||
#endif
|
#endif
|
||||||
.tag(2) .button( BTN_POS(1,1), BTN_SIZE(1,2), GET_TEXT_F(ZPROBE_ZOFFSET))
|
.tag(2) .button( BTN_POS(1,1), BTN_SIZE(1,2), GET_TEXT_F(MSG_ZPROBE_ZOFFSET))
|
||||||
.enabled(1)
|
.enabled(1)
|
||||||
.tag(3) .button( BTN_POS(2,1), BTN_SIZE(1,1), GET_TEXT_F(STEPS_PER_MM))
|
.tag(3) .button( BTN_POS(2,1), BTN_SIZE(1,1), GET_TEXT_F(MSG_STEPS_PER_MM))
|
||||||
#if HAS_TRINAMIC
|
#if HAS_TRINAMIC
|
||||||
.enabled(1)
|
.enabled(1)
|
||||||
#else
|
#else
|
||||||
.enabled(0)
|
.enabled(0)
|
||||||
#endif
|
#endif
|
||||||
.tag(13).button( BTN_POS(3,1), BTN_SIZE(1,1), GET_TEXT_F(MOTOR_CURRENT))
|
.tag(13).button( BTN_POS(3,1), BTN_SIZE(1,1), GET_TEXT_F(MSG_TMC_CURRENT))
|
||||||
#if HAS_TRINAMIC
|
#if HAS_TRINAMIC
|
||||||
.enabled(1)
|
.enabled(1)
|
||||||
#else
|
#else
|
||||||
.enabled(0)
|
.enabled(0)
|
||||||
#endif
|
#endif
|
||||||
.tag(14).button( BTN_POS(3,2), BTN_SIZE(1,1), GET_TEXT_F(HOME_SENSE))
|
.tag(14).button( BTN_POS(3,2), BTN_SIZE(1,1), GET_TEXT_F(MSG_TMC_HOMING_THRS))
|
||||||
#if ENABLED(BACKLASH_GCODE)
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
.enabled(1)
|
.enabled(1)
|
||||||
#else
|
#else
|
||||||
.enabled(0)
|
.enabled(0)
|
||||||
#endif
|
#endif
|
||||||
.tag(8).button( BTN_POS(3,3), BTN_SIZE(1,1), GET_TEXT_F(BACKLASH))
|
.tag(8).button( BTN_POS(3,3), BTN_SIZE(1,1), GET_TEXT_F(MSG_BACKLASH))
|
||||||
#if HOTENDS > 1
|
#if HOTENDS > 1
|
||||||
.enabled(1)
|
.enabled(1)
|
||||||
#else
|
#else
|
||||||
.enabled(0)
|
.enabled(0)
|
||||||
#endif
|
#endif
|
||||||
.tag(4) .button( BTN_POS(1,3), BTN_SIZE(1,1), GET_TEXT_F(TOOL_OFFSETS))
|
.tag(4) .button( BTN_POS(1,3), BTN_SIZE(1,1), GET_TEXT_F(MSG_OFFSETS_MENU))
|
||||||
.tag(12).button( BTN_POS(3,4), BTN_SIZE(1,1), GET_TEXT_F(ENDSTOPS))
|
.tag(12).button( BTN_POS(3,4), BTN_SIZE(1,1), GET_TEXT_F(MSG_LCD_ENDSTOPS))
|
||||||
.tag(5) .button( BTN_POS(2,2), BTN_SIZE(1,1), GET_TEXT_F(VELOCITY))
|
.tag(5) .button( BTN_POS(2,2), BTN_SIZE(1,1), GET_TEXT_F(MSG_VELOCITY))
|
||||||
.tag(6) .button( BTN_POS(2,3), BTN_SIZE(1,1), GET_TEXT_F(ACCELERATION))
|
.tag(6) .button( BTN_POS(2,3), BTN_SIZE(1,1), GET_TEXT_F(MSG_ACCELERATION))
|
||||||
#if DISABLED(CLASSIC_JERK)
|
#if DISABLED(CLASSIC_JERK)
|
||||||
.tag(7) .button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXT_F(JUNC_DEVIATION))
|
.tag(7) .button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXT_F(MSG_JUNCTION_DEVIATION))
|
||||||
#else
|
#else
|
||||||
.tag(7) .button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXT_F(JERK))
|
.tag(7) .button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXT_F(MSG_JERK))
|
||||||
#endif
|
#endif
|
||||||
.tag(11).button( BTN_POS(1,4), BTN_SIZE(1,1), GET_TEXT_F(FILAMENT))
|
.tag(11).button( BTN_POS(1,4), BTN_SIZE(1,1), GET_TEXT_F(MSG_FILAMENT))
|
||||||
.tag(15).button( BTN_POS(3,5), BTN_SIZE(1,1), GET_TEXT_F(DISPLAY_MENU))
|
.tag(15).button( BTN_POS(3,5), BTN_SIZE(1,1), GET_TEXT_F(MSG_DISPLAY_MENU))
|
||||||
.tag(9) .button( BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXT_F(INTERFACE_SETTINGS))
|
.tag(9) .button( BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXT_F(MSG_INTERFACE_SETTINGS))
|
||||||
.tag(10).button( BTN_POS(1,6), BTN_SIZE(2,1), GET_TEXT_F(RESTORE_DEFAULTS))
|
.tag(10).button( BTN_POS(1,6), BTN_SIZE(2,1), GET_TEXT_F(MSG_RESTORE_FAILSAFE))
|
||||||
.colors(action_btn)
|
.colors(action_btn)
|
||||||
.tag(1) .button( BTN_POS(3,6), BTN_SIZE(1,1), GET_TEXT_F(BACK));
|
.tag(1) .button( BTN_POS(3,6), BTN_SIZE(1,1), GET_TEXT_F(MSG_BACK));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,17 +32,17 @@ using namespace Theme;
|
||||||
|
|
||||||
void BacklashCompensationScreen::onRedraw(draw_mode_t what) {
|
void BacklashCompensationScreen::onRedraw(draw_mode_t what) {
|
||||||
widgets_t w(what);
|
widgets_t w(what);
|
||||||
w.precision(2).units( GET_TEXT_F(UNITS_MM));
|
w.precision(2).units( GET_TEXT_F(MSG_UNITS_MM));
|
||||||
w.heading( GET_TEXT_F(BACKLASH));
|
w.heading( GET_TEXT_F(MSG_BACKLASH));
|
||||||
w.color(x_axis).adjuster(2, GET_TEXT_F(AXIS_X), getAxisBacklash_mm(X));
|
w.color(x_axis).adjuster(2, GET_TEXT_F(MSG_AXIS_X), getAxisBacklash_mm(X));
|
||||||
w.color(y_axis).adjuster(4, GET_TEXT_F(AXIS_Y), getAxisBacklash_mm(Y));
|
w.color(y_axis).adjuster(4, GET_TEXT_F(MSG_AXIS_Y), getAxisBacklash_mm(Y));
|
||||||
w.color(z_axis).adjuster(6, GET_TEXT_F(AXIS_Z), getAxisBacklash_mm(Z));
|
w.color(z_axis).adjuster(6, GET_TEXT_F(MSG_AXIS_Z), getAxisBacklash_mm(Z));
|
||||||
#if ENABLED(CALIBRATION_GCODE)
|
#if ENABLED(CALIBRATION_GCODE)
|
||||||
w.button(12, GET_TEXT_F(MEASURE_AUTOMATICALLY));
|
w.button(12, GET_TEXT_F(MSG_MEASURE_AUTOMATICALLY));
|
||||||
#endif
|
#endif
|
||||||
w.color(other).adjuster(8, GET_TEXT_F(SMOOTHING), getBacklashSmoothing_mm());
|
w.color(other).adjuster(8, GET_TEXT_F(MSG_SMOOTHING), getBacklashSmoothing_mm());
|
||||||
w.precision(0).units(GET_TEXT_F(UNITS_PERCENT))
|
w.precision(0).units(GET_TEXT_F(MSG_UNITS_PERCENT))
|
||||||
.adjuster(10, GET_TEXT_F(CORRECTION), getBacklashCorrection_percent());
|
.adjuster(10, GET_TEXT_F(MSG_CORRECTION), getBacklashCorrection_percent());
|
||||||
w.precision(2).increments();
|
w.precision(2).increments();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -58,7 +58,7 @@ BaseNumericAdjustmentScreen::widgets_t::widgets_t(draw_mode_t what) : _what(what
|
||||||
#else
|
#else
|
||||||
BTN_POS(15,7), BTN_SIZE(4,1),
|
BTN_POS(15,7), BTN_SIZE(4,1),
|
||||||
#endif
|
#endif
|
||||||
GET_TEXT_F(BACK), true, true
|
GET_TEXT_F(MSG_BACK), true, true
|
||||||
);
|
);
|
||||||
|
|
||||||
_line = 1;
|
_line = 1;
|
||||||
|
@ -197,7 +197,7 @@ void BaseNumericAdjustmentScreen::widgets_t::increments() {
|
||||||
#else
|
#else
|
||||||
BTN_POS(15, 1), BTN_SIZE(4,1),
|
BTN_POS(15, 1), BTN_SIZE(4,1),
|
||||||
#endif
|
#endif
|
||||||
GET_TEXT_F(INCREMENT)
|
GET_TEXT_F(MSG_INCREMENT)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -328,7 +328,7 @@ void BaseNumericAdjustmentScreen::widgets_t::toggle(uint8_t tag, progmem_str lab
|
||||||
#else
|
#else
|
||||||
BTN_POS(10,_line), BTN_SIZE(4,1),
|
BTN_POS(10,_line), BTN_SIZE(4,1),
|
||||||
#endif
|
#endif
|
||||||
GET_TEXT_F(NO), GET_TEXT_F(YES), value
|
GET_TEXT_F(MSG_NO), GET_TEXT_F(MSG_YES), value
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -341,14 +341,14 @@ void BaseNumericAdjustmentScreen::widgets_t::home_buttons(uint8_t tag) {
|
||||||
if (_what & BACKGROUND) {
|
if (_what & BACKGROUND) {
|
||||||
_button_style(cmd, TEXT_LABEL);
|
_button_style(cmd, TEXT_LABEL);
|
||||||
cmd.font(font_small)
|
cmd.font(font_small)
|
||||||
.text(BTN_POS(1, _line), BTN_SIZE(4,1), GET_TEXT_F(HOME));
|
.text(BTN_POS(1, _line), BTN_SIZE(4,1), GET_TEXT_F(MSG_HOME));
|
||||||
}
|
}
|
||||||
|
|
||||||
cmd.font(LAYOUT_FONT);
|
cmd.font(LAYOUT_FONT);
|
||||||
_button(cmd, tag+0, BTN_POS(5,_line), BTN_SIZE(2,1), GET_TEXT_F(AXIS_X));
|
_button(cmd, tag+0, BTN_POS(5,_line), BTN_SIZE(2,1), GET_TEXT_F(MSG_AXIS_X));
|
||||||
_button(cmd, tag+1, BTN_POS(7,_line), BTN_SIZE(2,1), GET_TEXT_F(AXIS_Y));
|
_button(cmd, tag+1, BTN_POS(7,_line), BTN_SIZE(2,1), GET_TEXT_F(MSG_AXIS_Y));
|
||||||
_button(cmd, tag+2, BTN_POS(9,_line), BTN_SIZE(2,1), GET_TEXT_F(AXIS_Z));
|
_button(cmd, tag+2, BTN_POS(9,_line), BTN_SIZE(2,1), GET_TEXT_F(MSG_AXIS_Z));
|
||||||
_button(cmd, tag+3, BTN_POS(11,_line), BTN_SIZE(3,1), GET_TEXT_F(AXIS_ALL));
|
_button(cmd, tag+3, BTN_POS(11,_line), BTN_SIZE(3,1), GET_TEXT_F(MSG_AXIS_ALL));
|
||||||
|
|
||||||
_line++;
|
_line++;
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
#include "../config.h"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(LULZBOT_TOUCH_UI) && defined(LULZBOT_USE_BIOPRINTER_UI)
|
#if ENABLED(LULZBOT_TOUCH_UI) && defined(TOUCH_UI_LULZBOT_BIO)
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
@ -43,52 +43,52 @@ void AdvancedSettingsMenu::onRedraw(draw_mode_t what) {
|
||||||
#define GRID_ROWS 9
|
#define GRID_ROWS 9
|
||||||
#define GRID_COLS 2
|
#define GRID_COLS 2
|
||||||
|
|
||||||
.tag(2) .button( BTN_POS(1,1), BTN_SIZE(1,1), GET_TEXT_F(DISPLAY_MENU))
|
.tag(2) .button( BTN_POS(1,1), BTN_SIZE(1,1), GET_TEXT_F(MSG_DISPLAY_MENU))
|
||||||
#if HAS_TRINAMIC
|
#if HAS_TRINAMIC
|
||||||
.enabled(1)
|
.enabled(1)
|
||||||
#else
|
#else
|
||||||
.enabled(0)
|
.enabled(0)
|
||||||
#endif
|
#endif
|
||||||
.tag(3) .button( BTN_POS(1,2), BTN_SIZE(1,1), GET_TEXT_F(MOTOR_CURRENT))
|
.tag(3) .button( BTN_POS(1,2), BTN_SIZE(1,1), GET_TEXT_F(MSG_TMC_CURRENT))
|
||||||
#if HAS_TRINAMIC
|
#if HAS_TRINAMIC
|
||||||
.enabled(1)
|
.enabled(1)
|
||||||
#else
|
#else
|
||||||
.enabled(0)
|
.enabled(0)
|
||||||
#endif
|
#endif
|
||||||
.tag(4) .button( BTN_POS(1,3), BTN_SIZE(1,1), GET_TEXT_F(HOME_SENSE))
|
.tag(4) .button( BTN_POS(1,3), BTN_SIZE(1,1), GET_TEXT_F(MSG_TMC_HOMING_THRS))
|
||||||
.tag(5) .button( BTN_POS(1,4), BTN_SIZE(1,1), GET_TEXT_F(ENDSTOPS))
|
.tag(5) .button( BTN_POS(1,4), BTN_SIZE(1,1), GET_TEXT_F(MSG_LCD_ENDSTOPS))
|
||||||
#if HOTENDS > 1
|
#if HOTENDS > 1
|
||||||
.enabled(1)
|
.enabled(1)
|
||||||
#else
|
#else
|
||||||
.enabled(0)
|
.enabled(0)
|
||||||
#endif
|
#endif
|
||||||
.tag(6) .button( BTN_POS(1,5), BTN_SIZE(1,1), GET_TEXT_F(TOOL_OFFSETS))
|
.tag(6) .button( BTN_POS(1,5), BTN_SIZE(1,1), GET_TEXT_F(MSG_OFFSETS_MENU))
|
||||||
|
|
||||||
|
|
||||||
.tag(7) .button( BTN_POS(2,1), BTN_SIZE(1,1), GET_TEXT_F(STEPS_PER_MM))
|
.tag(7) .button( BTN_POS(2,1), BTN_SIZE(1,1), GET_TEXT_F(MSG_STEPS_PER_MM))
|
||||||
.tag(8) .button( BTN_POS(2,2), BTN_SIZE(1,1), GET_TEXT_F(VELOCITY))
|
.tag(8) .button( BTN_POS(2,2), BTN_SIZE(1,1), GET_TEXT_F(MSG_VELOCITY))
|
||||||
.tag(9) .button( BTN_POS(2,3), BTN_SIZE(1,1), GET_TEXT_F(ACCELERATION))
|
.tag(9) .button( BTN_POS(2,3), BTN_SIZE(1,1), GET_TEXT_F(MSG_ACCELERATION))
|
||||||
#if DISABLED(CLASSIC_JERK)
|
#if DISABLED(CLASSIC_JERK)
|
||||||
.tag(10) .button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXT_F(JUNC_DEVIATION))
|
.tag(10) .button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXT_F(MSG_JUNCTION_DEVIATION))
|
||||||
#else
|
#else
|
||||||
.tag(10) .button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXT_F(JERK))
|
.tag(10) .button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXT_F(MSG_JERK))
|
||||||
#endif
|
#endif
|
||||||
#if ENABLED(BACKLASH_GCODE)
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
.enabled(1)
|
.enabled(1)
|
||||||
#else
|
#else
|
||||||
.enabled(0)
|
.enabled(0)
|
||||||
#endif
|
#endif
|
||||||
.tag(11) .button( BTN_POS(2,5), BTN_SIZE(1,1), GET_TEXT_F(BACKLASH))
|
.tag(11) .button( BTN_POS(2,5), BTN_SIZE(1,1), GET_TEXT_F(MSG_BACKLASH))
|
||||||
#if ENABLED(LIN_ADVANCE)
|
#if ENABLED(LIN_ADVANCE)
|
||||||
.enabled(1)
|
.enabled(1)
|
||||||
#else
|
#else
|
||||||
.enabled(0)
|
.enabled(0)
|
||||||
#endif
|
#endif
|
||||||
.tag(12) .button( BTN_POS(1,6), BTN_SIZE(2,1), GET_TEXT_F(LINEAR_ADVANCE))
|
.tag(12) .button( BTN_POS(1,6), BTN_SIZE(2,1), GET_TEXT_F(MSG_LINEAR_ADVANCE))
|
||||||
.tag(13) .button( BTN_POS(1,7), BTN_SIZE(2,1), GET_TEXT_F(INTERFACE_SETTINGS))
|
.tag(13) .button( BTN_POS(1,7), BTN_SIZE(2,1), GET_TEXT_F(MSG_INTERFACE_SETTINGS))
|
||||||
.tag(14) .button( BTN_POS(1,8), BTN_SIZE(2,1), GET_TEXT_F(RESTORE_DEFAULTS))
|
.tag(14) .button( BTN_POS(1,8), BTN_SIZE(2,1), GET_TEXT_F(MSG_RESTORE_FAILSAFE))
|
||||||
.colors(action_btn)
|
.colors(action_btn)
|
||||||
.tag(1). button( BTN_POS(1,9), BTN_SIZE(2,1), GET_TEXT_F(BACK));
|
.tag(1). button( BTN_POS(1,9), BTN_SIZE(2,1), GET_TEXT_F(MSG_BACK));
|
||||||
#undef GRID_COLS
|
#undef GRID_COLS
|
||||||
#undef GRID_ROWS
|
#undef GRID_ROWS
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,14 +22,14 @@
|
||||||
|
|
||||||
#include "../config.h"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(LULZBOT_TOUCH_UI) && defined(LULZBOT_USE_BIOPRINTER_UI)
|
#if ENABLED(LULZBOT_TOUCH_UI) && defined(TOUCH_UI_LULZBOT_BIO)
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
|
|
||||||
void BioConfirmHomeE::onRedraw(draw_mode_t) {
|
void BioConfirmHomeE::onRedraw(draw_mode_t) {
|
||||||
drawMessage(GET_TEXT_F(HOME_E_WARNING));
|
drawMessage(GET_TEXT_F(MSG_HOME_E_WARNING));
|
||||||
drawYesNoButtons(1);
|
drawYesNoButtons(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,9 +37,9 @@ bool BioConfirmHomeE::onTouchEnd(uint8_t tag) {
|
||||||
switch (tag) {
|
switch (tag) {
|
||||||
case 1:
|
case 1:
|
||||||
SpinnerDialogBox::enqueueAndWait_P(F(
|
SpinnerDialogBox::enqueueAndWait_P(F(
|
||||||
"G112\n"
|
"G28 E\n"
|
||||||
LULZBOT_AXIS_LEVELING_COMMANDS "\n"
|
AXIS_LEVELING_COMMANDS "\n"
|
||||||
LULZBOT_PARK_AND_RELEASE_COMMANDS
|
PARK_AND_RELEASE_COMMANDS
|
||||||
));
|
));
|
||||||
current_screen.forget();
|
current_screen.forget();
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -22,14 +22,14 @@
|
||||||
|
|
||||||
#include "../config.h"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(LULZBOT_TOUCH_UI) && defined(LULZBOT_USE_BIOPRINTER_UI)
|
#if ENABLED(LULZBOT_TOUCH_UI) && defined(TOUCH_UI_LULZBOT_BIO)
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
|
|
||||||
void BioConfirmHomeXYZ::onRedraw(draw_mode_t) {
|
void BioConfirmHomeXYZ::onRedraw(draw_mode_t) {
|
||||||
drawMessage(GET_TEXT_F(HOME_XYZ_WARNING));
|
drawMessage(GET_TEXT_F(MSG_HOME_XYZ_WARNING));
|
||||||
drawYesNoButtons(1);
|
drawYesNoButtons(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ bool BioConfirmHomeXYZ::onTouchEnd(uint8_t tag) {
|
||||||
case 1:
|
case 1:
|
||||||
SpinnerDialogBox::enqueueAndWait_P(F(
|
SpinnerDialogBox::enqueueAndWait_P(F(
|
||||||
"G28\n"
|
"G28\n"
|
||||||
LULZBOT_PARK_AND_RELEASE_COMMANDS
|
PARK_AND_RELEASE_COMMANDS
|
||||||
));
|
));
|
||||||
current_screen.forget();
|
current_screen.forget();
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
#include "../config.h"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(LULZBOT_TOUCH_UI) && defined(LULZBOT_USE_BIOPRINTER_UI)
|
#if ENABLED(LULZBOT_TOUCH_UI) && defined(TOUCH_UI_LULZBOT_BIO)
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
@ -43,19 +43,19 @@ void MainMenu::onRedraw(draw_mode_t what) {
|
||||||
if (what & FOREGROUND) {
|
if (what & FOREGROUND) {
|
||||||
CommandProcessor cmd;
|
CommandProcessor cmd;
|
||||||
cmd.cmd(COLOR_RGB(bg_text_enabled))
|
cmd.cmd(COLOR_RGB(bg_text_enabled))
|
||||||
.font(font_large).text( BTN_POS(1,1), BTN_SIZE(2,1), GET_TEXT_F(MAIN_MENU))
|
.font(font_large).text( BTN_POS(1,1), BTN_SIZE(2,1), GET_TEXT_F(MSG_MAIN))
|
||||||
.colors(normal_btn)
|
.colors(normal_btn)
|
||||||
.font(font_medium)
|
.font(font_medium)
|
||||||
.tag(2).button( BTN_POS(1,2), BTN_SIZE(2,1), GET_TEXT_F(MOVE_TO_HOME))
|
.tag(2).button( BTN_POS(1,2), BTN_SIZE(2,1), GET_TEXT_F(MSG_MOVE_TO_HOME))
|
||||||
.tag(3).button( BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXT_F(RAISE_PLUNGER))
|
.tag(3).button( BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXT_F(MSG_RAISE_PLUNGER))
|
||||||
.tag(4).button( BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXT_F(RELEASE_XY_AXIS))
|
.tag(4).button( BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXT_F(MSG_RELEASE_XY_AXIS))
|
||||||
.tag(5).button( BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXT_F(AUTOLEVEL_X_AXIS))
|
.tag(5).button( BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXT_F(MSG_AUTOLEVEL_X_AXIS))
|
||||||
.tag(6).button( BTN_POS(1,6), BTN_SIZE(2,1), GET_TEXT_F(BED_TEMPERATURE))
|
.tag(6).button( BTN_POS(1,6), BTN_SIZE(2,1), GET_TEXT_F(MSG_BED_TEMPERATURE))
|
||||||
.tag(7).button( BTN_POS(1,7), BTN_SIZE(2,1), GET_TEXT_F(INTERFACE_SETTINGS))
|
.tag(7).button( BTN_POS(1,7), BTN_SIZE(2,1), GET_TEXT_F(MSG_INTERFACE_SETTINGS))
|
||||||
.tag(8).button( BTN_POS(1,8), BTN_SIZE(2,1), GET_TEXT_F(ADVANCED_SETTINGS))
|
.tag(8).button( BTN_POS(1,8), BTN_SIZE(2,1), GET_TEXT_F(MSG_ADVANCED_SETTINGS))
|
||||||
.tag(9).button( BTN_POS(1,9), BTN_SIZE(2,1), GET_TEXT_F(ABOUT_PRINTER))
|
.tag(9).button( BTN_POS(1,9), BTN_SIZE(2,1), GET_TEXT_F(MSG_INFO_MENU))
|
||||||
.colors(action_btn)
|
.colors(action_btn)
|
||||||
.tag(1).button( BTN_POS(1,10), BTN_SIZE(2,1), GET_TEXT_F(BACK));
|
.tag(1).button( BTN_POS(1,10), BTN_SIZE(2,1), GET_TEXT_F(MSG_BACK));
|
||||||
}
|
}
|
||||||
|
|
||||||
#undef GRID_COLS
|
#undef GRID_COLS
|
||||||
|
@ -72,7 +72,7 @@ bool MainMenu::onTouchEnd(uint8_t tag) {
|
||||||
case 2: GOTO_SCREEN(BioConfirmHomeXYZ); break;
|
case 2: GOTO_SCREEN(BioConfirmHomeXYZ); break;
|
||||||
case 3: SpinnerDialogBox::enqueueAndWait_P(e_homed ? F("G0 E0 F120") : F("G112")); break;
|
case 3: SpinnerDialogBox::enqueueAndWait_P(e_homed ? F("G0 E0 F120") : F("G112")); break;
|
||||||
case 4: StatusScreen::unlockMotors(); break;
|
case 4: StatusScreen::unlockMotors(); break;
|
||||||
case 5: SpinnerDialogBox::enqueueAndWait_P(F(LULZBOT_AXIS_LEVELING_COMMANDS)); break;
|
case 5: SpinnerDialogBox::enqueueAndWait_P(F(AXIS_LEVELING_COMMANDS)); break;
|
||||||
case 6: GOTO_SCREEN(TemperatureScreen); break;
|
case 6: GOTO_SCREEN(TemperatureScreen); break;
|
||||||
case 7: GOTO_SCREEN(InterfaceSettingsScreen); break;
|
case 7: GOTO_SCREEN(InterfaceSettingsScreen); break;
|
||||||
case 8: GOTO_SCREEN(AdvancedSettingsMenu); break;
|
case 8: GOTO_SCREEN(AdvancedSettingsMenu); break;
|
||||||
|
|
|
@ -0,0 +1,82 @@
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* 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. *
|
||||||
|
* *
|
||||||
|
* To view a copy of the GNU General Public License, go to the following *
|
||||||
|
* location: <http://www.gnu.org/licenses/>. *
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This file was auto-generated using "svg2cpp.pl"
|
||||||
|
*
|
||||||
|
* The encoding consists of x,y pairs with the min and max scaled to
|
||||||
|
* 0x0000 and 0xFFFE. A single 0xFFFF in the data stream indicates the
|
||||||
|
* start of a new closed path.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
constexpr float x_min = 0.000000;
|
||||||
|
|
||||||
|
constexpr float x_max = 480.000000;
|
||||||
|
|
||||||
|
constexpr float y_min = 0.000000;
|
||||||
|
|
||||||
|
constexpr float y_max = 272.000000;
|
||||||
|
|
||||||
|
const PROGMEM uint16_t z_neg[] = {0x7950, 0x51EA, 0x824E, 0x51EA, 0x824E, 0x71E2, 0x86CD, 0x71E2, 0x7DCF, 0x81DF, 0x74D1, 0x71E2, 0x7950, 0x71E2, 0x7950, 0x51EA};
|
||||||
|
|
||||||
|
const PROGMEM uint16_t z_pos[] = {0x7950, 0x41EE, 0x824E, 0x41EE, 0x824E, 0x21F5, 0x86CD, 0x21F5, 0x7DCF, 0x11F9, 0x74D0, 0x21F5, 0x7950, 0x21F5, 0x7950, 0x41EE};
|
||||||
|
|
||||||
|
const PROGMEM uint16_t y_neg[] = {0x3479, 0x56CF, 0x3EC6, 0x56CF, 0x3747, 0x7281, 0x3C6D, 0x7281, 0x2E61, 0x8059, 0x27D4, 0x7281, 0x2CFA, 0x7281, 0x3479, 0x56CF};
|
||||||
|
|
||||||
|
const PROGMEM uint16_t y_pos[] = {0x3BF9, 0x3B1D, 0x4645, 0x3B1D, 0x4DC4, 0x1F6B, 0x52EB, 0x1F6B, 0x4C5E, 0x1192, 0x3E52, 0x1F6B, 0x4378, 0x1F6B, 0x3BF9, 0x3B1D};
|
||||||
|
|
||||||
|
const PROGMEM uint16_t x_neg[] = {0x350E, 0x4209, 0x314E, 0x4FE2, 0x1CB5, 0x4FE2, 0x1AD6, 0x56CF, 0x1449, 0x48F6, 0x2255, 0x3B1D, 0x2075, 0x4209, 0x350E, 0x4209};
|
||||||
|
|
||||||
|
const PROGMEM uint16_t x_pos[] = {0x498C, 0x4209, 0x45CC, 0x4FE2, 0x5A65, 0x4FE2, 0x5885, 0x56CF, 0x6691, 0x48F6, 0x6004, 0x3B1D, 0x5E25, 0x4209, 0x498C, 0x4209};
|
||||||
|
|
||||||
|
const PROGMEM uint16_t syringe_fluid[] = {0xB4E9, 0x78BE, 0xBB12, 0x7C44, 0xBDE3, 0x7C44, 0xC426, 0x78BE, 0xC426, 0x250D, 0xB4E9, 0x250D, 0xB4E9, 0x78BE};
|
||||||
|
|
||||||
|
const PROGMEM uint16_t syringe[] = {0xB8AD, 0x6BB1, 0xB8AD, 0x6E0C, 0xBE02, 0x6E0C, 0xBE02, 0x6BB1, 0xFFFF, 0xB8AD, 0x6248, 0xB8AD, 0x64A2, 0xBE02, 0x64A2, 0xBE02, 0x6248, 0xFFFF, 0xB8AD, 0x58DF, 0xB8AD, 0x5B39, 0xBE02, 0x5B39, 0xBE02, 0x58DF, 0xFFFF, 0xB8AD, 0x4F75, 0xB8AD, 0x51D0, 0xBE02, 0x51D0, 0xBE02, 0x4F75, 0xFFFF, 0xB8AD, 0x460C, 0xB8AD, 0x4866, 0xBE02, 0x4866, 0xBE02, 0x460C, 0xFFFF, 0xB8AD, 0x3CA3, 0xB8AD, 0x3EFD, 0xBE02, 0x3EFD, 0xBE02, 0x3CA3, 0xFFFF, 0xB8AD, 0x3339, 0xB8AD, 0x3594, 0xBE02, 0x3594, 0xBE02, 0x3339, 0xFFFF, 0xB396, 0x110A, 0xB396, 0x1818, 0xB995, 0x1818, 0xB995, 0x22AD, 0xB396, 0x22AD, 0xB396, 0x7ADA, 0xB995, 0x7E61, 0xB995, 0x88F5, 0xBB95, 0x88F5, 0xBB95, 0xA8B4, 0xBD94, 0xAC3B, 0xBD94, 0x88F5, 0xBF94, 0x88F5, 0xBF94, 0x7E61, 0xC593, 0x7ADA, 0xC593, 0x22AD, 0xBF94, 0x22AD, 0xBF94, 0x1818, 0xC593, 0x1818, 0xC593, 0x110A, 0xFFFF, 0xBB95, 0x1818, 0xBD94, 0x1818, 0xBD94, 0x22AD, 0xBB95, 0x22AD, 0xBB95, 0x1818, 0xFFFF, 0xB596, 0x2634, 0xC393, 0x2634, 0xC393, 0x7753, 0xBD94, 0x7ADA, 0xBB95, 0x7ADA, 0xB596, 0x7753, 0xB596, 0x2634};
|
||||||
|
|
||||||
|
const PROGMEM uint16_t syringe_outline[] = {0xB396, 0x110A, 0xB396, 0x1818, 0xB995, 0x1818, 0xB995, 0x22AD, 0xB396, 0x22AD, 0xB396, 0x7ADA, 0xB995, 0x7E61, 0xB995, 0x88F5, 0xBB95, 0x88F5, 0xBB95, 0xA8B4, 0xBD94, 0xAC3B, 0xBD94, 0x88F5, 0xBF94, 0x88F5, 0xBF94, 0x7E61, 0xC593, 0x7ADA, 0xC593, 0x22AD, 0xBF94, 0x22AD, 0xBF94, 0x1818, 0xC593, 0x1818, 0xC593, 0x110A, 0xB396, 0x110A};
|
||||||
|
|
||||||
|
const PROGMEM uint16_t padlock[] = {0x3FE3, 0x2A04, 0x3D34, 0x2AF9, 0x3AFF, 0x2D93, 0x397D, 0x316D, 0x38E8, 0x3626, 0x38E8, 0x3A14, 0x39B3, 0x3C8F, 0x3B50, 0x3C8F, 0x3C1C, 0x3A14, 0x3C1C, 0x363C, 0x3C6B, 0x33A9, 0x3D3A, 0x3193, 0x3E6C, 0x302D, 0x3FE3, 0x2FAA, 0x415A, 0x302D, 0x428C, 0x3192, 0x435B, 0x33A8, 0x43AB, 0x363C, 0x43AB, 0x4492, 0x38C3, 0x4492, 0x3741, 0x45AC, 0x36A1, 0x4856, 0x36A1, 0x5C41, 0x3741, 0x5EEC, 0x38C3, 0x6005, 0x4703, 0x6005, 0x4886, 0x5EEC, 0x4925, 0x5C41, 0x4925, 0x4856, 0x4886, 0x45AC, 0x4703, 0x4492, 0x46DE, 0x362B, 0x4649, 0x316D, 0x44C7, 0x2D92, 0x4292, 0x2AF9};
|
||||||
|
|
||||||
|
const PROGMEM uint16_t home_z[] = {0x80BB, 0x2B43, 0x712C, 0x46B9, 0x750F, 0x46B9, 0x750F, 0x622F, 0x7CD7, 0x622F, 0x7CD7, 0x5474, 0x849F, 0x5474, 0x849F, 0x622F, 0x8C67, 0x622F, 0x8C67, 0x46B9, 0x904B, 0x46B9, 0x8A48, 0x3C1D, 0x8A48, 0x2ECD, 0x8664, 0x2ECD, 0x8664, 0x3540};
|
||||||
|
|
||||||
|
const PROGMEM uint16_t usb_btn[] = {0x0558, 0xC0D6, 0x44A4, 0xC0D6, 0x44A4, 0xF431, 0x0558, 0xF431, 0x0558, 0xC0D6};
|
||||||
|
|
||||||
|
const PROGMEM uint16_t menu_btn[] = {0x4B18, 0xC0D6, 0x8A64, 0xC0D6, 0x8A64, 0xF431, 0x4B18, 0xF431, 0x4B18, 0xC0D6};
|
||||||
|
|
||||||
|
const PROGMEM uint16_t e_pos[] = {0xE04E, 0x5E7B, 0xE94C, 0x5E7B, 0xE94C, 0x7E74, 0xEDCB, 0x7E74, 0xE4CD, 0x8E70, 0xDBCF, 0x7E74, 0xE04E, 0x7E74, 0xE04E, 0x5E7B};
|
||||||
|
|
||||||
|
const PROGMEM uint16_t e_neg[] = {0xE04E, 0x4E7F, 0xE94C, 0x4E7F, 0xE94C, 0x2E87, 0xEDCB, 0x2E87, 0xE4CD, 0x1E8A, 0xDBCF, 0x2E87, 0xE04E, 0x2E87, 0xE04E, 0x4E7F};
|
||||||
|
|
||||||
|
const PROGMEM uint16_t home_e[] = {0xD705, 0x3885, 0xC775, 0x53FB, 0xCB59, 0x53FB, 0xCB59, 0x6F71, 0xD321, 0x6F71, 0xD321, 0x61B6, 0xDAE9, 0x61B6, 0xDAE9, 0x6F71, 0xE2B1, 0x6F71, 0xE2B1, 0x53FB, 0xE695, 0x53FB, 0xE092, 0x495F, 0xE092, 0x3C0E, 0xDCAE, 0x3C0E, 0xDCAE, 0x4281};
|
||||||
|
|
||||||
|
const PROGMEM uint16_t fine_label[] = {0x0D92, 0x9444, 0x5211, 0x9444, 0x5211, 0xA9EA, 0x0D92, 0xA9EA};
|
||||||
|
|
||||||
|
const PROGMEM uint16_t fine_toggle[] = {0x56E7, 0x9444, 0x8007, 0x9444, 0x8007, 0xA9EA, 0x56E7, 0xA9EA};
|
||||||
|
|
||||||
|
const PROGMEM uint16_t zone2_temp[] = {0xC620, 0xD35A, 0xFD0E, 0xD35A, 0xFD0E, 0xF075, 0xC620, 0xF075};
|
||||||
|
|
||||||
|
const PROGMEM uint16_t zone1_temp[] = {0x8E04, 0xD35A, 0xC4F3, 0xD35A, 0xC4F3, 0xF075, 0x8E04, 0xF075};
|
||||||
|
|
||||||
|
const PROGMEM uint16_t zone2_label[] = {0xC620, 0xB4AD, 0xFD0A, 0xB4AD, 0xFD0A, 0xD1C8, 0xC620, 0xD1C8};
|
||||||
|
|
||||||
|
const PROGMEM uint16_t zone1_label[] = {0x8E04, 0xB4AD, 0xC4F3, 0xB4AD, 0xC4F3, 0xD1C8, 0x8E04, 0xD1C8};
|
||||||
|
|
||||||
|
const PROGMEM uint16_t actual_temp[] = {0xCDF6, 0xD037, 0xF7CA, 0xD037, 0xF7CA, 0xF424, 0xCDF6, 0xF424};
|
||||||
|
|
||||||
|
const PROGMEM uint16_t bed_icon[] = {0xCDF6, 0xA5CC, 0xF7CA, 0xA5CC, 0xF7CA, 0xC9B9, 0xCDF6, 0xC9B9};
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
#include "../config.h"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(LULZBOT_TOUCH_UI) && defined(LULZBOT_USE_BIOPRINTER_UI)
|
#if ENABLED(LULZBOT_TOUCH_UI) && defined(TOUCH_UI_LULZBOT_BIO)
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||||
* Written By Marcio Teixeira 2018 - Aleph Objects, Inc. *
|
* Written By Marcio Teixeira 2018 - Aleph Objects, Inc. *
|
||||||
|
* Written By Marcio Teixeira 2019 - Cocoa Press *
|
||||||
* *
|
* *
|
||||||
* This program is free software: you can redistribute it and/or modify *
|
* 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 *
|
* it under the terms of the GNU General Public License as published by *
|
||||||
|
@ -22,12 +23,17 @@
|
||||||
|
|
||||||
#include "../config.h"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(LULZBOT_TOUCH_UI) && defined(LULZBOT_USE_BIOPRINTER_UI)
|
#if ENABLED(LULZBOT_TOUCH_UI) && (ENABLED(TOUCH_UI_LULZBOT_BIO) || ENABLED(TOUCH_UI_COCOA_PRESS))
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
#include "../ftdi_eve_lib/extras/poly_ui.h"
|
#include "../ftdi_eve_lib/extras/poly_ui.h"
|
||||||
#include "bio_printer_ui.h"
|
|
||||||
|
#ifdef TOUCH_UI_PORTRAIT
|
||||||
|
#include "bio_printer_ui_portrait.h"
|
||||||
|
#else
|
||||||
|
#include "bio_printer_ui_landscape.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define GRID_COLS 2
|
#define GRID_COLS 2
|
||||||
#define GRID_ROWS 9
|
#define GRID_ROWS 9
|
||||||
|
@ -64,11 +70,20 @@ void StatusScreen::draw_temperature(draw_mode_t what) {
|
||||||
if (what & BACKGROUND) {
|
if (what & BACKGROUND) {
|
||||||
cmd.cmd(COLOR_RGB(bg_color));
|
cmd.cmd(COLOR_RGB(bg_color));
|
||||||
|
|
||||||
|
#if ENABLED(TOUCH_UI_LULZBOT_BIO)
|
||||||
|
// The LulzBot Bio shows the temperature for
|
||||||
|
// the bed.
|
||||||
|
|
||||||
|
#ifdef TOUCH_UI_PORTRAIT
|
||||||
// Draw touch surfaces
|
// Draw touch surfaces
|
||||||
ui.bounds(POLY(target_temp), x, y, h, v);
|
ui.bounds(POLY(target_temp), x, y, h, v);
|
||||||
cmd.rectangle(x, y, h, v);
|
cmd.rectangle(x, y, h, v);
|
||||||
ui.bounds(POLY(actual_temp), x, y, h, v);
|
ui.bounds(POLY(actual_temp), x, y, h, v);
|
||||||
cmd.rectangle(x, y, h, v);
|
cmd.rectangle(x, y, h, v);
|
||||||
|
#else
|
||||||
|
ui.bounds(POLY(bed_temp), x, y, h, v);
|
||||||
|
cmd.rectangle(x, y, h, v);
|
||||||
|
#endif
|
||||||
ui.bounds(POLY(bed_icon), x, y, h, v);
|
ui.bounds(POLY(bed_icon), x, y, h, v);
|
||||||
cmd.rectangle(x, y, h, v);
|
cmd.rectangle(x, y, h, v);
|
||||||
|
|
||||||
|
@ -80,6 +95,21 @@ void StatusScreen::draw_temperature(draw_mode_t what) {
|
||||||
.icon (x + 2, y + 2, h, v, Bed_Heat_Icon_Info, icon_scale * 2)
|
.icon (x + 2, y + 2, h, v, Bed_Heat_Icon_Info, icon_scale * 2)
|
||||||
.cmd(COLOR_RGB(bg_text_enabled))
|
.cmd(COLOR_RGB(bg_text_enabled))
|
||||||
.icon (x, y, h, v, Bed_Heat_Icon_Info, icon_scale * 2);
|
.icon (x, y, h, v, Bed_Heat_Icon_Info, icon_scale * 2);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if ENABLED(TOUCH_UI_COCOA_PRESS)
|
||||||
|
// The CocoaPress shows the temperature for two
|
||||||
|
// heating zones, but has no bed temperature
|
||||||
|
|
||||||
|
cmd.cmd(COLOR_RGB(bg_text_enabled));
|
||||||
|
cmd.font(font_medium);
|
||||||
|
|
||||||
|
ui.bounds(POLY(zone1_label), x, y, h, v);
|
||||||
|
cmd.text(x, y, h, v, GET_TEXT_F(MSG_ZONE_1));
|
||||||
|
|
||||||
|
ui.bounds(POLY(zone2_label), x, y, h, v);
|
||||||
|
cmd.text(x, y, h, v, GET_TEXT_F(MSG_ZONE_2));
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef TOUCH_UI_USE_UTF8
|
#ifdef TOUCH_UI_USE_UTF8
|
||||||
load_utf8_bitmaps(cmd); // Restore font bitmap handles
|
load_utf8_bitmaps(cmd); // Restore font bitmap handles
|
||||||
|
@ -87,33 +117,71 @@ void StatusScreen::draw_temperature(draw_mode_t what) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (what & FOREGROUND) {
|
if (what & FOREGROUND) {
|
||||||
char bed_str[15];
|
char str[15];
|
||||||
|
cmd.cmd(COLOR_RGB(bg_text_enabled));
|
||||||
cmd.font(font_xlarge)
|
#if ENABLED(TOUCH_UI_LULZBOT_BIO)
|
||||||
.cmd(COLOR_RGB(bg_text_enabled));
|
cmd.font(font_medium);
|
||||||
|
|
||||||
|
#ifdef TOUCH_UI_PORTRAIT
|
||||||
if (!isHeaterIdle(BED) && getTargetTemp_celsius(BED) > 0)
|
if (!isHeaterIdle(BED) && getTargetTemp_celsius(BED) > 0)
|
||||||
format_temp(bed_str, getTargetTemp_celsius(BED));
|
format_temp(str, getTargetTemp_celsius(BED));
|
||||||
else
|
else
|
||||||
strcpy_P(bed_str, PSTR(MSG_BED));
|
strcpy_P(str, GET_TEXT(MSG_BED));
|
||||||
|
|
||||||
ui.bounds(POLY(target_temp), x, y, h, v);
|
ui.bounds(POLY(target_temp), x, y, h, v);
|
||||||
cmd.text(x, y, h, v, bed_str);
|
cmd.text(x, y, h, v, str);
|
||||||
|
|
||||||
format_temp(bed_str, getActualTemp_celsius(BED));
|
format_temp(str, getActualTemp_celsius(BED));
|
||||||
ui.bounds(POLY(actual_temp), x, y, h, v);
|
ui.bounds(POLY(actual_temp), x, y, h, v);
|
||||||
cmd.text(x, y, h, v, bed_str);
|
cmd.text(x, y, h, v, str);
|
||||||
|
#else
|
||||||
|
if (!isHeaterIdle(BED) && getTargetTemp_celsius(BED) > 0)
|
||||||
|
format_temp_and_temp(str, getActualTemp_celsius(BED), getTargetTemp_celsius(BED));
|
||||||
|
else
|
||||||
|
format_temp_and_idle(str, getActualTemp_celsius(BED));
|
||||||
|
|
||||||
|
ui.bounds(POLY(bed_temp), x, y, h, v);
|
||||||
|
cmd.text(x, y, h, v, str);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if ENABLED(TOUCH_UI_COCOA_PRESS)
|
||||||
|
// The CocoaPress shows the temperature for two
|
||||||
|
// heating zones, but has no bed temperature
|
||||||
|
|
||||||
|
cmd.font(font_large);
|
||||||
|
|
||||||
|
if (!isHeaterIdle(E0) && getTargetTemp_celsius(E0) > 0)
|
||||||
|
format_temp_and_temp(str, getActualTemp_celsius(E0), getTargetTemp_celsius(E0));
|
||||||
|
else
|
||||||
|
format_temp_and_idle(str, getActualTemp_celsius(E0));
|
||||||
|
|
||||||
|
ui.bounds(POLY(zone1_temp), x, y, h, v);
|
||||||
|
cmd.text(x, y, h, v, str);
|
||||||
|
|
||||||
|
if (!isHeaterIdle(E1) && getTargetTemp_celsius(E1) > 0)
|
||||||
|
format_temp_and_temp(str, getActualTemp_celsius(E1), getTargetTemp_celsius(E1));
|
||||||
|
else
|
||||||
|
format_temp_and_idle(str, getActualTemp_celsius(E1));
|
||||||
|
|
||||||
|
ui.bounds(POLY(zone2_temp), x, y, h, v);
|
||||||
|
cmd.text(x, y, h, v, str);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void StatusScreen::draw_syringe(draw_mode_t what) {
|
void StatusScreen::draw_syringe(draw_mode_t what) {
|
||||||
int16_t x, y, h, v;
|
int16_t x, y, h, v;
|
||||||
#ifdef LULZBOT_E_TRAVEL_LIMIT
|
#ifdef E_MAX_POS
|
||||||
const float fill_level = 1.0 - min(1.0, max(0.0, getAxisPosition_mm(E0) / LULZBOT_E_TRAVEL_LIMIT));
|
const float fill_level = 1.0 - min(1.0, max(0.0, getAxisPosition_mm(E0) / E_MAX_POS));
|
||||||
#else
|
#else
|
||||||
const float fill_level = 0.75;
|
const float fill_level = 0.75;
|
||||||
#endif
|
#endif
|
||||||
|
#if ENABLED(TOUCH_UI_LULZBOT_BIO)
|
||||||
const bool e_homed = isAxisPositionKnown(E0);
|
const bool e_homed = isAxisPositionKnown(E0);
|
||||||
|
#else
|
||||||
|
const bool e_homed = true;
|
||||||
|
#endif
|
||||||
|
|
||||||
CommandProcessor cmd;
|
CommandProcessor cmd;
|
||||||
PolyUI ui(cmd, what);
|
PolyUI ui(cmd, what);
|
||||||
|
@ -143,7 +211,11 @@ void StatusScreen::draw_syringe(draw_mode_t what) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void StatusScreen::draw_arrows(draw_mode_t what) {
|
void StatusScreen::draw_arrows(draw_mode_t what) {
|
||||||
|
#if ENABLED(TOUCH_UI_LULZBOT_BIO)
|
||||||
const bool e_homed = isAxisPositionKnown(E0);
|
const bool e_homed = isAxisPositionKnown(E0);
|
||||||
|
#else
|
||||||
|
const bool e_homed = true;
|
||||||
|
#endif
|
||||||
const bool z_homed = isAxisPositionKnown(Z);
|
const bool z_homed = isAxisPositionKnown(Z);
|
||||||
|
|
||||||
CommandProcessor cmd;
|
CommandProcessor cmd;
|
||||||
|
@ -176,25 +248,34 @@ void StatusScreen::draw_fine_motion(draw_mode_t what) {
|
||||||
CommandProcessor cmd;
|
CommandProcessor cmd;
|
||||||
PolyUI ui(cmd, what);
|
PolyUI ui(cmd, what);
|
||||||
|
|
||||||
cmd.font(font_medium)
|
cmd.font(
|
||||||
|
#ifdef TOUCH_UI_PORTRAIT
|
||||||
|
font_medium
|
||||||
|
#else
|
||||||
|
font_small
|
||||||
|
#endif
|
||||||
|
)
|
||||||
.tag(16);
|
.tag(16);
|
||||||
|
|
||||||
if (what & BACKGROUND) {
|
if (what & BACKGROUND) {
|
||||||
|
|
||||||
ui.bounds(POLY(fine_label), x, y, h, v);
|
ui.bounds(POLY(fine_label), x, y, h, v);
|
||||||
cmd.cmd(COLOR_RGB(bg_text_enabled))
|
cmd.cmd(COLOR_RGB(bg_text_enabled))
|
||||||
.text(x, y, h, v, GET_TEXT_F(FINE_MOTION));
|
.text(x, y, h, v, GET_TEXT_F(MSG_FINE_MOTION));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (what & FOREGROUND) {
|
if (what & FOREGROUND) {
|
||||||
ui.bounds(POLY(fine_toggle), x, y, h, v);
|
ui.bounds(POLY(fine_toggle), x, y, h, v);
|
||||||
cmd.colors(ui_toggle)
|
cmd.colors(ui_toggle)
|
||||||
.toggle2(x, y, h, v, GET_TEXT_F(NO), GET_TEXT_F(YES), fine_motion);
|
.toggle2(x, y, h, v, GET_TEXT_F(MSG_NO), GET_TEXT_F(MSG_YES), fine_motion);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void StatusScreen::draw_overlay_icons(draw_mode_t what) {
|
void StatusScreen::draw_overlay_icons(draw_mode_t what) {
|
||||||
|
#if ENABLED(TOUCH_UI_LULZBOT_BIO)
|
||||||
const bool e_homed = isAxisPositionKnown(E0);
|
const bool e_homed = isAxisPositionKnown(E0);
|
||||||
|
#else
|
||||||
|
const bool e_homed = true;
|
||||||
|
#endif
|
||||||
const bool z_homed = isAxisPositionKnown(Z);
|
const bool z_homed = isAxisPositionKnown(Z);
|
||||||
|
|
||||||
CommandProcessor cmd;
|
CommandProcessor cmd;
|
||||||
|
@ -211,22 +292,27 @@ void StatusScreen::draw_overlay_icons(draw_mode_t what) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void StatusScreen::draw_buttons(draw_mode_t) {
|
void StatusScreen::draw_buttons(draw_mode_t what) {
|
||||||
|
int16_t x, y, h, v;
|
||||||
|
|
||||||
const bool has_media = isMediaInserted() && !isPrintingFromMedia();
|
const bool has_media = isMediaInserted() && !isPrintingFromMedia();
|
||||||
|
|
||||||
CommandProcessor cmd;
|
CommandProcessor cmd;
|
||||||
|
PolyUI ui(cmd, what);
|
||||||
|
|
||||||
|
ui.bounds(POLY(usb_btn), x, y, h, v);
|
||||||
cmd.font(font_medium)
|
cmd.font(font_medium)
|
||||||
.colors(normal_btn)
|
.colors(normal_btn)
|
||||||
.enabled(has_media)
|
.enabled(has_media)
|
||||||
.colors(has_media ? action_btn : normal_btn)
|
.colors(has_media ? action_btn : normal_btn)
|
||||||
.tag(9).button(BTN_POS(1,9), BTN_SIZE(1,1),
|
.tag(9).button(x, y, h, v,
|
||||||
isPrintingFromMedia() ?
|
isPrintingFromMedia() ?
|
||||||
GET_TEXT_F(PRINTING) :
|
GET_TEXT_F(MSG_PRINTING) :
|
||||||
GET_TEXT_F(MEDIA)
|
GET_TEXT_F(MSG_BUTTON_MEDIA)
|
||||||
);
|
);
|
||||||
|
|
||||||
cmd.colors(!has_media ? action_btn : normal_btn).tag(10).button(BTN_POS(2,9), BTN_SIZE(1,1), GET_TEXT_F(MENU));
|
ui.bounds(POLY(menu_btn), x, y, h, v);
|
||||||
|
cmd.colors(!has_media ? action_btn : normal_btn).tag(10).button(x, y, h, v, GET_TEXT_F(MSG_BUTTON_MENU));
|
||||||
}
|
}
|
||||||
|
|
||||||
void StatusScreen::loadBitmaps() {
|
void StatusScreen::loadBitmaps() {
|
||||||
|
@ -280,7 +366,9 @@ bool StatusScreen::onTouchEnd(uint8_t tag) {
|
||||||
break;
|
break;
|
||||||
case 9: GOTO_SCREEN(FilesScreen); break;
|
case 9: GOTO_SCREEN(FilesScreen); break;
|
||||||
case 10: GOTO_SCREEN(MainMenu); break;
|
case 10: GOTO_SCREEN(MainMenu); break;
|
||||||
|
#if ENABLED(TOUCH_UI_LULZBOT_BIO)
|
||||||
case 13: GOTO_SCREEN(BioConfirmHomeE); break;
|
case 13: GOTO_SCREEN(BioConfirmHomeE); break;
|
||||||
|
#endif
|
||||||
case 14: SpinnerDialogBox::enqueueAndWait_P(F("G28 Z")); break;
|
case 14: SpinnerDialogBox::enqueueAndWait_P(F("G28 Z")); break;
|
||||||
case 15: GOTO_SCREEN(TemperatureScreen); break;
|
case 15: GOTO_SCREEN(TemperatureScreen); break;
|
||||||
case 16: fine_motion = !fine_motion; break;
|
case 16: fine_motion = !fine_motion; break;
|
||||||
|
@ -320,19 +408,30 @@ bool StatusScreen::onTouchHeld(uint8_t tag) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void StatusScreen::setStatusMessage(progmem_str pstr) {
|
void StatusScreen::setStatusMessage(progmem_str pstr) {
|
||||||
|
#if defined(TOUCH_UI_LULZBOT_BIO)
|
||||||
BioPrintingDialogBox::setStatusMessage(pstr);
|
BioPrintingDialogBox::setStatusMessage(pstr);
|
||||||
|
#else
|
||||||
|
UNUSED(pstr);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void StatusScreen::setStatusMessage(const char * const str) {
|
void StatusScreen::setStatusMessage(const char * const str) {
|
||||||
|
#if defined(TOUCH_UI_LULZBOT_BIO)
|
||||||
BioPrintingDialogBox::setStatusMessage(str);
|
BioPrintingDialogBox::setStatusMessage(str);
|
||||||
|
#else
|
||||||
|
UNUSED(str);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void StatusScreen::onIdle() {
|
void StatusScreen::onIdle() {
|
||||||
|
reset_menu_timeout();
|
||||||
if (refresh_timer.elapsed(STATUS_UPDATE_INTERVAL)) {
|
if (refresh_timer.elapsed(STATUS_UPDATE_INTERVAL)) {
|
||||||
if (!EventLoop::is_touch_held())
|
if (!EventLoop::is_touch_held())
|
||||||
onRefresh();
|
onRefresh();
|
||||||
|
#if defined(TOUCH_UI_LULZBOT_BIO)
|
||||||
if (isPrintingFromMedia())
|
if (isPrintingFromMedia())
|
||||||
BioPrintingDialogBox::show();
|
BioPrintingDialogBox::show();
|
||||||
|
#endif
|
||||||
refresh_timer.start();
|
refresh_timer.start();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
#include "../config.h"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(LULZBOT_TOUCH_UI) && defined(LULZBOT_USE_BIOPRINTER_UI)
|
#if ENABLED(LULZBOT_TOUCH_UI) && defined(TOUCH_UI_LULZBOT_BIO)
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
@ -41,25 +41,25 @@ void TuneMenu::onRedraw(draw_mode_t what) {
|
||||||
.cmd(COLOR_RGB(bg_text_enabled))
|
.cmd(COLOR_RGB(bg_text_enabled))
|
||||||
.tag(0)
|
.tag(0)
|
||||||
.font(font_large)
|
.font(font_large)
|
||||||
.text( BTN_POS(1,1), BTN_SIZE(2,1), GET_TEXT_F(PRINT_MENU));
|
.text( BTN_POS(1,1), BTN_SIZE(2,1), GET_TEXT_F(MSG_PRINT_MENU));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (what & FOREGROUND) {
|
if (what & FOREGROUND) {
|
||||||
CommandProcessor cmd;
|
CommandProcessor cmd;
|
||||||
cmd.colors(normal_btn)
|
cmd.colors(normal_btn)
|
||||||
.font(font_medium)
|
.font(font_medium)
|
||||||
.enabled( isPrinting()).tag(2).button( BTN_POS(1,2), BTN_SIZE(2,1), GET_TEXT_F(PRINT_SPEED))
|
.enabled( isPrinting()).tag(2).button( BTN_POS(1,2), BTN_SIZE(2,1), GET_TEXT_F(MSG_PRINT_SPEED))
|
||||||
.tag(3).button( BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXT_F(BED_TEMPERATURE))
|
.tag(3).button( BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXT_F(MSG_BED_TEMPERATURE))
|
||||||
#if ENABLED(BABYSTEPPING)
|
#if ENABLED(BABYSTEPPING)
|
||||||
.enabled(true)
|
.enabled(true)
|
||||||
#else
|
#else
|
||||||
.enabled(false)
|
.enabled(false)
|
||||||
#endif
|
#endif
|
||||||
.tag(4).button( BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXT_F(NUDGE_NOZZLE))
|
.tag(4).button( BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXT_F(MSG_NUDGE_NOZZLE))
|
||||||
.enabled(!isPrinting()).tag(5).button( BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXT_F(MOVE_TO_HOME))
|
.enabled(!isPrinting()).tag(5).button( BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXT_F(MSG_MOVE_TO_HOME))
|
||||||
.enabled(!isPrinting()).tag(6).button( BTN_POS(1,6), BTN_SIZE(2,1), GET_TEXT_F(RAISE_PLUNGER))
|
.enabled(!isPrinting()).tag(6).button( BTN_POS(1,6), BTN_SIZE(2,1), GET_TEXT_F(MSG_RAISE_PLUNGER))
|
||||||
.enabled(!isPrinting()).tag(7).button( BTN_POS(1,7), BTN_SIZE(2,1), GET_TEXT_F(RELEASE_XY_AXIS))
|
.enabled(!isPrinting()).tag(7).button( BTN_POS(1,7), BTN_SIZE(2,1), GET_TEXT_F(MSG_RELEASE_XY_AXIS))
|
||||||
.colors(action_btn) .tag(1).button( BTN_POS(1,8), BTN_SIZE(2,1), GET_TEXT_F(BACK));
|
.colors(action_btn) .tag(1).button( BTN_POS(1,8), BTN_SIZE(2,1), GET_TEXT_F(MSG_BACK));
|
||||||
}
|
}
|
||||||
#undef GRID_COLS
|
#undef GRID_COLS
|
||||||
#undef GRID_ROWS
|
#undef GRID_ROWS
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||||
* Written By Marcio Teixeira 2018 - Aleph Objects, Inc. *
|
* Written By Marcio Teixeira 2018 - Aleph Objects, Inc. *
|
||||||
|
* Written By Marcio Teixeira 2019 - Cocoa Press *
|
||||||
* *
|
* *
|
||||||
* This program is free software: you can redistribute it and/or modify *
|
* 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 *
|
* it under the terms of the GNU General Public License as published by *
|
||||||
|
@ -29,10 +30,18 @@
|
||||||
#include "../ftdi_eve_lib/extras/poly_ui.h"
|
#include "../ftdi_eve_lib/extras/poly_ui.h"
|
||||||
#include "../archim2-flash/flash_storage.h"
|
#include "../archim2-flash/flash_storage.h"
|
||||||
|
|
||||||
|
#ifdef SHOW_CUSTOM_BOOTSCREEN
|
||||||
#ifdef TOUCH_UI_PORTRAIT
|
#ifdef TOUCH_UI_PORTRAIT
|
||||||
#include "../theme/bootscreen_logo_portrait.h"
|
#include "../theme/_bootscreen_portrait.h"
|
||||||
#else
|
#else
|
||||||
#include "../theme/bootscreen_logo_landscape.h"
|
#include "../theme/_bootscreen_landscape.h"
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
#ifdef TOUCH_UI_PORTRAIT
|
||||||
|
#include "../theme/marlin_bootscreen_portrait.h"
|
||||||
|
#else
|
||||||
|
#include "../theme/marlin_bootscreen_landscape.h"
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
|
@ -62,10 +71,11 @@ void BootScreen::onIdle() {
|
||||||
GOTO_SCREEN(TouchCalibrationScreen);
|
GOTO_SCREEN(TouchCalibrationScreen);
|
||||||
current_screen.forget();
|
current_screen.forget();
|
||||||
PUSH_SCREEN(StatusScreen);
|
PUSH_SCREEN(StatusScreen);
|
||||||
|
StatusScreen::setStatusMessage(GET_TEXT_F(WELCOME_MSG));
|
||||||
} else {
|
} else {
|
||||||
if (!UIFlashStorage::is_valid()) {
|
if (!UIFlashStorage::is_valid()) {
|
||||||
StatusScreen::loadBitmaps();
|
StatusScreen::loadBitmaps();
|
||||||
SpinnerDialogBox::show(GET_TEXT_F(PLEASE_WAIT));
|
SpinnerDialogBox::show(GET_TEXT_F(MSG_PLEASE_WAIT));
|
||||||
UIFlashStorage::format_flash();
|
UIFlashStorage::format_flash();
|
||||||
SpinnerDialogBox::hide();
|
SpinnerDialogBox::hide();
|
||||||
}
|
}
|
||||||
|
@ -79,7 +89,7 @@ void BootScreen::onIdle() {
|
||||||
|
|
||||||
StatusScreen::loadBitmaps();
|
StatusScreen::loadBitmaps();
|
||||||
|
|
||||||
#ifdef LULZBOT_USE_BIOPRINTER_UI
|
#ifdef TOUCH_UI_LULZBOT_BIO
|
||||||
GOTO_SCREEN(BioConfirmHomeXYZ);
|
GOTO_SCREEN(BioConfirmHomeXYZ);
|
||||||
current_screen.forget();
|
current_screen.forget();
|
||||||
PUSH_SCREEN(StatusScreen);
|
PUSH_SCREEN(StatusScreen);
|
||||||
|
@ -97,21 +107,15 @@ void BootScreen::onIdle() {
|
||||||
void BootScreen::showSplashScreen() {
|
void BootScreen::showSplashScreen() {
|
||||||
CommandProcessor cmd;
|
CommandProcessor cmd;
|
||||||
cmd.cmd(CMD_DLSTART);
|
cmd.cmd(CMD_DLSTART);
|
||||||
cmd.cmd(CLEAR_COLOR_RGB(logo_bg));
|
cmd.cmd(CLEAR_COLOR_RGB(LOGO_BACKGROUND));
|
||||||
cmd.cmd(CLEAR(true,true,true));
|
cmd.cmd(CLEAR(true,true,true));
|
||||||
|
|
||||||
#define POLY(A) PolyUI::poly_reader_t(A, sizeof(A)/sizeof(A[0]))
|
#define POLY(A) PolyUI::poly_reader_t(A, sizeof(A)/sizeof(A[0]))
|
||||||
|
#define LOGO_PAINT_PATH(rgb, path) cmd.cmd(COLOR_RGB(rgb)); ui.fill(POLY(path));
|
||||||
|
|
||||||
PolyUI ui(cmd);
|
PolyUI ui(cmd);
|
||||||
|
|
||||||
cmd.cmd(COLOR_RGB(logo_fg));
|
LOGO_PAINT_PATHS
|
||||||
ui.fill(POLY(logo_green));
|
|
||||||
cmd.cmd(COLOR_RGB(logo_stroke));
|
|
||||||
ui.fill(POLY(logo_black));
|
|
||||||
ui.fill(POLY(logo_type));
|
|
||||||
ui.fill(POLY(logo_mark));
|
|
||||||
cmd.cmd(COLOR_RGB(0xFFFFFF));
|
|
||||||
ui.fill(POLY(logo_white));
|
|
||||||
|
|
||||||
cmd.cmd(DL::DL_DISPLAY);
|
cmd.cmd(DL::DL_DISPLAY);
|
||||||
cmd.cmd(CMD_SWAP);
|
cmd.cmd(CMD_SWAP);
|
||||||
|
|
|
@ -88,6 +88,9 @@ void ChangeFilamentScreen::onEntry() {
|
||||||
screen_data.ChangeFilamentScreen.t_tag = 0;
|
screen_data.ChangeFilamentScreen.t_tag = 0;
|
||||||
screen_data.ChangeFilamentScreen.repeat_tag = 0;
|
screen_data.ChangeFilamentScreen.repeat_tag = 0;
|
||||||
screen_data.ChangeFilamentScreen.saved_extruder = getActiveTool();
|
screen_data.ChangeFilamentScreen.saved_extruder = getActiveTool();
|
||||||
|
#if FILAMENT_UNLOAD_PURGE_LENGTH > 0
|
||||||
|
screen_data.ChangeFilamentScreen.need_purge = true;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void ChangeFilamentScreen::onExit() {
|
void ChangeFilamentScreen::onExit() {
|
||||||
|
@ -114,14 +117,14 @@ void ChangeFilamentScreen::onRedraw(draw_mode_t what) {
|
||||||
#else
|
#else
|
||||||
.font(font_medium)
|
.font(font_medium)
|
||||||
#endif
|
#endif
|
||||||
.text(BTN_POS(1,1), BTN_SIZE(2,1), GET_TEXT_F(EXTRUDER_SELECTION))
|
.text(BTN_POS(1,1), BTN_SIZE(2,1), GET_TEXT_F(MSG_EXTRUDER_SELECTION))
|
||||||
#ifdef TOUCH_UI_PORTRAIT
|
#ifdef TOUCH_UI_PORTRAIT
|
||||||
.text(BTN_POS(1,7), BTN_SIZE(1,1), F(""))
|
.text(BTN_POS(1,7), BTN_SIZE(1,1), F(""))
|
||||||
#else
|
#else
|
||||||
.text(BTN_POS(3,1), BTN_SIZE(2,1), GET_TEXT_F(CURRENT_TEMPERATURE))
|
.text(BTN_POS(3,1), BTN_SIZE(2,1), GET_TEXT_F(MSG_CURRENT_TEMPERATURE))
|
||||||
.font(font_small)
|
.font(font_small)
|
||||||
#endif
|
#endif
|
||||||
.text(BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXT_F(REMOVAL_TEMPERATURE));
|
.text(BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXT_F(MSG_REMOVAL_TEMPERATURE));
|
||||||
drawTempGradient(BTN_POS(1,4), BTN_SIZE(1,3));
|
drawTempGradient(BTN_POS(1,4), BTN_SIZE(1,3));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -154,12 +157,12 @@ void ChangeFilamentScreen::onRedraw(draw_mode_t what) {
|
||||||
const bool t_ok = getActualTemp_celsius(e) > getSoftenTemp() - 10;
|
const bool t_ok = getActualTemp_celsius(e) > getSoftenTemp() - 10;
|
||||||
|
|
||||||
if (screen_data.ChangeFilamentScreen.t_tag && !t_ok) {
|
if (screen_data.ChangeFilamentScreen.t_tag && !t_ok) {
|
||||||
cmd.text(BTN_POS(1,6), BTN_SIZE(1,1), GET_TEXT_F(HEATING));
|
cmd.text(BTN_POS(1,6), BTN_SIZE(1,1), GET_TEXT_F(MSG_HEATING));
|
||||||
} else if (getActualTemp_celsius(e) > 100) {
|
} else if (getActualTemp_celsius(e) > 100) {
|
||||||
cmd.cmd(COLOR_RGB(0xFF0000))
|
cmd.cmd(COLOR_RGB(0xFF0000))
|
||||||
.text(BTN_POS(1,4), BTN_SIZE(1,1), GET_TEXT_F(CAUTION))
|
.text(BTN_POS(1,4), BTN_SIZE(1,1), GET_TEXT_F(MSG_CAUTION))
|
||||||
.colors(normal_btn)
|
.colors(normal_btn)
|
||||||
.text(BTN_POS(1,6), BTN_SIZE(1,1), GET_TEXT_F(HOT));
|
.text(BTN_POS(1,6), BTN_SIZE(1,1), GET_TEXT_F(MSG_HOT));
|
||||||
}
|
}
|
||||||
|
|
||||||
#define TOG_STYLE(A) colors(A ? action_btn : normal_btn)
|
#define TOG_STYLE(A) colors(A ? action_btn : normal_btn)
|
||||||
|
@ -200,13 +203,13 @@ void ChangeFilamentScreen::onRedraw(draw_mode_t what) {
|
||||||
{
|
{
|
||||||
char str[30];
|
char str[30];
|
||||||
|
|
||||||
format_temp_and_material(str, LOW_TEMP, GET_TEXT(MATERIAL_PLA));
|
format_temp_and_material(str, LOW_TEMP, GET_TEXT(MSG_MATERIAL_PLA));
|
||||||
cmd.tag(2) .TOG_STYLE(tog2) .button (BTN_POS(2,6), BTN_SIZE(1,1), str);
|
cmd.tag(2) .TOG_STYLE(tog2) .button (BTN_POS(2,6), BTN_SIZE(1,1), str);
|
||||||
|
|
||||||
format_temp_and_material(str, MED_TEMP, GET_TEXT(MATERIAL_ABS));
|
format_temp_and_material(str, MED_TEMP, GET_TEXT(MSG_MATERIAL_ABS));
|
||||||
cmd.tag(3) .TOG_STYLE(tog3) .button (BTN_POS(2,5), BTN_SIZE(1,1), str);
|
cmd.tag(3) .TOG_STYLE(tog3) .button (BTN_POS(2,5), BTN_SIZE(1,1), str);
|
||||||
|
|
||||||
format_temp_and_material(str, HIGH_TEMP, GET_TEXT(MATERIAL_HIGH_TEMP));
|
format_temp_and_material(str, HIGH_TEMP, GET_TEXT(MSG_MATERIAL_HIGH_TEMP));
|
||||||
cmd.tag(4) .TOG_STYLE(tog4) .button (BTN_POS(2,4), BTN_SIZE(1,1), str);
|
cmd.tag(4) .TOG_STYLE(tog4) .button (BTN_POS(2,4), BTN_SIZE(1,1), str);
|
||||||
}
|
}
|
||||||
cmd.colors(normal_btn)
|
cmd.colors(normal_btn)
|
||||||
|
@ -221,23 +224,23 @@ void ChangeFilamentScreen::onRedraw(draw_mode_t what) {
|
||||||
.cmd(COLOR_RGB(t_ok ? bg_text_enabled : bg_text_disabled))
|
.cmd(COLOR_RGB(t_ok ? bg_text_enabled : bg_text_disabled))
|
||||||
#ifdef TOUCH_UI_PORTRAIT
|
#ifdef TOUCH_UI_PORTRAIT
|
||||||
.font(font_large)
|
.font(font_large)
|
||||||
.tag(0) .text (BTN_POS(1,8), BTN_SIZE(1,1), GET_TEXT_F(UNLOAD_FILAMENT))
|
.tag(0) .text (BTN_POS(1,8), BTN_SIZE(1,1), GET_TEXT_F(MSG_UNLOAD_FILAMENT))
|
||||||
.text (BTN_POS(2,8), BTN_SIZE(1,1), GET_TEXT_F(LOAD_FILAMENT))
|
.text (BTN_POS(2,8), BTN_SIZE(1,1), GET_TEXT_F(MSG_LOAD_FILAMENT))
|
||||||
.tag(5) .enabled(t_ok).button (BTN_POS(1,9), BTN_SIZE(1,1), GET_TEXT_F(MOMENTARY))
|
.tag(5) .enabled(t_ok).button (BTN_POS(1,9), BTN_SIZE(1,1), GET_TEXT_F(MSG_MOMENTARY))
|
||||||
.tag(6) .enabled(t_ok).button (BTN_POS(2,9), BTN_SIZE(1,1), GET_TEXT_F(MOMENTARY))
|
.tag(6) .enabled(t_ok).button (BTN_POS(2,9), BTN_SIZE(1,1), GET_TEXT_F(MSG_MOMENTARY))
|
||||||
.tag(7).TOG_STYLE(tog7).enabled(t_ok).button (BTN_POS(1,10), BTN_SIZE(1,1), GET_TEXT_F(CONTINUOUS))
|
.tag(7).TOG_STYLE(tog7).enabled(t_ok).button (BTN_POS(1,10), BTN_SIZE(1,1), GET_TEXT_F(MSG_CONTINUOUS))
|
||||||
.tag(8).TOG_STYLE(tog8).enabled(t_ok).button (BTN_POS(2,10), BTN_SIZE(1,1), GET_TEXT_F(CONTINUOUS))
|
.tag(8).TOG_STYLE(tog8).enabled(t_ok).button (BTN_POS(2,10), BTN_SIZE(1,1), GET_TEXT_F(MSG_CONTINUOUS))
|
||||||
.tag(1).colors(action_btn) .button (BTN_POS(1,11), BTN_SIZE(2,1), GET_TEXT_F(BACK));
|
.tag(1).colors(action_btn) .button (BTN_POS(1,11), BTN_SIZE(2,1), GET_TEXT_F(MSG_BACK));
|
||||||
#else
|
#else
|
||||||
.font(font_small)
|
.font(font_small)
|
||||||
.tag(0) .text (BTN_POS(3,3), BTN_SIZE(1,1), GET_TEXT_F(UNLOAD_FILAMENT))
|
.tag(0) .text (BTN_POS(3,3), BTN_SIZE(1,1), GET_TEXT_F(MSG_UNLOAD_FILAMENT))
|
||||||
.text (BTN_POS(4,3), BTN_SIZE(1,1), GET_TEXT_F(LOAD_FILAMENT))
|
.text (BTN_POS(4,3), BTN_SIZE(1,1), GET_TEXT_F(MSG_LOAD_FILAMENT))
|
||||||
.tag(5) .enabled(t_ok).button (BTN_POS(3,4), BTN_SIZE(1,1), GET_TEXT_F(MOMENTARY))
|
.tag(5) .enabled(t_ok).button (BTN_POS(3,4), BTN_SIZE(1,1), GET_TEXT_F(MSG_MOMENTARY))
|
||||||
.tag(6) .enabled(t_ok).button (BTN_POS(4,4), BTN_SIZE(1,1), GET_TEXT_F(MOMENTARY))
|
.tag(6) .enabled(t_ok).button (BTN_POS(4,4), BTN_SIZE(1,1), GET_TEXT_F(MSG_MOMENTARY))
|
||||||
.tag(7).TOG_STYLE(tog7).enabled(t_ok).button (BTN_POS(3,5), BTN_SIZE(1,1), GET_TEXT_F(CONTINUOUS))
|
.tag(7).TOG_STYLE(tog7).enabled(t_ok).button (BTN_POS(3,5), BTN_SIZE(1,1), GET_TEXT_F(MSG_CONTINUOUS))
|
||||||
.tag(8).TOG_STYLE(tog8).enabled(t_ok).button (BTN_POS(4,5), BTN_SIZE(1,1), GET_TEXT_F(CONTINUOUS))
|
.tag(8).TOG_STYLE(tog8).enabled(t_ok).button (BTN_POS(4,5), BTN_SIZE(1,1), GET_TEXT_F(MSG_CONTINUOUS))
|
||||||
.font(font_medium)
|
.font(font_medium)
|
||||||
.tag(1).colors(action_btn) .button (BTN_POS(3,6), BTN_SIZE(2,1), GET_TEXT_F(BACK));
|
.tag(1).colors(action_btn) .button (BTN_POS(3,6), BTN_SIZE(2,1), GET_TEXT_F(MSG_BACK));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#undef GRID_COLS
|
#undef GRID_COLS
|
||||||
|
@ -262,10 +265,24 @@ ExtUI::extruder_t ChangeFilamentScreen::getExtruder() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ChangeFilamentScreen::doPurge() {
|
||||||
|
#if FILAMENT_UNLOAD_PURGE_LENGTH > 0
|
||||||
|
constexpr float purge_distance_mm = FILAMENT_UNLOAD_PURGE_LENGTH;
|
||||||
|
if (screen_data.ChangeFilamentScreen.need_purge) {
|
||||||
|
screen_data.ChangeFilamentScreen.need_purge = false;
|
||||||
|
MoveAxisScreen::setManualFeedrate(getExtruder(), purge_distance_mm);
|
||||||
|
ExtUI::setAxisPosition_mm(ExtUI::getAxisPosition_mm(getExtruder()) + purge_distance_mm, getExtruder());
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
bool ChangeFilamentScreen::onTouchStart(uint8_t tag) {
|
bool ChangeFilamentScreen::onTouchStart(uint8_t tag) {
|
||||||
// Make the Momentary and Continuous buttons slightly more responsive
|
// Make the Momentary and Continuous buttons slightly more responsive
|
||||||
switch (tag) {
|
switch (tag) {
|
||||||
case 5: case 6: case 7: case 8:
|
case 5: case 6: case 7: case 8:
|
||||||
|
#if FILAMENT_UNLOAD_PURGE_LENGTH > 0
|
||||||
|
if (tag == 5 || tag == 7) doPurge();
|
||||||
|
#endif
|
||||||
return ChangeFilamentScreen::onTouchHeld(tag);
|
return ChangeFilamentScreen::onTouchHeld(tag);
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
|
@ -295,6 +312,9 @@ bool ChangeFilamentScreen::onTouchEnd(uint8_t tag) {
|
||||||
screen_data.ChangeFilamentScreen.e_tag = tag;
|
screen_data.ChangeFilamentScreen.e_tag = tag;
|
||||||
screen_data.ChangeFilamentScreen.t_tag = 0;
|
screen_data.ChangeFilamentScreen.t_tag = 0;
|
||||||
screen_data.ChangeFilamentScreen.repeat_tag = 0;
|
screen_data.ChangeFilamentScreen.repeat_tag = 0;
|
||||||
|
#if FILAMENT_UNLOAD_PURGE_LENGTH > 0
|
||||||
|
screen_data.ChangeFilamentScreen.need_purge = true;
|
||||||
|
#endif
|
||||||
setActiveTool(getExtruder(), true);
|
setActiveTool(getExtruder(), true);
|
||||||
break;
|
break;
|
||||||
case 15: GOTO_SCREEN(TemperatureScreen); break;
|
case 15: GOTO_SCREEN(TemperatureScreen); break;
|
||||||
|
@ -318,6 +338,7 @@ bool ChangeFilamentScreen::onTouchHeld(uint8_t tag) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void ChangeFilamentScreen::onIdle() {
|
void ChangeFilamentScreen::onIdle() {
|
||||||
|
reset_menu_timeout();
|
||||||
if (screen_data.ChangeFilamentScreen.repeat_tag) onTouchHeld(screen_data.ChangeFilamentScreen.repeat_tag);
|
if (screen_data.ChangeFilamentScreen.repeat_tag) onTouchHeld(screen_data.ChangeFilamentScreen.repeat_tag);
|
||||||
if (refresh_timer.elapsed(STATUS_UPDATE_INTERVAL)) {
|
if (refresh_timer.elapsed(STATUS_UPDATE_INTERVAL)) {
|
||||||
onRefresh();
|
onRefresh();
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
using namespace ExtUI;
|
using namespace ExtUI;
|
||||||
|
|
||||||
void ConfirmAbortPrintDialogBox::onRedraw(draw_mode_t) {
|
void ConfirmAbortPrintDialogBox::onRedraw(draw_mode_t) {
|
||||||
drawMessage(GET_TEXT_F(ABORT_WARNING));
|
drawMessage(GET_TEXT_F(MSG_ABORT_WARNING));
|
||||||
drawYesNoButtons();
|
drawYesNoButtons();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ using namespace ExtUI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
|
|
||||||
void ConfirmAutoCalibrationDialogBox::onRedraw(draw_mode_t) {
|
void ConfirmAutoCalibrationDialogBox::onRedraw(draw_mode_t) {
|
||||||
drawMessage(GET_TEXT_F(CALIBRATION_WARNING));
|
drawMessage(GET_TEXT_F(MSG_CALIBRATION_WARNING));
|
||||||
drawYesNoButtons();
|
drawYesNoButtons();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ bool ConfirmAutoCalibrationDialogBox::onTouchEnd(uint8_t tag) {
|
||||||
switch (tag) {
|
switch (tag) {
|
||||||
case 1:
|
case 1:
|
||||||
GOTO_SCREEN(StatusScreen);
|
GOTO_SCREEN(StatusScreen);
|
||||||
injectCommands_P(PSTR(LULZBOT_CALIBRATION_COMMANDS));
|
injectCommands_P(PSTR(CALIBRATION_COMMANDS));
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
return DialogBoxBaseClass::onTouchEnd(tag);
|
return DialogBoxBaseClass::onTouchEnd(tag);
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
#include "../config.h"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(LULZBOT_TOUCH_UI, DEVELOPER_SCREENS)
|
#if BOTH(LULZBOT_TOUCH_UI, TOUCH_UI_DEVELOPER_MENU)
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
@ -31,17 +31,17 @@
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
|
|
||||||
void ConfirmEraseFlashDialogBox::onRedraw(draw_mode_t) {
|
void ConfirmEraseFlashDialogBox::onRedraw(draw_mode_t) {
|
||||||
drawMessage(GET_TEXT_F(ERASE_FLASH_WARNING));
|
drawMessage(GET_TEXT_F(MSG_ERASE_FLASH_WARNING));
|
||||||
drawYesNoButtons();
|
drawYesNoButtons();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ConfirmEraseFlashDialogBox::onTouchEnd(uint8_t tag) {
|
bool ConfirmEraseFlashDialogBox::onTouchEnd(uint8_t tag) {
|
||||||
switch (tag) {
|
switch (tag) {
|
||||||
case 1:
|
case 1:
|
||||||
SpinnerDialogBox::show(GET_TEXT_F(ERASING));
|
SpinnerDialogBox::show(GET_TEXT_F(MSG_ERASING));
|
||||||
UIFlashStorage::format_flash();
|
UIFlashStorage::format_flash();
|
||||||
SpinnerDialogBox::hide();
|
SpinnerDialogBox::hide();
|
||||||
AlertDialogBox::show(GET_TEXT_F(ERASED));
|
AlertDialogBox::show(GET_TEXT_F(MSG_ERASED));
|
||||||
// Remove ConfirmEraseFlashDialogBox from the stack
|
// Remove ConfirmEraseFlashDialogBox from the stack
|
||||||
// so the alert box doesn't return to me.
|
// so the alert box doesn't return to me.
|
||||||
current_screen.forget();
|
current_screen.forget();
|
||||||
|
|
|
@ -38,8 +38,8 @@ void ConfirmStartPrintDialogBox::onEntry() {
|
||||||
|
|
||||||
void ConfirmStartPrintDialogBox::onRedraw(draw_mode_t) {
|
void ConfirmStartPrintDialogBox::onRedraw(draw_mode_t) {
|
||||||
const char *filename = getLongFilename();
|
const char *filename = getLongFilename();
|
||||||
char buffer[strlen_P(GET_TEXT(START_PRINT_CONFIRMATION)) + strlen(filename) + 1];
|
char buffer[strlen_P(GET_TEXT(MSG_START_PRINT_CONFIRMATION)) + strlen(filename) + 1];
|
||||||
sprintf_P(buffer, GET_TEXT(START_PRINT_CONFIRMATION), filename);
|
sprintf_P(buffer, GET_TEXT(MSG_START_PRINT_CONFIRMATION), filename);
|
||||||
drawMessage((const char *)buffer);
|
drawMessage((const char *)buffer);
|
||||||
drawYesNoButtons(1);
|
drawYesNoButtons(1);
|
||||||
}
|
}
|
||||||
|
@ -48,7 +48,7 @@ bool ConfirmStartPrintDialogBox::onTouchEnd(uint8_t tag) {
|
||||||
switch (tag) {
|
switch (tag) {
|
||||||
case 1:
|
case 1:
|
||||||
printFile(getShortFilename());
|
printFile(getShortFilename());
|
||||||
StatusScreen::setStatusMessage(GET_TEXT_F(PRINT_STARTING));
|
StatusScreen::setStatusMessage(GET_TEXT_F(MSG_PRINT_STARTING));
|
||||||
GOTO_SCREEN(StatusScreen);
|
GOTO_SCREEN(StatusScreen);
|
||||||
return true;
|
return true;
|
||||||
case 2: GOTO_PREVIOUS(); return true;
|
case 2: GOTO_PREVIOUS(); return true;
|
||||||
|
|
|
@ -33,14 +33,14 @@ using namespace Theme;
|
||||||
void DefaultAccelerationScreen::onRedraw(draw_mode_t what) {
|
void DefaultAccelerationScreen::onRedraw(draw_mode_t what) {
|
||||||
widgets_t w(what);
|
widgets_t w(what);
|
||||||
w.precision(0);
|
w.precision(0);
|
||||||
w.units(GET_TEXT_F(UNITS_MM_S2));
|
w.units(GET_TEXT_F(MSG_UNITS_MM_S2));
|
||||||
w.heading( GET_TEXT_F(ACCELERATION));
|
w.heading( GET_TEXT_F(MSG_ACCELERATION));
|
||||||
w.color(other);
|
w.color(other);
|
||||||
w.adjuster( 2, GET_TEXT_F(ACCEL_PRINTING), getPrintingAcceleration_mm_s2() );
|
w.adjuster( 2, GET_TEXT_F(MSG_ACCEL_PRINTING), getPrintingAcceleration_mm_s2() );
|
||||||
w.adjuster( 4, GET_TEXT_F(ACCEL_TRAVEL), getTravelAcceleration_mm_s2() );
|
w.adjuster( 4, GET_TEXT_F(MSG_ACCEL_TRAVEL), getTravelAcceleration_mm_s2() );
|
||||||
w.adjuster( 6, GET_TEXT_F(ACCEL_RETRACT), getRetractAcceleration_mm_s2() );
|
w.adjuster( 6, GET_TEXT_F(MSG_ACCEL_RETRACT), getRetractAcceleration_mm_s2() );
|
||||||
w.increments();
|
w.increments();
|
||||||
w.button( 8, GET_TEXT_F(SET_MAXIMUM));
|
w.button( 8, GET_TEXT_F(MSG_SET_MAXIMUM));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DefaultAccelerationScreen::onTouchHeld(uint8_t tag) {
|
bool DefaultAccelerationScreen::onTouchHeld(uint8_t tag) {
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
#include "../config.h"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(LULZBOT_TOUCH_UI, DEVELOPER_SCREENS)
|
#if BOTH(LULZBOT_TOUCH_UI, TOUCH_UI_DEVELOPER_MENU)
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
|
|
@ -50,14 +50,14 @@ template void DialogBoxBaseClass::drawMessage(progmem_str, int16_t font);
|
||||||
void DialogBoxBaseClass::drawYesNoButtons(uint8_t default_btn) {
|
void DialogBoxBaseClass::drawYesNoButtons(uint8_t default_btn) {
|
||||||
CommandProcessor cmd;
|
CommandProcessor cmd;
|
||||||
cmd.font(font_medium)
|
cmd.font(font_medium)
|
||||||
.colors(default_btn == 1 ? action_btn : normal_btn).tag(1).button( BTN_POS(1,8), BTN_SIZE(1,1), GET_TEXT_F(YES))
|
.colors(default_btn == 1 ? action_btn : normal_btn).tag(1).button( BTN_POS(1,8), BTN_SIZE(1,1), GET_TEXT_F(MSG_YES))
|
||||||
.colors(default_btn == 2 ? action_btn : normal_btn).tag(2).button( BTN_POS(2,8), BTN_SIZE(1,1), GET_TEXT_F(NO));
|
.colors(default_btn == 2 ? action_btn : normal_btn).tag(2).button( BTN_POS(2,8), BTN_SIZE(1,1), GET_TEXT_F(MSG_NO));
|
||||||
}
|
}
|
||||||
|
|
||||||
void DialogBoxBaseClass::drawOkayButton() {
|
void DialogBoxBaseClass::drawOkayButton() {
|
||||||
CommandProcessor cmd;
|
CommandProcessor cmd;
|
||||||
cmd.font(font_medium)
|
cmd.font(font_medium)
|
||||||
.tag(1).button( BTN_POS(1,8), BTN_SIZE(2,1), GET_TEXT_F(OKAY));
|
.tag(1).button( BTN_POS(1,8), BTN_SIZE(2,1), GET_TEXT_F(MSG_BUTTON_OKAY));
|
||||||
}
|
}
|
||||||
|
|
||||||
void DialogBoxBaseClass::drawButton(const progmem_str label) {
|
void DialogBoxBaseClass::drawButton(const progmem_str label) {
|
||||||
|
|
|
@ -33,13 +33,13 @@ void DisplayTuningScreen::onRedraw(draw_mode_t what) {
|
||||||
widgets_t w(what);
|
widgets_t w(what);
|
||||||
w.precision(0, BaseNumericAdjustmentScreen::DEFAULT_LOWEST);
|
w.precision(0, BaseNumericAdjustmentScreen::DEFAULT_LOWEST);
|
||||||
w.units(F(""));
|
w.units(F(""));
|
||||||
w.heading(GET_TEXT_F(DISPLAY_MENU));
|
w.heading(GET_TEXT_F(MSG_DISPLAY_MENU));
|
||||||
w.color(other);
|
w.color(other);
|
||||||
w.adjuster( 2, GET_TEXT_F(H_OFFSET), CLCD::mem_read_16(CLCD::REG::HOFFSET) );
|
w.adjuster( 2, GET_TEXT_F(MSG_H_OFFSET), CLCD::mem_read_16(CLCD::REG::HOFFSET) );
|
||||||
w.adjuster( 4, GET_TEXT_F(V_OFFSET), CLCD::mem_read_16(CLCD::REG::VOFFSET) );
|
w.adjuster( 4, GET_TEXT_F(MSG_V_OFFSET), CLCD::mem_read_16(CLCD::REG::VOFFSET) );
|
||||||
w.increments();
|
w.increments();
|
||||||
w.heading( GET_TEXT_F(TOUCH_SCREEN));
|
w.heading( GET_TEXT_F(MSG_TOUCH_SCREEN));
|
||||||
w.button(6, GET_TEXT_F(CALIBRATE));
|
w.button(6, GET_TEXT_F(MSG_CALIBRATE));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DisplayTuningScreen::onTouchHeld(uint8_t tag) {
|
bool DisplayTuningScreen::onTouchHeld(uint8_t tag) {
|
||||||
|
|
|
@ -32,12 +32,10 @@ using namespace ExtUI;
|
||||||
|
|
||||||
void EndstopStatesScreen::onEntry() {
|
void EndstopStatesScreen::onEntry() {
|
||||||
BaseScreen::onEntry();
|
BaseScreen::onEntry();
|
||||||
enable_emi_pins(true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void EndstopStatesScreen::onExit() {
|
void EndstopStatesScreen::onExit() {
|
||||||
BaseScreen::onExit();
|
BaseScreen::onExit();
|
||||||
enable_emi_pins(false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void EndstopStatesScreen::onRedraw(draw_mode_t) {
|
void EndstopStatesScreen::onRedraw(draw_mode_t) {
|
||||||
|
@ -51,60 +49,60 @@ void EndstopStatesScreen::onRedraw(draw_mode_t) {
|
||||||
#define GRID_COLS 6
|
#define GRID_COLS 6
|
||||||
|
|
||||||
#define PIN_BTN(X,Y,PIN,LABEL) button(BTN_POS(X,Y), BTN_SIZE(2,1), LABEL)
|
#define PIN_BTN(X,Y,PIN,LABEL) button(BTN_POS(X,Y), BTN_SIZE(2,1), LABEL)
|
||||||
#define PIN_ENABLED(LABEL,PIN,INV,X,Y) cmd.enabled(1).colors(READ(PIN##_PIN) != INV ? action_btn : normal_btn).PIN_BTN(X,Y,PIN,LABEL);
|
#define PIN_ENABLED(X,Y,LABEL,PIN,INV) cmd.enabled(1).colors(READ(PIN##_PIN) != INV ? action_btn : normal_btn).PIN_BTN(X,Y,PIN,LABEL);
|
||||||
#define PIN_DISABLED(LABEL,PIN,INV,X,Y) cmd.enabled(0).PIN_BTN(X,Y,PIN,LABEL);
|
#define PIN_DISABLED(X,Y,LABEL,PIN) cmd.enabled(0).PIN_BTN(X,Y,PIN,LABEL);
|
||||||
|
|
||||||
#ifdef TOUCH_UI_PORTRAIT
|
#ifdef TOUCH_UI_PORTRAIT
|
||||||
cmd.font(font_large)
|
cmd.font(font_large)
|
||||||
#else
|
#else
|
||||||
cmd.font(font_medium)
|
cmd.font(font_medium)
|
||||||
#endif
|
#endif
|
||||||
.text(BTN_POS(1,1), BTN_SIZE(6,1), GET_TEXT_F(ENDSTOPS))
|
.text(BTN_POS(1,1), BTN_SIZE(6,1), GET_TEXT_F(MSG_LCD_ENDSTOPS))
|
||||||
.font(font_tiny);
|
.font(font_tiny);
|
||||||
#if PIN_EXISTS(X_MAX)
|
#if PIN_EXISTS(X_MAX)
|
||||||
PIN_ENABLED (GET_TEXT_F(X_MAX), X_MAX,X_MAX_ENDSTOP_INVERTING,1,2)
|
PIN_ENABLED (1, 2, PSTR(MSG_X_MAX), X_MAX, X_MAX_ENDSTOP_INVERTING)
|
||||||
#else
|
#else
|
||||||
PIN_DISABLED(GET_TEXT_F(X_MAX),X_MAX,X_MAX_ENDSTOP_INVERTING,1,2)
|
PIN_DISABLED(1, 2, PSTR(MSG_X_MAX), X_MAX)
|
||||||
#endif
|
#endif
|
||||||
#if PIN_EXISTS(Y_MAX)
|
#if PIN_EXISTS(Y_MAX)
|
||||||
PIN_ENABLED (GET_TEXT_F(Y_MAX),Y_MAX,Y_MAX_ENDSTOP_INVERTING,3,2)
|
PIN_ENABLED (3, 2, PSTR(MSG_Y_MAX), Y_MAX, Y_MAX_ENDSTOP_INVERTING)
|
||||||
#else
|
#else
|
||||||
PIN_DISABLED(GET_TEXT_F(Y_MAX),Y_MAX,Y_MAX_ENDSTOP_INVERTING,3,2)
|
PIN_DISABLED(3, 2, PSTR(MSG_Y_MAX), Y_MAX)
|
||||||
#endif
|
#endif
|
||||||
#if PIN_EXISTS(Z_MAX)
|
#if PIN_EXISTS(Z_MAX)
|
||||||
PIN_ENABLED (GET_TEXT_F(Z_MAX),Z_MAX,Z_MAX_ENDSTOP_INVERTING,5,2)
|
PIN_ENABLED (5, 2, PSTR(MSG_Z_MAX), Z_MAX, Z_MAX_ENDSTOP_INVERTING)
|
||||||
#else
|
#else
|
||||||
PIN_DISABLED(GET_TEXT_F(Z_MAX),Z_MAX,Z_MAX_ENDSTOP_INVERTING,5,2)
|
PIN_DISABLED(5, 2, PSTR(MSG_Z_MAX), Z_MAX)
|
||||||
#endif
|
#endif
|
||||||
#if PIN_EXISTS(X_MIN)
|
#if PIN_EXISTS(X_MIN)
|
||||||
PIN_ENABLED (GET_TEXT_F(X_MIN),X_MIN,X_MIN_ENDSTOP_INVERTING,1,3)
|
PIN_ENABLED (1, 3, PSTR(MSG_X_MIN), X_MIN, X_MIN_ENDSTOP_INVERTING)
|
||||||
#else
|
#else
|
||||||
PIN_DISABLED(GET_TEXT_F(X_MIN),X_MIN,X_MIN_ENDSTOP_INVERTING,1,3)
|
PIN_DISABLED(1, 3, PSTR(MSG_X_MIN), X_MIN)
|
||||||
#endif
|
#endif
|
||||||
#if PIN_EXISTS(Y_MIN)
|
#if PIN_EXISTS(Y_MIN)
|
||||||
PIN_ENABLED (GET_TEXT_F(Y_MIN),Y_MIN,Y_MIN_ENDSTOP_INVERTING,3,3)
|
PIN_ENABLED (3, 3, PSTR(MSG_Y_MIN), Y_MIN, Y_MIN_ENDSTOP_INVERTING)
|
||||||
#else
|
#else
|
||||||
PIN_DISABLED(GET_TEXT_F(Y_MIN),Y_MIN,Y_MIN_ENDSTOP_INVERTING,3,3)
|
PIN_DISABLED(3, 3, PSTR(MSG_Y_MIN), Y_MIN)
|
||||||
#endif
|
#endif
|
||||||
#if PIN_EXISTS(Z_MIN)
|
#if PIN_EXISTS(Z_MIN)
|
||||||
PIN_ENABLED (GET_TEXT_F(Z_MIN),Z_MIN,Z_MIN_ENDSTOP_INVERTING,5,3)
|
PIN_ENABLED (5, 3, PSTR(MSG_Z_MIN), Z_MIN, Z_MIN_ENDSTOP_INVERTING)
|
||||||
#else
|
#else
|
||||||
PIN_DISABLED(GET_TEXT_F(Z_MIN),Z_MIN,Z_MIN_ENDSTOP_INVERTING,5,3)
|
PIN_DISABLED(5, 3, PSTR(MSG_Z_MIN), Z_MIN)
|
||||||
#endif
|
#endif
|
||||||
#if ENABLED(FILAMENT_RUNOUT_SENSOR) && PIN_EXISTS(FIL_RUNOUT)
|
#if ENABLED(FILAMENT_RUNOUT_SENSOR) && PIN_EXISTS(FIL_RUNOUT)
|
||||||
PIN_ENABLED (GET_TEXT_F(RUNOUT_1),FIL_RUNOUT, FIL_RUNOUT_INVERTING,1,4)
|
PIN_ENABLED (1, 4, GET_TEXT_F(MSG_RUNOUT_1), FIL_RUNOUT, FIL_RUNOUT_INVERTING)
|
||||||
#else
|
#else
|
||||||
PIN_DISABLED(GET_TEXT_F(RUNOUT_1),FIL_RUNOUT, FIL_RUNOUT_INVERTING,1,4)
|
PIN_DISABLED(1, 4, GET_TEXT_F(MSG_RUNOUT_1), FIL_RUNOUT)
|
||||||
#endif
|
#endif
|
||||||
#if ENABLED(FILAMENT_RUNOUT_SENSOR) && PIN_EXISTS(FIL_RUNOUT2)
|
#if ENABLED(FILAMENT_RUNOUT_SENSOR) && PIN_EXISTS(FIL_RUNOUT2)
|
||||||
PIN_ENABLED (GET_TEXT_F(RUNOUT_2),FIL_RUNOUT2,FIL_RUNOUT_INVERTING,3,4)
|
PIN_ENABLED (3, 4, GET_TEXT_F(MSG_RUNOUT_2), FIL_RUNOUT2, FIL_RUNOUT_INVERTING)
|
||||||
#else
|
#else
|
||||||
PIN_DISABLED(GET_TEXT_F(RUNOUT_2),FIL_RUNOUT2,FIL_RUNOUT_INVERTING,3,4)
|
PIN_DISABLED(3, 4, GET_TEXT_F(MSG_RUNOUT_2), FIL_RUNOUT2)
|
||||||
#endif
|
#endif
|
||||||
#if PIN_EXISTS(Z_MIN_PROBE)
|
#if PIN_EXISTS(Z_MIN_PROBE)
|
||||||
PIN_ENABLED (GET_TEXT_F(Z_PROBE),Z_MIN_PROBE,Z_MIN_PROBE_ENDSTOP_INVERTING,5,4)
|
PIN_ENABLED (5, 4, PSTR(MSG_Z_PROBE), Z_MIN_PROBE, Z_MIN_PROBE_ENDSTOP_INVERTING)
|
||||||
#else
|
#else
|
||||||
PIN_DISABLED(GET_TEXT_F(Z_PROBE),Z_MIN_PROBE,Z_MIN_PROBE_ENDSTOP_INVERTING,5,4)
|
PIN_DISABLED(5, 4, PSTR(MSG_Z_PROBE), Z_MIN_PROBE)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if HAS_SOFTWARE_ENDSTOPS
|
#if HAS_SOFTWARE_ENDSTOPS
|
||||||
|
@ -112,16 +110,16 @@ void EndstopStatesScreen::onRedraw(draw_mode_t) {
|
||||||
#define EDGE_R 30
|
#define EDGE_R 30
|
||||||
cmd.cmd(COLOR_RGB(bg_text_enabled))
|
cmd.cmd(COLOR_RGB(bg_text_enabled))
|
||||||
.font(font_small)
|
.font(font_small)
|
||||||
.text (BTN_POS(1,5), BTN_SIZE(3,1), GET_TEXT_F(SOFT_ENDSTOPS), OPT_RIGHTX | OPT_CENTERY)
|
.text (BTN_POS(1,5), BTN_SIZE(3,1), GET_TEXT_F(MSG_LCD_SOFT_ENDSTOPS), OPT_RIGHTX | OPT_CENTERY)
|
||||||
.colors(ui_toggle)
|
.colors(ui_toggle)
|
||||||
.tag(2).toggle2(BTN_POS(4,5), BTN_SIZE(3,1), GET_TEXT_F(NO), GET_TEXT_F(YES), getSoftEndstopState());
|
.tag(2).toggle2(BTN_POS(4,5), BTN_SIZE(3,1), GET_TEXT_F(MSG_NO), GET_TEXT_F(MSG_YES), getSoftEndstopState());
|
||||||
#undef EDGE_R
|
#undef EDGE_R
|
||||||
#define EDGE_R 0
|
#define EDGE_R 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
cmd.font(font_medium)
|
cmd.font(font_medium)
|
||||||
.colors(action_btn)
|
.colors(action_btn)
|
||||||
.tag(1).button( BTN_POS(1,7), BTN_SIZE(6,1), GET_TEXT_F(BACK));
|
.tag(1).button( BTN_POS(1,7), BTN_SIZE(6,1), GET_TEXT_F(MSG_BACK));
|
||||||
#undef GRID_COLS
|
#undef GRID_COLS
|
||||||
#undef GRID_ROWS
|
#undef GRID_ROWS
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,10 +31,10 @@ using namespace ExtUI;
|
||||||
|
|
||||||
void FeedratePercentScreen::onRedraw(draw_mode_t what) {
|
void FeedratePercentScreen::onRedraw(draw_mode_t what) {
|
||||||
widgets_t w(what);
|
widgets_t w(what);
|
||||||
w.precision(0).units(GET_TEXT_F(UNITS_PERCENT));
|
w.precision(0).units(GET_TEXT_F(MSG_UNITS_PERCENT));
|
||||||
|
|
||||||
w.heading(GET_TEXT_F(PRINT_SPEED));
|
w.heading(GET_TEXT_F(MSG_PRINT_SPEED));
|
||||||
w.adjuster(4, GET_TEXT_F(SPEED), getFeedrate_percent());
|
w.adjuster(4, GET_TEXT_F(MSG_SPEED), getFeedrate_percent());
|
||||||
w.increments();
|
w.increments();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -44,43 +44,43 @@ void FilamentMenu::onRedraw(draw_mode_t what) {
|
||||||
#ifdef TOUCH_UI_PORTRAIT
|
#ifdef TOUCH_UI_PORTRAIT
|
||||||
#define GRID_ROWS 9
|
#define GRID_ROWS 9
|
||||||
#define GRID_COLS 2
|
#define GRID_COLS 2
|
||||||
.text ( BTN_POS(1,1), BTN_SIZE(2,1), GET_TEXT_F(FILAMENT))
|
.text ( BTN_POS(1,1), BTN_SIZE(2,1), GET_TEXT_F(MSG_FILAMENT))
|
||||||
.font(font_medium).colors(normal_btn)
|
.font(font_medium).colors(normal_btn)
|
||||||
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
|
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
|
||||||
.enabled(1)
|
.enabled(1)
|
||||||
#else
|
#else
|
||||||
.enabled(0)
|
.enabled(0)
|
||||||
#endif
|
#endif
|
||||||
.tag(2).button( BTN_POS(1,2), BTN_SIZE(2,1), GET_TEXT_F(RUNOUT_SENSOR))
|
.tag(2).button( BTN_POS(1,2), BTN_SIZE(2,1), GET_TEXT_F(MSG_RUNOUT_SENSOR))
|
||||||
#if ENABLED(LIN_ADVANCE)
|
#if ENABLED(LIN_ADVANCE)
|
||||||
.enabled(1)
|
.enabled(1)
|
||||||
#else
|
#else
|
||||||
.enabled(0)
|
.enabled(0)
|
||||||
#endif
|
#endif
|
||||||
.tag(3).button( BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXT_F(LINEAR_ADVANCE))
|
.tag(3).button( BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXT_F(MSG_LINEAR_ADVANCE))
|
||||||
.colors(action_btn)
|
.colors(action_btn)
|
||||||
.tag(1) .button( BTN_POS(1,9), BTN_SIZE(2,1), GET_TEXT_F(BACK));
|
.tag(1) .button( BTN_POS(1,9), BTN_SIZE(2,1), GET_TEXT_F(MSG_BACK));
|
||||||
#undef GRID_COLS
|
#undef GRID_COLS
|
||||||
#undef GRID_ROWS
|
#undef GRID_ROWS
|
||||||
#else
|
#else
|
||||||
#define GRID_ROWS 6
|
#define GRID_ROWS 6
|
||||||
#define GRID_COLS 3
|
#define GRID_COLS 3
|
||||||
.text ( BTN_POS(1,1), BTN_SIZE(3,1), GET_TEXT_F(FILAMENT))
|
.text ( BTN_POS(1,1), BTN_SIZE(3,1), GET_TEXT_F(MSG_FILAMENT))
|
||||||
.font(font_medium).colors(normal_btn)
|
.font(font_medium).colors(normal_btn)
|
||||||
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
|
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
|
||||||
.enabled(1)
|
.enabled(1)
|
||||||
#else
|
#else
|
||||||
.enabled(0)
|
.enabled(0)
|
||||||
#endif
|
#endif
|
||||||
.tag(2).button( BTN_POS(1,2), BTN_SIZE(3,1), GET_TEXT_F(RUNOUT_SENSOR))
|
.tag(2).button( BTN_POS(1,2), BTN_SIZE(3,1), GET_TEXT_F(MSG_RUNOUT_SENSOR))
|
||||||
#if ENABLED(LIN_ADVANCE)
|
#if ENABLED(LIN_ADVANCE)
|
||||||
.enabled(1)
|
.enabled(1)
|
||||||
#else
|
#else
|
||||||
.enabled(0)
|
.enabled(0)
|
||||||
#endif
|
#endif
|
||||||
.tag(3).button( BTN_POS(1,3), BTN_SIZE(3,1), GET_TEXT_F(LINEAR_ADVANCE))
|
.tag(3).button( BTN_POS(1,3), BTN_SIZE(3,1), GET_TEXT_F(MSG_LINEAR_ADVANCE))
|
||||||
.colors(action_btn)
|
.colors(action_btn)
|
||||||
.tag(1) .button( BTN_POS(1,6), BTN_SIZE(3,1), GET_TEXT_F(BACK));
|
.tag(1) .button( BTN_POS(1,6), BTN_SIZE(3,1), GET_TEXT_F(MSG_BACK));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,15 +32,15 @@ using namespace Theme;
|
||||||
|
|
||||||
void FilamentRunoutScreen::onRedraw(draw_mode_t what) {
|
void FilamentRunoutScreen::onRedraw(draw_mode_t what) {
|
||||||
widgets_t w(what);
|
widgets_t w(what);
|
||||||
w.heading( GET_TEXT_F(FILAMENT));
|
w.heading( GET_TEXT_F(MSG_FILAMENT));
|
||||||
w.toggle( 2, GET_TEXT_F(RUNOUT_SENSOR), getFilamentRunoutEnabled());
|
w.toggle( 2, GET_TEXT_F(MSG_RUNOUT_SENSOR), getFilamentRunoutEnabled());
|
||||||
|
|
||||||
#ifdef FILAMENT_RUNOUT_DISTANCE_MM
|
#ifdef FILAMENT_RUNOUT_DISTANCE_MM
|
||||||
w.heading(GET_TEXT_F(DETECTION_THRESHOLD));
|
w.heading(GET_TEXT_F(MSG_RUNOUT_DISTANCE_MM));
|
||||||
w.units(GET_TEXT_F(UNITS_MM));
|
w.units(GET_TEXT_F(MSG_UNITS_MM));
|
||||||
w.precision(0);
|
w.precision(0);
|
||||||
w.color(e_axis);
|
w.color(e_axis);
|
||||||
w.adjuster( 10, GET_TEXT_F(DISTANCE), getFilamentRunoutDistance_mm(), getFilamentRunoutEnabled());
|
w.adjuster( 10, PSTR(""), getFilamentRunoutDistance_mm(), getFilamentRunoutEnabled());
|
||||||
w.increments();
|
w.increments();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -167,13 +167,13 @@ void FilesScreen::drawFooter() {
|
||||||
cmd.colors(normal_btn)
|
cmd.colors(normal_btn)
|
||||||
.font(font_medium)
|
.font(font_medium)
|
||||||
.colors(has_selection ? normal_btn : action_btn)
|
.colors(has_selection ? normal_btn : action_btn)
|
||||||
.tag(back_tag).button( BTN_POS(4,y), BTN_SIZE(3,h), GET_TEXT_F(BACK))
|
.tag(back_tag).button( BTN_POS(4,y), BTN_SIZE(3,h), GET_TEXT_F(MSG_BACK))
|
||||||
.enabled(has_selection)
|
.enabled(has_selection)
|
||||||
.colors(has_selection ? action_btn : normal_btn);
|
.colors(has_selection ? action_btn : normal_btn);
|
||||||
if (screen_data.FilesScreen.flags.is_dir) {
|
if (screen_data.FilesScreen.flags.is_dir) {
|
||||||
cmd.tag(244).button( BTN_POS(1, y), BTN_SIZE(3,h), GET_TEXT_F(OPEN_DIR));
|
cmd.tag(244).button( BTN_POS(1, y), BTN_SIZE(3,h), GET_TEXT_F(MSG_BUTTON_OPEN));
|
||||||
} else {
|
} else {
|
||||||
cmd.tag(243).button( BTN_POS(1, y), BTN_SIZE(3,h), GET_TEXT_F(PRINT_FILE));
|
cmd.tag(243).button( BTN_POS(1, y), BTN_SIZE(3,h), GET_TEXT_F(MSG_BUTTON_PRINT));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -69,15 +69,15 @@ void InterfaceSettingsScreen::onRedraw(draw_mode_t what) {
|
||||||
.cmd(COLOR_RGB(bg_text_enabled))
|
.cmd(COLOR_RGB(bg_text_enabled))
|
||||||
.tag(0)
|
.tag(0)
|
||||||
.font(font_medium)
|
.font(font_medium)
|
||||||
.text(BTN_POS(1,1), BTN_SIZE(4,1), GET_TEXT_F(INTERFACE_SETTINGS))
|
.text(BTN_POS(1,1), BTN_SIZE(4,1), GET_TEXT_F(MSG_INTERFACE_SETTINGS))
|
||||||
#undef EDGE_R
|
#undef EDGE_R
|
||||||
#define EDGE_R 30
|
#define EDGE_R 30
|
||||||
.font(font_small)
|
.font(font_small)
|
||||||
.tag(0)
|
.tag(0)
|
||||||
.text(BTN_POS(1,2), BTN_SIZE(2,1), GET_TEXT_F(LCD_BRIGHTNESS), OPT_RIGHTX | OPT_CENTERY)
|
.text(BTN_POS(1,2), BTN_SIZE(2,1), GET_TEXT_F(MSG_LCD_BRIGHTNESS), OPT_RIGHTX | OPT_CENTERY)
|
||||||
.text(BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXT_F(SOUND_VOLUME), OPT_RIGHTX | OPT_CENTERY)
|
.text(BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXT_F(MSG_SOUND_VOLUME), OPT_RIGHTX | OPT_CENTERY)
|
||||||
.text(BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXT_F(SCREEN_LOCK), OPT_RIGHTX | OPT_CENTERY);
|
.text(BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXT_F(MSG_SCREEN_LOCK), OPT_RIGHTX | OPT_CENTERY);
|
||||||
cmd.text(BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXT_F(BOOT_SCREEN), OPT_RIGHTX | OPT_CENTERY);
|
cmd.text(BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXT_F(MSG_BOOT_SCREEN), OPT_RIGHTX | OPT_CENTERY);
|
||||||
#undef EDGE_R
|
#undef EDGE_R
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -94,19 +94,19 @@ void InterfaceSettingsScreen::onRedraw(draw_mode_t what) {
|
||||||
.tag(2).slider(BTN_POS(3,2), BTN_SIZE(2,1), screen_data.InterfaceSettingsScreen.brightness, 128)
|
.tag(2).slider(BTN_POS(3,2), BTN_SIZE(2,1), screen_data.InterfaceSettingsScreen.brightness, 128)
|
||||||
.tag(3).slider(BTN_POS(3,3), BTN_SIZE(2,1), screen_data.InterfaceSettingsScreen.volume, 0xFF)
|
.tag(3).slider(BTN_POS(3,3), BTN_SIZE(2,1), screen_data.InterfaceSettingsScreen.volume, 0xFF)
|
||||||
.colors(ui_toggle)
|
.colors(ui_toggle)
|
||||||
.tag(4).toggle2(BTN_POS(3,4), BTN_SIZE(w,1), GET_TEXT_F(NO), GET_TEXT_F(YES), LockScreen::is_enabled())
|
.tag(4).toggle2(BTN_POS(3,4), BTN_SIZE(w,1), GET_TEXT_F(MSG_NO), GET_TEXT_F(MSG_YES), LockScreen::is_enabled())
|
||||||
.tag(5).toggle2(BTN_POS(3,5), BTN_SIZE(w,1), GET_TEXT_F(NO), GET_TEXT_F(YES), UIData::animations_enabled())
|
.tag(5).toggle2(BTN_POS(3,5), BTN_SIZE(w,1), GET_TEXT_F(MSG_NO), GET_TEXT_F(MSG_YES), UIData::animations_enabled())
|
||||||
#undef EDGE_R
|
#undef EDGE_R
|
||||||
#define EDGE_R 0
|
#define EDGE_R 0
|
||||||
#ifdef TOUCH_UI_PORTRAIT
|
#ifdef TOUCH_UI_PORTRAIT
|
||||||
.colors(normal_btn)
|
.colors(normal_btn)
|
||||||
.tag(6).button (BTN_POS(1,6), BTN_SIZE(4,1), GET_TEXT_F(INTERFACE_SOUNDS))
|
.tag(6).button (BTN_POS(1,6), BTN_SIZE(4,1), GET_TEXT_F(MSG_INTERFACE_SOUNDS))
|
||||||
.colors(action_btn)
|
.colors(action_btn)
|
||||||
.tag(1).button (BTN_POS(1,7), BTN_SIZE(4,1), GET_TEXT_F(BACK));
|
.tag(1).button (BTN_POS(1,7), BTN_SIZE(4,1), GET_TEXT_F(MSG_BACK));
|
||||||
#else
|
#else
|
||||||
.tag(6).button (BTN_POS(1,6), BTN_SIZE(2,1), GET_TEXT_F(INTERFACE_SOUNDS))
|
.tag(6).button (BTN_POS(1,6), BTN_SIZE(2,1), GET_TEXT_F(MSG_INTERFACE_SOUNDS))
|
||||||
.colors(action_btn)
|
.colors(action_btn)
|
||||||
.tag(1).button (BTN_POS(3,6), BTN_SIZE(2,1), GET_TEXT_F(BACK));
|
.tag(1).button (BTN_POS(3,6), BTN_SIZE(2,1), GET_TEXT_F(MSG_BACK));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -246,37 +246,37 @@ void InterfaceSettingsScreen::loadSettings(const char *buff) {
|
||||||
for(uint8_t i = 0; i < InterfaceSoundsScreen::NUM_EVENTS; i++)
|
for(uint8_t i = 0; i < InterfaceSoundsScreen::NUM_EVENTS; i++)
|
||||||
InterfaceSoundsScreen::event_sounds[i] = eeprom.event_sounds[i];
|
InterfaceSoundsScreen::event_sounds[i] = eeprom.event_sounds[i];
|
||||||
|
|
||||||
#if ENABLED(DEVELOPER_SCREENS)
|
#if ENABLED(TOUCH_UI_DEVELOPER_MENU)
|
||||||
StressTestScreen::startupCheck();
|
StressTestScreen::startupCheck();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef LULZBOT_EEPROM_BACKUP_SIZE
|
#ifdef ARCHIM2_SPI_FLASH_EEPROM_BACKUP_SIZE
|
||||||
#include "../../../../../HAL/shared/persistent_store_api.h"
|
#include "../../../../../HAL/shared/persistent_store_api.h"
|
||||||
|
|
||||||
bool restoreEEPROM() {
|
bool restoreEEPROM() {
|
||||||
uint8_t data[LULZBOT_EEPROM_BACKUP_SIZE];
|
uint8_t data[ARCHIM2_SPI_FLASH_EEPROM_BACKUP_SIZE];
|
||||||
|
|
||||||
bool success = UIFlashStorage::read_config_data(data, LULZBOT_EEPROM_BACKUP_SIZE);
|
bool success = UIFlashStorage::read_config_data(data, ARCHIM2_SPI_FLASH_EEPROM_BACKUP_SIZE);
|
||||||
|
|
||||||
if (success)
|
if (success)
|
||||||
success = persistentStore.write_data(0, data, LULZBOT_EEPROM_BACKUP_SIZE) == PERSISTENT_STORE_SUCCESS;
|
success = persistentStore.write_data(0, data, ARCHIM2_SPI_FLASH_EEPROM_BACKUP_SIZE) == PERSISTENT_STORE_SUCCESS;
|
||||||
|
|
||||||
if (success)
|
if (success)
|
||||||
StatusScreen::setStatusMessage(GET_TEXT_F(EEPROM_RESTORED));
|
StatusScreen::setStatusMessage(GET_TEXT_F(MSG_EEPROM_RESTORED));
|
||||||
else
|
else
|
||||||
StatusScreen::setStatusMessage(GET_TEXT_F(EEPROM_RESET));
|
StatusScreen::setStatusMessage(GET_TEXT_F(MSG_EEPROM_RESET));
|
||||||
|
|
||||||
return success;
|
return success;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool InterfaceSettingsScreen::backupEEPROM() {
|
bool InterfaceSettingsScreen::backupEEPROM() {
|
||||||
uint8_t data[LULZBOT_EEPROM_BACKUP_SIZE];
|
uint8_t data[ARCHIM2_SPI_FLASH_EEPROM_BACKUP_SIZE];
|
||||||
|
|
||||||
if (persistentStore.read_data(0, data, LULZBOT_EEPROM_BACKUP_SIZE) != PERSISTENT_STORE_SUCCESS)
|
if (persistentStore.read_data(0, data, ARCHIM2_SPI_FLASH_EEPROM_BACKUP_SIZE) != PERSISTENT_STORE_SUCCESS)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
UIFlashStorage::write_config_data(data, LULZBOT_EEPROM_BACKUP_SIZE);
|
UIFlashStorage::write_config_data(data, ARCHIM2_SPI_FLASH_EEPROM_BACKUP_SIZE);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -71,15 +71,15 @@ void InterfaceSoundsScreen::onRedraw(draw_mode_t what) {
|
||||||
#define GRID_ROWS 9
|
#define GRID_ROWS 9
|
||||||
|
|
||||||
.font(font_medium)
|
.font(font_medium)
|
||||||
.text(BTN_POS(1,1), BTN_SIZE(4,1), GET_TEXT_F(INTERFACE_SOUNDS))
|
.text(BTN_POS(1,1), BTN_SIZE(4,1), GET_TEXT_F(MSG_INTERFACE_SOUNDS))
|
||||||
#undef EDGE_R
|
#undef EDGE_R
|
||||||
#define EDGE_R 30
|
#define EDGE_R 30
|
||||||
.font(font_small)
|
.font(font_small)
|
||||||
.tag(0).text (BTN_POS(1,2), BTN_SIZE(2,1), GET_TEXT_F(SOUND_VOLUME), OPT_RIGHTX | OPT_CENTERY)
|
.tag(0).text (BTN_POS(1,2), BTN_SIZE(2,1), GET_TEXT_F(MSG_SOUND_VOLUME), OPT_RIGHTX | OPT_CENTERY)
|
||||||
.text (BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXT_F(CLICK_SOUNDS), OPT_RIGHTX | OPT_CENTERY)
|
.text (BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXT_F(MSG_CLICK_SOUNDS), OPT_RIGHTX | OPT_CENTERY)
|
||||||
.text (BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXT_F(PRINT_STARTING), OPT_RIGHTX | OPT_CENTERY)
|
.text (BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXT_F(MSG_PRINT_STARTING), OPT_RIGHTX | OPT_CENTERY)
|
||||||
.text (BTN_POS(1,6), BTN_SIZE(2,1), GET_TEXT_F(PRINT_FINISHED), OPT_RIGHTX | OPT_CENTERY)
|
.text (BTN_POS(1,6), BTN_SIZE(2,1), GET_TEXT_F(MSG_PRINT_FINISHED), OPT_RIGHTX | OPT_CENTERY)
|
||||||
.text (BTN_POS(1,7), BTN_SIZE(2,1), GET_TEXT_F(PRINT_ERROR), OPT_RIGHTX | OPT_CENTERY);
|
.text (BTN_POS(1,7), BTN_SIZE(2,1), GET_TEXT_F(MSG_PRINT_ERROR), OPT_RIGHTX | OPT_CENTERY);
|
||||||
#undef EDGE_R
|
#undef EDGE_R
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -95,7 +95,7 @@ void InterfaceSoundsScreen::onRedraw(draw_mode_t what) {
|
||||||
#define EDGE_R 30
|
#define EDGE_R 30
|
||||||
.tag(2).slider (BTN_POS(3,2), BTN_SIZE(2,1), screen_data.InterfaceSettingsScreen.volume, 0xFF)
|
.tag(2).slider (BTN_POS(3,2), BTN_SIZE(2,1), screen_data.InterfaceSettingsScreen.volume, 0xFF)
|
||||||
.colors(ui_toggle)
|
.colors(ui_toggle)
|
||||||
.tag(3).toggle2 (BTN_POS(3,3), BTN_SIZE(w,1), GET_TEXT_F(NO), GET_TEXT_F(YES), UIData::touch_sounds_enabled())
|
.tag(3).toggle2 (BTN_POS(3,3), BTN_SIZE(w,1), GET_TEXT_F(MSG_NO), GET_TEXT_F(MSG_YES), UIData::touch_sounds_enabled())
|
||||||
#undef EDGE_R
|
#undef EDGE_R
|
||||||
.colors(normal_btn)
|
.colors(normal_btn)
|
||||||
#define EDGE_R 0
|
#define EDGE_R 0
|
||||||
|
@ -103,7 +103,7 @@ void InterfaceSoundsScreen::onRedraw(draw_mode_t what) {
|
||||||
.tag(5).button (BTN_POS(3,6), BTN_SIZE(2,1), getSoundSelection(PRINTING_FINISHED))
|
.tag(5).button (BTN_POS(3,6), BTN_SIZE(2,1), getSoundSelection(PRINTING_FINISHED))
|
||||||
.tag(6).button (BTN_POS(3,7), BTN_SIZE(2,1), getSoundSelection(PRINTING_FAILED))
|
.tag(6).button (BTN_POS(3,7), BTN_SIZE(2,1), getSoundSelection(PRINTING_FAILED))
|
||||||
.colors(action_btn)
|
.colors(action_btn)
|
||||||
.tag(1).button (BTN_POS(1,9), BTN_SIZE(4,1), GET_TEXT_F(BACK));
|
.tag(1).button (BTN_POS(1,9), BTN_SIZE(4,1), GET_TEXT_F(MSG_BACK));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -34,12 +34,12 @@ void JerkScreen::onRedraw(draw_mode_t what) {
|
||||||
|
|
||||||
widgets_t w(what);
|
widgets_t w(what);
|
||||||
w.precision(1);
|
w.precision(1);
|
||||||
w.units(GET_TEXT_F(UNITS_MM_S));
|
w.units(GET_TEXT_F(MSG_UNITS_MM_S));
|
||||||
w.heading(GET_TEXT_F(JERK));
|
w.heading(GET_TEXT_F(MSG_JERK));
|
||||||
w.color(x_axis) .adjuster( 2, GET_TEXT_F(AXIS_X), getAxisMaxJerk_mm_s(X) );
|
w.color(x_axis) .adjuster( 2, GET_TEXT_F(MSG_AXIS_X), getAxisMaxJerk_mm_s(X) );
|
||||||
w.color(y_axis) .adjuster( 4, GET_TEXT_F(AXIS_Y), getAxisMaxJerk_mm_s(Y) );
|
w.color(y_axis) .adjuster( 4, GET_TEXT_F(MSG_AXIS_Y), getAxisMaxJerk_mm_s(Y) );
|
||||||
w.color(z_axis) .adjuster( 6, GET_TEXT_F(AXIS_Z), getAxisMaxJerk_mm_s(Z) );
|
w.color(z_axis) .adjuster( 6, GET_TEXT_F(MSG_AXIS_Z), getAxisMaxJerk_mm_s(Z) );
|
||||||
w.color(e_axis) .adjuster( 8, GET_TEXT_F(AXIS_E), getAxisMaxJerk_mm_s(E0) );
|
w.color(e_axis) .adjuster( 8, GET_TEXT_F(MSG_AXIS_E), getAxisMaxJerk_mm_s(E0) );
|
||||||
w.increments();
|
w.increments();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -33,8 +33,8 @@ using namespace Theme;
|
||||||
void JunctionDeviationScreen::onRedraw(draw_mode_t what) {
|
void JunctionDeviationScreen::onRedraw(draw_mode_t what) {
|
||||||
widgets_t w(what);
|
widgets_t w(what);
|
||||||
w.precision(2);
|
w.precision(2);
|
||||||
w.units(GET_TEXT_F(UNITS_MM));
|
w.units(GET_TEXT_F(MSG_UNITS_MM));
|
||||||
w.heading(GET_TEXT_F(JUNC_DEVIATION));
|
w.heading(GET_TEXT_F(MSG_JUNCTION_DEVIATION));
|
||||||
w.color(other) .adjuster( 2, F(""), getJunctionDeviation_mm() );
|
w.color(other) .adjuster( 2, F(""), getJunctionDeviation_mm() );
|
||||||
w.increments();
|
w.increments();
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,8 +46,8 @@ void KillScreen::show(const char *message) {
|
||||||
cmd.font(Theme::font_large)
|
cmd.font(Theme::font_large)
|
||||||
.cmd(COLOR_RGB(Theme::bg_text_enabled))
|
.cmd(COLOR_RGB(Theme::bg_text_enabled))
|
||||||
.text(BTN_POS(1,2), BTN_SIZE(4,1), message)
|
.text(BTN_POS(1,2), BTN_SIZE(4,1), message)
|
||||||
.text(BTN_POS(1,3), BTN_SIZE(4,1), GET_TEXT_F(PRINTER_HALTED))
|
.text(BTN_POS(1,3), BTN_SIZE(4,1), GET_TEXT_F(MSG_HALTED))
|
||||||
.text(BTN_POS(1,6), BTN_SIZE(4,1), GET_TEXT_F(PLEASE_RESET));
|
.text(BTN_POS(1,6), BTN_SIZE(4,1), GET_TEXT_F(MSG_PLEASE_RESET));
|
||||||
|
|
||||||
#undef GRID_COLS
|
#undef GRID_COLS
|
||||||
#undef GRID_ROWS
|
#undef GRID_ROWS
|
||||||
|
|
|
@ -33,16 +33,16 @@ using namespace Theme;
|
||||||
void LinearAdvanceScreen::onRedraw(draw_mode_t what) {
|
void LinearAdvanceScreen::onRedraw(draw_mode_t what) {
|
||||||
widgets_t w(what);
|
widgets_t w(what);
|
||||||
w.precision(2, DEFAULT_LOWEST).color(e_axis);
|
w.precision(2, DEFAULT_LOWEST).color(e_axis);
|
||||||
w.heading( GET_TEXT_F(LINEAR_ADVANCE));
|
w.heading( GET_TEXT_F(MSG_LINEAR_ADVANCE));
|
||||||
#if EXTRUDERS == 1
|
#if EXTRUDERS == 1
|
||||||
w.adjuster( 2, GET_TEXT_F(LINEAR_ADVANCE_K), getLinearAdvance_mm_mm_s(E0) );
|
w.adjuster( 2, GET_TEXT_F(MSG_LINEAR_ADVANCE_K), getLinearAdvance_mm_mm_s(E0) );
|
||||||
#else
|
#else
|
||||||
w.adjuster( 2, GET_TEXT_F(LINEAR_ADVANCE_K1), getLinearAdvance_mm_mm_s(E0) );
|
w.adjuster( 2, GET_TEXT_F(MSG_LINEAR_ADVANCE_K1), getLinearAdvance_mm_mm_s(E0) );
|
||||||
w.adjuster( 4, GET_TEXT_F(LINEAR_ADVANCE_K2), getLinearAdvance_mm_mm_s(E1) );
|
w.adjuster( 4, GET_TEXT_F(MSG_LINEAR_ADVANCE_K2), getLinearAdvance_mm_mm_s(E1) );
|
||||||
#if EXTRUDERS > 2
|
#if EXTRUDERS > 2
|
||||||
w.adjuster( 6, GET_TEXT_F(LINEAR_ADVANCE_K3), getLinearAdvance_mm_mm_s(E2) );
|
w.adjuster( 6, GET_TEXT_F(MSG_LINEAR_ADVANCE_K3), getLinearAdvance_mm_mm_s(E2) );
|
||||||
#if EXTRUDERS > 3
|
#if EXTRUDERS > 3
|
||||||
w.adjuster( 8, GET_TEXT_F(LINEAR_ADVANCE_K4), getLinearAdvance_mm_mm_s(E3) );
|
w.adjuster( 8, GET_TEXT_F(MSG_LINEAR_ADVANCE_K4), getLinearAdvance_mm_mm_s(E3) );
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -66,16 +66,16 @@ void LockScreen::onRedraw(draw_mode_t what) {
|
||||||
progmem_str message;
|
progmem_str message;
|
||||||
switch (message_style()) {
|
switch (message_style()) {
|
||||||
case 'w':
|
case 'w':
|
||||||
message = GET_TEXT_F(PASSCODE_REJECTED);
|
message = GET_TEXT_F(MSG_PASSCODE_REJECTED);
|
||||||
break;
|
break;
|
||||||
case 'g':
|
case 'g':
|
||||||
message = GET_TEXT_F(PASSCODE_ACCEPTED);
|
message = GET_TEXT_F(MSG_PASSCODE_ACCEPTED);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (passcode == 0) {
|
if (passcode == 0) {
|
||||||
message = GET_TEXT_F(PASSCODE_SELECT);
|
message = GET_TEXT_F(MSG_PASSCODE_SELECT);
|
||||||
} else {
|
} else {
|
||||||
message = GET_TEXT_F(PASSCODE_REQUEST);
|
message = GET_TEXT_F(MSG_PASSCODE_REQUEST);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
message_style() = '\0'; // Terminate the string.
|
message_style() = '\0'; // Terminate the string.
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||||
* Written By Marcio Teixeira 2018 - Aleph Objects, Inc. *
|
* Written By Marcio Teixeira 2018 - Aleph Objects, Inc. *
|
||||||
|
* Written By Marcio Teixeira 2019 - Cocoa Press *
|
||||||
* *
|
* *
|
||||||
* This program is free software: you can redistribute it and/or modify *
|
* 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 *
|
* it under the terms of the GNU General Public License as published by *
|
||||||
|
@ -22,7 +23,7 @@
|
||||||
|
|
||||||
#include "../config.h"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(LULZBOT_TOUCH_UI) && !defined(LULZBOT_USE_BIOPRINTER_UI)
|
#if ENABLED(LULZBOT_TOUCH_UI) && !defined(TOUCH_UI_LULZBOT_BIO)
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
@ -43,53 +44,63 @@ void MainMenu::onRedraw(draw_mode_t what) {
|
||||||
#ifdef TOUCH_UI_PORTRAIT
|
#ifdef TOUCH_UI_PORTRAIT
|
||||||
#define GRID_ROWS 8
|
#define GRID_ROWS 8
|
||||||
#define GRID_COLS 2
|
#define GRID_COLS 2
|
||||||
.tag(2).button( BTN_POS(1,1), BTN_SIZE(1,1), GET_TEXT_F(AUTO_HOME))
|
.tag(2).button( BTN_POS(1,1), BTN_SIZE(1,1), GET_TEXT_F(MSG_AUTO_HOME))
|
||||||
#ifdef NOZZLE_CLEAN_FEATURE
|
|
||||||
.enabled(1)
|
|
||||||
#else
|
|
||||||
.enabled(0)
|
|
||||||
#endif
|
|
||||||
.tag(3).button( BTN_POS(2,1), BTN_SIZE(1,1), GET_TEXT_F(CLEAN_NOZZLE))
|
|
||||||
.tag(4).button( BTN_POS(1,2), BTN_SIZE(1,1), GET_TEXT_F(MOVE_AXIS))
|
|
||||||
.tag(5).button( BTN_POS(2,2), BTN_SIZE(1,1), GET_TEXT_F(MOTORS_OFF))
|
|
||||||
.tag(6).button( BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXT_F(TEMPERATURE))
|
|
||||||
.tag(7).button( BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXT_F(CHANGE_FILAMENT))
|
|
||||||
.tag(8).button( BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXT_F(ADVANCED_SETTINGS))
|
|
||||||
#ifdef PRINTCOUNTER
|
|
||||||
.enabled(1)
|
|
||||||
#else
|
|
||||||
.enabled(0)
|
|
||||||
#endif
|
|
||||||
.tag(9).button( BTN_POS(1,7), BTN_SIZE(2,1), GET_TEXT_F(PRINTER_STATISTICS))
|
|
||||||
.tag(10).button( BTN_POS(1,6), BTN_SIZE(2,1), GET_TEXT_F(ABOUT_PRINTER))
|
|
||||||
.colors(action_btn)
|
|
||||||
.tag(1).button( BTN_POS(1,8), BTN_SIZE(2,1), GET_TEXT_F(BACK));
|
|
||||||
#undef GRID_COLS
|
|
||||||
#undef GRID_ROWS
|
|
||||||
#else
|
|
||||||
#define GRID_ROWS 5
|
|
||||||
#define GRID_COLS 2
|
|
||||||
.tag(2).button( BTN_POS(1,1), BTN_SIZE(1,1), GET_TEXT_F(AUTO_HOME))
|
|
||||||
#if ENABLED(NOZZLE_CLEAN_FEATURE)
|
#if ENABLED(NOZZLE_CLEAN_FEATURE)
|
||||||
.enabled(1)
|
.enabled(1)
|
||||||
#else
|
#else
|
||||||
.enabled(0)
|
.enabled(0)
|
||||||
#endif
|
#endif
|
||||||
.tag(3).button( BTN_POS(2,1), BTN_SIZE(1,1), GET_TEXT_F(CLEAN_NOZZLE))
|
.tag(3).button( BTN_POS(2,1), BTN_SIZE(1,1), GET_TEXT_F(MSG_CLEAN_NOZZLE))
|
||||||
.tag(4).button( BTN_POS(1,2), BTN_SIZE(1,1), GET_TEXT_F(MOVE_AXIS))
|
.tag(4).button( BTN_POS(1,2), BTN_SIZE(1,1), GET_TEXT_F(MSG_MOVE_AXIS))
|
||||||
.tag(5).button( BTN_POS(2,2), BTN_SIZE(1,1), GET_TEXT_F(MOTORS_OFF))
|
.tag(5).button( BTN_POS(2,2), BTN_SIZE(1,1), GET_TEXT_F(MSG_DISABLE_STEPPERS))
|
||||||
.tag(6).button( BTN_POS(1,3), BTN_SIZE(1,1), GET_TEXT_F(TEMPERATURE))
|
.tag(6).button( BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXT_F(MSG_TEMPERATURE))
|
||||||
.tag(7).button( BTN_POS(2,3), BTN_SIZE(1,1), GET_TEXT_F(CHANGE_FILAMENT))
|
#if DISABLED(TOUCH_UI_LULZBOT_BIO) && DISABLED(TOUCH_UI_COCOA_PRESS)
|
||||||
.tag(8).button( BTN_POS(1,4), BTN_SIZE(1,1), GET_TEXT_F(ADVANCED_SETTINGS))
|
.enabled(1)
|
||||||
|
#else
|
||||||
|
.enabled(0)
|
||||||
|
#endif
|
||||||
|
.tag(7).button( BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXT_F(MSG_FILAMENTCHANGE))
|
||||||
|
.tag(8).button( BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXT_F(MSG_ADVANCED_SETTINGS))
|
||||||
#ifdef PRINTCOUNTER
|
#ifdef PRINTCOUNTER
|
||||||
.enabled(1)
|
.enabled(1)
|
||||||
#else
|
#else
|
||||||
.enabled(0)
|
.enabled(0)
|
||||||
#endif
|
#endif
|
||||||
.tag(9).button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXT_F(PRINTER_STATISTICS))
|
.tag(9).button( BTN_POS(1,7), BTN_SIZE(2,1), GET_TEXT_F(MSG_INFO_STATS_MENU))
|
||||||
.tag(10).button( BTN_POS(1,5), BTN_SIZE(1,1), GET_TEXT_F(ABOUT_PRINTER))
|
.tag(10).button( BTN_POS(1,6), BTN_SIZE(2,1), GET_TEXT_F(MSG_INFO_MENU))
|
||||||
.colors(action_btn)
|
.colors(action_btn)
|
||||||
.tag(1).button( BTN_POS(2,5), BTN_SIZE(1,1), GET_TEXT_F(BACK));
|
.tag(1).button( BTN_POS(1,8), BTN_SIZE(2,1), GET_TEXT_F(MSG_BACK));
|
||||||
|
#undef GRID_COLS
|
||||||
|
#undef GRID_ROWS
|
||||||
|
#else
|
||||||
|
#define GRID_ROWS 5
|
||||||
|
#define GRID_COLS 2
|
||||||
|
.tag(2).button( BTN_POS(1,1), BTN_SIZE(1,1), GET_TEXT_F(MSG_AUTO_HOME))
|
||||||
|
#if ENABLED(NOZZLE_CLEAN_FEATURE)
|
||||||
|
.enabled(1)
|
||||||
|
#else
|
||||||
|
.enabled(0)
|
||||||
|
#endif
|
||||||
|
.tag(3).button( BTN_POS(2,1), BTN_SIZE(1,1), GET_TEXT_F(MSG_CLEAN_NOZZLE))
|
||||||
|
.tag(4).button( BTN_POS(1,2), BTN_SIZE(1,1), GET_TEXT_F(MSG_MOVE_AXIS))
|
||||||
|
.tag(5).button( BTN_POS(2,2), BTN_SIZE(1,1), GET_TEXT_F(MSG_DISABLE_STEPPERS))
|
||||||
|
.tag(6).button( BTN_POS(1,3), BTN_SIZE(1,1), GET_TEXT_F(MSG_TEMPERATURE))
|
||||||
|
#if DISABLED(TOUCH_UI_LULZBOT_BIO) && DISABLED(TOUCH_UI_COCOA_PRESS)
|
||||||
|
.enabled(1)
|
||||||
|
#else
|
||||||
|
.enabled(0)
|
||||||
|
#endif
|
||||||
|
.tag(7).button( BTN_POS(2,3), BTN_SIZE(1,1), GET_TEXT_F(MSG_FILAMENTCHANGE))
|
||||||
|
.tag(8).button( BTN_POS(1,4), BTN_SIZE(1,1), GET_TEXT_F(MSG_ADVANCED_SETTINGS))
|
||||||
|
#ifdef PRINTCOUNTER
|
||||||
|
.enabled(1)
|
||||||
|
#else
|
||||||
|
.enabled(0)
|
||||||
|
#endif
|
||||||
|
.tag(9).button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXT_F(MSG_INFO_STATS_MENU))
|
||||||
|
.tag(10).button( BTN_POS(1,5), BTN_SIZE(1,1), GET_TEXT_F(MSG_INFO_MENU))
|
||||||
|
.colors(action_btn)
|
||||||
|
.tag(1).button( BTN_POS(2,5), BTN_SIZE(1,1), GET_TEXT_F(MSG_BACK));
|
||||||
#undef GRID_COLS
|
#undef GRID_COLS
|
||||||
#undef GRID_ROWS
|
#undef GRID_ROWS
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -33,21 +33,21 @@ using namespace Theme;
|
||||||
void MaxAccelerationScreen::onRedraw(draw_mode_t what) {
|
void MaxAccelerationScreen::onRedraw(draw_mode_t what) {
|
||||||
widgets_t w(what);
|
widgets_t w(what);
|
||||||
w.precision(0);
|
w.precision(0);
|
||||||
w.units(GET_TEXT_F(UNITS_MM_S2));
|
w.units(GET_TEXT_F(MSG_UNITS_MM_S2));
|
||||||
w.heading(GET_TEXT_F(ACCELERATION));
|
w.heading(GET_TEXT_F(MSG_ACCELERATION));
|
||||||
w.color(x_axis) .adjuster( 2, GET_TEXT_F(AMAX_X), getAxisMaxAcceleration_mm_s2(X) );
|
w.color(x_axis) .adjuster( 2, GET_TEXT_F(MSG_AMAX_X), getAxisMaxAcceleration_mm_s2(X) );
|
||||||
w.color(y_axis) .adjuster( 4, GET_TEXT_F(AMAX_Y), getAxisMaxAcceleration_mm_s2(Y) );
|
w.color(y_axis) .adjuster( 4, GET_TEXT_F(MSG_AMAX_Y), getAxisMaxAcceleration_mm_s2(Y) );
|
||||||
w.color(z_axis) .adjuster( 6, GET_TEXT_F(AMAX_Z), getAxisMaxAcceleration_mm_s2(Z) );
|
w.color(z_axis) .adjuster( 6, GET_TEXT_F(MSG_AMAX_Z), getAxisMaxAcceleration_mm_s2(Z) );
|
||||||
#if EXTRUDERS == 1 || DISABLED(DISTINCT_E_FACTORS)
|
#if EXTRUDERS == 1 || DISABLED(DISTINCT_E_FACTORS)
|
||||||
w.color(e_axis).adjuster( 8, GET_TEXT_F(AMAX_E0), getAxisMaxAcceleration_mm_s2(E0) );
|
w.color(e_axis).adjuster( 8, GET_TEXT_F(MSG_AMAX_E0), getAxisMaxAcceleration_mm_s2(E0) );
|
||||||
#elif EXTRUDERS > 1
|
#elif EXTRUDERS > 1
|
||||||
w.color(e_axis).adjuster( 8, GET_TEXT_F(AMAX_E0), getAxisMaxAcceleration_mm_s2(E0) );
|
w.color(e_axis).adjuster( 8, GET_TEXT_F(MSG_AMAX_E0), getAxisMaxAcceleration_mm_s2(E0) );
|
||||||
w.color(e_axis).adjuster(10, GET_TEXT_F(AMAX_E1), getAxisMaxAcceleration_mm_s2(E1) );
|
w.color(e_axis).adjuster(10, GET_TEXT_F(MSG_AMAX_E1), getAxisMaxAcceleration_mm_s2(E1) );
|
||||||
#if EXTRUDERS > 2
|
#if EXTRUDERS > 2
|
||||||
w.color(e_axis).adjuster(12, GET_TEXT_F(AMAX_E2), getAxisMaxAcceleration_mm_s2(E2) );
|
w.color(e_axis).adjuster(12, GET_TEXT_F(MSG_AMAX_E2), getAxisMaxAcceleration_mm_s2(E2) );
|
||||||
#endif
|
#endif
|
||||||
#if EXTRUDERS > 3
|
#if EXTRUDERS > 3
|
||||||
w.color(e_axis).adjuster(14, GET_TEXT_F(AMAX_E3), getAxisMaxAcceleration_mm_s2(E3) );
|
w.color(e_axis).adjuster(14, GET_TEXT_F(MSG_AMAX_E3), getAxisMaxAcceleration_mm_s2(E3) );
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
w.increments();
|
w.increments();
|
||||||
|
|
|
@ -34,21 +34,21 @@ void MaxVelocityScreen::onRedraw(draw_mode_t what) {
|
||||||
using namespace ExtUI;
|
using namespace ExtUI;
|
||||||
widgets_t w(what);
|
widgets_t w(what);
|
||||||
w.precision(0);
|
w.precision(0);
|
||||||
w.units(GET_TEXT_F(UNITS_MM_S));
|
w.units(GET_TEXT_F(MSG_UNITS_MM_S));
|
||||||
w.heading( GET_TEXT_F(VELOCITY));
|
w.heading( GET_TEXT_F(MSG_VELOCITY));
|
||||||
w.color(x_axis) .adjuster( 2, GET_TEXT_F(VMAX_X), getAxisMaxFeedrate_mm_s(X) );
|
w.color(x_axis) .adjuster( 2, GET_TEXT_F(MSG_VMAX_X), getAxisMaxFeedrate_mm_s(X) );
|
||||||
w.color(y_axis) .adjuster( 4, GET_TEXT_F(VMAX_Y), getAxisMaxFeedrate_mm_s(Y) );
|
w.color(y_axis) .adjuster( 4, GET_TEXT_F(MSG_VMAX_Y), getAxisMaxFeedrate_mm_s(Y) );
|
||||||
w.color(z_axis) .adjuster( 6, GET_TEXT_F(VMAX_Z), getAxisMaxFeedrate_mm_s(Z) );
|
w.color(z_axis) .adjuster( 6, GET_TEXT_F(MSG_VMAX_Z), getAxisMaxFeedrate_mm_s(Z) );
|
||||||
#if EXTRUDERS == 1 || DISABLED(DISTINCT_E_FACTORS)
|
#if EXTRUDERS == 1 || DISABLED(DISTINCT_E_FACTORS)
|
||||||
w.color(e_axis) .adjuster( 8, GET_TEXT_F(VMAX_E1), getAxisMaxFeedrate_mm_s(E0) );
|
w.color(e_axis) .adjuster( 8, GET_TEXT_F(MSG_VMAX_E1), getAxisMaxFeedrate_mm_s(E0) );
|
||||||
#elif EXTRUDERS > 1
|
#elif EXTRUDERS > 1
|
||||||
w.color(e_axis) .adjuster( 8, GET_TEXT_F(VMAX_E1), getAxisMaxFeedrate_mm_s(E0) );
|
w.color(e_axis) .adjuster( 8, GET_TEXT_F(MSG_VMAX_E1), getAxisMaxFeedrate_mm_s(E0) );
|
||||||
w.color(e_axis) .adjuster( 10, GET_TEXT_F(VMAX_E2), getAxisMaxFeedrate_mm_s(E1) );
|
w.color(e_axis) .adjuster( 10, GET_TEXT_F(MSG_VMAX_E2), getAxisMaxFeedrate_mm_s(E1) );
|
||||||
#if EXTRUDERS > 2
|
#if EXTRUDERS > 2
|
||||||
w.color(e_axis).adjuster( 12, GET_TEXT_F(VMAX_E3), getAxisMaxFeedrate_mm_s(E2) );
|
w.color(e_axis).adjuster( 12, GET_TEXT_F(MSG_VMAX_E3), getAxisMaxFeedrate_mm_s(E2) );
|
||||||
#endif
|
#endif
|
||||||
#if EXTRUDERS > 3
|
#if EXTRUDERS > 3
|
||||||
w.color(e_axis).adjuster( 14, GET_TEXT_F(VMAX_E4), getAxisMaxFeedrate_mm_s(E3) );
|
w.color(e_axis).adjuster( 14, GET_TEXT_F(MSG_VMAX_E4), getAxisMaxFeedrate_mm_s(E3) );
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
w.increments();
|
w.increments();
|
||||||
|
|
|
@ -45,24 +45,24 @@ void MoveAxisScreen::onEntry() {
|
||||||
void MoveAxisScreen::onRedraw(draw_mode_t what) {
|
void MoveAxisScreen::onRedraw(draw_mode_t what) {
|
||||||
widgets_t w(what);
|
widgets_t w(what);
|
||||||
w.precision(1);
|
w.precision(1);
|
||||||
w.units(GET_TEXT_F(UNITS_MM));
|
w.units(GET_TEXT_F(MSG_UNITS_MM));
|
||||||
w.heading( GET_TEXT_F(MOVE_AXIS));
|
w.heading( GET_TEXT_F(MSG_MOVE_AXIS));
|
||||||
w.home_buttons(20);
|
w.home_buttons(20);
|
||||||
w.color(Theme::x_axis).adjuster( 2, GET_TEXT_F(AXIS_X), getAxisPosition_mm(X), canMove(X));
|
w.color(Theme::x_axis).adjuster( 2, GET_TEXT_F(MSG_AXIS_X), getAxisPosition_mm(X), canMove(X));
|
||||||
w.color(Theme::y_axis).adjuster( 4, GET_TEXT_F(AXIS_Y), getAxisPosition_mm(Y), canMove(Y));
|
w.color(Theme::y_axis).adjuster( 4, GET_TEXT_F(MSG_AXIS_Y), getAxisPosition_mm(Y), canMove(Y));
|
||||||
w.color(Theme::z_axis).adjuster( 6, GET_TEXT_F(AXIS_Z), getAxisPosition_mm(Z), canMove(Z));
|
w.color(Theme::z_axis).adjuster( 6, GET_TEXT_F(MSG_AXIS_Z), getAxisPosition_mm(Z), canMove(Z));
|
||||||
|
|
||||||
w.color(Theme::e_axis);
|
w.color(Theme::e_axis);
|
||||||
#if EXTRUDERS == 1
|
#if EXTRUDERS == 1
|
||||||
w.adjuster( 8, GET_TEXT_F(AXIS_E), screen_data.MoveAxisScreen.e_rel[0], canMove(E0));
|
w.adjuster( 8, GET_TEXT_F(MSG_AXIS_E), screen_data.MoveAxisScreen.e_rel[0], canMove(E0));
|
||||||
#elif EXTRUDERS > 1
|
#elif EXTRUDERS > 1
|
||||||
w.adjuster( 8, GET_TEXT_F(AXIS_E1), screen_data.MoveAxisScreen.e_rel[0], canMove(E0));
|
w.adjuster( 8, GET_TEXT_F(MSG_AXIS_E1), screen_data.MoveAxisScreen.e_rel[0], canMove(E0));
|
||||||
w.adjuster( 10, GET_TEXT_F(AXIS_E2), screen_data.MoveAxisScreen.e_rel[1], canMove(E1));
|
w.adjuster( 10, GET_TEXT_F(MSG_AXIS_E2), screen_data.MoveAxisScreen.e_rel[1], canMove(E1));
|
||||||
#if EXTRUDERS > 2
|
#if EXTRUDERS > 2
|
||||||
w.adjuster( 12, GET_TEXT_F(AXIS_E3), screen_data.MoveAxisScreen.e_rel[2], canMove(E2));
|
w.adjuster( 12, GET_TEXT_F(MSG_AXIS_E3), screen_data.MoveAxisScreen.e_rel[2], canMove(E2));
|
||||||
#endif
|
#endif
|
||||||
#if EXTRUDERS > 3
|
#if EXTRUDERS > 3
|
||||||
w.adjuster( 14, GET_TEXT_F(AXIS_E4), screen_data.MoveAxisScreen.e_rel[3], canMove(E3));
|
w.adjuster( 14, GET_TEXT_F(MSG_AXIS_E4), screen_data.MoveAxisScreen.e_rel[3], canMove(E3));
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
w.increments();
|
w.increments();
|
||||||
|
|
|
@ -39,14 +39,14 @@ void NozzleOffsetScreen::onEntry() {
|
||||||
|
|
||||||
void NozzleOffsetScreen::onRedraw(draw_mode_t what) {
|
void NozzleOffsetScreen::onRedraw(draw_mode_t what) {
|
||||||
widgets_t w(what);
|
widgets_t w(what);
|
||||||
w.precision(2).units(GET_TEXT_F(UNITS_MM));
|
w.precision(2).units(GET_TEXT_F(MSG_UNITS_MM));
|
||||||
|
|
||||||
w.heading( GET_TEXT_F(TOOL_OFFSETS));
|
w.heading( GET_TEXT_F(MSG_OFFSETS_MENU));
|
||||||
w.color(Theme::x_axis).adjuster(2, GET_TEXT_F(AXIS_X), ExtUI::getNozzleOffset_mm(X, E1));
|
w.color(Theme::x_axis).adjuster(2, GET_TEXT_F(MSG_AXIS_X), ExtUI::getNozzleOffset_mm(X, E1));
|
||||||
w.color(Theme::y_axis).adjuster(4, GET_TEXT_F(AXIS_Y), ExtUI::getNozzleOffset_mm(Y, E1));
|
w.color(Theme::y_axis).adjuster(4, GET_TEXT_F(MSG_AXIS_Y), ExtUI::getNozzleOffset_mm(Y, E1));
|
||||||
w.color(Theme::z_axis).adjuster(6, GET_TEXT_F(AXIS_Z), ExtUI::getNozzleOffset_mm(Z, E1));
|
w.color(Theme::z_axis).adjuster(6, GET_TEXT_F(MSG_AXIS_Z), ExtUI::getNozzleOffset_mm(Z, E1));
|
||||||
#if ENABLED(CALIBRATION_GCODE)
|
#if ENABLED(CALIBRATION_GCODE)
|
||||||
w.button(8, GET_TEXT_F(MEASURE_AUTOMATICALLY), !isPrinting());
|
w.button(8, GET_TEXT_F(MSG_MEASURE_AUTOMATICALLY), !isPrinting());
|
||||||
#endif
|
#endif
|
||||||
w.increments();
|
w.increments();
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,21 +43,21 @@ void NudgeNozzleScreen::onEntry() {
|
||||||
|
|
||||||
void NudgeNozzleScreen::onRedraw(draw_mode_t what) {
|
void NudgeNozzleScreen::onRedraw(draw_mode_t what) {
|
||||||
widgets_t w(what);
|
widgets_t w(what);
|
||||||
w.precision(2, BaseNumericAdjustmentScreen::DEFAULT_MIDRANGE).units(GET_TEXT_F(UNITS_MM));
|
w.precision(2, BaseNumericAdjustmentScreen::DEFAULT_MIDRANGE).units(GET_TEXT_F(MSG_UNITS_MM));
|
||||||
|
|
||||||
w.heading( GET_TEXT_F(NUDGE_NOZZLE));
|
w.heading( GET_TEXT_F(MSG_NUDGE_NOZZLE));
|
||||||
#if ENABLED(BABYSTEP_XY)
|
#if ENABLED(BABYSTEP_XY)
|
||||||
w.color(x_axis).adjuster(2, GET_TEXT_F(AXIS_X), screen_data.NudgeNozzleScreen.rel.x / getAxisSteps_per_mm(X));
|
w.color(x_axis).adjuster(2, GET_TEXT_F(MSG_AXIS_X), screen_data.NudgeNozzleScreen.rel.x / getAxisSteps_per_mm(X));
|
||||||
w.color(y_axis).adjuster(4, GET_TEXT_F(AXIS_Y), screen_data.NudgeNozzleScreen.rel.y / getAxisSteps_per_mm(Y));
|
w.color(y_axis).adjuster(4, GET_TEXT_F(MSG_AXIS_Y), screen_data.NudgeNozzleScreen.rel.y / getAxisSteps_per_mm(Y));
|
||||||
#endif
|
#endif
|
||||||
w.color(z_axis).adjuster(6, GET_TEXT_F(AXIS_Z), screen_data.NudgeNozzleScreen.rel.z / getAxisSteps_per_mm(Z));
|
w.color(z_axis).adjuster(6, GET_TEXT_F(MSG_AXIS_Z), screen_data.NudgeNozzleScreen.rel.z / getAxisSteps_per_mm(Z));
|
||||||
w.increments();
|
w.increments();
|
||||||
#if EXTRUDERS > 1
|
#if EXTRUDERS > 1
|
||||||
w.toggle (8, GET_TEXT_F(ADJUST_BOTH_NOZZLES), screen_data.NudgeNozzleScreen.link_nozzles);
|
w.toggle (8, GET_TEXT_F(MSG_ADJUST_BOTH_NOZZLES), screen_data.NudgeNozzleScreen.link_nozzles);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if EXTRUDERS > 1 || HAS_BED_PROBE
|
#if EXTRUDERS > 1 || HAS_BED_PROBE
|
||||||
w.toggle (9, GET_TEXT_F(SHOW_OFFSETS), screen_data.NudgeNozzleScreen.show_offsets);
|
w.toggle (9, GET_TEXT_F(MSG_SHOW_OFFSETS), screen_data.NudgeNozzleScreen.show_offsets);
|
||||||
|
|
||||||
if (screen_data.NudgeNozzleScreen.show_offsets) {
|
if (screen_data.NudgeNozzleScreen.show_offsets) {
|
||||||
char str[19];
|
char str[19];
|
||||||
|
@ -69,12 +69,12 @@ void NudgeNozzleScreen::onRedraw(draw_mode_t what) {
|
||||||
dtostrf(getZOffset_mm(), 4, 2, str);
|
dtostrf(getZOffset_mm(), 4, 2, str);
|
||||||
strcat(str, " ");
|
strcat(str, " ");
|
||||||
strcat_P(str, GET_TEXT(UNITS_MM));
|
strcat_P(str, GET_TEXT(UNITS_MM));
|
||||||
w.text_field (0, GET_TEXT_F(ZPROBE_ZOFFSET), str);
|
w.text_field (0, GET_TEXT_F(MSG_ZPROBE_ZOFFSET), str);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if EXTRUDERS > 1
|
#if EXTRUDERS > 1
|
||||||
format_position(str, getNozzleOffset_mm(X, E1), getNozzleOffset_mm(Y, E1), getNozzleOffset_mm(Z, E1));
|
format_position(str, getNozzleOffset_mm(X, E1), getNozzleOffset_mm(Y, E1), getNozzleOffset_mm(Z, E1));
|
||||||
w.text_field (0, GET_TEXT_F(TOOL_OFFSETS), str);
|
w.text_field (0, GET_TEXT_F(MSG_OFFSETS_MENU), str);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
using namespace ExtUI;
|
using namespace ExtUI;
|
||||||
|
|
||||||
void RestoreFailsafeDialogBox::onRedraw(draw_mode_t) {
|
void RestoreFailsafeDialogBox::onRedraw(draw_mode_t) {
|
||||||
drawMessage(GET_TEXT_F(EEPROM_RESET_WARNING));
|
drawMessage(GET_TEXT_F(MSG_EEPROM_RESET_WARNING));
|
||||||
drawYesNoButtons();
|
drawYesNoButtons();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@ bool RestoreFailsafeDialogBox::onTouchEnd(uint8_t tag) {
|
||||||
switch (tag) {
|
switch (tag) {
|
||||||
case 1:
|
case 1:
|
||||||
ExtUI::injectCommands_P(PSTR("M502"));
|
ExtUI::injectCommands_P(PSTR("M502"));
|
||||||
AlertDialogBox::show(GET_TEXT_F(EEPROM_RESET));
|
AlertDialogBox::show(GET_TEXT_F(MSG_EEPROM_RESET));
|
||||||
// Remove RestoreFailsafeDialogBox from the stack
|
// Remove RestoreFailsafeDialogBox from the stack
|
||||||
// so the alert box doesn't return to it.
|
// so the alert box doesn't return to it.
|
||||||
current_screen.forget();
|
current_screen.forget();
|
||||||
|
|
|
@ -31,7 +31,7 @@ using namespace ExtUI;
|
||||||
bool SaveSettingsDialogBox::needs_save = false;
|
bool SaveSettingsDialogBox::needs_save = false;
|
||||||
|
|
||||||
void SaveSettingsDialogBox::onRedraw(draw_mode_t) {
|
void SaveSettingsDialogBox::onRedraw(draw_mode_t) {
|
||||||
drawMessage(GET_TEXT_F(EEPROM_SAVE_PROMPT));
|
drawMessage(GET_TEXT_F(MSG_EEPROM_SAVE_PROMPT));
|
||||||
drawYesNoButtons();
|
drawYesNoButtons();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@ bool SaveSettingsDialogBox::onTouchEnd(uint8_t tag) {
|
||||||
switch (tag) {
|
switch (tag) {
|
||||||
case 1:
|
case 1:
|
||||||
injectCommands_P(PSTR("M500"));
|
injectCommands_P(PSTR("M500"));
|
||||||
AlertDialogBox::show(GET_TEXT_F(EEPROM_SAVED));
|
AlertDialogBox::show(GET_TEXT_F(MSG_EEPROM_SAVED));
|
||||||
// Remove SaveSettingsDialogBox from the stack
|
// Remove SaveSettingsDialogBox from the stack
|
||||||
// so the alert box doesn't return to me.
|
// so the alert box doesn't return to me.
|
||||||
current_screen.forget();
|
current_screen.forget();
|
||||||
|
|
|
@ -39,6 +39,9 @@ union screen_data_t {
|
||||||
struct {
|
struct {
|
||||||
uint8_t e_tag, t_tag, repeat_tag;
|
uint8_t e_tag, t_tag, repeat_tag;
|
||||||
ExtUI::extruder_t saved_extruder;
|
ExtUI::extruder_t saved_extruder;
|
||||||
|
#if FILAMENT_UNLOAD_PURGE_LENGTH > 0
|
||||||
|
bool need_purge;
|
||||||
|
#endif
|
||||||
} ChangeFilamentScreen;
|
} ChangeFilamentScreen;
|
||||||
struct {
|
struct {
|
||||||
struct {
|
struct {
|
||||||
|
@ -57,7 +60,7 @@ union screen_data_t {
|
||||||
struct base_numeric_adjustment_t placeholder;
|
struct base_numeric_adjustment_t placeholder;
|
||||||
float e_rel[ExtUI::extruderCount];
|
float e_rel[ExtUI::extruderCount];
|
||||||
} MoveAxisScreen;
|
} MoveAxisScreen;
|
||||||
#if ENABLED(DEVELOPER_SCREENS)
|
#if ENABLED(TOUCH_UI_DEVELOPER_MENU)
|
||||||
struct {
|
struct {
|
||||||
uint32_t next_watchdog_trigger;
|
uint32_t next_watchdog_trigger;
|
||||||
const char* message;
|
const char* message;
|
||||||
|
|
|
@ -96,12 +96,12 @@ SCREEN_TABLE {
|
||||||
DECL_SCREEN(LockScreen),
|
DECL_SCREEN(LockScreen),
|
||||||
DECL_SCREEN(FilesScreen),
|
DECL_SCREEN(FilesScreen),
|
||||||
DECL_SCREEN(EndstopStatesScreen),
|
DECL_SCREEN(EndstopStatesScreen),
|
||||||
#ifdef LULZBOT_USE_BIOPRINTER_UI
|
#ifdef TOUCH_UI_LULZBOT_BIO
|
||||||
DECL_SCREEN(BioPrintingDialogBox),
|
DECL_SCREEN(BioPrintingDialogBox),
|
||||||
DECL_SCREEN(BioConfirmHomeXYZ),
|
DECL_SCREEN(BioConfirmHomeXYZ),
|
||||||
DECL_SCREEN(BioConfirmHomeE),
|
DECL_SCREEN(BioConfirmHomeE),
|
||||||
#endif
|
#endif
|
||||||
#if ENABLED(DEVELOPER_SCREENS)
|
#if ENABLED(TOUCH_UI_DEVELOPER_MENU)
|
||||||
DECL_SCREEN(DeveloperMenu),
|
DECL_SCREEN(DeveloperMenu),
|
||||||
DECL_SCREEN(ConfirmEraseFlashDialogBox),
|
DECL_SCREEN(ConfirmEraseFlashDialogBox),
|
||||||
DECL_SCREEN(WidgetsScreen),
|
DECL_SCREEN(WidgetsScreen),
|
||||||
|
|
|
@ -69,7 +69,7 @@ enum {
|
||||||
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
|
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
|
||||||
FILAMENT_RUNOUT_SCREEN_CACHE,
|
FILAMENT_RUNOUT_SCREEN_CACHE,
|
||||||
#endif
|
#endif
|
||||||
#ifdef LULZBOT_USE_BIOPRINTER_UI
|
#ifdef TOUCH_UI_LULZBOT_BIO
|
||||||
PRINTING_SCREEN_CACHE,
|
PRINTING_SCREEN_CACHE,
|
||||||
#endif
|
#endif
|
||||||
CHANGE_FILAMENT_SCREEN_CACHE,
|
CHANGE_FILAMENT_SCREEN_CACHE,
|
||||||
|
@ -226,7 +226,7 @@ class SpinnerDialogBox : public DialogBoxBaseClass, public CachedScreen<SPINNER_
|
||||||
static void enqueueAndWait_P(const progmem_str message, const progmem_str commands);
|
static void enqueueAndWait_P(const progmem_str message, const progmem_str commands);
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifndef LULZBOT_USE_BIOPRINTER_UI
|
#if DISABLED(TOUCH_UI_LULZBOT_BIO) && DISABLED(TOUCH_UI_COCOA_PRESS)
|
||||||
class StatusScreen : public BaseScreen, public CachedScreen<STATUS_SCREEN_CACHE,STATUS_SCREEN_DL_SIZE> {
|
class StatusScreen : public BaseScreen, public CachedScreen<STATUS_SCREEN_CACHE,STATUS_SCREEN_DL_SIZE> {
|
||||||
private:
|
private:
|
||||||
static void draw_axis_position(draw_mode_t);
|
static void draw_axis_position(draw_mode_t);
|
||||||
|
@ -273,7 +273,9 @@ class StatusScreen : public BaseScreen, public CachedScreen<STATUS_SCREEN_CACHE,
|
||||||
static void onIdle();
|
static void onIdle();
|
||||||
|
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if ENABLED(TOUCH_UI_LULZBOT_BIO)
|
||||||
class BioPrintingDialogBox : public BaseScreen, public CachedScreen<PRINTING_SCREEN_CACHE,PRINTING_SCREEN_DL_SIZE> {
|
class BioPrintingDialogBox : public BaseScreen, public CachedScreen<PRINTING_SCREEN_CACHE,PRINTING_SCREEN_DL_SIZE> {
|
||||||
private:
|
private:
|
||||||
static void draw_status_message(draw_mode_t, const char * const);
|
static void draw_status_message(draw_mode_t, const char * const);
|
||||||
|
@ -343,6 +345,7 @@ class ChangeFilamentScreen : public BaseScreen, public CachedScreen<CHANGE_FILAM
|
||||||
static ExtUI::extruder_t getExtruder();
|
static ExtUI::extruder_t getExtruder();
|
||||||
static void drawTempGradient(uint16_t x, uint16_t y, uint16_t w, uint16_t h);
|
static void drawTempGradient(uint16_t x, uint16_t y, uint16_t w, uint16_t h);
|
||||||
static uint32_t getTempColor(uint32_t temp);
|
static uint32_t getTempColor(uint32_t temp);
|
||||||
|
static void doPurge();
|
||||||
public:
|
public:
|
||||||
static void onEntry();
|
static void onEntry();
|
||||||
static void onExit();
|
static void onExit();
|
||||||
|
@ -597,7 +600,7 @@ class InterfaceSettingsScreen : public BaseScreen, public CachedScreen<INTERFACE
|
||||||
};
|
};
|
||||||
|
|
||||||
public:
|
public:
|
||||||
#ifdef LULZBOT_EEPROM_BACKUP_SIZE
|
#ifdef ARCHIM2_SPI_FLASH_EEPROM_BACKUP_SIZE
|
||||||
static bool backupEEPROM();
|
static bool backupEEPROM();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -687,7 +690,7 @@ class DisplayTuningScreen : public BaseNumericAdjustmentScreen, public CachedScr
|
||||||
static bool onTouchHeld(uint8_t tag);
|
static bool onTouchHeld(uint8_t tag);
|
||||||
};
|
};
|
||||||
|
|
||||||
#if ENABLED(DEVELOPER_SCREENS)
|
#if ENABLED(TOUCH_UI_DEVELOPER_MENU)
|
||||||
class DeveloperMenu : public BaseScreen, public UncachedScreen {
|
class DeveloperMenu : public BaseScreen, public UncachedScreen {
|
||||||
public:
|
public:
|
||||||
static void onRedraw(draw_mode_t);
|
static void onRedraw(draw_mode_t);
|
||||||
|
|
|
@ -46,7 +46,7 @@ void SpinnerDialogBox::hide() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void SpinnerDialogBox::enqueueAndWait_P(const progmem_str commands) {
|
void SpinnerDialogBox::enqueueAndWait_P(const progmem_str commands) {
|
||||||
enqueueAndWait_P(GET_TEXT_F(PLEASE_WAIT), commands);
|
enqueueAndWait_P(GET_TEXT_F(MSG_PLEASE_WAIT), commands);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SpinnerDialogBox::enqueueAndWait_P(const progmem_str message, const progmem_str commands) {
|
void SpinnerDialogBox::enqueueAndWait_P(const progmem_str message, const progmem_str commands) {
|
||||||
|
|
|
@ -44,14 +44,14 @@ void StatisticsScreen::onRedraw(draw_mode_t what) {
|
||||||
.tag(0)
|
.tag(0)
|
||||||
|
|
||||||
.font(Theme::font_medium)
|
.font(Theme::font_medium)
|
||||||
.text(BTN_POS(1,1), BTN_SIZE(4,1), GET_TEXT_F(PRINTER_STATISTICS))
|
.text(BTN_POS(1,1), BTN_SIZE(4,1), GET_TEXT_F(MSG_INFO_STATS_MENU))
|
||||||
.font(Theme::font_small)
|
.font(Theme::font_small)
|
||||||
.tag(0)
|
.tag(0)
|
||||||
.text(BTN_POS(1,2), BTN_SIZE(2,1), GET_TEXT_F(INFO_PRINT_COUNT), OPT_RIGHTX | OPT_CENTERY)
|
.text(BTN_POS(1,2), BTN_SIZE(2,1), GET_TEXT_F(MSG_INFO_PRINT_COUNT), OPT_RIGHTX | OPT_CENTERY)
|
||||||
.text(BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXT_F(INFO_COMPLETED_PRINTS), OPT_RIGHTX | OPT_CENTERY)
|
.text(BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXT_F(MSG_INFO_COMPLETED_PRINTS), OPT_RIGHTX | OPT_CENTERY)
|
||||||
.text(BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXT_F(INFO_PRINT_TIME), OPT_RIGHTX | OPT_CENTERY)
|
.text(BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXT_F(MSG_INFO_PRINT_TIME), OPT_RIGHTX | OPT_CENTERY)
|
||||||
.text(BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXT_F(INFO_PRINT_LONGEST), OPT_RIGHTX | OPT_CENTERY)
|
.text(BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXT_F(MSG_INFO_PRINT_LONGEST), OPT_RIGHTX | OPT_CENTERY)
|
||||||
.text(BTN_POS(1,6), BTN_SIZE(2,1), GET_TEXT_F(INFO_PRINT_FILAMENT), OPT_RIGHTX | OPT_CENTERY);
|
.text(BTN_POS(1,6), BTN_SIZE(2,1), GET_TEXT_F(MSG_INFO_PRINT_FILAMENT), OPT_RIGHTX | OPT_CENTERY);
|
||||||
// Don't chain the following, it causes strange issues with evaluation ordering!
|
// Don't chain the following, it causes strange issues with evaluation ordering!
|
||||||
cmd.text(BTN_POS(3,2), BTN_SIZE(2,1), getTotalPrints_str(buffer));
|
cmd.text(BTN_POS(3,2), BTN_SIZE(2,1), getTotalPrints_str(buffer));
|
||||||
cmd.text(BTN_POS(3,3), BTN_SIZE(2,1), getFinishedPrints_str(buffer));
|
cmd.text(BTN_POS(3,3), BTN_SIZE(2,1), getFinishedPrints_str(buffer));
|
||||||
|
@ -63,7 +63,7 @@ void StatisticsScreen::onRedraw(draw_mode_t what) {
|
||||||
if (what & FOREGROUND) {
|
if (what & FOREGROUND) {
|
||||||
cmd.font(Theme::font_medium)
|
cmd.font(Theme::font_medium)
|
||||||
.colors(action_btn)
|
.colors(action_btn)
|
||||||
.tag(1).button(BTN_POS(1,7), BTN_SIZE(4,1), GET_TEXT_F(BACK));
|
.tag(1).button(BTN_POS(1,7), BTN_SIZE(4,1), GET_TEXT_F(MSG_BACK));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
#include "../config.h"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(LULZBOT_TOUCH_UI) && DISABLED(LULZBOT_USE_BIOPRINTER_UI)
|
#if ENABLED(LULZBOT_TOUCH_UI) && DISABLED(TOUCH_UI_LULZBOT_BIO) && DISABLED(TOUCH_UI_COCOA_PRESS)
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
#include "screen_data.h"
|
#include "screen_data.h"
|
||||||
|
@ -53,9 +53,9 @@ void StatusScreen::draw_axis_position(draw_mode_t what) {
|
||||||
.button( BTN_POS(1,7), BTN_SIZE(2,1), F(""), OPT_FLAT)
|
.button( BTN_POS(1,7), BTN_SIZE(2,1), F(""), OPT_FLAT)
|
||||||
|
|
||||||
.font(Theme::font_small)
|
.font(Theme::font_small)
|
||||||
.text ( BTN_POS(1,5), BTN_SIZE(1,1), GET_TEXT_F(AXIS_X))
|
.text ( BTN_POS(1,5), BTN_SIZE(1,1), GET_TEXT_F(MSG_AXIS_X))
|
||||||
.text ( BTN_POS(1,6), BTN_SIZE(1,1), GET_TEXT_F(AXIS_Y))
|
.text ( BTN_POS(1,6), BTN_SIZE(1,1), GET_TEXT_F(MSG_AXIS_Y))
|
||||||
.text ( BTN_POS(1,7), BTN_SIZE(1,1), GET_TEXT_F(AXIS_Z))
|
.text ( BTN_POS(1,7), BTN_SIZE(1,1), GET_TEXT_F(MSG_AXIS_Z))
|
||||||
|
|
||||||
.font(Theme::font_medium)
|
.font(Theme::font_medium)
|
||||||
.fgcolor(Theme::x_axis) .button( BTN_POS(2,5), BTN_SIZE(2,1), F(""), OPT_FLAT)
|
.fgcolor(Theme::x_axis) .button( BTN_POS(2,5), BTN_SIZE(2,1), F(""), OPT_FLAT)
|
||||||
|
@ -69,9 +69,9 @@ void StatusScreen::draw_axis_position(draw_mode_t what) {
|
||||||
.button( BTN_POS(3,5), BTN_SIZE(1,2), F(""), OPT_FLAT)
|
.button( BTN_POS(3,5), BTN_SIZE(1,2), F(""), OPT_FLAT)
|
||||||
|
|
||||||
.font(Theme::font_small)
|
.font(Theme::font_small)
|
||||||
.text ( BTN_POS(1,5), BTN_SIZE(1,1), GET_TEXT_F(AXIS_X))
|
.text ( BTN_POS(1,5), BTN_SIZE(1,1), GET_TEXT_F(MSG_AXIS_X))
|
||||||
.text ( BTN_POS(2,5), BTN_SIZE(1,1), GET_TEXT_F(AXIS_Y))
|
.text ( BTN_POS(2,5), BTN_SIZE(1,1), GET_TEXT_F(MSG_AXIS_Y))
|
||||||
.text ( BTN_POS(3,5), BTN_SIZE(1,1), GET_TEXT_F(AXIS_Z))
|
.text ( BTN_POS(3,5), BTN_SIZE(1,1), GET_TEXT_F(MSG_AXIS_Z))
|
||||||
.font(Theme::font_medium)
|
.font(Theme::font_medium)
|
||||||
|
|
||||||
.fgcolor(Theme::x_axis) .button( BTN_POS(1,6), BTN_SIZE(1,1), F(""), OPT_FLAT)
|
.fgcolor(Theme::x_axis) .button( BTN_POS(1,6), BTN_SIZE(1,1), F(""), OPT_FLAT)
|
||||||
|
@ -279,12 +279,12 @@ void StatusScreen::draw_interaction_buttons(draw_mode_t what) {
|
||||||
#else
|
#else
|
||||||
BTN_POS(1,7), BTN_SIZE(2,2),
|
BTN_POS(1,7), BTN_SIZE(2,2),
|
||||||
#endif
|
#endif
|
||||||
isPrintingFromMedia() ? GET_TEXT_F(PRINTING) : GET_TEXT_F(MEDIA)
|
isPrintingFromMedia() ? GET_TEXT_F(MSG_PRINTING) : GET_TEXT_F(MSG_BUTTON_MEDIA)
|
||||||
).colors(!has_media ? action_btn : normal_btn)
|
).colors(!has_media ? action_btn : normal_btn)
|
||||||
#ifdef TOUCH_UI_PORTRAIT
|
#ifdef TOUCH_UI_PORTRAIT
|
||||||
.tag(4).button( BTN_POS(3,8), BTN_SIZE(2,1), GET_TEXT_F(MENU));
|
.tag(4).button( BTN_POS(3,8), BTN_SIZE(2,1), GET_TEXT_F(MSG_BUTTON_MENU));
|
||||||
#else
|
#else
|
||||||
.tag(4).button( BTN_POS(3,7), BTN_SIZE(2,2), GET_TEXT_F(MENU));
|
.tag(4).button( BTN_POS(3,7), BTN_SIZE(2,2), GET_TEXT_F(MSG_BUTTON_MENU));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#undef GRID_COLS
|
#undef GRID_COLS
|
||||||
|
|
|
@ -33,22 +33,22 @@ using namespace Theme;
|
||||||
void StepperBumpSensitivityScreen::onRedraw(draw_mode_t what) {
|
void StepperBumpSensitivityScreen::onRedraw(draw_mode_t what) {
|
||||||
widgets_t w(what);
|
widgets_t w(what);
|
||||||
w.precision(0, BaseNumericAdjustmentScreen::DEFAULT_LOWEST);
|
w.precision(0, BaseNumericAdjustmentScreen::DEFAULT_LOWEST);
|
||||||
w.heading( GET_TEXT_F(HOME_SENSE));
|
w.heading( GET_TEXT_F(MSG_TMC_HOMING_THRS));
|
||||||
w.color(x_axis) .adjuster( 2, GET_TEXT_F(AXIS_X), getTMCBumpSensitivity(X),
|
w.color(x_axis) .adjuster( 2, GET_TEXT_F(MSG_AXIS_X), getTMCBumpSensitivity(X),
|
||||||
#if X_SENSORLESS
|
#if X_SENSORLESS
|
||||||
true
|
true
|
||||||
#else
|
#else
|
||||||
false
|
false
|
||||||
#endif
|
#endif
|
||||||
);
|
);
|
||||||
w.color(y_axis) .adjuster( 4, GET_TEXT_F(AXIS_Y), getTMCBumpSensitivity(Y),
|
w.color(y_axis) .adjuster( 4, GET_TEXT_F(MSG_AXIS_Y), getTMCBumpSensitivity(Y),
|
||||||
#if Y_SENSORLESS
|
#if Y_SENSORLESS
|
||||||
true
|
true
|
||||||
#else
|
#else
|
||||||
false
|
false
|
||||||
#endif
|
#endif
|
||||||
);
|
);
|
||||||
w.color(z_axis) .adjuster( 6, GET_TEXT_F(AXIS_Z), getTMCBumpSensitivity(Z),
|
w.color(z_axis) .adjuster( 6, GET_TEXT_F(MSG_AXIS_Z), getTMCBumpSensitivity(Z),
|
||||||
#if Z_SENSORLESS
|
#if Z_SENSORLESS
|
||||||
true
|
true
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -33,21 +33,21 @@ using namespace Theme;
|
||||||
void StepperCurrentScreen::onRedraw(draw_mode_t what) {
|
void StepperCurrentScreen::onRedraw(draw_mode_t what) {
|
||||||
widgets_t w(what);
|
widgets_t w(what);
|
||||||
w.precision(0);
|
w.precision(0);
|
||||||
w.units(GET_TEXT_F(UNITS_MILLIAMP));
|
w.units(GET_TEXT_F(MSG_UNITS_MILLIAMP));
|
||||||
w.heading( GET_TEXT_F(MOTOR_CURRENT));
|
w.heading( GET_TEXT_F(MSG_TMC_CURRENT));
|
||||||
w.color(x_axis) .adjuster( 2, GET_TEXT_F(AXIS_X), getAxisCurrent_mA(X) );
|
w.color(x_axis) .adjuster( 2, GET_TEXT_F(MSG_AXIS_X), getAxisCurrent_mA(X) );
|
||||||
w.color(y_axis) .adjuster( 4, GET_TEXT_F(AXIS_Y), getAxisCurrent_mA(Y) );
|
w.color(y_axis) .adjuster( 4, GET_TEXT_F(MSG_AXIS_Y), getAxisCurrent_mA(Y) );
|
||||||
w.color(z_axis) .adjuster( 6, GET_TEXT_F(AXIS_Z), getAxisCurrent_mA(Z) );
|
w.color(z_axis) .adjuster( 6, GET_TEXT_F(MSG_AXIS_Z), getAxisCurrent_mA(Z) );
|
||||||
#if EXTRUDERS == 1
|
#if EXTRUDERS == 1
|
||||||
w.color(e_axis).adjuster( 8, GET_TEXT_F(AXIS_E), getAxisCurrent_mA(E0) );
|
w.color(e_axis).adjuster( 8, GET_TEXT_F(MSG_AXIS_E), getAxisCurrent_mA(E0) );
|
||||||
#elif EXTRUDERS > 1
|
#elif EXTRUDERS > 1
|
||||||
w.color(e_axis).adjuster( 8, GET_TEXT_F(AXIS_E1), getAxisCurrent_mA(E0) );
|
w.color(e_axis).adjuster( 8, GET_TEXT_F(MSG_AXIS_E1), getAxisCurrent_mA(E0) );
|
||||||
w.color(e_axis).adjuster(10, GET_TEXT_F(AXIS_E2), getAxisCurrent_mA(E1) );
|
w.color(e_axis).adjuster(10, GET_TEXT_F(MSG_AXIS_E2), getAxisCurrent_mA(E1) );
|
||||||
#if EXTRUDERS > 2
|
#if EXTRUDERS > 2
|
||||||
w.color(e_axis).adjuster(12, GET_TEXT_F(AXIS_E3), getAxisCurrent_mA(E2) );
|
w.color(e_axis).adjuster(12, GET_TEXT_F(MSG_AXIS_E3), getAxisCurrent_mA(E2) );
|
||||||
#endif
|
#endif
|
||||||
#if EXTRUDERS > 3
|
#if EXTRUDERS > 3
|
||||||
w.color(e_axis).adjuster(14, GET_TEXT_F(AXIS_E4), getAxisCurrent_mA(E3) );
|
w.color(e_axis).adjuster(14, GET_TEXT_F(MSG_AXIS_E4), getAxisCurrent_mA(E3) );
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
w.increments();
|
w.increments();
|
||||||
|
|
|
@ -33,21 +33,21 @@ using namespace Theme;
|
||||||
void StepsScreen::onRedraw(draw_mode_t what) {
|
void StepsScreen::onRedraw(draw_mode_t what) {
|
||||||
widgets_t w(what);
|
widgets_t w(what);
|
||||||
w.precision(0);
|
w.precision(0);
|
||||||
w.units(GET_TEXT_F(UNITS_STEP_MM));
|
w.units(GET_TEXT_F(MSG_UNITS_STEP_MM));
|
||||||
w.heading( GET_TEXT_F(STEPS_PER_MM));
|
w.heading( GET_TEXT_F(MSG_STEPS_PER_MM));
|
||||||
w.color(x_axis) .adjuster( 2, GET_TEXT_F(AXIS_X), getAxisSteps_per_mm(X) );
|
w.color(x_axis) .adjuster( 2, GET_TEXT_F(MSG_AXIS_X), getAxisSteps_per_mm(X) );
|
||||||
w.color(y_axis) .adjuster( 4, GET_TEXT_F(AXIS_Y), getAxisSteps_per_mm(Y) );
|
w.color(y_axis) .adjuster( 4, GET_TEXT_F(MSG_AXIS_Y), getAxisSteps_per_mm(Y) );
|
||||||
w.color(z_axis) .adjuster( 6, GET_TEXT_F(AXIS_Z), getAxisSteps_per_mm(Z) );
|
w.color(z_axis) .adjuster( 6, GET_TEXT_F(MSG_AXIS_Z), getAxisSteps_per_mm(Z) );
|
||||||
#if EXTRUDERS == 1 || DISABLED(DISTINCT_E_FACTORS)
|
#if EXTRUDERS == 1 || DISABLED(DISTINCT_E_FACTORS)
|
||||||
w.color(e_axis) .adjuster( 8, GET_TEXT_F(AXIS_E), getAxisSteps_per_mm(E0) );
|
w.color(e_axis) .adjuster( 8, GET_TEXT_F(MSG_AXIS_E), getAxisSteps_per_mm(E0) );
|
||||||
#elif EXTRUDERS > 1
|
#elif EXTRUDERS > 1
|
||||||
w.color(e_axis) .adjuster( 8, GET_TEXT_F(AXIS_E1), getAxisSteps_per_mm(E0) );
|
w.color(e_axis) .adjuster( 8, GET_TEXT_F(MSG_AXIS_E1), getAxisSteps_per_mm(E0) );
|
||||||
w.color(e_axis) .adjuster(10, GET_TEXT_F(AXIS_E2), getAxisSteps_per_mm(E1) );
|
w.color(e_axis) .adjuster(10, GET_TEXT_F(MSG_AXIS_E2), getAxisSteps_per_mm(E1) );
|
||||||
#if EXTRUDERS > 2
|
#if EXTRUDERS > 2
|
||||||
w.color(e_axis) .adjuster(12, GET_TEXT_F(AXIS_E3), getAxisSteps_per_mm(E2) );
|
w.color(e_axis) .adjuster(12, GET_TEXT_F(MSG_AXIS_E3), getAxisSteps_per_mm(E2) );
|
||||||
#endif
|
#endif
|
||||||
#if EXTRUDERS > 3
|
#if EXTRUDERS > 3
|
||||||
w.color(e_axis) .adjuster(14, GET_TEXT_F(AXIS_E4), getAxisSteps_per_mm(E3) );
|
w.color(e_axis) .adjuster(14, GET_TEXT_F(MSG_AXIS_E4), getAxisSteps_per_mm(E3) );
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
w.increments();
|
w.increments();
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
#include "../config.h"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(LULZBOT_TOUCH_UI, DEVELOPER_SCREENS)
|
#if BOTH(LULZBOT_TOUCH_UI, TOUCH_UI_DEVELOPER_MENU)
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
#include "screen_data.h"
|
#include "screen_data.h"
|
||||||
|
@ -121,6 +121,7 @@ void StressTestScreen::onIdle() {
|
||||||
|
|
||||||
if (!commandsInQueue()) {
|
if (!commandsInQueue()) {
|
||||||
if (!isPositionKnown()) {
|
if (!isPositionKnown()) {
|
||||||
|
extern const char G28_STR[];
|
||||||
injectCommands_P(G28_STR);
|
injectCommands_P(G28_STR);
|
||||||
} else {
|
} else {
|
||||||
injectCommands_P(PSTR(
|
injectCommands_P(PSTR(
|
||||||
|
|
|
@ -34,28 +34,28 @@
|
||||||
* Formats a temperature string (e.g. "100°C")
|
* Formats a temperature string (e.g. "100°C")
|
||||||
*/
|
*/
|
||||||
void format_temp(char *str, float t1) {
|
void format_temp(char *str, float t1) {
|
||||||
sprintf_P(str, PSTR("%3d" S_FMT), ROUND(t1), GET_TEXT(UNITS_C));
|
sprintf_P(str, PSTR("%3d" S_FMT), ROUND(t1), GET_TEXT(MSG_UNITS_C));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Formats a temperature string for an idle heater (e.g. "100 °C / idle")
|
* Formats a temperature string for an idle heater (e.g. "100 °C / idle")
|
||||||
*/
|
*/
|
||||||
void format_temp_and_idle(char *str, float t1) {
|
void format_temp_and_idle(char *str, float t1) {
|
||||||
sprintf_P(str, PSTR("%3d" S_FMT " / " S_FMT), ROUND(t1), GET_TEXT(UNITS_C), GET_TEXT(TEMP_IDLE));
|
sprintf_P(str, PSTR("%3d" S_FMT " / " S_FMT), ROUND(t1), GET_TEXT(MSG_UNITS_C), GET_TEXT(MSG_IDLE));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Formats a temperature string for an active heater (e.g. "100 / 200°C")
|
* Formats a temperature string for an active heater (e.g. "100 / 200°C")
|
||||||
*/
|
*/
|
||||||
void format_temp_and_temp(char *str, float t1, float t2) {
|
void format_temp_and_temp(char *str, float t1, float t2) {
|
||||||
sprintf_P(str, PSTR("%3d / %3d" S_FMT), ROUND(t1), ROUND(t2), GET_TEXT(UNITS_C));
|
sprintf_P(str, PSTR("%3d / %3d" S_FMT), ROUND(t1), ROUND(t2), GET_TEXT(MSG_UNITS_C));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Formats a temperature string for a material (e.g. "100°C (PLA)")
|
* Formats a temperature string for a material (e.g. "100°C (PLA)")
|
||||||
*/
|
*/
|
||||||
void format_temp_and_material(char *str, float t1, const char *material) {
|
void format_temp_and_material(char *str, float t1, const char *material) {
|
||||||
sprintf_P(str, PSTR("%3d" S_FMT " (" S_FMT ")"), ROUND(t1), GET_TEXT(UNITS_C), material);
|
sprintf_P(str, PSTR("%3d" S_FMT " (" S_FMT ")"), ROUND(t1), GET_TEXT(MSG_UNITS_C), material);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -64,7 +64,7 @@ void format_temp_and_material(char *str, float t1, const char *material) {
|
||||||
void format_position(char *str, float p) {
|
void format_position(char *str, float p) {
|
||||||
dtostrf(p, 5, 1, str);
|
dtostrf(p, 5, 1, str);
|
||||||
strcat_P(str, PSTR(" "));
|
strcat_P(str, PSTR(" "));
|
||||||
strcat_P(str, GET_TEXT(UNITS_MM));
|
strcat_P(str, GET_TEXT(MSG_UNITS_MM));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -75,7 +75,7 @@ void format_position(char *str, float x, float y, float z) {
|
||||||
dtostrf(x, 4, 2, num1);
|
dtostrf(x, 4, 2, num1);
|
||||||
dtostrf(y, 4, 2, num2);
|
dtostrf(y, 4, 2, num2);
|
||||||
dtostrf(z, 4, 2, num3);
|
dtostrf(z, 4, 2, num3);
|
||||||
sprintf_P(str, PSTR("%s; %s; %s " S_FMT), num1, num2, num3, GET_TEXT(UNITS_MM));
|
sprintf_P(str, PSTR("%s; %s; %s " S_FMT), num1, num2, num3, GET_TEXT(MSG_UNITS_MM));
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma GCC diagnostic pop
|
#pragma GCC diagnostic pop
|
||||||
|
|
|
@ -32,29 +32,29 @@ using namespace ExtUI;
|
||||||
|
|
||||||
void TemperatureScreen::onRedraw(draw_mode_t what) {
|
void TemperatureScreen::onRedraw(draw_mode_t what) {
|
||||||
widgets_t w(what);
|
widgets_t w(what);
|
||||||
w.precision(0).color(temp).units(GET_TEXT_F(UNITS_C));
|
w.precision(0).color(temp).units(GET_TEXT_F(MSG_UNITS_C));
|
||||||
w.heading(GET_TEXT_F(TEMPERATURE));
|
w.heading(GET_TEXT_F(MSG_TEMPERATURE));
|
||||||
w.button(30, GET_TEXT_F(COOLDOWN));
|
w.button(30, GET_TEXT_F(MSG_COOLDOWN));
|
||||||
#ifndef LULZBOT_DISABLE_TOOLHEAD_HEATER
|
#ifndef NO_TOOLHEAD_HEATER_GCODE
|
||||||
#if HOTENDS == 1
|
#if HOTENDS == 1
|
||||||
w.adjuster( 2, GET_TEXT_F(HOTEND), getTargetTemp_celsius(E0));
|
w.adjuster( 2, GET_TEXT_F(MSG_NOZZLE), getTargetTemp_celsius(E0));
|
||||||
#else
|
#else
|
||||||
w.adjuster( 2, GET_TEXT_F(HOTEND1), getTargetTemp_celsius(E0));
|
w.adjuster( 2, GET_TEXT_F(MSG_NOZZLE_0), getTargetTemp_celsius(E0));
|
||||||
w.adjuster( 4, GET_TEXT_F(HOTEND2), getTargetTemp_celsius(E1));
|
w.adjuster( 4, GET_TEXT_F(MSG_NOZZLE_1), getTargetTemp_celsius(E1));
|
||||||
#if HOTENDS > 2
|
#if HOTENDS > 2
|
||||||
w.adjuster( 6, GET_TEXT_F(HOTEND3), getTargetTemp_celsius(E2));
|
w.adjuster( 6, GET_TEXT_F(MSG_NOZZLE_2), getTargetTemp_celsius(E2));
|
||||||
#endif
|
#endif
|
||||||
#if HOTENDS > 3
|
#if HOTENDS > 3
|
||||||
w.adjuster( 8, GET_TEXT_F(HOTEND4), getTargetTemp_celsius(E3));
|
w.adjuster( 8, GET_TEXT_F(MSG_NOZZLE_3), getTargetTemp_celsius(E3));
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#if HAS_HEATED_BED
|
#if HAS_HEATED_BED
|
||||||
w.adjuster( 20, GET_TEXT_F(BED), getTargetTemp_celsius(BED));
|
w.adjuster( 20, GET_TEXT_F(MSG_BED), getTargetTemp_celsius(BED));
|
||||||
#endif
|
#endif
|
||||||
#if FAN_COUNT > 0
|
#if FAN_COUNT > 0
|
||||||
w.color(fan_speed).units(GET_TEXT_F(UNITS_PERCENT));
|
w.color(fan_speed).units(GET_TEXT_F(MSG_UNITS_PERCENT));
|
||||||
w.adjuster( 10, GET_TEXT_F(FAN_SPEED), getTargetFan_percent(FAN0));
|
w.adjuster( 10, GET_TEXT_F(MSG_FAN_SPEED), getTargetFan_percent(FAN0));
|
||||||
#endif
|
#endif
|
||||||
w.increments();
|
w.increments();
|
||||||
}
|
}
|
||||||
|
@ -64,7 +64,7 @@ bool TemperatureScreen::onTouchHeld(uint8_t tag) {
|
||||||
switch (tag) {
|
switch (tag) {
|
||||||
case 20: UI_DECREMENT(TargetTemp_celsius, BED); break;
|
case 20: UI_DECREMENT(TargetTemp_celsius, BED); break;
|
||||||
case 21: UI_INCREMENT(TargetTemp_celsius, BED); break;
|
case 21: UI_INCREMENT(TargetTemp_celsius, BED); break;
|
||||||
#ifndef LULZBOT_DISABLE_TOOLHEAD_HEATER
|
#ifndef NO_TOOLHEAD_HEATER_GCODE
|
||||||
case 2: UI_DECREMENT(TargetTemp_celsius, E0); break;
|
case 2: UI_DECREMENT(TargetTemp_celsius, E0); break;
|
||||||
case 3: UI_INCREMENT(TargetTemp_celsius, E0); break;
|
case 3: UI_INCREMENT(TargetTemp_celsius, E0); break;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -45,7 +45,7 @@ void TouchCalibrationScreen::onEntry() {
|
||||||
.cmd(CLEAR_COLOR_RGB(bg_color))
|
.cmd(CLEAR_COLOR_RGB(bg_color))
|
||||||
.cmd(CLEAR(true,true,true))
|
.cmd(CLEAR(true,true,true))
|
||||||
.cmd(COLOR_RGB(bg_text_enabled));
|
.cmd(COLOR_RGB(bg_text_enabled));
|
||||||
draw_text_box(cmd, BTN_POS(1,1), BTN_SIZE(4,16), GET_TEXT_F(TOUCH_CALIBRATION_START), OPT_CENTER, font_large);
|
draw_text_box(cmd, BTN_POS(1,1), BTN_SIZE(4,16), GET_TEXT_F(MSG_TOUCH_CALIBRATION_START), OPT_CENTER, font_large);
|
||||||
cmd.cmd(DL::DL_DISPLAY)
|
cmd.cmd(DL::DL_DISPLAY)
|
||||||
.cmd(CMD_SWAP)
|
.cmd(CMD_SWAP)
|
||||||
.execute();
|
.execute();
|
||||||
|
@ -76,7 +76,7 @@ void TouchCalibrationScreen::onRedraw(draw_mode_t) {
|
||||||
.cmd(CLEAR(true,true,true))
|
.cmd(CLEAR(true,true,true))
|
||||||
.cmd(COLOR_RGB(bg_text_enabled));
|
.cmd(COLOR_RGB(bg_text_enabled));
|
||||||
|
|
||||||
draw_text_box(cmd, BTN_POS(1,1), BTN_SIZE(4,16), GET_TEXT_F(TOUCH_CALIBRATION_PROMPT), OPT_CENTER, font_large);
|
draw_text_box(cmd, BTN_POS(1,1), BTN_SIZE(4,16), GET_TEXT_F(MSG_TOUCH_CALIBRATION_PROMPT), OPT_CENTER, font_large);
|
||||||
cmd.cmd(CMD_CALIBRATE);
|
cmd.cmd(CMD_CALIBRATE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
#include "../config.h"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(LULZBOT_TOUCH_UI, DEVELOPER_SCREENS)
|
#if BOTH(LULZBOT_TOUCH_UI, TOUCH_UI_DEVELOPER_MENU)
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
#include "../config.h"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(LULZBOT_TOUCH_UI) && !defined(LULZBOT_USE_BIOPRINTER_UI)
|
#if ENABLED(LULZBOT_TOUCH_UI) && !defined(TOUCH_UI_LULZBOT_BIO)
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
@ -51,79 +51,79 @@ void TuneMenu::onRedraw(draw_mode_t what) {
|
||||||
cmd.colors(normal_btn)
|
cmd.colors(normal_btn)
|
||||||
.font(font_medium)
|
.font(font_medium)
|
||||||
#ifdef TOUCH_UI_PORTRAIT
|
#ifdef TOUCH_UI_PORTRAIT
|
||||||
.tag(2).enabled(1) .button( BTN_POS(1,1), BTN_SIZE(2,1), GET_TEXT_F(TEMPERATURE))
|
.tag(2).enabled(1) .button( BTN_POS(1,1), BTN_SIZE(2,1), GET_TEXT_F(MSG_TEMPERATURE))
|
||||||
.tag(3).enabled(!isPrinting()).button( BTN_POS(1,2), BTN_SIZE(2,1), GET_TEXT_F(CHANGE_FILAMENT))
|
.tag(3).enabled(!isPrinting()).button( BTN_POS(1,2), BTN_SIZE(2,1), GET_TEXT_F(MSG_FILAMENTCHANGE))
|
||||||
#if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR)
|
#if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR)
|
||||||
.enabled(1)
|
.enabled(1)
|
||||||
#else
|
#else
|
||||||
.enabled(0)
|
.enabled(0)
|
||||||
#endif
|
#endif
|
||||||
.tag(9).button( BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXT_F(FILAMENT))
|
.tag(9).button( BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXT_F(MSG_FILAMENT))
|
||||||
#if ENABLED(BABYSTEPPING)
|
#if ENABLED(BABYSTEPPING)
|
||||||
.tag(4).enabled(1) .button( BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXT_F(NUDGE_NOZZLE))
|
.tag(4).enabled(1) .button( BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXT_F(MSG_NUDGE_NOZZLE))
|
||||||
#else
|
#else
|
||||||
#if HAS_BED_PROBE
|
#if HAS_BED_PROBE
|
||||||
.enabled(1)
|
.enabled(1)
|
||||||
#else
|
#else
|
||||||
.enabled(0)
|
.enabled(0)
|
||||||
#endif
|
#endif
|
||||||
.tag(4) .button( BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXT_F(ZPROBE_ZOFFSET))
|
.tag(4) .button( BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXT_F(MSG_ZPROBE_ZOFFSET))
|
||||||
#endif
|
#endif
|
||||||
.tag(5).enabled(1) .button( BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXT_F(PRINT_SPEED))
|
.tag(5).enabled(1) .button( BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXT_F(MSG_PRINT_SPEED))
|
||||||
.tag(isPrintingFromMediaPaused() ? 7 : 6)
|
.tag(isPrintingFromMediaPaused() ? 7 : 6)
|
||||||
#if ENABLED(SDSUPPORT)
|
#if ENABLED(SDSUPPORT)
|
||||||
.enabled(isPrintingFromMedia())
|
.enabled(isPrintingFromMedia())
|
||||||
#else
|
#else
|
||||||
.enabled(0)
|
.enabled(0)
|
||||||
#endif
|
#endif
|
||||||
.button( BTN_POS(1,6), BTN_SIZE(2,1), isPrintingFromMediaPaused() ? GET_TEXT_F(RESUME_PRINT) : GET_TEXT_F(PAUSE_PRINT))
|
.button( BTN_POS(1,6), BTN_SIZE(2,1), isPrintingFromMediaPaused() ? GET_TEXT_F(MSG_RESUME_PRINT) : GET_TEXT_F(MSG_PAUSE_PRINT))
|
||||||
#if ENABLED(SDSUPPORT)
|
#if ENABLED(SDSUPPORT)
|
||||||
.enabled(isPrintingFromMedia())
|
.enabled(isPrintingFromMedia())
|
||||||
#else
|
#else
|
||||||
.enabled(0)
|
.enabled(0)
|
||||||
#endif
|
#endif
|
||||||
.tag(8) .button( BTN_POS(1,7), BTN_SIZE(2,1), GET_TEXT_F(STOP_PRINT))
|
.tag(8) .button( BTN_POS(1,7), BTN_SIZE(2,1), GET_TEXT_F(MSG_STOP_PRINT))
|
||||||
.tag(1).colors(action_btn)
|
.tag(1).colors(action_btn)
|
||||||
.button( BTN_POS(1,8), BTN_SIZE(2,1), GET_TEXT_F(BACK));
|
.button( BTN_POS(1,8), BTN_SIZE(2,1), GET_TEXT_F(MSG_BACK));
|
||||||
#else // TOUCH_UI_PORTRAIT
|
#else // TOUCH_UI_PORTRAIT
|
||||||
.tag(2).enabled(1) .button( BTN_POS(1,1), BTN_SIZE(1,1), GET_TEXT_F(TEMPERATURE))
|
.tag(2).enabled(1) .button( BTN_POS(1,1), BTN_SIZE(1,1), GET_TEXT_F(MSG_TEMPERATURE))
|
||||||
.tag(3).enabled(!isPrinting()).button( BTN_POS(1,2), BTN_SIZE(1,1), GET_TEXT_F(CHANGE_FILAMENT))
|
.tag(3).enabled(!isPrinting()).button( BTN_POS(1,2), BTN_SIZE(1,1), GET_TEXT_F(MSG_FILAMENTCHANGE))
|
||||||
#if ENABLED(BABYSTEPPING)
|
#if ENABLED(BABYSTEPPING)
|
||||||
.enabled(1)
|
.enabled(1)
|
||||||
#else
|
#else
|
||||||
.enabled(0)
|
.enabled(0)
|
||||||
#endif
|
#endif
|
||||||
#if ENABLED(BABYSTEPPING)
|
#if ENABLED(BABYSTEPPING)
|
||||||
.tag(4) .button( BTN_POS(2,1), BTN_SIZE(1,1), GET_TEXT_F(NUDGE_NOZZLE))
|
.tag(4) .button( BTN_POS(2,1), BTN_SIZE(1,1), GET_TEXT_F(MSG_NUDGE_NOZZLE))
|
||||||
#else
|
#else
|
||||||
#if HAS_BED_PROBE
|
#if HAS_BED_PROBE
|
||||||
.enabled(1)
|
.enabled(1)
|
||||||
#else
|
#else
|
||||||
.enabled(0)
|
.enabled(0)
|
||||||
#endif
|
#endif
|
||||||
.tag(4) .button( BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXT_F(ZPROBE_ZOFFSET))
|
.tag(4) .button( BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXT_F(MSG_ZPROBE_ZOFFSET))
|
||||||
#endif
|
#endif
|
||||||
.tag(5).enabled(1) .button( BTN_POS(2,2), BTN_SIZE(1,1), GET_TEXT_F(PRINT_SPEED))
|
.tag(5).enabled(1) .button( BTN_POS(2,2), BTN_SIZE(1,1), GET_TEXT_F(MSG_PRINT_SPEED))
|
||||||
.tag(isPrintingFromMediaPaused() ? 7 : 6)
|
.tag(isPrintingFromMediaPaused() ? 7 : 6)
|
||||||
#if ENABLED(SDSUPPORT)
|
#if ENABLED(SDSUPPORT)
|
||||||
.enabled(isPrintingFromMedia())
|
.enabled(isPrintingFromMedia())
|
||||||
#else
|
#else
|
||||||
.enabled(0)
|
.enabled(0)
|
||||||
#endif
|
#endif
|
||||||
.button( BTN_POS(1,3), BTN_SIZE(1,1), isPrintingFromMediaPaused() ? GET_TEXT_F(RESUME_PRINT) : GET_TEXT_F(PAUSE_PRINT))
|
.button( BTN_POS(1,3), BTN_SIZE(1,1), isPrintingFromMediaPaused() ? GET_TEXT_F(MSG_RESUME_PRINT) : GET_TEXT_F(MSG_PAUSE_PRINT))
|
||||||
#if ENABLED(SDSUPPORT)
|
#if ENABLED(SDSUPPORT)
|
||||||
.enabled(isPrintingFromMedia())
|
.enabled(isPrintingFromMedia())
|
||||||
#else
|
#else
|
||||||
.enabled(0)
|
.enabled(0)
|
||||||
#endif
|
#endif
|
||||||
.tag(8). button( BTN_POS(2,3), BTN_SIZE(1,1), GET_TEXT_F(STOP_PRINT))
|
.tag(8). button( BTN_POS(2,3), BTN_SIZE(1,1), GET_TEXT_F(MSG_STOP_PRINT))
|
||||||
#if ENABLED(LIN_ADVANCE) || ENABLED(FILAMENT_RUNOUT_SENSOR)
|
#if ENABLED(LIN_ADVANCE) || ENABLED(FILAMENT_RUNOUT_SENSOR)
|
||||||
.enabled(1)
|
.enabled(1)
|
||||||
#else
|
#else
|
||||||
.enabled(0)
|
.enabled(0)
|
||||||
#endif
|
#endif
|
||||||
.tag(9).button( BTN_POS(1,4), BTN_SIZE(1,1), GET_TEXT_F(FILAMENT))
|
.tag(9).button( BTN_POS(1,4), BTN_SIZE(1,1), GET_TEXT_F(MSG_FILAMENT))
|
||||||
.tag(1).colors(action_btn) .button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXT_F(BACK));
|
.tag(1).colors(action_btn) .button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXT_F(MSG_BACK));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#undef GRID_COLS
|
#undef GRID_COLS
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
#include "../config.h"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(LULZBOT_TOUCH_UI, DEVELOPER_SCREENS)
|
#if BOTH(LULZBOT_TOUCH_UI, TOUCH_UI_DEVELOPER_MENU)
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
@ -155,4 +155,4 @@ void WidgetsScreen::onIdle() {
|
||||||
BaseScreen::onIdle();
|
BaseScreen::onIdle();
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // LULZBOT_TOUCH_UI && DEVELOPER_SCREENS
|
#endif // LULZBOT_TOUCH_UI && TOUCH_UI_DEVELOPER_MENU
|
||||||
|
|
|
@ -32,10 +32,10 @@ using namespace Theme;
|
||||||
|
|
||||||
void ZOffsetScreen::onRedraw(draw_mode_t what) {
|
void ZOffsetScreen::onRedraw(draw_mode_t what) {
|
||||||
widgets_t w(what);
|
widgets_t w(what);
|
||||||
w.precision(2, BaseNumericAdjustmentScreen::DEFAULT_MIDRANGE).units(GET_TEXT_F(UNITS_MM));
|
w.precision(2, BaseNumericAdjustmentScreen::DEFAULT_MIDRANGE).units(GET_TEXT_F(MSG_UNITS_MM));
|
||||||
|
|
||||||
w.heading( GET_TEXT_F(ZPROBE_ZOFFSET));
|
w.heading( GET_TEXT_F(MSG_ZPROBE_ZOFFSET));
|
||||||
w.color(z_axis).adjuster(4, GET_TEXT_F(ZPROBE_ZOFFSET), getZOffset_mm());
|
w.color(z_axis).adjuster(4, GET_TEXT_F(MSG_ZPROBE_ZOFFSET), getZOffset_mm());
|
||||||
w.increments();
|
w.increments();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -5,6 +5,7 @@
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||||
* Written By Marcio Teixeira 2018 - Aleph Objects, Inc. *
|
* Written By Marcio Teixeira 2018 - Aleph Objects, Inc. *
|
||||||
|
* Written By Marcio Teixeira 2019 - Cocoa Press *
|
||||||
* *
|
* *
|
||||||
* This program is free software: you can redistribute it and/or modify *
|
* 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 *
|
* it under the terms of the GNU General Public License as published by *
|
||||||
|
@ -23,16 +24,16 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
namespace Theme {
|
namespace Theme {
|
||||||
#ifdef LULZBOT_USE_BIOPRINTER_UI
|
#ifdef TOUCH_UI_LULZBOT_BIO
|
||||||
// The Lulzbot Bio uses the color PANTONE 2175C on the case silkscreen.
|
// The Lulzbot Bio uses the color PANTONE 2175C on the case silkscreen.
|
||||||
// This translates to HSL(208°, 100%, 39%) as an accent color on the GUI.
|
// This translates to HSL(208°, 100%, 39%) as an accent color on the GUI.
|
||||||
|
|
||||||
constexpr int accent_hue = 208;
|
constexpr int accent_hue = 208;
|
||||||
constexpr float accent_sat = 0.5;
|
constexpr float accent_sat = 0.5;
|
||||||
|
|
||||||
constexpr uint32_t logo_bg = 0xffffff;
|
constexpr uint32_t logo_bg_rgb = 0xffffff;
|
||||||
constexpr uint32_t logo_fg = 0xffffff;
|
constexpr uint32_t logo_fill_rgb = 0xffffff;
|
||||||
constexpr uint32_t logo_stroke = hsl_to_rgb(accent_hue, 1.0, 0.39);
|
constexpr uint32_t logo_stroke_rgb = hsl_to_rgb(accent_hue, 1.0, 0.39);
|
||||||
#else
|
#else
|
||||||
// The Lulzbot logo uses the color PANTONE 382c.
|
// The Lulzbot logo uses the color PANTONE 382c.
|
||||||
// This translates to HSL(68°, 68%, 52%) as an accent color on the GUI.
|
// This translates to HSL(68°, 68%, 52%) as an accent color on the GUI.
|
||||||
|
@ -40,19 +41,28 @@ namespace Theme {
|
||||||
constexpr int accent_hue = 68;
|
constexpr int accent_hue = 68;
|
||||||
constexpr float accent_sat = 0.68;
|
constexpr float accent_sat = 0.68;
|
||||||
|
|
||||||
constexpr uint32_t logo_bg = hsl_to_rgb(accent_hue, 0.77, 0.64);
|
constexpr uint32_t logo_bg_rgb = hsl_to_rgb(accent_hue, 0.77, 0.64);
|
||||||
constexpr uint32_t logo_fg = hsl_to_rgb(accent_hue, 0.68, 0.52); // Lulzbot Green
|
constexpr uint32_t logo_fill_rgb = hsl_to_rgb(accent_hue, 0.68, 0.52); // Lulzbot Green
|
||||||
constexpr uint32_t logo_stroke = 0x000000;
|
constexpr uint32_t logo_stroke_rgb = 0x000000;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Shades of accent color
|
// Shades of accent color
|
||||||
|
|
||||||
|
#ifdef TOUCH_UI_COCOA_PRESS
|
||||||
|
constexpr uint32_t accent_color_1 = hsl_to_rgb(12.8,0.597,0.263); // Darkest
|
||||||
|
constexpr uint32_t accent_color_2 = hsl_to_rgb(12.8,0.597,0.263);
|
||||||
|
constexpr uint32_t accent_color_3 = hsl_to_rgb( 9.6,0.664,0.443);
|
||||||
|
constexpr uint32_t accent_color_4 = hsl_to_rgb(16.3,0.873,0.537);
|
||||||
|
constexpr uint32_t accent_color_5 = hsl_to_rgb(23.0,0.889,0.539);
|
||||||
|
constexpr uint32_t accent_color_6 = hsl_to_rgb(23.0,0.889,0.539); // Lightest
|
||||||
|
#else
|
||||||
constexpr uint32_t accent_color_1 = hsl_to_rgb(accent_hue, accent_sat, 0.26); // Darkest
|
constexpr uint32_t accent_color_1 = hsl_to_rgb(accent_hue, accent_sat, 0.26); // Darkest
|
||||||
constexpr uint32_t accent_color_2 = hsl_to_rgb(accent_hue, accent_sat, 0.39);
|
constexpr uint32_t accent_color_2 = hsl_to_rgb(accent_hue, accent_sat, 0.39);
|
||||||
constexpr uint32_t accent_color_3 = hsl_to_rgb(accent_hue, accent_sat, 0.52);
|
constexpr uint32_t accent_color_3 = hsl_to_rgb(accent_hue, accent_sat, 0.52);
|
||||||
constexpr uint32_t accent_color_4 = hsl_to_rgb(accent_hue, accent_sat, 0.65);
|
constexpr uint32_t accent_color_4 = hsl_to_rgb(accent_hue, accent_sat, 0.65);
|
||||||
constexpr uint32_t accent_color_5 = hsl_to_rgb(accent_hue, accent_sat, 0.78);
|
constexpr uint32_t accent_color_5 = hsl_to_rgb(accent_hue, accent_sat, 0.78);
|
||||||
constexpr uint32_t accent_color_6 = hsl_to_rgb(accent_hue, accent_sat, 0.91); // Lightest
|
constexpr uint32_t accent_color_6 = hsl_to_rgb(accent_hue, accent_sat, 0.91); // Lightest
|
||||||
|
#endif
|
||||||
|
|
||||||
// Shades of gray
|
// Shades of gray
|
||||||
|
|
||||||
|
@ -65,7 +75,7 @@ namespace Theme {
|
||||||
constexpr uint32_t gray_color_5 = hsl_to_rgb(accent_hue, gray_sat, 0.78);
|
constexpr uint32_t gray_color_5 = hsl_to_rgb(accent_hue, gray_sat, 0.78);
|
||||||
constexpr uint32_t gray_color_6 = hsl_to_rgb(accent_hue, gray_sat, 0.91); // Lightest
|
constexpr uint32_t gray_color_6 = hsl_to_rgb(accent_hue, gray_sat, 0.91); // Lightest
|
||||||
|
|
||||||
#ifndef LULZBOT_USE_BIOPRINTER_UI
|
#if DISABLED(TOUCH_UI_LULZBOT_BIO) && DISABLED(TOUCH_UI_COCOA_PRESS)
|
||||||
// Lulzbot TAZ Pro
|
// Lulzbot TAZ Pro
|
||||||
constexpr uint32_t theme_darkest = gray_color_1;
|
constexpr uint32_t theme_darkest = gray_color_1;
|
||||||
constexpr uint32_t theme_dark = gray_color_2;
|
constexpr uint32_t theme_dark = gray_color_2;
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* 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. *
|
||||||
|
* *
|
||||||
|
* To view a copy of the GNU General Public License, go to the following *
|
||||||
|
* location: <http://www.gnu.org/licenses/>. *
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This file was auto-generated using "svg2cpp.pl"
|
||||||
|
*
|
||||||
|
* The encoding consists of x,y pairs with the min and max scaled to
|
||||||
|
* 0x0000 and 0xFFFE. A single 0xFFFF in the data stream indicates the
|
||||||
|
* start of a new closed path.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
constexpr float x_min = 0.000000;
|
||||||
|
|
||||||
|
constexpr float x_max = 480.000000;
|
||||||
|
|
||||||
|
constexpr float y_min = 0.000000;
|
||||||
|
|
||||||
|
constexpr float y_max = 272.000000;
|
||||||
|
|
||||||
|
const PROGMEM uint16_t logo_fill[] = {0x419D, 0x546F, 0x3D05, 0x5615, 0x3942, 0x5A92, 0x36B7, 0x6136, 0x35C8, 0x6950, 0x35C8, 0x96B0, 0x36B7, 0x9ECA, 0x3942, 0xA56E, 0x3D05, 0xA9EB, 0x419D, 0xAB91, 0xBE60, 0xAB91, 0xC2F8, 0xA9EB, 0xC6BB, 0xA56E, 0xC946, 0x9ECA, 0xCA35, 0x96B0, 0xCA32, 0x546C, 0x419D, 0x546F};
|
||||||
|
|
||||||
|
const PROGMEM uint16_t logo_stroke[] = {0xADF3, 0x546C, 0x419D, 0x546F, 0x3D05, 0x5615, 0x3942, 0x5A92, 0x36B7, 0x6136, 0x35C8, 0x6950, 0x35C8, 0x96B0, 0x36B7, 0x9ECA, 0x3942, 0xA56E, 0x3D05, 0xA9EB, 0x419D, 0xAB91, 0xBE60, 0xAB91, 0xC2F8, 0xA9EB, 0xC6BB, 0xA56E, 0xC946, 0x9ECA, 0xCA35, 0x96B0, 0xCA32, 0x546C, 0xADF3, 0x546C, 0xFFFF, 0x419D, 0x5913, 0xB08C, 0x5913, 0xC794, 0x8250, 0xC794, 0x96B0, 0xC6DA, 0x9CFF, 0xC4E1, 0xA229, 0xC1F4, 0xA5A5, 0xBE60, 0xA6ED, 0x419D, 0xA6ED, 0x3E09, 0xA5A5, 0x3B1C, 0xA229, 0x3923, 0x9CFF, 0x3869, 0x96B0, 0x3869, 0x6950, 0x3923, 0x6301, 0x3B1C, 0x5DD7, 0x3E09, 0x5A5B, 0x419D, 0x5913, 0xFFFF, 0xAC7A, 0x8620, 0xAC7A, 0x9373, 0xA767, 0x9373, 0xA767, 0x75CB, 0xA1C6, 0x75CB, 0xA1C6, 0x9373, 0xA1C6, 0x9C8E, 0xA767, 0x9C8E, 0xAC7A, 0x9C8E, 0xB21C, 0x9C8E, 0xB21C, 0x9373, 0xB21C, 0x85E7, 0xB350, 0x8093, 0xB65F, 0x7E86, 0xB9D5, 0x8165, 0xBA83, 0x85E7, 0xBA83, 0x9C8E, 0xBEFE, 0x9C8E, 0xC024, 0x99E1, 0xC024, 0x8620, 0xBF7B, 0x7F22, 0xBD8F, 0x79A9, 0xBA7E, 0x7617, 0xB65F, 0x74D0, 0xB24F, 0x7622, 0xAF30, 0x79C6, 0xAD2F, 0x7F43, 0xAC7A, 0x8620, 0xAC7A, 0x8620, 0xAC7A, 0x8620, 0xFFFF, 0x8179, 0x9C8E, 0x7CE9, 0x9C8E, 0x7747, 0x9C8E, 0x7747, 0x92EC, 0x7747, 0x8949, 0x75A2, 0x81A3, 0x71A6, 0x7E73, 0x6DAB, 0x818B, 0x6C05, 0x88FC, 0x6DAF, 0x9019, 0x71C7, 0x92EC, 0x7505, 0x92EC, 0x7505, 0x9C8E, 0x7118, 0x9C8E, 0x6CD3, 0x9B06, 0x696B, 0x96D6, 0x6729, 0x909E, 0x6658, 0x88FC, 0x672D, 0x8133, 0x6980, 0x7AC7, 0x6D13, 0x766C, 0x71A6, 0x74D0, 0x7632, 0x766D, 0x79C2, 0x7AD1, 0x7C14, 0x8153, 0x7CE9, 0x8949, 0x7CE9, 0x92EC, 0x8179, 0x92EC, 0x8179, 0x8620, 0x822E, 0x7F43, 0x842E, 0x79C6, 0x874E, 0x7622, 0x8B5E, 0x74D0, 0x8F7C, 0x7617, 0x928E, 0x79A9, 0x9479, 0x7F22, 0x9523, 0x8620, 0x9523, 0x87DB, 0x8F81, 0x87DB, 0x8F81, 0x85E7, 0x8ED4, 0x8165, 0x8B5E, 0x7E86, 0x884F, 0x8093, 0x871A, 0x85E7, 0x871A, 0x92EC, 0x871A, 0x9C8F, 0x8179, 0x9C8F, 0x8179, 0x9C8E, 0x8179, 0x9C8E, 0xFFFF, 0x6515, 0x79DB, 0x644C, 0x7281, 0x6218, 0x6C86, 0x5EB2, 0x6882, 0x5A56, 0x670A, 0x55D9, 0x68E0, 0x5272, 0x6DD0, 0x4F0B, 0x68E0, 0x4A8E, 0x670A, 0x4638, 0x6882, 0x42D5, 0x6C86, 0x40A2, 0x7281, 0x3FD9, 0x79DB, 0x3FD9, 0x9AC9, 0x40E4, 0x9C8E, 0x456F, 0x9C8E, 0x456F, 0x79B5, 0x46D4, 0x735D, 0x4A8E, 0x70C0, 0x4E3E, 0x735D, 0x4FA1, 0x79B5, 0x4FA1, 0x9C8E, 0x554D, 0x9C8E, 0x554D, 0x79B5, 0x56A7, 0x735D, 0x5A56, 0x70C0, 0x5E0C, 0x735D, 0x5F74, 0x79B5, 0x5F74, 0x9C8E, 0x6515, 0x9C8E, 0x6515, 0x79DB, 0x6515, 0x79DB, 0x6515, 0x79DB, 0xFFFF, 0x9672, 0x8C4C, 0x9714, 0x9379, 0x98F5, 0x98D2, 0x9C0B, 0x9BF4, 0xA04C, 0x9C7B, 0xA04C, 0x9373, 0x9D2B, 0x920C, 0x9C1E, 0x8C4C, 0x9C1E, 0x648E, 0x9672, 0x648E, 0x9672, 0x8C4C, 0x9672, 0x8C4C, 0x9672, 0x8C4C, 0xFFFF, 0xA767, 0x7194, 0xA767, 0x6C02, 0xA692, 0x687A, 0xA496, 0x670A, 0xA291, 0x687A, 0xA1BB, 0x6C02, 0xA1BB, 0x7194, 0xA767, 0x7194, 0xA767, 0x7194, 0xA767, 0x7194};
|
||||||
|
|
||||||
|
#define LOGO_BACKGROUND logo_bg_rgb
|
||||||
|
#define LOGO_PAINT_PATHS \
|
||||||
|
LOGO_PAINT_PATH(logo_stroke_rgb, logo_stroke) \
|
||||||
|
LOGO_PAINT_PATH(logo_fill_rgb, logo_fill)
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* 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. *
|
||||||
|
* *
|
||||||
|
* To view a copy of the GNU General Public License, go to the following *
|
||||||
|
* location: <http://www.gnu.org/licenses/>. *
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This file was auto-generated using "svg2cpp.pl"
|
||||||
|
*
|
||||||
|
* The encoding consists of x,y pairs with the min and max scaled to
|
||||||
|
* 0x0000 and 0xFFFE. A single 0xFFFF in the data stream indicates the
|
||||||
|
* start of a new closed path.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
constexpr float x_min = 0.000000;
|
||||||
|
|
||||||
|
constexpr float x_max = 272.000000;
|
||||||
|
|
||||||
|
constexpr float y_min = 0.000000;
|
||||||
|
|
||||||
|
constexpr float y_max = 480.000000;
|
||||||
|
|
||||||
|
const PROGMEM uint16_t logo_fill[] = {0x3C19, 0x70C5, 0x371A, 0x7159, 0x3302, 0x72EA, 0x303D, 0x753C, 0x2F39, 0x7811, 0x2F39, 0x87ED, 0x303D, 0x8AC2, 0x3302, 0x8D14, 0x371A, 0x8EA5, 0x3C19, 0x8F39, 0xC3E4, 0x8F39, 0xC8E3, 0x8EA5, 0xCCFB, 0x8D14, 0xCFC0, 0x8AC2, 0xD0C4, 0x87ED, 0xD0C0, 0x70C4, 0x3C19, 0x70C5};
|
||||||
|
|
||||||
|
const PROGMEM uint16_t logo_stroke[] = {0x3C19, 0x70C5, 0x371A, 0x7159, 0x3302, 0x72EA, 0x303D, 0x753C, 0x2F39, 0x7811, 0x2F39, 0x87ED, 0x303D, 0x8AC2, 0x3302, 0x8D14, 0x371A, 0x8EA5, 0x3C19, 0x8F39, 0xC3E4, 0x8F39, 0xC8E3, 0x8EA5, 0xCCFB, 0x8D14, 0xCFC0, 0x8AC2, 0xD0C4, 0x87ED, 0xD0C0, 0x70C4, 0x3C19, 0x70C5, 0xFFFF, 0x3C19, 0x7264, 0xB4D6, 0x7264, 0xCDE7, 0x80CE, 0xCDE7, 0x87ED, 0xCD1D, 0x8A21, 0xCAF7, 0x8BEF, 0xC7C8, 0x8D27, 0xC3E4, 0x8D9A, 0x3C19, 0x8D9A, 0x3835, 0x8D27, 0x3506, 0x8BEF, 0x32E0, 0x8A21, 0x3216, 0x87ED, 0x3216, 0x7811, 0x32E0, 0x75DD, 0x3506, 0x740F, 0x3835, 0x72D7, 0x3C19, 0x7264, 0xFFFF, 0xB069, 0x8223, 0xB069, 0x86CB, 0xAAE2, 0x86CB, 0xAAE2, 0x7C6E, 0xA4C2, 0x7C6E, 0xA4C2, 0x86CB, 0xA4C2, 0x89FA, 0xAAE2, 0x89FA, 0xB069, 0x89FA, 0xB689, 0x89FA, 0xB689, 0x86CB, 0xB689, 0x820F, 0xB7D9, 0x8033, 0xBB2E, 0x7F7B, 0xBEF2, 0x807C, 0xBFAE, 0x820F, 0xBFAE, 0x89FA, 0xC48F, 0x89FA, 0xC5CF, 0x890A, 0xC5CF, 0x8223, 0xC517, 0x7FB2, 0xC300, 0x7DC8, 0xBFA9, 0x7C88, 0xBB2E, 0x7C16, 0xB6C1, 0x7C8C, 0xB35B, 0x7DD2, 0xB12D, 0x7FBD, 0xB069, 0x8223, 0xB069, 0x8223, 0xB069, 0x8223, 0xFFFF, 0x819B, 0x89FA, 0x7CA3, 0x89FA, 0x7682, 0x89FA, 0x7682, 0x869C, 0x7682, 0x833E, 0x74B7, 0x8092, 0x7062, 0x7F74, 0x6C0C, 0x8089, 0x6A41, 0x8323, 0x6C10, 0x859F, 0x7085, 0x869C, 0x740C, 0x869C, 0x740C, 0x89FA, 0x6FC7, 0x89FA, 0x6B21, 0x8971, 0x676C, 0x87FA, 0x64F8, 0x85CE, 0x6414, 0x8323, 0x64FC, 0x806A, 0x6784, 0x7E2C, 0x6B67, 0x7CA6, 0x7062, 0x7C16, 0x7555, 0x7CA6, 0x7935, 0x7E2F, 0x7BBC, 0x8076, 0x7CA3, 0x833E, 0x7CA3, 0x869C, 0x819A, 0x869C, 0x819A, 0x8223, 0x825F, 0x7FBD, 0x848D, 0x7DD2, 0x87F3, 0x7C8C, 0x8C60, 0x7C16, 0x90DB, 0x7C88, 0x9432, 0x7DC8, 0x9648, 0x7FB2, 0x9701, 0x8223, 0x9701, 0x82BE, 0x90E0, 0x82BE, 0x90E0, 0x820F, 0x9024, 0x807C, 0x8C60, 0x7F7B, 0x890B, 0x8033, 0x87BB, 0x820F, 0x87BB, 0x869C, 0x87BB, 0x89FA, 0x819B, 0x89FA, 0x819B, 0x89FA, 0x819B, 0x89FA, 0xFFFF, 0x62B5, 0x7DD9, 0x61DA, 0x7B47, 0x5F73, 0x7931, 0x5BC1, 0x77C9, 0x5702, 0x7746, 0x521F, 0x77EA, 0x4E6B, 0x79A4, 0x4AB8, 0x77EA, 0x45D5, 0x7746, 0x411D, 0x77C9, 0x3D6E, 0x7931, 0x3B09, 0x7B47, 0x3A2E, 0x7DD9, 0x3A2E, 0x895C, 0x3B51, 0x89FA, 0x4043, 0x89FA, 0x4043, 0x7DCC, 0x41C6, 0x7B95, 0x45D5, 0x7AAB, 0x49D9, 0x7B95, 0x4B5B, 0x7DCC, 0x4B5B, 0x89FA, 0x5188, 0x89FA, 0x5188, 0x7DCC, 0x52FF, 0x7B95, 0x5702, 0x7AAB, 0x5B0C, 0x7B95, 0x5C94, 0x7DCC, 0x5C94, 0x89FA, 0x62B5, 0x89FA, 0x62B5, 0x7DD9, 0x62B5, 0x7DD9, 0x62B5, 0x7DD9, 0xFFFF, 0x986E, 0x844B, 0x991E, 0x86CD, 0x9B2A, 0x88AC, 0x9E85, 0x89C4, 0xA327, 0x89F3, 0xA327, 0x86CB, 0x9FBF, 0x864E, 0x9E9A, 0x844B, 0x9E9A, 0x7668, 0x986E, 0x7668, 0x986E, 0x844B, 0x986E, 0x844B, 0x986E, 0x844B, 0xFFFF, 0xAAE2, 0x7AF5, 0xAAE2, 0x7902, 0xA9FB, 0x77C7, 0xA7D2, 0x7746, 0xA59F, 0x77C7, 0xA4B6, 0x7902, 0xA4B6, 0x7AF5, 0xAAE2, 0x7AF5, 0xAAE2, 0x7AF5, 0xAAE2, 0x7AF5};
|
||||||
|
|
||||||
|
#define LOGO_BACKGROUND logo_bg_rgb
|
||||||
|
#define LOGO_PAINT_PATHS \
|
||||||
|
LOGO_PAINT_PATH(logo_stroke_rgb, logo_stroke) \
|
||||||
|
LOGO_PAINT_PATH(logo_fill_rgb, logo_fill)
|
|
@ -581,6 +581,7 @@ namespace ExtUI {
|
||||||
}
|
}
|
||||||
|
|
||||||
void setAxisMaxFeedrate_mm_s(const feedRate_t value, const extruder_t extruder) {
|
void setAxisMaxFeedrate_mm_s(const feedRate_t value, const extruder_t extruder) {
|
||||||
|
UNUSED_E(extruder);
|
||||||
planner.set_max_feedrate(E_AXIS_N(extruder - E0), value);
|
planner.set_max_feedrate(E_AXIS_N(extruder - E0), value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -598,6 +599,7 @@ namespace ExtUI {
|
||||||
}
|
}
|
||||||
|
|
||||||
void setAxisMaxAcceleration_mm_s2(const float value, const extruder_t extruder) {
|
void setAxisMaxAcceleration_mm_s2(const float value, const extruder_t extruder) {
|
||||||
|
UNUSED_E(extruder);
|
||||||
planner.set_max_acceleration(E_AXIS_N(extruder - E0), value);
|
planner.set_max_acceleration(E_AXIS_N(extruder - E0), value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -908,6 +910,7 @@ namespace ExtUI {
|
||||||
}
|
}
|
||||||
|
|
||||||
void printFile(const char *filename) {
|
void printFile(const char *filename) {
|
||||||
|
UNUSED(filename);
|
||||||
IFSD(card.openAndPrintFile(filename), NOOP);
|
IFSD(card.openAndPrintFile(filename), NOOP);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -961,6 +964,8 @@ namespace ExtUI {
|
||||||
card.getfilename_sorted(nr);
|
card.getfilename_sorted(nr);
|
||||||
return card.filename[0] != '\0';
|
return card.filename[0] != '\0';
|
||||||
#else
|
#else
|
||||||
|
UNUSED(pos);
|
||||||
|
UNUSED(skip_range_check);
|
||||||
return false;
|
return false;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -1004,6 +1009,8 @@ namespace ExtUI {
|
||||||
#if ENABLED(SDSUPPORT)
|
#if ENABLED(SDSUPPORT)
|
||||||
card.cd(dirname);
|
card.cd(dirname);
|
||||||
num_files = 0xFFFF;
|
num_files = 0xFFFF;
|
||||||
|
#else
|
||||||
|
UNUSED(dirname);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -446,6 +446,13 @@ void MarlinSettings::postprocess() {
|
||||||
|
|
||||||
#endif // SD_FIRMWARE_UPDATE
|
#endif // SD_FIRMWARE_UPDATE
|
||||||
|
|
||||||
|
#ifdef ARCHIM2_SPI_FLASH_EEPROM_BACKUP_SIZE
|
||||||
|
static_assert(
|
||||||
|
EEPROM_OFFSET + sizeof(SettingsData) < ARCHIM2_SPI_FLASH_EEPROM_BACKUP_SIZE,
|
||||||
|
"ARCHIM2_SPI_FLASH_EEPROM_BACKUP_SIZE is insufficient to capture all EEPROM data."
|
||||||
|
);
|
||||||
|
#endif
|
||||||
|
|
||||||
#define DEBUG_OUT ENABLED(EEPROM_CHITCHAT)
|
#define DEBUG_OUT ENABLED(EEPROM_CHITCHAT)
|
||||||
#include "../core/debug_out.h"
|
#include "../core/debug_out.h"
|
||||||
|
|
||||||
|
@ -2076,9 +2083,21 @@ void MarlinSettings::postprocess() {
|
||||||
return !eeprom_error;
|
return !eeprom_error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef ARCHIM2_SPI_FLASH_EEPROM_BACKUP_SIZE
|
||||||
|
extern bool restoreEEPROM();
|
||||||
|
#endif
|
||||||
|
|
||||||
bool MarlinSettings::validate() {
|
bool MarlinSettings::validate() {
|
||||||
validating = true;
|
validating = true;
|
||||||
|
#ifdef ARCHIM2_SPI_FLASH_EEPROM_BACKUP_SIZE
|
||||||
|
bool success = _load();
|
||||||
|
if(!success && restoreEEPROM()) {
|
||||||
|
SERIAL_ECHOLNPGM("Recovered backup EEPROM settings from SPI Flash");
|
||||||
|
success = _load();
|
||||||
|
}
|
||||||
|
#else
|
||||||
const bool success = _load();
|
const bool success = _load();
|
||||||
|
#endif
|
||||||
validating = false;
|
validating = false;
|
||||||
return success;
|
return success;
|
||||||
}
|
}
|
||||||
|
|
|
@ -478,6 +478,7 @@ class Temperature {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static inline uint8_t scaledFanSpeed(const uint8_t target, const uint8_t fs) {
|
static inline uint8_t scaledFanSpeed(const uint8_t target, const uint8_t fs) {
|
||||||
|
UNUSED(target); // Potentially unused!
|
||||||
return (fs * uint16_t(
|
return (fs * uint16_t(
|
||||||
#if ENABLED(ADAPTIVE_FAN_SLOWING)
|
#if ENABLED(ADAPTIVE_FAN_SLOWING)
|
||||||
fan_speed_scaler[target]
|
fan_speed_scaler[target]
|
||||||
|
|
|
@ -1269,6 +1269,9 @@
|
||||||
|
|
||||||
// Output extra debug info for Touch UI events
|
// Output extra debug info for Touch UI events
|
||||||
//#define TOUCH_UI_DEBUG
|
//#define TOUCH_UI_DEBUG
|
||||||
|
|
||||||
|
// Enable developers menu (access by touching the copyright text on the About Printer)
|
||||||
|
//#define TOUCH_UI_DEVELOPER_MENU
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
Loading…
Reference in a new issue