Refactor FTDI EVE Touch Screen (#20987)
This commit is contained in:
parent
1c19af2c8f
commit
ee66d9ccf9
|
@ -26,7 +26,7 @@
|
|||
/********************** VIRTUAL DISPATCH DATA TYPE ******************************/
|
||||
|
||||
uint8_t ScreenRef::lookupScreen(onRedraw_func_t onRedraw_ptr) {
|
||||
for (uint8_t type = 0; type < functionTableSize; type++) {
|
||||
for (uint8_t type = 0; type < tableSize(); type++) {
|
||||
if (GET_METHOD(type, onRedraw) == onRedraw_ptr) {
|
||||
return type;
|
||||
}
|
||||
|
@ -49,7 +49,7 @@ void ScreenRef::setScreen(onRedraw_func_t onRedraw_ptr) {
|
|||
}
|
||||
|
||||
void ScreenRef::initializeAll() {
|
||||
for (uint8_t type = 0; type < functionTableSize; type++)
|
||||
for (uint8_t type = 0; type < tableSize(); type++)
|
||||
GET_METHOD(type, onStartup)();
|
||||
}
|
||||
|
||||
|
|
|
@ -50,7 +50,11 @@ typedef enum {
|
|||
|
||||
#define GET_METHOD(type, method) reinterpret_cast<method##_func_t*>(pgm_read_ptr_far(&functionTable[type].method##_ptr))
|
||||
#define SCREEN_TABLE PROGMEM const ScreenRef::table_t ScreenRef::functionTable[] =
|
||||
#define SCREEN_TABLE_POST const uint8_t ScreenRef::functionTableSize = sizeof(ScreenRef::functionTable)/sizeof(ScreenRef::functionTable[0]);
|
||||
#define SCREEN_TABLE_POST size_t ScreenRef::tableSize() { \
|
||||
constexpr size_t siz = sizeof(functionTable)/sizeof(functionTable[0]); \
|
||||
static_assert(siz > 0, "The screen table is empty!"); \
|
||||
return siz; \
|
||||
}
|
||||
|
||||
class ScreenRef {
|
||||
protected:
|
||||
|
@ -79,14 +83,12 @@ class ScreenRef {
|
|||
|
||||
uint8_t type = 0;
|
||||
static PROGMEM const table_t functionTable[];
|
||||
static const uint8_t functionTableSize;
|
||||
|
||||
public:
|
||||
uint8_t getType() {return type;}
|
||||
static size_t tableSize();
|
||||
|
||||
void setType(uint8_t t) {
|
||||
type = t;
|
||||
}
|
||||
uint8_t getType() {return type;}
|
||||
void setType(uint8_t t) {type = t;}
|
||||
|
||||
uint8_t lookupScreen(onRedraw_func_t onRedraw_ptr);
|
||||
|
||||
|
|
|
@ -21,11 +21,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_ABOUT_SCREEN
|
||||
|
||||
#define GRID_COLS 4
|
||||
#define GRID_ROWS 7
|
||||
|
||||
|
@ -113,4 +112,4 @@ bool AboutScreen::onTouchEnd(uint8_t tag) {
|
|||
return true;
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_ABOUT_SCREEN
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
/******************
|
||||
* about_screen.h *
|
||||
******************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_ABOUT_SCREEN
|
||||
#define FTDI_ABOUT_SCREEN_CLASS AboutScreen
|
||||
|
||||
class AboutScreen : public BaseScreen, public UncachedScreen {
|
||||
public:
|
||||
static void onEntry();
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
};
|
|
@ -21,11 +21,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if ENABLED(TOUCH_UI_FTDI_EVE) && NONE(TOUCH_UI_LULZBOT_BIO, TOUCH_UI_COCOA_PRESS)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_ADVANCED_SETTINGS_MENU
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace ExtUI;
|
||||
using namespace Theme;
|
||||
|
@ -153,4 +152,4 @@ bool AdvancedSettingsMenu::onTouchEnd(uint8_t tag) {
|
|||
return true;
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE && !TOUCH_UI_LULZBOT_BIO
|
||||
#endif // FTDI_ADVANCED_SETTINGS_MENU
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
/***************************
|
||||
* advance_settings_menu.h *
|
||||
***************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_ADVANCED_SETTINGS_MENU
|
||||
#define FTDI_ADVANCED_SETTINGS_MENU_CLASS AdvancedSettingsMenu
|
||||
|
||||
class AdvancedSettingsMenu : public BaseScreen, public CachedScreen<ADVANCED_SETTINGS_SCREEN_CACHE> {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
};
|
|
@ -21,18 +21,19 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
||||
|
||||
#include "screens.h"
|
||||
#include "screen_data.h"
|
||||
|
||||
#ifdef FTDI_ALERT_DIALOG_BOX
|
||||
|
||||
constexpr static AlertDialogBoxData &mydata = screen_data.AlertDialogBox;
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace Theme;
|
||||
|
||||
void AlertDialogBox::onEntry() {
|
||||
BaseScreen::onEntry();
|
||||
sound.play(screen_data.AlertDialog.isError ? sad_trombone : twinkle, PLAY_ASYNCHRONOUS);
|
||||
sound.play(mydata.isError ? sad_trombone : twinkle, PLAY_ASYNCHRONOUS);
|
||||
}
|
||||
|
||||
void AlertDialogBox::onRedraw(draw_mode_t what) {
|
||||
|
@ -45,7 +46,7 @@ template<typename T>
|
|||
void AlertDialogBox::show(const T message) {
|
||||
drawMessage(message);
|
||||
storeBackground();
|
||||
screen_data.AlertDialog.isError = false;
|
||||
mydata.isError = false;
|
||||
GOTO_SCREEN(AlertDialogBox);
|
||||
}
|
||||
|
||||
|
@ -53,7 +54,7 @@ template<typename T>
|
|||
void AlertDialogBox::showError(const T message) {
|
||||
drawMessage(message);
|
||||
storeBackground();
|
||||
screen_data.AlertDialog.isError = true;
|
||||
mydata.isError = true;
|
||||
GOTO_SCREEN(AlertDialogBox);
|
||||
}
|
||||
|
||||
|
@ -67,4 +68,4 @@ template void AlertDialogBox::show(const progmem_str);
|
|||
template void AlertDialogBox::showError(const char *);
|
||||
template void AlertDialogBox::showError(const progmem_str);
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_ALERT_DIALOG_BOX
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
/**********************
|
||||
* alert_dialog_box.h *
|
||||
**********************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_ALERT_DIALOG_BOX
|
||||
#define FTDI_ALERT_DIALOG_BOX_CLASS AlertDialogBox
|
||||
|
||||
struct AlertDialogBoxData {
|
||||
bool isError;
|
||||
};
|
||||
|
||||
class AlertDialogBox : public DialogBoxBaseClass, public CachedScreen<ALERT_BOX_CACHE,ALERT_BOX_DL_SIZE> {
|
||||
public:
|
||||
static void onEntry();
|
||||
static void onRedraw(draw_mode_t);
|
||||
template<typename T> static void show(T);
|
||||
template<typename T> static void showError(T);
|
||||
static void hide();
|
||||
};
|
|
@ -21,11 +21,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if BOTH(TOUCH_UI_FTDI_EVE, BACKLASH_GCODE)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_BACKLASH_COMP_SCREEN
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace ExtUI;
|
||||
using namespace Theme;
|
||||
|
@ -73,4 +72,4 @@ bool BacklashCompensationScreen::onTouchHeld(uint8_t tag) {
|
|||
return true;
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_BACKLASH_COMP_SCREEN
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
/**********************************
|
||||
* backlash_compensation_screen.h *
|
||||
**********************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_BACKLASH_COMP_SCREEN
|
||||
#define FTDI_BACKLASH_COMP_SCREEN_CLASS BacklashCompensationScreen
|
||||
|
||||
class BacklashCompensationScreen : public BaseNumericAdjustmentScreen, public CachedScreen<BACKLASH_COMPENSATION_SCREEN_CACHE> {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchHeld(uint8_t tag);
|
||||
};
|
|
@ -21,15 +21,16 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
||||
|
||||
#include "screens.h"
|
||||
#include "screen_data.h"
|
||||
|
||||
#ifdef FTDI_BASE_NUMERIC_ADJ_SCREEN
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace Theme;
|
||||
|
||||
constexpr static BaseNumericAdjustmentScreenData &mydata = screen_data.BaseNumericAdjustmentScreen;
|
||||
|
||||
#if ENABLED(TOUCH_UI_PORTRAIT)
|
||||
#define GRID_COLS 13
|
||||
#define GRID_ROWS 10
|
||||
|
@ -116,8 +117,8 @@ void BaseNumericAdjustmentScreen::widgets_t::_button(CommandProcessor &cmd, uint
|
|||
|
||||
BaseNumericAdjustmentScreen::widgets_t &BaseNumericAdjustmentScreen::widgets_t::precision(uint8_t decimals, precision_default_t initial) {
|
||||
_decimals = decimals;
|
||||
if (screen_data.BaseNumericAdjustment.increment == 0) {
|
||||
screen_data.BaseNumericAdjustment.increment = 243 + (initial - DEFAULT_LOWEST) - _decimals;
|
||||
if (mydata.increment == 0) {
|
||||
mydata.increment = 243 + (initial - DEFAULT_LOWEST) - _decimals;
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
@ -154,7 +155,7 @@ void BaseNumericAdjustmentScreen::widgets_t::heading(progmem_str label) {
|
|||
void BaseNumericAdjustmentScreen::widgets_t::_draw_increment_btn(CommandProcessor &cmd, uint8_t, const uint8_t tag) {
|
||||
const char *label = PSTR("?");
|
||||
uint8_t pos;
|
||||
uint8_t & increment = screen_data.BaseNumericAdjustment.increment;
|
||||
uint8_t & increment = mydata.increment;
|
||||
|
||||
if (increment == 0) {
|
||||
increment = tag; // Set the default value to be the first.
|
||||
|
@ -358,7 +359,7 @@ void BaseNumericAdjustmentScreen::widgets_t::home_buttons(uint8_t tag) {
|
|||
}
|
||||
|
||||
void BaseNumericAdjustmentScreen::onEntry() {
|
||||
screen_data.BaseNumericAdjustment.increment = 0; // This will force the increment to be picked while drawing.
|
||||
mydata.increment = 0; // This will force the increment to be picked while drawing.
|
||||
BaseScreen::onEntry();
|
||||
CommandProcessor cmd;
|
||||
cmd.set_button_style_callback(nullptr);
|
||||
|
@ -367,14 +368,14 @@ void BaseNumericAdjustmentScreen::onEntry() {
|
|||
bool BaseNumericAdjustmentScreen::onTouchEnd(uint8_t tag) {
|
||||
switch (tag) {
|
||||
case 1: GOTO_PREVIOUS(); return true;
|
||||
case 240 ... 245: screen_data.BaseNumericAdjustment.increment = tag; break;
|
||||
case 240 ... 245: mydata.increment = tag; break;
|
||||
default: return current_screen.onTouchHeld(tag);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
float BaseNumericAdjustmentScreen::getIncrement() {
|
||||
switch (screen_data.BaseNumericAdjustment.increment) {
|
||||
switch (mydata.increment) {
|
||||
case 240: return 0.001;
|
||||
case 241: return 0.01;
|
||||
case 242: return 0.1;
|
||||
|
@ -385,4 +386,4 @@ float BaseNumericAdjustmentScreen::getIncrement() {
|
|||
}
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_BASE_NUMERIC_ADJ_SCREEN
|
||||
|
|
|
@ -0,0 +1,87 @@
|
|||
/************************************
|
||||
* base_numeric_adjustment_screen.h *
|
||||
************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_BASE_NUMERIC_ADJ_SCREEN
|
||||
#define FTDI_BASE_NUMERIC_ADJ_SCREEN_CLASS BaseNumericAdjustmentScreen
|
||||
|
||||
struct BaseNumericAdjustmentScreenData {
|
||||
uint8_t increment;
|
||||
};
|
||||
|
||||
class BaseNumericAdjustmentScreen : public BaseScreen {
|
||||
public:
|
||||
enum precision_default_t {
|
||||
DEFAULT_LOWEST,
|
||||
DEFAULT_MIDRANGE,
|
||||
DEFAULT_HIGHEST
|
||||
};
|
||||
|
||||
protected:
|
||||
class widgets_t {
|
||||
private:
|
||||
draw_mode_t _what;
|
||||
uint8_t _line;
|
||||
uint32_t _color;
|
||||
uint8_t _decimals;
|
||||
progmem_str _units;
|
||||
enum style_t {
|
||||
BTN_NORMAL,
|
||||
BTN_ACTION,
|
||||
BTN_TOGGLE,
|
||||
BTN_DISABLED,
|
||||
TEXT_AREA,
|
||||
TEXT_LABEL
|
||||
} _style;
|
||||
|
||||
protected:
|
||||
void _draw_increment_btn(CommandProcessor &, uint8_t line, const uint8_t tag);
|
||||
void _button(CommandProcessor &, uint8_t tag, int16_t x, int16_t y, int16_t w, int16_t h, progmem_str, bool enabled = true, bool highlight = false);
|
||||
void _button_style(CommandProcessor &cmd, style_t style);
|
||||
public:
|
||||
widgets_t(draw_mode_t);
|
||||
|
||||
widgets_t &color(uint32_t color) {_color = color; return *this;}
|
||||
widgets_t &units(progmem_str units) {_units = units; return *this;}
|
||||
widgets_t &draw_mode(draw_mode_t what) {_what = what; return *this;}
|
||||
widgets_t &precision(uint8_t decimals, precision_default_t = DEFAULT_HIGHEST);
|
||||
|
||||
void heading (progmem_str label);
|
||||
void adjuster_sram_val (uint8_t tag, progmem_str label, const char *value, bool is_enabled = true);
|
||||
void adjuster (uint8_t tag, progmem_str label, const char *value, bool is_enabled = true);
|
||||
void adjuster (uint8_t tag, progmem_str label, float value=0, bool is_enabled = true);
|
||||
void button (uint8_t tag, progmem_str label, bool is_enabled = true);
|
||||
void text_field (uint8_t tag, progmem_str label, const char *value, bool is_enabled = true);
|
||||
void two_buttons (uint8_t tag1, progmem_str label1,
|
||||
uint8_t tag2, progmem_str label2, bool is_enabled = true);
|
||||
void toggle (uint8_t tag, progmem_str label, bool value, bool is_enabled = true);
|
||||
void home_buttons (uint8_t tag);
|
||||
void increments ();
|
||||
};
|
||||
|
||||
static float getIncrement();
|
||||
|
||||
public:
|
||||
static void onEntry();
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
};
|
|
@ -21,11 +21,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_BASE_SCREEN
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace Theme;
|
||||
|
||||
|
@ -87,4 +86,4 @@ void BaseScreen::reset_menu_timeout() {
|
|||
uint32_t BaseScreen::last_interaction;
|
||||
#endif
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_BASE_SCREEN
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
/*****************
|
||||
* base_screen.h *
|
||||
*****************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_BASE_SCREEN
|
||||
#define FTDI_BASE_SCREEN_CLASS BaseScreen
|
||||
|
||||
class BaseScreen : public UIScreen {
|
||||
protected:
|
||||
#if LCD_TIMEOUT_TO_STATUS > 0
|
||||
static uint32_t last_interaction;
|
||||
#endif
|
||||
|
||||
static bool buttonIsPressed(uint8_t tag);
|
||||
|
||||
public:
|
||||
static bool buttonStyleCallback(CommandProcessor &, uint8_t, uint8_t &, uint16_t &, bool);
|
||||
|
||||
static void reset_menu_timeout();
|
||||
|
||||
static void onEntry();
|
||||
static void onIdle();
|
||||
};
|
|
@ -20,16 +20,17 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if BOTH(TOUCH_UI_FTDI_EVE, HAS_MESH)
|
||||
|
||||
#include "screens.h"
|
||||
#include "screen_data.h"
|
||||
|
||||
#ifdef FTDI_BED_MESH_SCREEN
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace Theme;
|
||||
using namespace ExtUI;
|
||||
|
||||
constexpr static BedMeshScreenData &mydata = screen_data.BedMeshScreen;
|
||||
|
||||
#if ENABLED(TOUCH_UI_PORTRAIT)
|
||||
#define GRID_COLS 2
|
||||
#define GRID_ROWS 10
|
||||
|
@ -196,7 +197,7 @@ void BedMeshScreen::drawMesh(int16_t x, int16_t y, int16_t w, int16_t h, ExtUI::
|
|||
}
|
||||
|
||||
if (opts & USE_HIGHLIGHT) {
|
||||
const uint8_t tag = screen_data.BedMesh.highlightedTag;
|
||||
const uint8_t tag = mydata.highlightedTag;
|
||||
uint8_t x, y;
|
||||
if (tagToPoint(tag, x, y)) {
|
||||
cmd.cmd(COLOR_A(128))
|
||||
|
@ -221,16 +222,16 @@ bool BedMeshScreen::tagToPoint(uint8_t tag, uint8_t &x, uint8_t &y) {
|
|||
}
|
||||
|
||||
void BedMeshScreen::onEntry() {
|
||||
screen_data.BedMesh.highlightedTag = 0;
|
||||
screen_data.BedMesh.count = GRID_MAX_POINTS;
|
||||
screen_data.BedMesh.message = screen_data.BedMesh.MSG_NONE;
|
||||
mydata.highlightedTag = 0;
|
||||
mydata.count = GRID_MAX_POINTS;
|
||||
mydata.message = mydata.MSG_NONE;
|
||||
BaseScreen::onEntry();
|
||||
}
|
||||
|
||||
float BedMeshScreen::getHightlightedValue() {
|
||||
if (screen_data.BedMesh.highlightedTag) {
|
||||
if (mydata.highlightedTag) {
|
||||
xy_uint8_t pt;
|
||||
tagToPoint(screen_data.BedMesh.highlightedTag, pt.x, pt.y);
|
||||
tagToPoint(mydata.highlightedTag, pt.x, pt.y);
|
||||
return ExtUI::getMeshPoint(pt);
|
||||
}
|
||||
return NAN;
|
||||
|
@ -253,9 +254,9 @@ void BedMeshScreen::drawHighlightedPointValue() {
|
|||
.tag(1).button(OKAY_POS, GET_TEXT_F(MSG_BUTTON_OKAY))
|
||||
.tag(0);
|
||||
|
||||
switch (screen_data.BedMesh.message) {
|
||||
case screen_data.BedMesh.MSG_MESH_COMPLETE: cmd.text(MESSAGE_POS, GET_TEXT_F(MSG_BED_MAPPING_DONE)); break;
|
||||
case screen_data.BedMesh.MSG_MESH_INCOMPLETE: cmd.text(MESSAGE_POS, GET_TEXT_F(MSG_BED_MAPPING_INCOMPLETE)); break;
|
||||
switch (mydata.message) {
|
||||
case mydata.MSG_MESH_COMPLETE: cmd.text(MESSAGE_POS, GET_TEXT_F(MSG_BED_MAPPING_DONE)); break;
|
||||
case mydata.MSG_MESH_INCOMPLETE: cmd.text(MESSAGE_POS, GET_TEXT_F(MSG_BED_MAPPING_INCOMPLETE)); break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
|
@ -277,11 +278,11 @@ void BedMeshScreen::onRedraw(draw_mode_t what) {
|
|||
|
||||
if (what & FOREGROUND) {
|
||||
constexpr float autoscale_max_amplitude = 0.03;
|
||||
const bool gotAllPoints = screen_data.BedMesh.count >= GRID_MAX_POINTS;
|
||||
const bool gotAllPoints = mydata.count >= GRID_MAX_POINTS;
|
||||
if (gotAllPoints) {
|
||||
drawHighlightedPointValue();
|
||||
}
|
||||
const float levelingProgress = sq(float(screen_data.BedMesh.count) / GRID_MAX_POINTS);
|
||||
const float levelingProgress = sq(float(mydata.count) / GRID_MAX_POINTS);
|
||||
BedMeshScreen::drawMesh(INSET_POS(MESH_POS), ExtUI::getMeshArray(),
|
||||
USE_POINTS | USE_HIGHLIGHT | USE_AUTOSCALE | (gotAllPoints ? USE_COLORS : 0),
|
||||
autoscale_max_amplitude * levelingProgress
|
||||
|
@ -290,7 +291,7 @@ void BedMeshScreen::onRedraw(draw_mode_t what) {
|
|||
}
|
||||
|
||||
bool BedMeshScreen::onTouchStart(uint8_t tag) {
|
||||
screen_data.BedMesh.highlightedTag = tag;
|
||||
mydata.highlightedTag = tag;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -312,21 +313,21 @@ void BedMeshScreen::onMeshUpdate(const int8_t, const int8_t, const float) {
|
|||
void BedMeshScreen::onMeshUpdate(const int8_t x, const int8_t y, const ExtUI::probe_state_t state) {
|
||||
switch (state) {
|
||||
case ExtUI::MESH_START:
|
||||
screen_data.BedMesh.count = 0;
|
||||
screen_data.BedMesh.message = screen_data.BedMesh.MSG_NONE;
|
||||
mydata.count = 0;
|
||||
mydata.message = mydata.MSG_NONE;
|
||||
break;
|
||||
case ExtUI::MESH_FINISH:
|
||||
if (screen_data.BedMesh.count == GRID_MAX_POINTS && ExtUI::getMeshValid())
|
||||
screen_data.BedMesh.message = screen_data.BedMesh.MSG_MESH_COMPLETE;
|
||||
if (mydata.count == GRID_MAX_POINTS && ExtUI::getMeshValid())
|
||||
mydata.message = mydata.MSG_MESH_COMPLETE;
|
||||
else
|
||||
screen_data.BedMesh.message = screen_data.BedMesh.MSG_MESH_INCOMPLETE;
|
||||
screen_data.BedMesh.count = GRID_MAX_POINTS;
|
||||
mydata.message = mydata.MSG_MESH_INCOMPLETE;
|
||||
mydata.count = GRID_MAX_POINTS;
|
||||
break;
|
||||
case ExtUI::PROBE_START:
|
||||
screen_data.BedMesh.highlightedTag = pointToTag(x, y);
|
||||
mydata.highlightedTag = pointToTag(x, y);
|
||||
break;
|
||||
case ExtUI::PROBE_FINISH:
|
||||
screen_data.BedMesh.count++;
|
||||
mydata.count++;
|
||||
break;
|
||||
}
|
||||
BedMeshScreen::onMeshUpdate(x, y, 0);
|
||||
|
@ -334,8 +335,8 @@ void BedMeshScreen::onMeshUpdate(const int8_t x, const int8_t y, const ExtUI::pr
|
|||
|
||||
void BedMeshScreen::startMeshProbe() {
|
||||
GOTO_SCREEN(BedMeshScreen);
|
||||
screen_data.BedMesh.count = 0;
|
||||
mydata.count = 0;
|
||||
injectCommands_P(PSTR(BED_LEVELING_COMMANDS));
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE && HAS_MESH
|
||||
#endif // FTDI_BED_MESH_SCREEN
|
||||
|
|
|
@ -0,0 +1,62 @@
|
|||
/*********************
|
||||
* bed_mesh_screen.h *
|
||||
*********************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Marcio Teixeira 2020 *
|
||||
* *
|
||||
* 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_BED_MESH_SCREEN
|
||||
#define FTDI_BED_MESH_SCREEN_CLASS BedMeshScreen
|
||||
|
||||
struct BedMeshScreenData {
|
||||
enum : uint8_t {
|
||||
MSG_NONE,
|
||||
MSG_MESH_COMPLETE,
|
||||
MSG_MESH_INCOMPLETE
|
||||
} message;
|
||||
uint8_t count;
|
||||
uint8_t highlightedTag;
|
||||
};
|
||||
|
||||
class BedMeshScreen : public BaseScreen, public CachedScreen<BED_MESH_SCREEN_CACHE> {
|
||||
private:
|
||||
enum MeshOpts {
|
||||
USE_POINTS = 0x01,
|
||||
USE_COLORS = 0x02,
|
||||
USE_TAGS = 0x04,
|
||||
USE_HIGHLIGHT = 0x08,
|
||||
USE_AUTOSCALE = 0x10
|
||||
};
|
||||
|
||||
static uint8_t pointToTag(uint8_t x, uint8_t y);
|
||||
static bool tagToPoint(uint8_t tag, uint8_t &x, uint8_t &y);
|
||||
static float getHightlightedValue();
|
||||
static void drawHighlightedPointValue();
|
||||
static void drawMesh(int16_t x, int16_t y, int16_t w, int16_t h, ExtUI::bed_mesh_t data, uint8_t opts, float autoscale_max = 0.1);
|
||||
|
||||
public:
|
||||
static void onMeshUpdate(const int8_t x, const int8_t y, const float val);
|
||||
static void onMeshUpdate(const int8_t x, const int8_t y, const ExtUI::probe_state_t);
|
||||
static void onEntry();
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchStart(uint8_t tag);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
|
||||
static void startMeshProbe();
|
||||
};
|
|
@ -21,11 +21,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_LULZBOT_BIO)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_BIO_ADVANCED_SETTINGS_MENU
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace Theme;
|
||||
|
||||
|
@ -134,4 +133,4 @@ bool AdvancedSettingsMenu::onTouchEnd(uint8_t tag) {
|
|||
return true;
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE && TOUCH_UI_LULZBOT_BIO
|
||||
#endif // FTDI_BIO_ADVANCED_SETTINGS_MENU
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
/***************************
|
||||
* bio_advanced_settings.h *
|
||||
***************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_BIO_ADVANCED_SETTINGS_MENU
|
||||
#define FTDI_BIO_ADVANCED_SETTINGS_MENU_CLASS AdvancedSettingsMenu
|
||||
|
||||
class AdvancedSettingsMenu : public BaseScreen, public CachedScreen<ADVANCED_SETTINGS_SCREEN_CACHE> {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
};
|
|
@ -21,11 +21,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_LULZBOT_BIO)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_BIO_CONFIRM_HOME_E
|
||||
|
||||
using namespace FTDI;
|
||||
|
||||
void BioConfirmHomeE::onRedraw(draw_mode_t) {
|
||||
|
@ -54,4 +53,4 @@ bool BioConfirmHomeE::onTouchEnd(uint8_t tag) {
|
|||
return true;
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE && TOUCH_UI_LULZBOT_BIO
|
||||
#endif // FTDI_BIO_CONFIRM_HOME_E
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
/****************************
|
||||
* bio_confirm_home_e.h *
|
||||
****************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_BIO_CONFIRM_HOME_E
|
||||
#define FTDI_BIO_CONFIRM_HOME_E_CLASS BioConfirmHomeE
|
||||
|
||||
class BioConfirmHomeE : public DialogBoxBaseClass, public UncachedScreen {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
};
|
|
@ -21,11 +21,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_LULZBOT_BIO)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_BIO_CONFIRM_HOME_XYZ
|
||||
|
||||
using namespace FTDI;
|
||||
|
||||
void BioConfirmHomeXYZ::onRedraw(draw_mode_t) {
|
||||
|
@ -53,4 +52,4 @@ bool BioConfirmHomeXYZ::onTouchEnd(uint8_t tag) {
|
|||
return true;
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE && TOUCH_UI_LULZBOT_BIO
|
||||
#endif // FTDI_BIO_CONFIRM_HOME_XYZ
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
/**************************
|
||||
* bio_confirm_home_xyz.h *
|
||||
**************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_BIO_CONFIRM_HOME_XYZ
|
||||
#define FTDI_BIO_CONFIRM_HOME_XYZ_CLASS BioConfirmHomeXYZ
|
||||
|
||||
class BioConfirmHomeXYZ : public DialogBoxBaseClass, public UncachedScreen {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
};
|
|
@ -21,11 +21,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_LULZBOT_BIO)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_BIO_MAIN_MENU
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace Theme;
|
||||
|
||||
|
@ -85,4 +84,4 @@ bool MainMenu::onTouchEnd(uint8_t tag) {
|
|||
return true;
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE && TOUCH_UI_LULZBOT_BIO
|
||||
#endif // FTDI_BIO_MAIN_MENU
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
/*********************
|
||||
* bio_main_menu.cpp *
|
||||
*********************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_BIO_MAIN_MENU
|
||||
#define FTDI_BIO_MAIN_MENU_CLASS MainMenu
|
||||
|
||||
class MainMenu : public BaseScreen, public CachedScreen<MENU_SCREEN_CACHE> {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
};
|
|
@ -21,11 +21,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_LULZBOT_BIO)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_BIO_PRINTING_DIALOG_BOX
|
||||
|
||||
#include "../ftdi_eve_lib/extras/circular_progress.h"
|
||||
|
||||
using namespace FTDI;
|
||||
|
@ -147,4 +146,4 @@ void BioPrintingDialogBox::show() {
|
|||
GOTO_SCREEN(BioPrintingDialogBox);
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE && TOUCH_UI_LULZBOT_BIO
|
||||
#endif // FTDI_BIO_PRINTING_DIALOG_BOX
|
||||
|
|
|
@ -0,0 +1,44 @@
|
|||
/*****************************
|
||||
* bio_printing_dialog_box.h *
|
||||
*****************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_BIO_PRINTING_DIALOG_BOX
|
||||
#define FTDI_BIO_PRINTING_DIALOG_BOX_CLASS BioPrintingDialogBox
|
||||
|
||||
class BioPrintingDialogBox : public BaseScreen, public CachedScreen<PRINTING_SCREEN_CACHE,PRINTING_SCREEN_DL_SIZE> {
|
||||
private:
|
||||
static void draw_status_message(draw_mode_t, const char * const);
|
||||
static void draw_progress(draw_mode_t);
|
||||
static void draw_time_remaining(draw_mode_t);
|
||||
static void draw_interaction_buttons(draw_mode_t);
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
|
||||
static void show();
|
||||
|
||||
static void setStatusMessage(const char *);
|
||||
static void setStatusMessage(progmem_str);
|
||||
|
||||
static void onIdle();
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
};
|
|
@ -22,11 +22,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_LULZBOT_BIO)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_BIO_STATUS_SCREEN
|
||||
|
||||
#include "../ftdi_eve_lib/extras/poly_ui.h"
|
||||
|
||||
#if ENABLED(TOUCH_UI_PORTRAIT)
|
||||
|
@ -376,4 +375,4 @@ void StatusScreen::onIdle() {
|
|||
}
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_BIO_STATUS_SCREEN
|
||||
|
|
|
@ -0,0 +1,56 @@
|
|||
/*************************
|
||||
* bio_status_screen.cpp *
|
||||
*************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - 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 *
|
||||
* 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_BIO_STATUS_SCREEN
|
||||
#define FTDI_BIO_STATUS_SCREEN_CLASS StatusScreen
|
||||
|
||||
class StatusScreen : public BaseScreen, public CachedScreen<STATUS_SCREEN_CACHE> {
|
||||
private:
|
||||
static float increment;
|
||||
static bool jog_xy;
|
||||
static bool fine_motion;
|
||||
|
||||
static void draw_progress(draw_mode_t what);
|
||||
static void draw_temperature(draw_mode_t what);
|
||||
static void draw_syringe(draw_mode_t what);
|
||||
static void draw_arrows(draw_mode_t what);
|
||||
static void draw_overlay_icons(draw_mode_t what);
|
||||
static void draw_fine_motion(draw_mode_t what);
|
||||
static void draw_buttons(draw_mode_t what);
|
||||
public:
|
||||
static void loadBitmaps();
|
||||
static void unlockMotors();
|
||||
|
||||
static void setStatusMessage(const char *);
|
||||
static void setStatusMessage(progmem_str);
|
||||
|
||||
static void onRedraw(draw_mode_t);
|
||||
|
||||
static bool onTouchStart(uint8_t tag);
|
||||
static bool onTouchHeld(uint8_t tag);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
static void onIdle();
|
||||
|
||||
};
|
|
@ -21,11 +21,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_LULZBOT_BIO)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_BIO_TUNE_MENU
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace Theme;
|
||||
using namespace ExtUI;
|
||||
|
@ -76,4 +75,4 @@ bool TuneMenu::onTouchEnd(uint8_t tag) {
|
|||
return true;
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE && TOUCH_UI_LULZBOT_BIO
|
||||
#endif // FTDI_BIO_TUNE_MENU
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
/*******************
|
||||
* bio_tune_menu.h *
|
||||
*******************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_BIO_TUNE_MENU
|
||||
#define FTDI_BIO_TUNE_MENU_CLASS TuneMenu
|
||||
|
||||
class TuneMenu : public BaseScreen, public CachedScreen<TUNE_SCREEN_CACHE> {
|
||||
private:
|
||||
static void pausePrint();
|
||||
static void resumePrint();
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
};
|
|
@ -22,11 +22,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_BOOT_SCREEN
|
||||
|
||||
#include "../ftdi_eve_lib/extras/poly_ui.h"
|
||||
#include "../archim2-flash/flash_storage.h"
|
||||
|
||||
|
@ -127,4 +126,4 @@ void BootScreen::showSplashScreen() {
|
|||
ExtUI::delay_ms(2500);
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_BOOT_SCREEN
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
/*****************
|
||||
* boot_screen.h *
|
||||
*****************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - 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 *
|
||||
* 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_BOOT_SCREEN
|
||||
#define FTDI_BOOT_SCREEN_CLASS BootScreen
|
||||
|
||||
class BootScreen : public BaseScreen, public UncachedScreen {
|
||||
private:
|
||||
static void showSplashScreen();
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static void onIdle();
|
||||
};
|
|
@ -20,11 +20,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if BOTH(TOUCH_UI_FTDI_EVE, CASE_LIGHT_ENABLE)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_CASE_LIGHT_SCREEN
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace ExtUI;
|
||||
using namespace Theme;
|
||||
|
@ -59,4 +58,4 @@ bool CaseLightScreen::onTouchHeld(uint8_t tag) {
|
|||
return true;
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_CASE_LIGHT_SCREEN
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
/***********************
|
||||
* case_light_screen.h *
|
||||
***********************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Marcio Teixeira 2019 - Cocoa Press *
|
||||
* *
|
||||
* 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_CASE_LIGHT_SCREEN
|
||||
#define FTDI_CASE_LIGHT_SCREEN_CLASS CaseLightScreen
|
||||
|
||||
class CaseLightScreen : public BaseNumericAdjustmentScreen, public CachedScreen<CASE_LIGHT_SCREEN_CACHE> {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchHeld(uint8_t tag);
|
||||
};
|
|
@ -21,16 +21,17 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
||||
|
||||
#include "screens.h"
|
||||
#include "screen_data.h"
|
||||
|
||||
#ifdef FTDI_CHANGE_FILAMENT_SCREEN
|
||||
|
||||
using namespace ExtUI;
|
||||
using namespace FTDI;
|
||||
using namespace Theme;
|
||||
|
||||
constexpr static ChangeFilamentScreenData &mydata = screen_data.ChangeFilamentScreen;
|
||||
|
||||
#ifdef TOUCH_UI_PORTRAIT
|
||||
#define GRID_COLS 2
|
||||
#define GRID_ROWS 11
|
||||
|
@ -122,17 +123,17 @@ void ChangeFilamentScreen::drawTempGradient(uint16_t x, uint16_t y, uint16_t w,
|
|||
|
||||
void ChangeFilamentScreen::onEntry() {
|
||||
BaseScreen::onEntry();
|
||||
screen_data.ChangeFilament.e_tag = ExtUI::getActiveTool() + 10;
|
||||
screen_data.ChangeFilament.t_tag = 0;
|
||||
screen_data.ChangeFilament.repeat_tag = 0;
|
||||
screen_data.ChangeFilament.saved_extruder = getActiveTool();
|
||||
mydata.e_tag = ExtUI::getActiveTool() + 10;
|
||||
mydata.t_tag = 0;
|
||||
mydata.repeat_tag = 0;
|
||||
mydata.saved_extruder = getActiveTool();
|
||||
#if FILAMENT_UNLOAD_PURGE_LENGTH > 0
|
||||
screen_data.ChangeFilament.need_purge = true;
|
||||
mydata.need_purge = true;
|
||||
#endif
|
||||
}
|
||||
|
||||
void ChangeFilamentScreen::onExit() {
|
||||
setActiveTool(screen_data.ChangeFilament.saved_extruder, true);
|
||||
setActiveTool(mydata.saved_extruder, true);
|
||||
}
|
||||
|
||||
void ChangeFilamentScreen::onRedraw(draw_mode_t what) {
|
||||
|
@ -170,7 +171,7 @@ void ChangeFilamentScreen::onRedraw(draw_mode_t what) {
|
|||
|
||||
const bool t_ok = getActualTemp_celsius(e) > getSoftenTemp() - 10;
|
||||
|
||||
if (screen_data.ChangeFilament.t_tag && !t_ok) {
|
||||
if (mydata.t_tag && !t_ok) {
|
||||
cmd.text(HEATING_LBL_POS, GET_TEXT_F(MSG_HEATING));
|
||||
} else if (getActualTemp_celsius(e) > 100) {
|
||||
cmd.cmd(COLOR_RGB(0xFF0000))
|
||||
|
@ -181,12 +182,12 @@ void ChangeFilamentScreen::onRedraw(draw_mode_t what) {
|
|||
|
||||
#define TOG_STYLE(A) colors(A ? action_btn : normal_btn)
|
||||
|
||||
const bool tog2 = screen_data.ChangeFilament.t_tag == 2;
|
||||
const bool tog3 = screen_data.ChangeFilament.t_tag == 3;
|
||||
const bool tog4 = screen_data.ChangeFilament.t_tag == 4;
|
||||
const bool tog10 = screen_data.ChangeFilament.e_tag == 10;
|
||||
const bool tog2 = mydata.t_tag == 2;
|
||||
const bool tog3 = mydata.t_tag == 3;
|
||||
const bool tog4 = mydata.t_tag == 4;
|
||||
const bool tog10 = mydata.e_tag == 10;
|
||||
#if HAS_MULTI_HOTEND
|
||||
const bool tog11 = screen_data.ChangeFilament.e_tag == 11;
|
||||
const bool tog11 = mydata.e_tag == 11;
|
||||
#endif
|
||||
|
||||
cmd.TOG_STYLE(tog10)
|
||||
|
@ -200,8 +201,8 @@ void ChangeFilamentScreen::onRedraw(draw_mode_t what) {
|
|||
|
||||
if (!t_ok) reset_menu_timeout();
|
||||
|
||||
const bool tog7 = screen_data.ChangeFilament.repeat_tag == 7;
|
||||
const bool tog8 = screen_data.ChangeFilament.repeat_tag == 8;
|
||||
const bool tog7 = mydata.repeat_tag == 7;
|
||||
const bool tog8 = mydata.repeat_tag == 8;
|
||||
|
||||
{
|
||||
char str[30];
|
||||
|
@ -228,7 +229,7 @@ void ChangeFilamentScreen::onRedraw(draw_mode_t what) {
|
|||
}
|
||||
|
||||
uint8_t ChangeFilamentScreen::getSoftenTemp() {
|
||||
switch (screen_data.ChangeFilament.t_tag) {
|
||||
switch (mydata.t_tag) {
|
||||
case 2: return LOW_TEMP;
|
||||
case 3: return MED_TEMP;
|
||||
case 4: return HIGH_TEMP;
|
||||
|
@ -237,7 +238,7 @@ uint8_t ChangeFilamentScreen::getSoftenTemp() {
|
|||
}
|
||||
|
||||
ExtUI::extruder_t ChangeFilamentScreen::getExtruder() {
|
||||
switch (screen_data.ChangeFilament.e_tag) {
|
||||
switch (mydata.e_tag) {
|
||||
case 13: return ExtUI::E3;
|
||||
case 12: return ExtUI::E2;
|
||||
case 11: return ExtUI::E1;
|
||||
|
@ -248,8 +249,8 @@ 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.ChangeFilament.need_purge) {
|
||||
screen_data.ChangeFilament.need_purge = false;
|
||||
if (mydata.need_purge) {
|
||||
mydata.need_purge = false;
|
||||
MoveAxisScreen::setManualFeedrate(getExtruder(), purge_distance_mm);
|
||||
ExtUI::setAxisPosition_mm(ExtUI::getAxisPosition_mm(getExtruder()) + purge_distance_mm, getExtruder());
|
||||
}
|
||||
|
@ -277,23 +278,23 @@ bool ChangeFilamentScreen::onTouchEnd(uint8_t tag) {
|
|||
case 3:
|
||||
case 4:
|
||||
// Change temperature
|
||||
screen_data.ChangeFilament.t_tag = tag;
|
||||
mydata.t_tag = tag;
|
||||
setTargetTemp_celsius(getSoftenTemp(), getExtruder());
|
||||
break;
|
||||
case 7:
|
||||
screen_data.ChangeFilament.repeat_tag = (screen_data.ChangeFilament.repeat_tag == 7) ? 0 : 7;
|
||||
mydata.repeat_tag = (mydata.repeat_tag == 7) ? 0 : 7;
|
||||
break;
|
||||
case 8:
|
||||
screen_data.ChangeFilament.repeat_tag = (screen_data.ChangeFilament.repeat_tag == 8) ? 0 : 8;
|
||||
mydata.repeat_tag = (mydata.repeat_tag == 8) ? 0 : 8;
|
||||
break;
|
||||
case 10:
|
||||
case 11:
|
||||
// Change extruder
|
||||
screen_data.ChangeFilament.e_tag = tag;
|
||||
screen_data.ChangeFilament.t_tag = 0;
|
||||
screen_data.ChangeFilament.repeat_tag = 0;
|
||||
mydata.e_tag = tag;
|
||||
mydata.t_tag = 0;
|
||||
mydata.repeat_tag = 0;
|
||||
#if FILAMENT_UNLOAD_PURGE_LENGTH > 0
|
||||
screen_data.ChangeFilament.need_purge = true;
|
||||
mydata.need_purge = true;
|
||||
#endif
|
||||
setActiveTool(getExtruder(), true);
|
||||
break;
|
||||
|
@ -319,7 +320,7 @@ bool ChangeFilamentScreen::onTouchHeld(uint8_t tag) {
|
|||
|
||||
void ChangeFilamentScreen::onIdle() {
|
||||
reset_menu_timeout();
|
||||
if (screen_data.ChangeFilament.repeat_tag) onTouchHeld(screen_data.ChangeFilament.repeat_tag);
|
||||
if (mydata.repeat_tag) onTouchHeld(mydata.repeat_tag);
|
||||
if (refresh_timer.elapsed(STATUS_UPDATE_INTERVAL)) {
|
||||
onRefresh();
|
||||
refresh_timer.start();
|
||||
|
@ -327,4 +328,4 @@ void ChangeFilamentScreen::onIdle() {
|
|||
BaseScreen::onIdle();
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_CHANGE_FILAMENT_SCREEN
|
||||
|
|
|
@ -0,0 +1,51 @@
|
|||
/****************************
|
||||
* change_filament_screen.h *
|
||||
****************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_CHANGE_FILAMENT_SCREEN
|
||||
#define FTDI_CHANGE_FILAMENT_SCREEN_CLASS ChangeFilamentScreen
|
||||
|
||||
struct ChangeFilamentScreenData {
|
||||
uint8_t e_tag, t_tag, repeat_tag;
|
||||
ExtUI::extruder_t saved_extruder;
|
||||
#if FILAMENT_UNLOAD_PURGE_LENGTH > 0
|
||||
bool need_purge;
|
||||
#endif
|
||||
};
|
||||
|
||||
class ChangeFilamentScreen : public BaseScreen, public CachedScreen<CHANGE_FILAMENT_SCREEN_CACHE> {
|
||||
private:
|
||||
static uint8_t getSoftenTemp();
|
||||
static ExtUI::extruder_t getExtruder();
|
||||
static void drawTempGradient(uint16_t x, uint16_t y, uint16_t w, uint16_t h);
|
||||
static uint32_t getTempColor(uint32_t temp);
|
||||
static void doPurge();
|
||||
public:
|
||||
static void onEntry();
|
||||
static void onExit();
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchStart(uint8_t tag);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
static bool onTouchHeld(uint8_t tag);
|
||||
static void onIdle();
|
||||
};
|
|
@ -21,11 +21,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_COCOA_PRESS)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_COCOA_ADVANCED_SETTINGS_MENU
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace ExtUI;
|
||||
using namespace Theme;
|
||||
|
@ -99,4 +98,4 @@ bool AdvancedSettingsMenu::onTouchEnd(uint8_t tag) {
|
|||
}
|
||||
return true;
|
||||
}
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_COCOA_ADVANCED_SETTINGS_MENU
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
/***************************************
|
||||
* cocoa_press_advance_settings_menu.h *
|
||||
***************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_COCOA_ADVANCED_SETTINGS_MENU
|
||||
#define FTDI_COCOA_ADVANCED_SETTINGS_MENU_CLASS AdvancedSettingsMenu
|
||||
|
||||
class AdvancedSettingsMenu : public BaseScreen, public CachedScreen<ADVANCED_SETTINGS_SCREEN_CACHE> {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
};
|
|
@ -22,12 +22,11 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if ENABLED(TOUCH_UI_FTDI_EVE) && ENABLED(TOUCH_UI_COCOA_PRESS)
|
||||
|
||||
#include "screens.h"
|
||||
#include "screen_data.h"
|
||||
|
||||
#ifdef FTDI_COCOA_LOAD_CHOCOLATE_SCREEN
|
||||
|
||||
using namespace ExtUI;
|
||||
using namespace FTDI;
|
||||
using namespace Theme;
|
||||
|
@ -98,4 +97,4 @@ bool LoadChocolateScreen::onTouchHeld(uint8_t tag) {
|
|||
return false;
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_COCOA_LOAD_CHOCOLATE_SCREEN
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
/********************************
|
||||
* cocoa_press_load_chocolate.h *
|
||||
********************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2020 - Cocoa Press *
|
||||
* *
|
||||
* 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_COCOA_LOAD_CHOCOLATE_SCREEN
|
||||
#define FTDI_COCOA_LOAD_CHOCOLATE_SCREEN_CLASS LoadChocolateScreen
|
||||
|
||||
class LoadChocolateScreen : public BaseScreen, public CachedScreen<LOAD_CHOCOLATE_SCREEN_CACHE> {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
static bool onTouchHeld(uint8_t tag);
|
||||
};
|
|
@ -22,11 +22,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_COCOA_PRESS)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_COCOA_MAIN_MENU
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace Theme;
|
||||
|
||||
|
@ -86,4 +85,4 @@ bool MainMenu::onTouchEnd(uint8_t tag) {
|
|||
return true;
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_COCOA_MAIN_MENU
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
/***************************
|
||||
* cocoa_press_main_menu.h *
|
||||
***************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - 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 *
|
||||
* 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_COCOA_MAIN_MENU
|
||||
#define FTDI_COCOA_MAIN_MENU_CLASS MainMenu
|
||||
|
||||
class MainMenu : public BaseScreen, public CachedScreen<MENU_SCREEN_CACHE> {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
};
|
|
@ -22,12 +22,11 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_COCOA_PRESS)
|
||||
|
||||
#include "screens.h"
|
||||
#include "screen_data.h"
|
||||
|
||||
#ifdef FTDI_COCOA_MOVE_E_SCREEN
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace ExtUI;
|
||||
|
||||
|
@ -59,4 +58,4 @@ void MoveEScreen::onIdle() {
|
|||
}
|
||||
BaseScreen::onIdle();
|
||||
}
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_COCOA_MOVE_E_SCREEN
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
/*******************************
|
||||
* cocoa_press_move_e_screen.h *
|
||||
*******************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - 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 *
|
||||
* 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_COCOA_MOVE_E_SCREEN
|
||||
#define FTDI_COCOA_MOVE_E_SCREEN_CLASS MoveEScreen
|
||||
|
||||
class MoveEScreen : public BaseMoveAxisScreen, public CachedScreen<MOVE_E_SCREEN_CACHE> {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static void onIdle();
|
||||
};
|
|
@ -1,6 +1,6 @@
|
|||
/************************************
|
||||
/***********************************
|
||||
* cocoa_press_move_xyz_screen.cpp *
|
||||
************************************/
|
||||
***********************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
|
@ -22,12 +22,11 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_COCOA_PRESS)
|
||||
|
||||
#include "screens.h"
|
||||
#include "screen_data.h"
|
||||
|
||||
#ifdef FTDI_COCOA_MOVE_XYZ_SCREEN
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace ExtUI;
|
||||
|
||||
|
@ -50,4 +49,4 @@ void MoveXYZScreen::onIdle() {
|
|||
}
|
||||
BaseScreen::onIdle();
|
||||
}
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_COCOA_MOVE_XYZ_SCREEN
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
/*********************************
|
||||
* cocoa_press_move_xyz_screen.h *
|
||||
*********************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - 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 *
|
||||
* 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_COCOA_MOVE_XYZ_SCREEN
|
||||
#define FTDI_COCOA_MOVE_XYZ_SCREEN_CLASS MoveXYZScreen
|
||||
|
||||
class MoveXYZScreen : public BaseMoveAxisScreen, public CachedScreen<MOVE_XYZ_SCREEN_CACHE> {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static void onIdle();
|
||||
};
|
|
@ -20,11 +20,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_COCOA_PRESS)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_COCOA_PREHEAT_MENU
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace ExtUI;
|
||||
using namespace Theme;
|
||||
|
@ -110,4 +109,4 @@ bool PreheatMenu::onTouchEnd(uint8_t tag) {
|
|||
return true;
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_COCOA_PREHEAT_MENU
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
/******************************
|
||||
* cocoa_press_preheat_menu.h *
|
||||
******************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Marcio Teixeira 2020 - Cocoa Press *
|
||||
* *
|
||||
* 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_COCOA_PREHEAT_MENU
|
||||
#define FTDI_COCOA_PREHEAT_MENU_CLASS PreheatMenu
|
||||
|
||||
class PreheatMenu : public BaseScreen, public CachedScreen<PREHEAT_MENU_CACHE> {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
};
|
|
@ -20,18 +20,19 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_COCOA_PRESS)
|
||||
|
||||
#include "screens.h"
|
||||
#include "screen_data.h"
|
||||
|
||||
#ifdef FTDI_COCOA_PREHEAT_SCREEN
|
||||
|
||||
#include "../ftdi_eve_lib/extras/circular_progress.h"
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace ExtUI;
|
||||
using namespace Theme;
|
||||
|
||||
constexpr static PreheatTimerScreenData &mydata = screen_data.PreheatTimerScreen;
|
||||
|
||||
#define GRID_COLS 2
|
||||
#define GRID_ROWS 8
|
||||
|
||||
|
@ -54,7 +55,7 @@ void PreheatTimerScreen::draw_message(draw_mode_t what) {
|
|||
}
|
||||
|
||||
uint16_t PreheatTimerScreen::secondsRemaining() {
|
||||
const uint32_t elapsed_sec = (millis() - screen_data.PreheatTimer.start_ms) / 1000;
|
||||
const uint32_t elapsed_sec = (millis() - mydata.start_ms) / 1000;
|
||||
return (COCOA_PRESS_PREHEAT_SECONDS > elapsed_sec) ? COCOA_PRESS_PREHEAT_SECONDS - elapsed_sec : 0;
|
||||
}
|
||||
|
||||
|
@ -118,7 +119,7 @@ void PreheatTimerScreen::draw_adjuster(draw_mode_t what, uint8_t tag, progmem_st
|
|||
}
|
||||
|
||||
void PreheatTimerScreen::onEntry() {
|
||||
screen_data.PreheatTimer.start_ms = millis();
|
||||
mydata.start_ms = millis();
|
||||
}
|
||||
|
||||
void PreheatTimerScreen::onRedraw(draw_mode_t what) {
|
||||
|
@ -169,4 +170,4 @@ void PreheatTimerScreen::onIdle() {
|
|||
BaseScreen::onIdle();
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_COCOA_PREHEAT_SCREEN
|
||||
|
|
|
@ -0,0 +1,46 @@
|
|||
/*********************************
|
||||
* cocoapress_preheat_screen.cpp *
|
||||
*********************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Marcio Teixeira 2019 - Cocoa Press *
|
||||
* *
|
||||
* 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_COCOA_PREHEAT_SCREEN
|
||||
#define FTDI_COCOA_PREHEAT_SCREEN_CLASS PreheatTimerScreen
|
||||
|
||||
struct PreheatTimerScreenData {
|
||||
uint32_t start_ms;
|
||||
};
|
||||
|
||||
class PreheatTimerScreen : public BaseScreen, public CachedScreen<PREHEAT_TIMER_SCREEN_CACHE> {
|
||||
private:
|
||||
static uint16_t secondsRemaining();
|
||||
|
||||
static void draw_message(draw_mode_t);
|
||||
static void draw_time_remaining(draw_mode_t);
|
||||
static void draw_interaction_buttons(draw_mode_t);
|
||||
static void draw_adjuster(draw_mode_t, uint8_t tag, progmem_str label, float value, int16_t x, int16_t y, int16_t w, int16_t h);
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
|
||||
static void onEntry();
|
||||
static void onIdle();
|
||||
static bool onTouchHeld(uint8_t tag);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
};
|
|
@ -22,11 +22,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_COCOA_PRESS)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_COCOA_STATUS_SCREEN
|
||||
|
||||
#include "../ftdi_eve_lib/extras/poly_ui.h"
|
||||
|
||||
#include "cocoa_press_ui.h"
|
||||
|
@ -304,4 +303,4 @@ void StatusScreen::onIdle() {
|
|||
}
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_COCOA_STATUS_SCREEN
|
||||
|
|
|
@ -0,0 +1,55 @@
|
|||
/*******************************
|
||||
* cocoa_press_status_screen.h *
|
||||
*******************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - 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 *
|
||||
* 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_COCOA_STATUS_SCREEN
|
||||
#define FTDI_COCOA_STATUS_SCREEN_CLASS StatusScreen
|
||||
|
||||
class StatusScreen : public BaseScreen, public CachedScreen<STATUS_SCREEN_CACHE> {
|
||||
private:
|
||||
static float increment;
|
||||
static bool jog_xy;
|
||||
static bool fine_motion;
|
||||
|
||||
static void draw_progress(draw_mode_t what);
|
||||
static void draw_temperature(draw_mode_t what);
|
||||
static void draw_syringe(draw_mode_t what);
|
||||
static void draw_arrows(draw_mode_t what);
|
||||
static void draw_overlay_icons(draw_mode_t what);
|
||||
static void draw_fine_motion(draw_mode_t what);
|
||||
static void draw_buttons(draw_mode_t what);
|
||||
public:
|
||||
static void loadBitmaps();
|
||||
static void unlockMotors();
|
||||
|
||||
static void setStatusMessage(const char *);
|
||||
static void setStatusMessage(progmem_str);
|
||||
|
||||
static void onRedraw(draw_mode_t);
|
||||
|
||||
static bool onTouchStart(uint8_t tag);
|
||||
static bool onTouchHeld(uint8_t tag);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
static void onIdle();
|
||||
};
|
|
@ -22,12 +22,11 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if ENABLED(TOUCH_UI_FTDI_EVE) && ENABLED(TOUCH_UI_COCOA_PRESS)
|
||||
|
||||
#include "screens.h"
|
||||
#include "screen_data.h"
|
||||
|
||||
#ifdef FTDI_COCOA_UNLOAD_CARTRIDGE_SCREEN
|
||||
|
||||
using namespace ExtUI;
|
||||
using namespace FTDI;
|
||||
using namespace Theme;
|
||||
|
@ -98,4 +97,4 @@ bool UnloadCartridgeScreen::onTouchHeld(uint8_t tag) {
|
|||
return false;
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_COCOA_UNLOAD_CARTRIDGE_SCREEN
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
/**********************************
|
||||
* cocoa_press_unload_cartridge.h *
|
||||
**********************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2020 - Cocoa Press *
|
||||
* *
|
||||
* 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_COCOA_UNLOAD_CARTRIDGE_SCREEN
|
||||
#define FTDI_COCOA_UNLOAD_CARTRIDGE_SCREEN_CLASS UnloadCartridgeScreen
|
||||
|
||||
class UnloadCartridgeScreen : public BaseScreen, public CachedScreen<UNLOAD_CARTRIDGE_SCREEN_CACHE> {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
static bool onTouchHeld(uint8_t tag);
|
||||
};
|
|
@ -21,11 +21,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_CONFIRM_ABORT_PRINT_DIALOG_BOX
|
||||
|
||||
#include "../../../../../feature/host_actions.h"
|
||||
|
||||
using namespace ExtUI;
|
||||
|
@ -50,4 +49,4 @@ bool ConfirmAbortPrintDialogBox::onTouchEnd(uint8_t tag) {
|
|||
}
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_CONFIRM_ABORT_PRINT_DIALOG_BOX
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
/************************************
|
||||
* confirm_abort_print_dialog_box.h *
|
||||
************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_CONFIRM_ABORT_PRINT_DIALOG_BOX
|
||||
#define FTDI_CONFIRM_ABORT_PRINT_DIALOG_BOX_CLASS ConfirmAbortPrintDialogBox
|
||||
|
||||
class ConfirmAbortPrintDialogBox : public DialogBoxBaseClass, public UncachedScreen {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
};
|
|
@ -21,11 +21,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if BOTH(TOUCH_UI_FTDI_EVE, CALIBRATION_GCODE)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_CONFIRM_AUTO_CALIBRATION_DIALOG_BOX
|
||||
|
||||
using namespace ExtUI;
|
||||
using namespace Theme;
|
||||
|
||||
|
@ -45,4 +44,4 @@ bool ConfirmAutoCalibrationDialogBox::onTouchEnd(uint8_t tag) {
|
|||
}
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_CONFIRM_AUTO_CALIBRATION_DIALOG_BOX
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
/*****************************************
|
||||
* confirm_auto_calibration_dialog_box.h *
|
||||
*****************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_CONFIRM_AUTO_CALIBRATION_DIALOG_BOX
|
||||
#define FTDI_CONFIRM_AUTO_CALIBRATION_DIALOG_BOX_CLASS ConfirmAutoCalibrationDialogBox
|
||||
|
||||
class ConfirmAutoCalibrationDialogBox : public DialogBoxBaseClass, public UncachedScreen {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
};
|
|
@ -21,11 +21,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_DEVELOPER_MENU)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_CONFIRM_ERASE_FLASH_DIALOG_BOX
|
||||
|
||||
#include "../archim2-flash/flash_storage.h"
|
||||
|
||||
using namespace FTDI;
|
||||
|
@ -51,4 +50,4 @@ bool ConfirmEraseFlashDialogBox::onTouchEnd(uint8_t tag) {
|
|||
}
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_CONFIRM_ERASE_FLASH_DIALOG_BOX
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
/************************************
|
||||
* confirm_erase_flash_dialog_box.h *
|
||||
************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_CONFIRM_ERASE_FLASH_DIALOG_BOX
|
||||
#define FTDI_CONFIRM_ERASE_FLASH_DIALOG_BOX_CLASS ConfirmEraseFlashDialogBox
|
||||
|
||||
class ConfirmEraseFlashDialogBox : public DialogBoxBaseClass, public UncachedScreen {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
};
|
|
@ -21,16 +21,17 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
||||
|
||||
#include "screens.h"
|
||||
#include "screen_data.h"
|
||||
|
||||
#ifdef FTDI_CONFIRM_START_PRINT_DIALOG_BOX
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace Theme;
|
||||
using namespace ExtUI;
|
||||
|
||||
constexpr static ConfirmStartPrintDialogBoxData &mydata = screen_data.ConfirmStartPrintDialogBox;
|
||||
|
||||
void ConfirmStartPrintDialogBox::onRedraw(draw_mode_t) {
|
||||
const char *filename = getLongFilename();
|
||||
char buffer[strlen_P(GET_TEXT(MSG_START_PRINT_CONFIRMATION)) + strlen(filename) + 1];
|
||||
|
@ -53,13 +54,13 @@ bool ConfirmStartPrintDialogBox::onTouchEnd(uint8_t tag) {
|
|||
|
||||
const char *ConfirmStartPrintDialogBox::getFilename(bool longName) {
|
||||
FileList files;
|
||||
files.seek(screen_data.ConfirmStartPrintDialog.file_index, true);
|
||||
files.seek(mydata.file_index, true);
|
||||
return longName ? files.longFilename() : files.shortFilename();
|
||||
}
|
||||
|
||||
void ConfirmStartPrintDialogBox::show(uint8_t file_index) {
|
||||
screen_data.ConfirmStartPrintDialog.file_index = file_index;
|
||||
mydata.file_index = file_index;
|
||||
GOTO_SCREEN(ConfirmStartPrintDialogBox);
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_CONFIRM_START_PRINT_DIALOG_BOX
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
/************************************
|
||||
* confirm_start_print_dialog_box.h *
|
||||
************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_CONFIRM_START_PRINT_DIALOG_BOX
|
||||
#define FTDI_CONFIRM_START_PRINT_DIALOG_BOX_CLASS ConfirmStartPrintDialogBox
|
||||
|
||||
struct ConfirmStartPrintDialogBoxData {
|
||||
uint8_t file_index;
|
||||
};
|
||||
|
||||
class ConfirmStartPrintDialogBox : public DialogBoxBaseClass, public UncachedScreen {
|
||||
private:
|
||||
inline static const char *getShortFilename() {return getFilename(false);}
|
||||
inline static const char *getLongFilename() {return getFilename(true);}
|
||||
|
||||
static const char *getFilename(bool longName);
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchEnd(uint8_t);
|
||||
|
||||
static void show(uint8_t file_index);
|
||||
};
|
|
@ -21,12 +21,11 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
||||
|
||||
#include "screens.h"
|
||||
#include "screen_data.h"
|
||||
|
||||
#ifdef FTDI_CONFIRM_USER_REQUEST_ALERT_BOX
|
||||
|
||||
using namespace FTDI;
|
||||
|
||||
void ConfirmUserRequestAlertBox::onRedraw(draw_mode_t mode) {
|
||||
|
@ -54,7 +53,7 @@ bool ConfirmUserRequestAlertBox::onTouchEnd(uint8_t tag) {
|
|||
void ConfirmUserRequestAlertBox::show(const char* msg) {
|
||||
drawMessage(msg);
|
||||
storeBackground();
|
||||
screen_data.AlertDialog.isError = false;
|
||||
screen_data.AlertDialogBox.isError = false;
|
||||
GOTO_SCREEN(ConfirmUserRequestAlertBox);
|
||||
}
|
||||
|
||||
|
@ -63,4 +62,4 @@ void ConfirmUserRequestAlertBox::hide() {
|
|||
GOTO_PREVIOUS();
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_CONFIRM_USER_REQUEST_ALERT_BOX
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
/************************************
|
||||
* confirm_user_request_alert_box.h *
|
||||
************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_CONFIRM_USER_REQUEST_ALERT_BOX
|
||||
#define FTDI_CONFIRM_USER_REQUEST_ALERT_BOX_CLASS ConfirmUserRequestAlertBox
|
||||
|
||||
class ConfirmUserRequestAlertBox : public AlertDialogBox {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchEnd(uint8_t);
|
||||
static void hide();
|
||||
static void show(const char*);
|
||||
static void onIdle();
|
||||
};
|
|
@ -21,11 +21,10 @@
|
|||
*/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if BOTH(TOUCH_UI_FTDI_EVE, CUSTOM_USER_MENUS) && NONE(TOUCH_UI_LULZBOT_BIO, TOUCH_UI_COCOA_PRESS)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_CUSTOM_USER_MENUS
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace ExtUI;
|
||||
using namespace Theme;
|
||||
|
@ -212,4 +211,4 @@ bool CustomUserMenus::onTouchEnd(uint8_t tag) {
|
|||
return true;
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE && CUSTOM_USER_MENUS && !TOUCH_UI_LULZBOT_BIO && !TOUCH_UI_COCOA_PRESS
|
||||
#endif // FTDI_CUSTOM_USER_MENUS
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
/**
|
||||
* Marlin 3D Printer Firmware
|
||||
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
||||
*
|
||||
* Based on Sprinter and grbl.
|
||||
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_CUSTOM_USER_MENUS
|
||||
#define FTDI_CUSTOM_USER_MENUS_CLASS CustomUserMenus
|
||||
|
||||
class CustomUserMenus : public BaseScreen, public CachedScreen<CUSTOM_USER_MENUS_SCREEN_CACHE> {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
};
|
|
@ -21,11 +21,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_DEFAULT_ACCELERATION_SCREEN
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace ExtUI;
|
||||
using namespace Theme;
|
||||
|
@ -60,4 +59,4 @@ bool DefaultAccelerationScreen::onTouchHeld(uint8_t tag) {
|
|||
return true;
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_DEFAULT_ACCELERATION_SCREEN
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
/*********************************
|
||||
* default_acceleration_screen.h *
|
||||
*********************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_DEFAULT_ACCELERATION_SCREEN
|
||||
#define FTDI_DEFAULT_ACCELERATION_SCREEN_CLASS DefaultAccelerationScreen
|
||||
|
||||
class DefaultAccelerationScreen : public BaseNumericAdjustmentScreen, public CachedScreen<DEFAULT_ACCELERATION_SCREEN_CACHE> {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchHeld(uint8_t tag);
|
||||
};
|
|
@ -21,11 +21,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_DEVELOPER_MENU)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_DEVELOPER_MENU
|
||||
|
||||
#include "../archim2-flash/flash_storage.h"
|
||||
|
||||
using namespace FTDI;
|
||||
|
@ -147,4 +146,4 @@ bool DeveloperMenu::onTouchEnd(uint8_t tag) {
|
|||
return true;
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_DEVELOPER_MENU
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
/********************
|
||||
* developer_menu.h *
|
||||
********************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_DEVELOPER_MENU
|
||||
#define FTDI_DEVELOPER_MENU_CLASS DeveloperMenu
|
||||
|
||||
class DeveloperMenu : public BaseScreen, public UncachedScreen {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
};
|
|
@ -21,11 +21,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_DIALOG_BOX_BASE_CLASS
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace Theme;
|
||||
|
||||
|
@ -84,4 +83,4 @@ void DialogBoxBaseClass::onIdle() {
|
|||
reset_menu_timeout();
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_DIALOG_BOX_BASE_CLASS
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
/***************************
|
||||
* dialog_box_base_class.h *
|
||||
***************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_DIALOG_BOX_BASE_CLASS
|
||||
#define FTDI_DIALOG_BOX_BASE_CLASS_CLASS DialogBoxBaseClass
|
||||
|
||||
class DialogBoxBaseClass : public BaseScreen {
|
||||
protected:
|
||||
template<typename T> static void drawMessage(const T, int16_t font = 0);
|
||||
static void drawYesNoButtons(uint8_t default_btn = 0);
|
||||
static void drawOkayButton();
|
||||
static void drawSpinner();
|
||||
static void drawButton(const progmem_str);
|
||||
|
||||
static void onRedraw(draw_mode_t) {};
|
||||
public:
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
static void onIdle();
|
||||
};
|
|
@ -21,11 +21,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_DISPLAY_TUNING_SCREEN
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace Theme;
|
||||
|
||||
|
@ -58,4 +57,4 @@ bool DisplayTuningScreen::onTouchHeld(uint8_t tag) {
|
|||
return true;
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_DISPLAY_TUNING_SCREEN
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
/***************************
|
||||
* display_tuning_screen.h *
|
||||
***************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_DISPLAY_TUNING_SCREEN
|
||||
#define FTDI_DISPLAY_TUNING_SCREEN_CLASS DisplayTuningScreen
|
||||
|
||||
class DisplayTuningScreen : public BaseNumericAdjustmentScreen, public CachedScreen<DISPLAY_TIMINGS_SCREEN_CACHE> {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchHeld(uint8_t tag);
|
||||
};
|
|
@ -21,11 +21,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_ENDSTOP_STATE_SCREEN
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace Theme;
|
||||
using namespace ExtUI;
|
||||
|
@ -149,4 +148,4 @@ void EndstopStatesScreen::onIdle() {
|
|||
BaseScreen::onIdle();
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_ENDSTOP_STATE_SCREEN
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
/**************************
|
||||
* endstop_state_screen.h *
|
||||
**************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_ENDSTOP_STATE_SCREEN
|
||||
#define FTDI_ENDSTOP_STATE_SCREEN_CLASS EndstopStatesScreen
|
||||
|
||||
class EndstopStatesScreen : public BaseScreen, public UncachedScreen {
|
||||
public:
|
||||
static void onEntry();
|
||||
static void onExit();
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
static void onIdle();
|
||||
};
|
|
@ -21,11 +21,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_FEEDRATE_PERCENT_SCREEN
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace ExtUI;
|
||||
|
||||
|
@ -49,4 +48,4 @@ bool FeedratePercentScreen::onTouchHeld(uint8_t tag) {
|
|||
return true;
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_FEEDRATE_PERCENT_SCREEN
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
/*****************************
|
||||
* feedrate_percent_screen.h *
|
||||
*****************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_FEEDRATE_PERCENT_SCREEN
|
||||
#define FTDI_FEEDRATE_PERCENT_SCREEN_CLASS FeedratePercentScreen
|
||||
|
||||
class FeedratePercentScreen : public BaseNumericAdjustmentScreen, public CachedScreen<MAX_FEEDRATE_SCREEN_CACHE> {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchHeld(uint8_t tag);
|
||||
};
|
|
@ -21,11 +21,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if ENABLED(TOUCH_UI_FTDI_EVE) && ANY(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_FILAMENT_MENU
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace ExtUI;
|
||||
using namespace Theme;
|
||||
|
@ -82,4 +81,4 @@ bool FilamentMenu::onTouchEnd(uint8_t tag) {
|
|||
return true;
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_FILAMENT_MENU
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
/*******************
|
||||
* filament_menu.h *
|
||||
*******************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_FILAMENT_MENU
|
||||
#define FTDI_FILAMENT_MENU_CLASS FilamentMenu
|
||||
|
||||
class FilamentMenu : public BaseNumericAdjustmentScreen, public CachedScreen<FILAMENT_MENU_CACHE> {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
};
|
|
@ -21,11 +21,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if BOTH(TOUCH_UI_FTDI_EVE, FILAMENT_RUNOUT_SENSOR)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_FILAMENT_RUNOUT_SCREEN
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace ExtUI;
|
||||
using namespace Theme;
|
||||
|
@ -62,4 +61,4 @@ bool FilamentRunoutScreen::onTouchHeld(uint8_t tag) {
|
|||
return true;
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_FILAMENT_RUNOUT_SCREEN
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
/****************************
|
||||
* filament_runout_screen.h *
|
||||
****************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_FILAMENT_RUNOUT_SCREEN
|
||||
#define FTDI_FILAMENT_RUNOUT_SCREEN_CLASS FilamentRunoutScreen
|
||||
|
||||
class FilamentRunoutScreen : public BaseNumericAdjustmentScreen, public CachedScreen<FILAMENT_RUNOUT_SCREEN_CACHE> {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchHeld(uint8_t tag);
|
||||
};
|
|
@ -21,19 +21,20 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if BOTH(TOUCH_UI_FTDI_EVE, SDSUPPORT)
|
||||
|
||||
#include "screens.h"
|
||||
#include "screen_data.h"
|
||||
|
||||
#ifdef FTDI_FILES_SCREEN
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace ExtUI;
|
||||
using namespace Theme;
|
||||
|
||||
constexpr static FilesScreenData &mydata = screen_data.FilesScreen;
|
||||
|
||||
void FilesScreen::onEntry() {
|
||||
screen_data.Files.cur_page = 0;
|
||||
screen_data.Files.selected_tag = 0xFF;
|
||||
mydata.cur_page = 0;
|
||||
mydata.selected_tag = 0xFF;
|
||||
#if ENABLED(SCROLL_LONG_FILENAMES) && (FTDI_API_LEVEL >= 810)
|
||||
CLCD::mem_write_32(CLCD::REG::MACRO_0,DL::NOP);
|
||||
#endif
|
||||
|
@ -50,21 +51,21 @@ const char *FilesScreen::getSelectedFilename(bool longName) {
|
|||
void FilesScreen::drawSelectedFile() {
|
||||
FileList files;
|
||||
files.seek(getSelectedFileIndex(), true);
|
||||
screen_data.Files.flags.is_dir = files.isDir();
|
||||
mydata.flags.is_dir = files.isDir();
|
||||
drawFileButton(
|
||||
files.filename(),
|
||||
screen_data.Files.selected_tag,
|
||||
screen_data.Files.flags.is_dir,
|
||||
mydata.selected_tag,
|
||||
mydata.flags.is_dir,
|
||||
true
|
||||
);
|
||||
}
|
||||
|
||||
uint16_t FilesScreen::getSelectedFileIndex() {
|
||||
return getFileForTag(screen_data.Files.selected_tag);
|
||||
return getFileForTag(mydata.selected_tag);
|
||||
}
|
||||
|
||||
uint16_t FilesScreen::getFileForTag(uint8_t tag) {
|
||||
return screen_data.Files.cur_page * files_per_page + tag - 2;
|
||||
return mydata.cur_page * files_per_page + tag - 2;
|
||||
}
|
||||
|
||||
#if ENABLED(TOUCH_UI_PORTRAIT)
|
||||
|
@ -106,15 +107,15 @@ void FilesScreen::drawFileButton(const char* filename, uint8_t tag, bool is_dir,
|
|||
|
||||
void FilesScreen::drawFileList() {
|
||||
FileList files;
|
||||
screen_data.Files.num_page = max(1,ceil(float(files.count()) / files_per_page));
|
||||
screen_data.Files.cur_page = min(screen_data.Files.cur_page, screen_data.Files.num_page-1);
|
||||
screen_data.Files.flags.is_root = files.isAtRootDir();
|
||||
mydata.num_page = max(1,ceil(float(files.count()) / files_per_page));
|
||||
mydata.cur_page = min(mydata.cur_page, mydata.num_page-1);
|
||||
mydata.flags.is_root = files.isAtRootDir();
|
||||
|
||||
#undef MARGIN_T
|
||||
#undef MARGIN_B
|
||||
#define MARGIN_T 0
|
||||
#define MARGIN_B 0
|
||||
uint16_t fileIndex = screen_data.Files.cur_page * files_per_page;
|
||||
uint16_t fileIndex = mydata.cur_page * files_per_page;
|
||||
for (uint8_t i = 0; i < files_per_page; i++, fileIndex++) {
|
||||
if (files.seek(fileIndex)) {
|
||||
drawFileButton(files.filename(), getTagForLine(i), files.isDir(), false);
|
||||
|
@ -126,8 +127,8 @@ void FilesScreen::drawFileList() {
|
|||
}
|
||||
|
||||
void FilesScreen::drawHeader() {
|
||||
const bool prev_enabled = screen_data.Files.cur_page > 0;
|
||||
const bool next_enabled = screen_data.Files.cur_page < (screen_data.Files.num_page - 1);
|
||||
const bool prev_enabled = mydata.cur_page > 0;
|
||||
const bool next_enabled = mydata.cur_page < (mydata.num_page - 1);
|
||||
|
||||
#undef MARGIN_T
|
||||
#undef MARGIN_B
|
||||
|
@ -136,7 +137,7 @@ void FilesScreen::drawHeader() {
|
|||
|
||||
char str[16];
|
||||
sprintf_P(str, PSTR("Page %d of %d"),
|
||||
screen_data.Files.cur_page + 1, screen_data.Files.num_page);
|
||||
mydata.cur_page + 1, mydata.num_page);
|
||||
|
||||
CommandProcessor cmd;
|
||||
cmd.colors(normal_btn)
|
||||
|
@ -158,8 +159,8 @@ void FilesScreen::drawFooter() {
|
|||
#define MARGIN_T 5
|
||||
#define MARGIN_B 5
|
||||
#endif
|
||||
const bool has_selection = screen_data.Files.selected_tag != 0xFF;
|
||||
const uint8_t back_tag = screen_data.Files.flags.is_root ? 240 : 245;
|
||||
const bool has_selection = mydata.selected_tag != 0xFF;
|
||||
const uint8_t back_tag = mydata.flags.is_root ? 240 : 245;
|
||||
const uint8_t y = GRID_ROWS - footer_h + 1;
|
||||
const uint8_t h = footer_h;
|
||||
|
||||
|
@ -171,7 +172,7 @@ void FilesScreen::drawFooter() {
|
|||
.enabled(has_selection)
|
||||
.colors(has_selection ? action_btn : normal_btn);
|
||||
|
||||
if (screen_data.Files.flags.is_dir)
|
||||
if (mydata.flags.is_dir)
|
||||
cmd.tag(244).button(BTN_POS(1, y), BTN_SIZE(3,h), GET_TEXT_F(MSG_BUTTON_OPEN));
|
||||
else
|
||||
cmd.tag(243).button(BTN_POS(1, y), BTN_SIZE(3,h), GET_TEXT_F(MSG_BUTTON_PRINT));
|
||||
|
@ -186,8 +187,8 @@ void FilesScreen::onRedraw(draw_mode_t what) {
|
|||
}
|
||||
|
||||
void FilesScreen::gotoPage(uint8_t page) {
|
||||
screen_data.Files.selected_tag = 0xFF;
|
||||
screen_data.Files.cur_page = page;
|
||||
mydata.selected_tag = 0xFF;
|
||||
mydata.cur_page = page;
|
||||
CommandProcessor cmd;
|
||||
cmd.cmd(CMD_DLSTART)
|
||||
.cmd(CLEAR_COLOR_RGB(bg_color))
|
||||
|
@ -201,13 +202,13 @@ bool FilesScreen::onTouchEnd(uint8_t tag) {
|
|||
switch (tag) {
|
||||
case 240: GOTO_PREVIOUS(); return true;
|
||||
case 241:
|
||||
if (screen_data.Files.cur_page > 0) {
|
||||
gotoPage(screen_data.Files.cur_page-1);
|
||||
if (mydata.cur_page > 0) {
|
||||
gotoPage(mydata.cur_page-1);
|
||||
}
|
||||
break;
|
||||
case 242:
|
||||
if (screen_data.Files.cur_page < (screen_data.Files.num_page-1)) {
|
||||
gotoPage(screen_data.Files.cur_page+1);
|
||||
if (mydata.cur_page < (mydata.num_page-1)) {
|
||||
gotoPage(mydata.cur_page+1);
|
||||
}
|
||||
break;
|
||||
case 243:
|
||||
|
@ -229,18 +230,18 @@ bool FilesScreen::onTouchEnd(uint8_t tag) {
|
|||
break;
|
||||
default:
|
||||
if (tag < 240) {
|
||||
screen_data.Files.selected_tag = tag;
|
||||
mydata.selected_tag = tag;
|
||||
#if ENABLED(SCROLL_LONG_FILENAMES) && (FTDI_API_LEVEL >= 810)
|
||||
if (FTDI::ftdi_chip >= 810) {
|
||||
const char *longFilename = getSelectedLongFilename();
|
||||
if (longFilename[0]) {
|
||||
CommandProcessor cmd;
|
||||
uint16_t text_width = cmd.font(font_medium).text_width(longFilename);
|
||||
screen_data.Files.scroll_pos = 0;
|
||||
mydata.scroll_pos = 0;
|
||||
if (text_width > display_width)
|
||||
screen_data.Files.scroll_max = text_width - display_width + MARGIN_L + MARGIN_R;
|
||||
mydata.scroll_max = text_width - display_width + MARGIN_L + MARGIN_R;
|
||||
else
|
||||
screen_data.Files.scroll_max = 0;
|
||||
mydata.scroll_max = 0;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
@ -254,11 +255,11 @@ void FilesScreen::onIdle() {
|
|||
#if ENABLED(SCROLL_LONG_FILENAMES) && (FTDI_API_LEVEL >= 810)
|
||||
if (FTDI::ftdi_chip >= 810) {
|
||||
CLCD::mem_write_32(CLCD::REG::MACRO_0,
|
||||
VERTEX_TRANSLATE_X(-int32_t(screen_data.Files.scroll_pos)));
|
||||
if (screen_data.Files.scroll_pos < screen_data.Files.scroll_max * 16)
|
||||
screen_data.Files.scroll_pos++;
|
||||
VERTEX_TRANSLATE_X(-int32_t(mydata.scroll_pos)));
|
||||
if (mydata.scroll_pos < mydata.scroll_max * 16)
|
||||
mydata.scroll_pos++;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_FILES_SCREEN
|
||||
|
|
|
@ -0,0 +1,75 @@
|
|||
/******************
|
||||
* files_screen.h *
|
||||
******************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_FILES_SCREEN
|
||||
#define FTDI_FILES_SCREEN_CLASS FilesScreen
|
||||
|
||||
struct FilesScreenData {
|
||||
struct {
|
||||
uint8_t is_dir : 1;
|
||||
uint8_t is_root : 1;
|
||||
} flags;
|
||||
uint8_t selected_tag;
|
||||
uint8_t num_page;
|
||||
uint8_t cur_page;
|
||||
#if ENABLED(SCROLL_LONG_FILENAMES) && (FTDI_API_LEVEL >= 810)
|
||||
uint16_t scroll_pos;
|
||||
uint16_t scroll_max;
|
||||
#endif
|
||||
};
|
||||
|
||||
class FilesScreen : public BaseScreen, public CachedScreen<FILES_SCREEN_CACHE, FILE_SCREEN_DL_SIZE> {
|
||||
private:
|
||||
#if ENABLED(TOUCH_UI_PORTRAIT)
|
||||
static constexpr uint8_t header_h = 2;
|
||||
static constexpr uint8_t footer_h = 2;
|
||||
static constexpr uint8_t files_per_page = 11;
|
||||
#else
|
||||
static constexpr uint8_t header_h = 1;
|
||||
static constexpr uint8_t footer_h = 1;
|
||||
static constexpr uint8_t files_per_page = 6;
|
||||
#endif
|
||||
|
||||
static uint8_t getTagForLine(uint8_t line) {return line + 2;}
|
||||
static uint8_t getLineForTag(uint8_t tag) {return tag - 2;}
|
||||
static uint16_t getFileForTag(uint8_t tag);
|
||||
static uint16_t getSelectedFileIndex();
|
||||
|
||||
inline static const char *getSelectedShortFilename() {return getSelectedFilename(false);}
|
||||
inline static const char *getSelectedLongFilename() {return getSelectedFilename(true);}
|
||||
static const char *getSelectedFilename(bool longName);
|
||||
|
||||
static void drawFileButton(const char* filename, uint8_t tag, bool is_dir, bool is_highlighted);
|
||||
static void drawFileList();
|
||||
static void drawHeader();
|
||||
static void drawFooter();
|
||||
static void drawSelectedFile();
|
||||
|
||||
static void gotoPage(uint8_t);
|
||||
public:
|
||||
static void onEntry();
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
static void onIdle();
|
||||
};
|
|
@ -21,12 +21,11 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
||||
|
||||
#include "screens.h"
|
||||
#include "screen_data.h"
|
||||
|
||||
#ifdef FTDI_INTERFACE_SETTINGS_SCREEN
|
||||
|
||||
#include "../archim2-flash/flash_storage.h"
|
||||
|
||||
#include "../../../../../module/settings.h"
|
||||
|
@ -42,13 +41,14 @@ using namespace ExtUI;
|
|||
using namespace Theme;
|
||||
|
||||
constexpr bool PERSISTENT_STORE_SUCCESS = false; // persistentStore uses true for error
|
||||
constexpr static InterfaceSettingsScreenData &mydata = screen_data.InterfaceSettingsScreen;
|
||||
|
||||
void InterfaceSettingsScreen::onStartup() {
|
||||
}
|
||||
|
||||
void InterfaceSettingsScreen::onEntry() {
|
||||
screen_data.InterfaceSettings.brightness = CLCD::get_brightness();
|
||||
screen_data.InterfaceSettings.volume = SoundPlayer::get_volume();
|
||||
mydata.brightness = CLCD::get_brightness();
|
||||
mydata.volume = SoundPlayer::get_volume();
|
||||
BaseScreen::onEntry();
|
||||
}
|
||||
|
||||
|
@ -96,9 +96,9 @@ void InterfaceSettingsScreen::onRedraw(draw_mode_t what) {
|
|||
#define EDGE_R 30
|
||||
.colors(ui_slider)
|
||||
#if DISABLED(LCD_FYSETC_TFT81050)
|
||||
.tag(2).slider(BTN_POS(3,2), BTN_SIZE(2,1), screen_data.InterfaceSettings.brightness, 128)
|
||||
.tag(2).slider(BTN_POS(3,2), BTN_SIZE(2,1), mydata.brightness, 128)
|
||||
#endif
|
||||
.tag(3).slider(BTN_POS(3,3), BTN_SIZE(2,1), screen_data.InterfaceSettings.volume, 0xFF)
|
||||
.tag(3).slider(BTN_POS(3,3), BTN_SIZE(2,1), mydata.volume, 0xFF)
|
||||
.colors(ui_toggle)
|
||||
.tag(4).toggle2(BTN_POS(3,4), BTN_SIZE(w,1), GET_TEXT_F(MSG_NO), GET_TEXT_F(MSG_YES), LockScreen::is_enabled())
|
||||
#if DISABLED(TOUCH_UI_NO_BOOTSCREEN)
|
||||
|
@ -161,13 +161,13 @@ void InterfaceSettingsScreen::onIdle() {
|
|||
CommandProcessor cmd;
|
||||
switch (cmd.track_tag(value)) {
|
||||
case 2:
|
||||
screen_data.InterfaceSettings.brightness = max(11, (value * 128UL) / 0xFFFF);
|
||||
CLCD::set_brightness(screen_data.InterfaceSettings.brightness);
|
||||
mydata.brightness = max(11, (value * 128UL) / 0xFFFF);
|
||||
CLCD::set_brightness(mydata.brightness);
|
||||
SaveSettingsDialogBox::settingsChanged();
|
||||
break;
|
||||
case 3:
|
||||
screen_data.InterfaceSettings.volume = value >> 8;
|
||||
SoundPlayer::set_volume(screen_data.InterfaceSettings.volume);
|
||||
mydata.volume = value >> 8;
|
||||
SoundPlayer::set_volume(mydata.volume);
|
||||
SaveSettingsDialogBox::settingsChanged();
|
||||
break;
|
||||
default:
|
||||
|
@ -288,4 +288,4 @@ void InterfaceSettingsScreen::loadSettings(const char *buff) {
|
|||
}
|
||||
#endif
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_INTERFACE_SETTINGS_SCREEN
|
||||
|
|
|
@ -0,0 +1,67 @@
|
|||
/*******************************
|
||||
* interface_settings_screen.h *
|
||||
*******************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_INTERFACE_SETTINGS_SCREEN
|
||||
#define FTDI_INTERFACE_SETTINGS_SCREEN_CLASS InterfaceSettingsScreen
|
||||
|
||||
struct InterfaceSettingsScreenData {
|
||||
uint8_t volume;
|
||||
uint8_t brightness;
|
||||
};
|
||||
|
||||
class InterfaceSettingsScreen : public BaseScreen, public CachedScreen<INTERFACE_SETTINGS_SCREEN_CACHE> {
|
||||
private:
|
||||
struct persistent_data_t {
|
||||
uint32_t touch_transform_a;
|
||||
uint32_t touch_transform_b;
|
||||
uint32_t touch_transform_c;
|
||||
uint32_t touch_transform_d;
|
||||
uint32_t touch_transform_e;
|
||||
uint32_t touch_transform_f;
|
||||
uint16_t passcode;
|
||||
uint8_t display_brightness;
|
||||
int8_t display_h_offset_adj;
|
||||
int8_t display_v_offset_adj;
|
||||
uint8_t sound_volume;
|
||||
uint8_t bit_flags;
|
||||
uint8_t event_sounds[InterfaceSoundsScreen::NUM_EVENTS];
|
||||
};
|
||||
|
||||
public:
|
||||
#ifdef ARCHIM2_SPI_FLASH_EEPROM_BACKUP_SIZE
|
||||
static bool backupEEPROM();
|
||||
#endif
|
||||
|
||||
static void saveSettings(char *);
|
||||
static void loadSettings(const char *);
|
||||
static void defaultSettings();
|
||||
static void failSafeSettings();
|
||||
|
||||
static void onStartup();
|
||||
static void onEntry();
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchStart(uint8_t tag);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
static void onIdle();
|
||||
};
|
|
@ -21,12 +21,11 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
||||
|
||||
#include "screens.h"
|
||||
#include "screen_data.h"
|
||||
|
||||
#ifdef FTDI_INTERFACE_SOUNDS_SCREEN
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace Theme;
|
||||
using namespace ExtUI;
|
||||
|
@ -93,7 +92,7 @@ void InterfaceSoundsScreen::onRedraw(draw_mode_t what) {
|
|||
cmd.font(font_medium)
|
||||
.colors(ui_slider)
|
||||
#define EDGE_R 30
|
||||
.tag(2).slider (BTN_POS(3,2), BTN_SIZE(2,1), screen_data.InterfaceSettings.volume, 0xFF)
|
||||
.tag(2).slider (BTN_POS(3,2), BTN_SIZE(2,1), screen_data.InterfaceSettingsScreen.volume, 0xFF)
|
||||
.colors(ui_toggle)
|
||||
.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
|
||||
|
@ -108,7 +107,7 @@ void InterfaceSoundsScreen::onRedraw(draw_mode_t what) {
|
|||
}
|
||||
|
||||
void InterfaceSoundsScreen::onEntry() {
|
||||
screen_data.InterfaceSettings.volume = SoundPlayer::get_volume();
|
||||
screen_data.InterfaceSettingsScreen.volume = SoundPlayer::get_volume();
|
||||
BaseScreen::onEntry();
|
||||
}
|
||||
|
||||
|
@ -145,8 +144,8 @@ void InterfaceSoundsScreen::onIdle() {
|
|||
CommandProcessor cmd;
|
||||
switch (cmd.track_tag(value)) {
|
||||
case 2:
|
||||
screen_data.InterfaceSettings.volume = value >> 8;
|
||||
SoundPlayer::set_volume(screen_data.InterfaceSettings.volume);
|
||||
screen_data.InterfaceSettingsScreen.volume = value >> 8;
|
||||
SoundPlayer::set_volume(screen_data.InterfaceSettingsScreen.volume);
|
||||
SaveSettingsDialogBox::settingsChanged();
|
||||
break;
|
||||
default:
|
||||
|
@ -157,4 +156,4 @@ void InterfaceSoundsScreen::onIdle() {
|
|||
BaseScreen::onIdle();
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_INTERFACE_SOUNDS_SCREEN
|
||||
|
|
|
@ -0,0 +1,57 @@
|
|||
/*****************************
|
||||
* interface_sounds_screen.h *
|
||||
*****************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_INTERFACE_SOUNDS_SCREEN
|
||||
#define FTDI_INTERFACE_SOUNDS_SCREEN_CLASS InterfaceSoundsScreen
|
||||
|
||||
class InterfaceSoundsScreen : public BaseScreen, public CachedScreen<INTERFACE_SOUNDS_SCREEN_CACHE> {
|
||||
public:
|
||||
enum event_t {
|
||||
PRINTING_STARTED = 0,
|
||||
PRINTING_FINISHED = 1,
|
||||
PRINTING_FAILED = 2,
|
||||
|
||||
NUM_EVENTS
|
||||
};
|
||||
|
||||
private:
|
||||
friend class InterfaceSettingsScreen;
|
||||
|
||||
static uint8_t event_sounds[NUM_EVENTS];
|
||||
|
||||
static const char* getSoundSelection(event_t);
|
||||
static void toggleSoundSelection(event_t);
|
||||
static void setSoundSelection(event_t, const FTDI::SoundPlayer::sound_t*);
|
||||
|
||||
public:
|
||||
static void playEventSound(event_t, FTDI::play_mode_t = FTDI::PLAY_ASYNCHRONOUS);
|
||||
|
||||
static void defaultSettings();
|
||||
|
||||
static void onEntry();
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchStart(uint8_t tag);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
static void onIdle();
|
||||
};
|
|
@ -21,11 +21,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if BOTH(TOUCH_UI_FTDI_EVE, CLASSIC_JERK)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_JERK_SCREEN
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace ExtUI;
|
||||
using namespace Theme;
|
||||
|
@ -62,4 +61,4 @@ bool JerkScreen::onTouchHeld(uint8_t tag) {
|
|||
return true;
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE && CLASSIC_JERK
|
||||
#endif // FTDI_JERK_SCREEN
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
/*****************
|
||||
* jerk_screen.h *
|
||||
*****************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_JERK_SCREEN
|
||||
#define FTDI_JERK_SCREEN_CLASS JerkScreen
|
||||
|
||||
class JerkScreen : public BaseNumericAdjustmentScreen, public CachedScreen<JERK_SCREEN_CACHE> {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchHeld(uint8_t tag);
|
||||
};
|
|
@ -1,6 +1,6 @@
|
|||
/*******************
|
||||
* boot_screen.cpp *
|
||||
*******************/
|
||||
/*********************************
|
||||
* junction_deviation_screen.cpp *
|
||||
*********************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
|
@ -21,11 +21,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if BOTH(TOUCH_UI_FTDI_EVE, HAS_JUNCTION_DEVIATION)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_JUNCTION_DEVIATION_SCREEN
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace ExtUI;
|
||||
using namespace Theme;
|
||||
|
@ -51,4 +50,4 @@ bool JunctionDeviationScreen::onTouchHeld(uint8_t tag) {
|
|||
return true;
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE && !CLASSIC_JERK
|
||||
#endif // FTDI_JUNCTION_DEVIATION_SCREEN
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
/*******************************
|
||||
* junction_deviation_screen.h *
|
||||
*******************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_JUNCTION_DEVIATION_SCREEN
|
||||
#define FTDI_JUNCTION_DEVIATION_SCREEN_CLASS JunctionDeviationScreen
|
||||
|
||||
class JunctionDeviationScreen : public BaseNumericAdjustmentScreen, public CachedScreen<JUNC_DEV_SCREEN_CACHE> {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchHeld(uint8_t tag);
|
||||
};
|
|
@ -21,11 +21,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_KILL_SCREEN
|
||||
|
||||
using namespace FTDI;
|
||||
|
||||
// The kill screen is an oddball that happens after Marlin has killed the events
|
||||
|
@ -59,4 +58,4 @@ void KillScreen::show(const char *message) {
|
|||
InterfaceSoundsScreen::playEventSound(InterfaceSoundsScreen::PRINTING_FAILED, PLAY_SYNCHRONOUS);
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_KILL_SCREEN
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
/*****************
|
||||
* kill_screen.h *
|
||||
*****************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_KILL_SCREEN
|
||||
#define FTDI_KILL_SCREEN_CLASS KillScreen
|
||||
|
||||
class KillScreen {
|
||||
// The KillScreen is behaves differently than the
|
||||
// others, so we do not bother extending UIScreen.
|
||||
public:
|
||||
static void show(const char*);
|
||||
};
|
|
@ -21,12 +21,12 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
#include "../language/language.h"
|
||||
|
||||
#if ENABLED(TOUCH_UI_FTDI_EVE) && NUM_LANGUAGES > 1
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_LANGUAGE_MENU
|
||||
|
||||
#include "../language/language.h"
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace Theme;
|
||||
|
||||
|
@ -63,4 +63,4 @@ bool LanguageMenu::onTouchEnd(uint8_t tag) {
|
|||
return false;
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_LANGUAGE_MENU
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
/*******************
|
||||
* language_menu.h *
|
||||
*******************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_LANGUAGE_MENU
|
||||
#define FTDI_LANGUAGE_MENU_CLASS LanguageMenu
|
||||
|
||||
class LanguageMenu : public BaseScreen, public UncachedScreen {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
};
|
|
@ -21,11 +21,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if BOTH(TOUCH_UI_FTDI_EVE,HAS_LEVELING)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_LEVELING_MENU
|
||||
|
||||
#if BOTH(HAS_BED_PROBE,BLTOUCH)
|
||||
#include "../../../../../feature/bltouch.h"
|
||||
#endif
|
||||
|
@ -118,4 +117,4 @@ bool LevelingMenu::onTouchEnd(uint8_t tag) {
|
|||
return true;
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE && HAS_LEVELING
|
||||
#endif // FTDI_LEVELING_MENU
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
/*******************
|
||||
* leveling_menu.h *
|
||||
*******************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_LEVELING_MENU
|
||||
#define FTDI_LEVELING_MENU_CLASS LevelingMenu
|
||||
|
||||
class LevelingMenu : public BaseScreen, public CachedScreen<LEVELING_SCREEN_CACHE> {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
};
|
|
@ -21,11 +21,10 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if BOTH(TOUCH_UI_FTDI_EVE, LIN_ADVANCE)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef FTDI_LINEAR_ADVANCE_SCREEN
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace ExtUI;
|
||||
using namespace Theme;
|
||||
|
@ -74,4 +73,4 @@ bool LinearAdvanceScreen::onTouchHeld(uint8_t tag) {
|
|||
return true;
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE
|
||||
#endif // FTDI_LINEAR_ADVANCE_SCREEN
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
/***************************
|
||||
* linear_advance_screen.h *
|
||||
***************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||
* Written By Marcio Teixeira 2018 - 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: <https://www.gnu.org/licenses/>. *
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FTDI_LINEAR_ADVANCE_SCREEN
|
||||
#define FTDI_LINEAR_ADVANCE_SCREEN_CLASS LinearAdvanceScreen
|
||||
|
||||
class LinearAdvanceScreen : public BaseNumericAdjustmentScreen, public CachedScreen<LINEAR_ADVANCE_SCREEN_CACHE> {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchHeld(uint8_t tag);
|
||||
};
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue