Refactor FTDI EVE Touch Screen (#20987)
This commit is contained in:
parent
1c19af2c8f
commit
ee66d9ccf9
@ -26,7 +26,7 @@
|
|||||||
/********************** VIRTUAL DISPATCH DATA TYPE ******************************/
|
/********************** VIRTUAL DISPATCH DATA TYPE ******************************/
|
||||||
|
|
||||||
uint8_t ScreenRef::lookupScreen(onRedraw_func_t onRedraw_ptr) {
|
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) {
|
if (GET_METHOD(type, onRedraw) == onRedraw_ptr) {
|
||||||
return type;
|
return type;
|
||||||
}
|
}
|
||||||
@ -49,7 +49,7 @@ void ScreenRef::setScreen(onRedraw_func_t onRedraw_ptr) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ScreenRef::initializeAll() {
|
void ScreenRef::initializeAll() {
|
||||||
for (uint8_t type = 0; type < functionTableSize; type++)
|
for (uint8_t type = 0; type < tableSize(); type++)
|
||||||
GET_METHOD(type, onStartup)();
|
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 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 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 {
|
class ScreenRef {
|
||||||
protected:
|
protected:
|
||||||
@ -79,14 +83,12 @@ class ScreenRef {
|
|||||||
|
|
||||||
uint8_t type = 0;
|
uint8_t type = 0;
|
||||||
static PROGMEM const table_t functionTable[];
|
static PROGMEM const table_t functionTable[];
|
||||||
static const uint8_t functionTableSize;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
uint8_t getType() {return type;}
|
static size_t tableSize();
|
||||||
|
|
||||||
void setType(uint8_t t) {
|
uint8_t getType() {return type;}
|
||||||
type = t;
|
void setType(uint8_t t) {type = t;}
|
||||||
}
|
|
||||||
|
|
||||||
uint8_t lookupScreen(onRedraw_func_t onRedraw_ptr);
|
uint8_t lookupScreen(onRedraw_func_t onRedraw_ptr);
|
||||||
|
|
||||||
|
@ -21,11 +21,10 @@
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#include "../config.h"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_ABOUT_SCREEN
|
||||||
|
|
||||||
#define GRID_COLS 4
|
#define GRID_COLS 4
|
||||||
#define GRID_ROWS 7
|
#define GRID_ROWS 7
|
||||||
|
|
||||||
@ -113,4 +112,4 @@ bool AboutScreen::onTouchEnd(uint8_t tag) {
|
|||||||
return true;
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(TOUCH_UI_FTDI_EVE) && NONE(TOUCH_UI_LULZBOT_BIO, TOUCH_UI_COCOA_PRESS)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_ADVANCED_SETTINGS_MENU
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace ExtUI;
|
using namespace ExtUI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
@ -153,4 +152,4 @@ bool AdvancedSettingsMenu::onTouchEnd(uint8_t tag) {
|
|||||||
return true;
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
#include "screen_data.h"
|
#include "screen_data.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_ALERT_DIALOG_BOX
|
||||||
|
|
||||||
|
constexpr static AlertDialogBoxData &mydata = screen_data.AlertDialogBox;
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
|
|
||||||
void AlertDialogBox::onEntry() {
|
void AlertDialogBox::onEntry() {
|
||||||
BaseScreen::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) {
|
void AlertDialogBox::onRedraw(draw_mode_t what) {
|
||||||
@ -45,7 +46,7 @@ template<typename T>
|
|||||||
void AlertDialogBox::show(const T message) {
|
void AlertDialogBox::show(const T message) {
|
||||||
drawMessage(message);
|
drawMessage(message);
|
||||||
storeBackground();
|
storeBackground();
|
||||||
screen_data.AlertDialog.isError = false;
|
mydata.isError = false;
|
||||||
GOTO_SCREEN(AlertDialogBox);
|
GOTO_SCREEN(AlertDialogBox);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -53,7 +54,7 @@ template<typename T>
|
|||||||
void AlertDialogBox::showError(const T message) {
|
void AlertDialogBox::showError(const T message) {
|
||||||
drawMessage(message);
|
drawMessage(message);
|
||||||
storeBackground();
|
storeBackground();
|
||||||
screen_data.AlertDialog.isError = true;
|
mydata.isError = true;
|
||||||
GOTO_SCREEN(AlertDialogBox);
|
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 char *);
|
||||||
template void AlertDialogBox::showError(const progmem_str);
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(TOUCH_UI_FTDI_EVE, BACKLASH_GCODE)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_BACKLASH_COMP_SCREEN
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace ExtUI;
|
using namespace ExtUI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
@ -73,4 +72,4 @@ bool BacklashCompensationScreen::onTouchHeld(uint8_t tag) {
|
|||||||
return true;
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
#include "screen_data.h"
|
#include "screen_data.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_BASE_NUMERIC_ADJ_SCREEN
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
|
|
||||||
|
constexpr static BaseNumericAdjustmentScreenData &mydata = screen_data.BaseNumericAdjustmentScreen;
|
||||||
|
|
||||||
#if ENABLED(TOUCH_UI_PORTRAIT)
|
#if ENABLED(TOUCH_UI_PORTRAIT)
|
||||||
#define GRID_COLS 13
|
#define GRID_COLS 13
|
||||||
#define GRID_ROWS 10
|
#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) {
|
BaseNumericAdjustmentScreen::widgets_t &BaseNumericAdjustmentScreen::widgets_t::precision(uint8_t decimals, precision_default_t initial) {
|
||||||
_decimals = decimals;
|
_decimals = decimals;
|
||||||
if (screen_data.BaseNumericAdjustment.increment == 0) {
|
if (mydata.increment == 0) {
|
||||||
screen_data.BaseNumericAdjustment.increment = 243 + (initial - DEFAULT_LOWEST) - _decimals;
|
mydata.increment = 243 + (initial - DEFAULT_LOWEST) - _decimals;
|
||||||
}
|
}
|
||||||
return *this;
|
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) {
|
void BaseNumericAdjustmentScreen::widgets_t::_draw_increment_btn(CommandProcessor &cmd, uint8_t, const uint8_t tag) {
|
||||||
const char *label = PSTR("?");
|
const char *label = PSTR("?");
|
||||||
uint8_t pos;
|
uint8_t pos;
|
||||||
uint8_t & increment = screen_data.BaseNumericAdjustment.increment;
|
uint8_t & increment = mydata.increment;
|
||||||
|
|
||||||
if (increment == 0) {
|
if (increment == 0) {
|
||||||
increment = tag; // Set the default value to be the first.
|
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() {
|
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();
|
BaseScreen::onEntry();
|
||||||
CommandProcessor cmd;
|
CommandProcessor cmd;
|
||||||
cmd.set_button_style_callback(nullptr);
|
cmd.set_button_style_callback(nullptr);
|
||||||
@ -367,14 +368,14 @@ void BaseNumericAdjustmentScreen::onEntry() {
|
|||||||
bool BaseNumericAdjustmentScreen::onTouchEnd(uint8_t tag) {
|
bool BaseNumericAdjustmentScreen::onTouchEnd(uint8_t tag) {
|
||||||
switch (tag) {
|
switch (tag) {
|
||||||
case 1: GOTO_PREVIOUS(); return true;
|
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);
|
default: return current_screen.onTouchHeld(tag);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
float BaseNumericAdjustmentScreen::getIncrement() {
|
float BaseNumericAdjustmentScreen::getIncrement() {
|
||||||
switch (screen_data.BaseNumericAdjustment.increment) {
|
switch (mydata.increment) {
|
||||||
case 240: return 0.001;
|
case 240: return 0.001;
|
||||||
case 241: return 0.01;
|
case 241: return 0.01;
|
||||||
case 242: return 0.1;
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_BASE_SCREEN
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
|
|
||||||
@ -87,4 +86,4 @@ void BaseScreen::reset_menu_timeout() {
|
|||||||
uint32_t BaseScreen::last_interaction;
|
uint32_t BaseScreen::last_interaction;
|
||||||
#endif
|
#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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(TOUCH_UI_FTDI_EVE, HAS_MESH)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
#include "screen_data.h"
|
#include "screen_data.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_BED_MESH_SCREEN
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
using namespace ExtUI;
|
using namespace ExtUI;
|
||||||
|
|
||||||
|
constexpr static BedMeshScreenData &mydata = screen_data.BedMeshScreen;
|
||||||
|
|
||||||
#if ENABLED(TOUCH_UI_PORTRAIT)
|
#if ENABLED(TOUCH_UI_PORTRAIT)
|
||||||
#define GRID_COLS 2
|
#define GRID_COLS 2
|
||||||
#define GRID_ROWS 10
|
#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) {
|
if (opts & USE_HIGHLIGHT) {
|
||||||
const uint8_t tag = screen_data.BedMesh.highlightedTag;
|
const uint8_t tag = mydata.highlightedTag;
|
||||||
uint8_t x, y;
|
uint8_t x, y;
|
||||||
if (tagToPoint(tag, x, y)) {
|
if (tagToPoint(tag, x, y)) {
|
||||||
cmd.cmd(COLOR_A(128))
|
cmd.cmd(COLOR_A(128))
|
||||||
@ -221,16 +222,16 @@ bool BedMeshScreen::tagToPoint(uint8_t tag, uint8_t &x, uint8_t &y) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void BedMeshScreen::onEntry() {
|
void BedMeshScreen::onEntry() {
|
||||||
screen_data.BedMesh.highlightedTag = 0;
|
mydata.highlightedTag = 0;
|
||||||
screen_data.BedMesh.count = GRID_MAX_POINTS;
|
mydata.count = GRID_MAX_POINTS;
|
||||||
screen_data.BedMesh.message = screen_data.BedMesh.MSG_NONE;
|
mydata.message = mydata.MSG_NONE;
|
||||||
BaseScreen::onEntry();
|
BaseScreen::onEntry();
|
||||||
}
|
}
|
||||||
|
|
||||||
float BedMeshScreen::getHightlightedValue() {
|
float BedMeshScreen::getHightlightedValue() {
|
||||||
if (screen_data.BedMesh.highlightedTag) {
|
if (mydata.highlightedTag) {
|
||||||
xy_uint8_t pt;
|
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 ExtUI::getMeshPoint(pt);
|
||||||
}
|
}
|
||||||
return NAN;
|
return NAN;
|
||||||
@ -253,9 +254,9 @@ void BedMeshScreen::drawHighlightedPointValue() {
|
|||||||
.tag(1).button(OKAY_POS, GET_TEXT_F(MSG_BUTTON_OKAY))
|
.tag(1).button(OKAY_POS, GET_TEXT_F(MSG_BUTTON_OKAY))
|
||||||
.tag(0);
|
.tag(0);
|
||||||
|
|
||||||
switch (screen_data.BedMesh.message) {
|
switch (mydata.message) {
|
||||||
case screen_data.BedMesh.MSG_MESH_COMPLETE: cmd.text(MESSAGE_POS, GET_TEXT_F(MSG_BED_MAPPING_DONE)); break;
|
case mydata.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;
|
case mydata.MSG_MESH_INCOMPLETE: cmd.text(MESSAGE_POS, GET_TEXT_F(MSG_BED_MAPPING_INCOMPLETE)); break;
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -277,11 +278,11 @@ void BedMeshScreen::onRedraw(draw_mode_t what) {
|
|||||||
|
|
||||||
if (what & FOREGROUND) {
|
if (what & FOREGROUND) {
|
||||||
constexpr float autoscale_max_amplitude = 0.03;
|
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) {
|
if (gotAllPoints) {
|
||||||
drawHighlightedPointValue();
|
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(),
|
BedMeshScreen::drawMesh(INSET_POS(MESH_POS), ExtUI::getMeshArray(),
|
||||||
USE_POINTS | USE_HIGHLIGHT | USE_AUTOSCALE | (gotAllPoints ? USE_COLORS : 0),
|
USE_POINTS | USE_HIGHLIGHT | USE_AUTOSCALE | (gotAllPoints ? USE_COLORS : 0),
|
||||||
autoscale_max_amplitude * levelingProgress
|
autoscale_max_amplitude * levelingProgress
|
||||||
@ -290,7 +291,7 @@ void BedMeshScreen::onRedraw(draw_mode_t what) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool BedMeshScreen::onTouchStart(uint8_t tag) {
|
bool BedMeshScreen::onTouchStart(uint8_t tag) {
|
||||||
screen_data.BedMesh.highlightedTag = tag;
|
mydata.highlightedTag = tag;
|
||||||
return true;
|
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) {
|
void BedMeshScreen::onMeshUpdate(const int8_t x, const int8_t y, const ExtUI::probe_state_t state) {
|
||||||
switch (state) {
|
switch (state) {
|
||||||
case ExtUI::MESH_START:
|
case ExtUI::MESH_START:
|
||||||
screen_data.BedMesh.count = 0;
|
mydata.count = 0;
|
||||||
screen_data.BedMesh.message = screen_data.BedMesh.MSG_NONE;
|
mydata.message = mydata.MSG_NONE;
|
||||||
break;
|
break;
|
||||||
case ExtUI::MESH_FINISH:
|
case ExtUI::MESH_FINISH:
|
||||||
if (screen_data.BedMesh.count == GRID_MAX_POINTS && ExtUI::getMeshValid())
|
if (mydata.count == GRID_MAX_POINTS && ExtUI::getMeshValid())
|
||||||
screen_data.BedMesh.message = screen_data.BedMesh.MSG_MESH_COMPLETE;
|
mydata.message = mydata.MSG_MESH_COMPLETE;
|
||||||
else
|
else
|
||||||
screen_data.BedMesh.message = screen_data.BedMesh.MSG_MESH_INCOMPLETE;
|
mydata.message = mydata.MSG_MESH_INCOMPLETE;
|
||||||
screen_data.BedMesh.count = GRID_MAX_POINTS;
|
mydata.count = GRID_MAX_POINTS;
|
||||||
break;
|
break;
|
||||||
case ExtUI::PROBE_START:
|
case ExtUI::PROBE_START:
|
||||||
screen_data.BedMesh.highlightedTag = pointToTag(x, y);
|
mydata.highlightedTag = pointToTag(x, y);
|
||||||
break;
|
break;
|
||||||
case ExtUI::PROBE_FINISH:
|
case ExtUI::PROBE_FINISH:
|
||||||
screen_data.BedMesh.count++;
|
mydata.count++;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
BedMeshScreen::onMeshUpdate(x, y, 0);
|
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() {
|
void BedMeshScreen::startMeshProbe() {
|
||||||
GOTO_SCREEN(BedMeshScreen);
|
GOTO_SCREEN(BedMeshScreen);
|
||||||
screen_data.BedMesh.count = 0;
|
mydata.count = 0;
|
||||||
injectCommands_P(PSTR(BED_LEVELING_COMMANDS));
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_LULZBOT_BIO)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_BIO_ADVANCED_SETTINGS_MENU
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
|
|
||||||
@ -134,4 +133,4 @@ bool AdvancedSettingsMenu::onTouchEnd(uint8_t tag) {
|
|||||||
return true;
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_LULZBOT_BIO)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_BIO_CONFIRM_HOME_E
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
|
|
||||||
void BioConfirmHomeE::onRedraw(draw_mode_t) {
|
void BioConfirmHomeE::onRedraw(draw_mode_t) {
|
||||||
@ -54,4 +53,4 @@ bool BioConfirmHomeE::onTouchEnd(uint8_t tag) {
|
|||||||
return true;
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_LULZBOT_BIO)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_BIO_CONFIRM_HOME_XYZ
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
|
|
||||||
void BioConfirmHomeXYZ::onRedraw(draw_mode_t) {
|
void BioConfirmHomeXYZ::onRedraw(draw_mode_t) {
|
||||||
@ -53,4 +52,4 @@ bool BioConfirmHomeXYZ::onTouchEnd(uint8_t tag) {
|
|||||||
return true;
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_LULZBOT_BIO)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_BIO_MAIN_MENU
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
|
|
||||||
@ -85,4 +84,4 @@ bool MainMenu::onTouchEnd(uint8_t tag) {
|
|||||||
return true;
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_LULZBOT_BIO)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_BIO_PRINTING_DIALOG_BOX
|
||||||
|
|
||||||
#include "../ftdi_eve_lib/extras/circular_progress.h"
|
#include "../ftdi_eve_lib/extras/circular_progress.h"
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
@ -147,4 +146,4 @@ void BioPrintingDialogBox::show() {
|
|||||||
GOTO_SCREEN(BioPrintingDialogBox);
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_LULZBOT_BIO)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_BIO_STATUS_SCREEN
|
||||||
|
|
||||||
#include "../ftdi_eve_lib/extras/poly_ui.h"
|
#include "../ftdi_eve_lib/extras/poly_ui.h"
|
||||||
|
|
||||||
#if ENABLED(TOUCH_UI_PORTRAIT)
|
#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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_LULZBOT_BIO)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_BIO_TUNE_MENU
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
using namespace ExtUI;
|
using namespace ExtUI;
|
||||||
@ -76,4 +75,4 @@ bool TuneMenu::onTouchEnd(uint8_t tag) {
|
|||||||
return true;
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_BOOT_SCREEN
|
||||||
|
|
||||||
#include "../ftdi_eve_lib/extras/poly_ui.h"
|
#include "../ftdi_eve_lib/extras/poly_ui.h"
|
||||||
#include "../archim2-flash/flash_storage.h"
|
#include "../archim2-flash/flash_storage.h"
|
||||||
|
|
||||||
@ -127,4 +126,4 @@ void BootScreen::showSplashScreen() {
|
|||||||
ExtUI::delay_ms(2500);
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(TOUCH_UI_FTDI_EVE, CASE_LIGHT_ENABLE)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_CASE_LIGHT_SCREEN
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace ExtUI;
|
using namespace ExtUI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
@ -59,4 +58,4 @@ bool CaseLightScreen::onTouchHeld(uint8_t tag) {
|
|||||||
return true;
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
#include "screen_data.h"
|
#include "screen_data.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_CHANGE_FILAMENT_SCREEN
|
||||||
|
|
||||||
using namespace ExtUI;
|
using namespace ExtUI;
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
|
|
||||||
|
constexpr static ChangeFilamentScreenData &mydata = screen_data.ChangeFilamentScreen;
|
||||||
|
|
||||||
#ifdef TOUCH_UI_PORTRAIT
|
#ifdef TOUCH_UI_PORTRAIT
|
||||||
#define GRID_COLS 2
|
#define GRID_COLS 2
|
||||||
#define GRID_ROWS 11
|
#define GRID_ROWS 11
|
||||||
@ -122,17 +123,17 @@ void ChangeFilamentScreen::drawTempGradient(uint16_t x, uint16_t y, uint16_t w,
|
|||||||
|
|
||||||
void ChangeFilamentScreen::onEntry() {
|
void ChangeFilamentScreen::onEntry() {
|
||||||
BaseScreen::onEntry();
|
BaseScreen::onEntry();
|
||||||
screen_data.ChangeFilament.e_tag = ExtUI::getActiveTool() + 10;
|
mydata.e_tag = ExtUI::getActiveTool() + 10;
|
||||||
screen_data.ChangeFilament.t_tag = 0;
|
mydata.t_tag = 0;
|
||||||
screen_data.ChangeFilament.repeat_tag = 0;
|
mydata.repeat_tag = 0;
|
||||||
screen_data.ChangeFilament.saved_extruder = getActiveTool();
|
mydata.saved_extruder = getActiveTool();
|
||||||
#if FILAMENT_UNLOAD_PURGE_LENGTH > 0
|
#if FILAMENT_UNLOAD_PURGE_LENGTH > 0
|
||||||
screen_data.ChangeFilament.need_purge = true;
|
mydata.need_purge = true;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void ChangeFilamentScreen::onExit() {
|
void ChangeFilamentScreen::onExit() {
|
||||||
setActiveTool(screen_data.ChangeFilament.saved_extruder, true);
|
setActiveTool(mydata.saved_extruder, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ChangeFilamentScreen::onRedraw(draw_mode_t what) {
|
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;
|
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));
|
cmd.text(HEATING_LBL_POS, GET_TEXT_F(MSG_HEATING));
|
||||||
} else if (getActualTemp_celsius(e) > 100) {
|
} else if (getActualTemp_celsius(e) > 100) {
|
||||||
cmd.cmd(COLOR_RGB(0xFF0000))
|
cmd.cmd(COLOR_RGB(0xFF0000))
|
||||||
@ -181,12 +182,12 @@ void ChangeFilamentScreen::onRedraw(draw_mode_t what) {
|
|||||||
|
|
||||||
#define TOG_STYLE(A) colors(A ? action_btn : normal_btn)
|
#define TOG_STYLE(A) colors(A ? action_btn : normal_btn)
|
||||||
|
|
||||||
const bool tog2 = screen_data.ChangeFilament.t_tag == 2;
|
const bool tog2 = mydata.t_tag == 2;
|
||||||
const bool tog3 = screen_data.ChangeFilament.t_tag == 3;
|
const bool tog3 = mydata.t_tag == 3;
|
||||||
const bool tog4 = screen_data.ChangeFilament.t_tag == 4;
|
const bool tog4 = mydata.t_tag == 4;
|
||||||
const bool tog10 = screen_data.ChangeFilament.e_tag == 10;
|
const bool tog10 = mydata.e_tag == 10;
|
||||||
#if HAS_MULTI_HOTEND
|
#if HAS_MULTI_HOTEND
|
||||||
const bool tog11 = screen_data.ChangeFilament.e_tag == 11;
|
const bool tog11 = mydata.e_tag == 11;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
cmd.TOG_STYLE(tog10)
|
cmd.TOG_STYLE(tog10)
|
||||||
@ -200,8 +201,8 @@ void ChangeFilamentScreen::onRedraw(draw_mode_t what) {
|
|||||||
|
|
||||||
if (!t_ok) reset_menu_timeout();
|
if (!t_ok) reset_menu_timeout();
|
||||||
|
|
||||||
const bool tog7 = screen_data.ChangeFilament.repeat_tag == 7;
|
const bool tog7 = mydata.repeat_tag == 7;
|
||||||
const bool tog8 = screen_data.ChangeFilament.repeat_tag == 8;
|
const bool tog8 = mydata.repeat_tag == 8;
|
||||||
|
|
||||||
{
|
{
|
||||||
char str[30];
|
char str[30];
|
||||||
@ -228,7 +229,7 @@ void ChangeFilamentScreen::onRedraw(draw_mode_t what) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
uint8_t ChangeFilamentScreen::getSoftenTemp() {
|
uint8_t ChangeFilamentScreen::getSoftenTemp() {
|
||||||
switch (screen_data.ChangeFilament.t_tag) {
|
switch (mydata.t_tag) {
|
||||||
case 2: return LOW_TEMP;
|
case 2: return LOW_TEMP;
|
||||||
case 3: return MED_TEMP;
|
case 3: return MED_TEMP;
|
||||||
case 4: return HIGH_TEMP;
|
case 4: return HIGH_TEMP;
|
||||||
@ -237,7 +238,7 @@ uint8_t ChangeFilamentScreen::getSoftenTemp() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ExtUI::extruder_t ChangeFilamentScreen::getExtruder() {
|
ExtUI::extruder_t ChangeFilamentScreen::getExtruder() {
|
||||||
switch (screen_data.ChangeFilament.e_tag) {
|
switch (mydata.e_tag) {
|
||||||
case 13: return ExtUI::E3;
|
case 13: return ExtUI::E3;
|
||||||
case 12: return ExtUI::E2;
|
case 12: return ExtUI::E2;
|
||||||
case 11: return ExtUI::E1;
|
case 11: return ExtUI::E1;
|
||||||
@ -248,8 +249,8 @@ ExtUI::extruder_t ChangeFilamentScreen::getExtruder() {
|
|||||||
void ChangeFilamentScreen::doPurge() {
|
void ChangeFilamentScreen::doPurge() {
|
||||||
#if FILAMENT_UNLOAD_PURGE_LENGTH > 0
|
#if FILAMENT_UNLOAD_PURGE_LENGTH > 0
|
||||||
constexpr float purge_distance_mm = FILAMENT_UNLOAD_PURGE_LENGTH;
|
constexpr float purge_distance_mm = FILAMENT_UNLOAD_PURGE_LENGTH;
|
||||||
if (screen_data.ChangeFilament.need_purge) {
|
if (mydata.need_purge) {
|
||||||
screen_data.ChangeFilament.need_purge = false;
|
mydata.need_purge = false;
|
||||||
MoveAxisScreen::setManualFeedrate(getExtruder(), purge_distance_mm);
|
MoveAxisScreen::setManualFeedrate(getExtruder(), purge_distance_mm);
|
||||||
ExtUI::setAxisPosition_mm(ExtUI::getAxisPosition_mm(getExtruder()) + purge_distance_mm, getExtruder());
|
ExtUI::setAxisPosition_mm(ExtUI::getAxisPosition_mm(getExtruder()) + purge_distance_mm, getExtruder());
|
||||||
}
|
}
|
||||||
@ -277,23 +278,23 @@ bool ChangeFilamentScreen::onTouchEnd(uint8_t tag) {
|
|||||||
case 3:
|
case 3:
|
||||||
case 4:
|
case 4:
|
||||||
// Change temperature
|
// Change temperature
|
||||||
screen_data.ChangeFilament.t_tag = tag;
|
mydata.t_tag = tag;
|
||||||
setTargetTemp_celsius(getSoftenTemp(), getExtruder());
|
setTargetTemp_celsius(getSoftenTemp(), getExtruder());
|
||||||
break;
|
break;
|
||||||
case 7:
|
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;
|
break;
|
||||||
case 8:
|
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;
|
break;
|
||||||
case 10:
|
case 10:
|
||||||
case 11:
|
case 11:
|
||||||
// Change extruder
|
// Change extruder
|
||||||
screen_data.ChangeFilament.e_tag = tag;
|
mydata.e_tag = tag;
|
||||||
screen_data.ChangeFilament.t_tag = 0;
|
mydata.t_tag = 0;
|
||||||
screen_data.ChangeFilament.repeat_tag = 0;
|
mydata.repeat_tag = 0;
|
||||||
#if FILAMENT_UNLOAD_PURGE_LENGTH > 0
|
#if FILAMENT_UNLOAD_PURGE_LENGTH > 0
|
||||||
screen_data.ChangeFilament.need_purge = true;
|
mydata.need_purge = true;
|
||||||
#endif
|
#endif
|
||||||
setActiveTool(getExtruder(), true);
|
setActiveTool(getExtruder(), true);
|
||||||
break;
|
break;
|
||||||
@ -319,7 +320,7 @@ bool ChangeFilamentScreen::onTouchHeld(uint8_t tag) {
|
|||||||
|
|
||||||
void ChangeFilamentScreen::onIdle() {
|
void ChangeFilamentScreen::onIdle() {
|
||||||
reset_menu_timeout();
|
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)) {
|
if (refresh_timer.elapsed(STATUS_UPDATE_INTERVAL)) {
|
||||||
onRefresh();
|
onRefresh();
|
||||||
refresh_timer.start();
|
refresh_timer.start();
|
||||||
@ -327,4 +328,4 @@ void ChangeFilamentScreen::onIdle() {
|
|||||||
BaseScreen::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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_COCOA_PRESS)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_COCOA_ADVANCED_SETTINGS_MENU
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace ExtUI;
|
using namespace ExtUI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
@ -99,4 +98,4 @@ bool AdvancedSettingsMenu::onTouchEnd(uint8_t tag) {
|
|||||||
}
|
}
|
||||||
return true;
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(TOUCH_UI_FTDI_EVE) && ENABLED(TOUCH_UI_COCOA_PRESS)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
#include "screen_data.h"
|
#include "screen_data.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_COCOA_LOAD_CHOCOLATE_SCREEN
|
||||||
|
|
||||||
using namespace ExtUI;
|
using namespace ExtUI;
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
@ -98,4 +97,4 @@ bool LoadChocolateScreen::onTouchHeld(uint8_t tag) {
|
|||||||
return false;
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_COCOA_PRESS)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_COCOA_MAIN_MENU
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
|
|
||||||
@ -86,4 +85,4 @@ bool MainMenu::onTouchEnd(uint8_t tag) {
|
|||||||
return true;
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_COCOA_PRESS)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
#include "screen_data.h"
|
#include "screen_data.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_COCOA_MOVE_E_SCREEN
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace ExtUI;
|
using namespace ExtUI;
|
||||||
|
|
||||||
@ -59,4 +58,4 @@ void MoveEScreen::onIdle() {
|
|||||||
}
|
}
|
||||||
BaseScreen::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 *
|
* cocoa_press_move_xyz_screen.cpp *
|
||||||
************************************/
|
***********************************/
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||||
@ -22,12 +22,11 @@
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#include "../config.h"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_COCOA_PRESS)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
#include "screen_data.h"
|
#include "screen_data.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_COCOA_MOVE_XYZ_SCREEN
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace ExtUI;
|
using namespace ExtUI;
|
||||||
|
|
||||||
@ -50,4 +49,4 @@ void MoveXYZScreen::onIdle() {
|
|||||||
}
|
}
|
||||||
BaseScreen::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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_COCOA_PRESS)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_COCOA_PREHEAT_MENU
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace ExtUI;
|
using namespace ExtUI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
@ -110,4 +109,4 @@ bool PreheatMenu::onTouchEnd(uint8_t tag) {
|
|||||||
return true;
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_COCOA_PRESS)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
#include "screen_data.h"
|
#include "screen_data.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_COCOA_PREHEAT_SCREEN
|
||||||
|
|
||||||
#include "../ftdi_eve_lib/extras/circular_progress.h"
|
#include "../ftdi_eve_lib/extras/circular_progress.h"
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace ExtUI;
|
using namespace ExtUI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
|
|
||||||
|
constexpr static PreheatTimerScreenData &mydata = screen_data.PreheatTimerScreen;
|
||||||
|
|
||||||
#define GRID_COLS 2
|
#define GRID_COLS 2
|
||||||
#define GRID_ROWS 8
|
#define GRID_ROWS 8
|
||||||
|
|
||||||
@ -54,7 +55,7 @@ void PreheatTimerScreen::draw_message(draw_mode_t what) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
uint16_t PreheatTimerScreen::secondsRemaining() {
|
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;
|
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() {
|
void PreheatTimerScreen::onEntry() {
|
||||||
screen_data.PreheatTimer.start_ms = millis();
|
mydata.start_ms = millis();
|
||||||
}
|
}
|
||||||
|
|
||||||
void PreheatTimerScreen::onRedraw(draw_mode_t what) {
|
void PreheatTimerScreen::onRedraw(draw_mode_t what) {
|
||||||
@ -169,4 +170,4 @@ void PreheatTimerScreen::onIdle() {
|
|||||||
BaseScreen::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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_COCOA_PRESS)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_COCOA_STATUS_SCREEN
|
||||||
|
|
||||||
#include "../ftdi_eve_lib/extras/poly_ui.h"
|
#include "../ftdi_eve_lib/extras/poly_ui.h"
|
||||||
|
|
||||||
#include "cocoa_press_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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(TOUCH_UI_FTDI_EVE) && ENABLED(TOUCH_UI_COCOA_PRESS)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
#include "screen_data.h"
|
#include "screen_data.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_COCOA_UNLOAD_CARTRIDGE_SCREEN
|
||||||
|
|
||||||
using namespace ExtUI;
|
using namespace ExtUI;
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
@ -98,4 +97,4 @@ bool UnloadCartridgeScreen::onTouchHeld(uint8_t tag) {
|
|||||||
return false;
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_CONFIRM_ABORT_PRINT_DIALOG_BOX
|
||||||
|
|
||||||
#include "../../../../../feature/host_actions.h"
|
#include "../../../../../feature/host_actions.h"
|
||||||
|
|
||||||
using namespace ExtUI;
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(TOUCH_UI_FTDI_EVE, CALIBRATION_GCODE)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_CONFIRM_AUTO_CALIBRATION_DIALOG_BOX
|
||||||
|
|
||||||
using namespace ExtUI;
|
using namespace ExtUI;
|
||||||
using namespace Theme;
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_DEVELOPER_MENU)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_CONFIRM_ERASE_FLASH_DIALOG_BOX
|
||||||
|
|
||||||
#include "../archim2-flash/flash_storage.h"
|
#include "../archim2-flash/flash_storage.h"
|
||||||
|
|
||||||
using namespace FTDI;
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
#include "screen_data.h"
|
#include "screen_data.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_CONFIRM_START_PRINT_DIALOG_BOX
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
using namespace ExtUI;
|
using namespace ExtUI;
|
||||||
|
|
||||||
|
constexpr static ConfirmStartPrintDialogBoxData &mydata = screen_data.ConfirmStartPrintDialogBox;
|
||||||
|
|
||||||
void ConfirmStartPrintDialogBox::onRedraw(draw_mode_t) {
|
void ConfirmStartPrintDialogBox::onRedraw(draw_mode_t) {
|
||||||
const char *filename = getLongFilename();
|
const char *filename = getLongFilename();
|
||||||
char buffer[strlen_P(GET_TEXT(MSG_START_PRINT_CONFIRMATION)) + strlen(filename) + 1];
|
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) {
|
const char *ConfirmStartPrintDialogBox::getFilename(bool longName) {
|
||||||
FileList files;
|
FileList files;
|
||||||
files.seek(screen_data.ConfirmStartPrintDialog.file_index, true);
|
files.seek(mydata.file_index, true);
|
||||||
return longName ? files.longFilename() : files.shortFilename();
|
return longName ? files.longFilename() : files.shortFilename();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ConfirmStartPrintDialogBox::show(uint8_t file_index) {
|
void ConfirmStartPrintDialogBox::show(uint8_t file_index) {
|
||||||
screen_data.ConfirmStartPrintDialog.file_index = file_index;
|
mydata.file_index = file_index;
|
||||||
GOTO_SCREEN(ConfirmStartPrintDialogBox);
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
#include "screen_data.h"
|
#include "screen_data.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_CONFIRM_USER_REQUEST_ALERT_BOX
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
|
|
||||||
void ConfirmUserRequestAlertBox::onRedraw(draw_mode_t mode) {
|
void ConfirmUserRequestAlertBox::onRedraw(draw_mode_t mode) {
|
||||||
@ -54,7 +53,7 @@ bool ConfirmUserRequestAlertBox::onTouchEnd(uint8_t tag) {
|
|||||||
void ConfirmUserRequestAlertBox::show(const char* msg) {
|
void ConfirmUserRequestAlertBox::show(const char* msg) {
|
||||||
drawMessage(msg);
|
drawMessage(msg);
|
||||||
storeBackground();
|
storeBackground();
|
||||||
screen_data.AlertDialog.isError = false;
|
screen_data.AlertDialogBox.isError = false;
|
||||||
GOTO_SCREEN(ConfirmUserRequestAlertBox);
|
GOTO_SCREEN(ConfirmUserRequestAlertBox);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -63,4 +62,4 @@ void ConfirmUserRequestAlertBox::hide() {
|
|||||||
GOTO_PREVIOUS();
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(TOUCH_UI_FTDI_EVE, CUSTOM_USER_MENUS) && NONE(TOUCH_UI_LULZBOT_BIO, TOUCH_UI_COCOA_PRESS)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_CUSTOM_USER_MENUS
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace ExtUI;
|
using namespace ExtUI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
@ -212,4 +211,4 @@ bool CustomUserMenus::onTouchEnd(uint8_t tag) {
|
|||||||
return true;
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_DEFAULT_ACCELERATION_SCREEN
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace ExtUI;
|
using namespace ExtUI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
@ -60,4 +59,4 @@ bool DefaultAccelerationScreen::onTouchHeld(uint8_t tag) {
|
|||||||
return true;
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(TOUCH_UI_FTDI_EVE, TOUCH_UI_DEVELOPER_MENU)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_DEVELOPER_MENU
|
||||||
|
|
||||||
#include "../archim2-flash/flash_storage.h"
|
#include "../archim2-flash/flash_storage.h"
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
@ -147,4 +146,4 @@ bool DeveloperMenu::onTouchEnd(uint8_t tag) {
|
|||||||
return true;
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_DIALOG_BOX_BASE_CLASS
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
|
|
||||||
@ -84,4 +83,4 @@ void DialogBoxBaseClass::onIdle() {
|
|||||||
reset_menu_timeout();
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_DISPLAY_TUNING_SCREEN
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
|
|
||||||
@ -58,4 +57,4 @@ bool DisplayTuningScreen::onTouchHeld(uint8_t tag) {
|
|||||||
return true;
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_ENDSTOP_STATE_SCREEN
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
using namespace ExtUI;
|
using namespace ExtUI;
|
||||||
@ -149,4 +148,4 @@ void EndstopStatesScreen::onIdle() {
|
|||||||
BaseScreen::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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_FEEDRATE_PERCENT_SCREEN
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace ExtUI;
|
using namespace ExtUI;
|
||||||
|
|
||||||
@ -49,4 +48,4 @@ bool FeedratePercentScreen::onTouchHeld(uint8_t tag) {
|
|||||||
return true;
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(TOUCH_UI_FTDI_EVE) && ANY(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_FILAMENT_MENU
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace ExtUI;
|
using namespace ExtUI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
@ -82,4 +81,4 @@ bool FilamentMenu::onTouchEnd(uint8_t tag) {
|
|||||||
return true;
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(TOUCH_UI_FTDI_EVE, FILAMENT_RUNOUT_SENSOR)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_FILAMENT_RUNOUT_SCREEN
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace ExtUI;
|
using namespace ExtUI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
@ -62,4 +61,4 @@ bool FilamentRunoutScreen::onTouchHeld(uint8_t tag) {
|
|||||||
return true;
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(TOUCH_UI_FTDI_EVE, SDSUPPORT)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
#include "screen_data.h"
|
#include "screen_data.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_FILES_SCREEN
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace ExtUI;
|
using namespace ExtUI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
|
|
||||||
|
constexpr static FilesScreenData &mydata = screen_data.FilesScreen;
|
||||||
|
|
||||||
void FilesScreen::onEntry() {
|
void FilesScreen::onEntry() {
|
||||||
screen_data.Files.cur_page = 0;
|
mydata.cur_page = 0;
|
||||||
screen_data.Files.selected_tag = 0xFF;
|
mydata.selected_tag = 0xFF;
|
||||||
#if ENABLED(SCROLL_LONG_FILENAMES) && (FTDI_API_LEVEL >= 810)
|
#if ENABLED(SCROLL_LONG_FILENAMES) && (FTDI_API_LEVEL >= 810)
|
||||||
CLCD::mem_write_32(CLCD::REG::MACRO_0,DL::NOP);
|
CLCD::mem_write_32(CLCD::REG::MACRO_0,DL::NOP);
|
||||||
#endif
|
#endif
|
||||||
@ -50,21 +51,21 @@ const char *FilesScreen::getSelectedFilename(bool longName) {
|
|||||||
void FilesScreen::drawSelectedFile() {
|
void FilesScreen::drawSelectedFile() {
|
||||||
FileList files;
|
FileList files;
|
||||||
files.seek(getSelectedFileIndex(), true);
|
files.seek(getSelectedFileIndex(), true);
|
||||||
screen_data.Files.flags.is_dir = files.isDir();
|
mydata.flags.is_dir = files.isDir();
|
||||||
drawFileButton(
|
drawFileButton(
|
||||||
files.filename(),
|
files.filename(),
|
||||||
screen_data.Files.selected_tag,
|
mydata.selected_tag,
|
||||||
screen_data.Files.flags.is_dir,
|
mydata.flags.is_dir,
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint16_t FilesScreen::getSelectedFileIndex() {
|
uint16_t FilesScreen::getSelectedFileIndex() {
|
||||||
return getFileForTag(screen_data.Files.selected_tag);
|
return getFileForTag(mydata.selected_tag);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint16_t FilesScreen::getFileForTag(uint8_t 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)
|
#if ENABLED(TOUCH_UI_PORTRAIT)
|
||||||
@ -106,15 +107,15 @@ void FilesScreen::drawFileButton(const char* filename, uint8_t tag, bool is_dir,
|
|||||||
|
|
||||||
void FilesScreen::drawFileList() {
|
void FilesScreen::drawFileList() {
|
||||||
FileList files;
|
FileList files;
|
||||||
screen_data.Files.num_page = max(1,ceil(float(files.count()) / files_per_page));
|
mydata.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);
|
mydata.cur_page = min(mydata.cur_page, mydata.num_page-1);
|
||||||
screen_data.Files.flags.is_root = files.isAtRootDir();
|
mydata.flags.is_root = files.isAtRootDir();
|
||||||
|
|
||||||
#undef MARGIN_T
|
#undef MARGIN_T
|
||||||
#undef MARGIN_B
|
#undef MARGIN_B
|
||||||
#define MARGIN_T 0
|
#define MARGIN_T 0
|
||||||
#define MARGIN_B 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++) {
|
for (uint8_t i = 0; i < files_per_page; i++, fileIndex++) {
|
||||||
if (files.seek(fileIndex)) {
|
if (files.seek(fileIndex)) {
|
||||||
drawFileButton(files.filename(), getTagForLine(i), files.isDir(), false);
|
drawFileButton(files.filename(), getTagForLine(i), files.isDir(), false);
|
||||||
@ -126,8 +127,8 @@ void FilesScreen::drawFileList() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void FilesScreen::drawHeader() {
|
void FilesScreen::drawHeader() {
|
||||||
const bool prev_enabled = screen_data.Files.cur_page > 0;
|
const bool prev_enabled = mydata.cur_page > 0;
|
||||||
const bool next_enabled = screen_data.Files.cur_page < (screen_data.Files.num_page - 1);
|
const bool next_enabled = mydata.cur_page < (mydata.num_page - 1);
|
||||||
|
|
||||||
#undef MARGIN_T
|
#undef MARGIN_T
|
||||||
#undef MARGIN_B
|
#undef MARGIN_B
|
||||||
@ -136,7 +137,7 @@ void FilesScreen::drawHeader() {
|
|||||||
|
|
||||||
char str[16];
|
char str[16];
|
||||||
sprintf_P(str, PSTR("Page %d of %d"),
|
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;
|
CommandProcessor cmd;
|
||||||
cmd.colors(normal_btn)
|
cmd.colors(normal_btn)
|
||||||
@ -158,8 +159,8 @@ void FilesScreen::drawFooter() {
|
|||||||
#define MARGIN_T 5
|
#define MARGIN_T 5
|
||||||
#define MARGIN_B 5
|
#define MARGIN_B 5
|
||||||
#endif
|
#endif
|
||||||
const bool has_selection = screen_data.Files.selected_tag != 0xFF;
|
const bool has_selection = mydata.selected_tag != 0xFF;
|
||||||
const uint8_t back_tag = screen_data.Files.flags.is_root ? 240 : 245;
|
const uint8_t back_tag = mydata.flags.is_root ? 240 : 245;
|
||||||
const uint8_t y = GRID_ROWS - footer_h + 1;
|
const uint8_t y = GRID_ROWS - footer_h + 1;
|
||||||
const uint8_t h = footer_h;
|
const uint8_t h = footer_h;
|
||||||
|
|
||||||
@ -171,7 +172,7 @@ void FilesScreen::drawFooter() {
|
|||||||
.enabled(has_selection)
|
.enabled(has_selection)
|
||||||
.colors(has_selection ? action_btn : normal_btn);
|
.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));
|
cmd.tag(244).button(BTN_POS(1, y), BTN_SIZE(3,h), GET_TEXT_F(MSG_BUTTON_OPEN));
|
||||||
else
|
else
|
||||||
cmd.tag(243).button(BTN_POS(1, y), BTN_SIZE(3,h), GET_TEXT_F(MSG_BUTTON_PRINT));
|
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) {
|
void FilesScreen::gotoPage(uint8_t page) {
|
||||||
screen_data.Files.selected_tag = 0xFF;
|
mydata.selected_tag = 0xFF;
|
||||||
screen_data.Files.cur_page = page;
|
mydata.cur_page = page;
|
||||||
CommandProcessor cmd;
|
CommandProcessor cmd;
|
||||||
cmd.cmd(CMD_DLSTART)
|
cmd.cmd(CMD_DLSTART)
|
||||||
.cmd(CLEAR_COLOR_RGB(bg_color))
|
.cmd(CLEAR_COLOR_RGB(bg_color))
|
||||||
@ -201,13 +202,13 @@ bool FilesScreen::onTouchEnd(uint8_t tag) {
|
|||||||
switch (tag) {
|
switch (tag) {
|
||||||
case 240: GOTO_PREVIOUS(); return true;
|
case 240: GOTO_PREVIOUS(); return true;
|
||||||
case 241:
|
case 241:
|
||||||
if (screen_data.Files.cur_page > 0) {
|
if (mydata.cur_page > 0) {
|
||||||
gotoPage(screen_data.Files.cur_page-1);
|
gotoPage(mydata.cur_page-1);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 242:
|
case 242:
|
||||||
if (screen_data.Files.cur_page < (screen_data.Files.num_page-1)) {
|
if (mydata.cur_page < (mydata.num_page-1)) {
|
||||||
gotoPage(screen_data.Files.cur_page+1);
|
gotoPage(mydata.cur_page+1);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 243:
|
case 243:
|
||||||
@ -229,18 +230,18 @@ bool FilesScreen::onTouchEnd(uint8_t tag) {
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (tag < 240) {
|
if (tag < 240) {
|
||||||
screen_data.Files.selected_tag = tag;
|
mydata.selected_tag = tag;
|
||||||
#if ENABLED(SCROLL_LONG_FILENAMES) && (FTDI_API_LEVEL >= 810)
|
#if ENABLED(SCROLL_LONG_FILENAMES) && (FTDI_API_LEVEL >= 810)
|
||||||
if (FTDI::ftdi_chip >= 810) {
|
if (FTDI::ftdi_chip >= 810) {
|
||||||
const char *longFilename = getSelectedLongFilename();
|
const char *longFilename = getSelectedLongFilename();
|
||||||
if (longFilename[0]) {
|
if (longFilename[0]) {
|
||||||
CommandProcessor cmd;
|
CommandProcessor cmd;
|
||||||
uint16_t text_width = cmd.font(font_medium).text_width(longFilename);
|
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)
|
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
|
else
|
||||||
screen_data.Files.scroll_max = 0;
|
mydata.scroll_max = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -254,11 +255,11 @@ void FilesScreen::onIdle() {
|
|||||||
#if ENABLED(SCROLL_LONG_FILENAMES) && (FTDI_API_LEVEL >= 810)
|
#if ENABLED(SCROLL_LONG_FILENAMES) && (FTDI_API_LEVEL >= 810)
|
||||||
if (FTDI::ftdi_chip >= 810) {
|
if (FTDI::ftdi_chip >= 810) {
|
||||||
CLCD::mem_write_32(CLCD::REG::MACRO_0,
|
CLCD::mem_write_32(CLCD::REG::MACRO_0,
|
||||||
VERTEX_TRANSLATE_X(-int32_t(screen_data.Files.scroll_pos)));
|
VERTEX_TRANSLATE_X(-int32_t(mydata.scroll_pos)));
|
||||||
if (screen_data.Files.scroll_pos < screen_data.Files.scroll_max * 16)
|
if (mydata.scroll_pos < mydata.scroll_max * 16)
|
||||||
screen_data.Files.scroll_pos++;
|
mydata.scroll_pos++;
|
||||||
}
|
}
|
||||||
#endif
|
#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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
#include "screen_data.h"
|
#include "screen_data.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_INTERFACE_SETTINGS_SCREEN
|
||||||
|
|
||||||
#include "../archim2-flash/flash_storage.h"
|
#include "../archim2-flash/flash_storage.h"
|
||||||
|
|
||||||
#include "../../../../../module/settings.h"
|
#include "../../../../../module/settings.h"
|
||||||
@ -42,13 +41,14 @@ using namespace ExtUI;
|
|||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
|
|
||||||
constexpr bool PERSISTENT_STORE_SUCCESS = false; // persistentStore uses true for error
|
constexpr bool PERSISTENT_STORE_SUCCESS = false; // persistentStore uses true for error
|
||||||
|
constexpr static InterfaceSettingsScreenData &mydata = screen_data.InterfaceSettingsScreen;
|
||||||
|
|
||||||
void InterfaceSettingsScreen::onStartup() {
|
void InterfaceSettingsScreen::onStartup() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void InterfaceSettingsScreen::onEntry() {
|
void InterfaceSettingsScreen::onEntry() {
|
||||||
screen_data.InterfaceSettings.brightness = CLCD::get_brightness();
|
mydata.brightness = CLCD::get_brightness();
|
||||||
screen_data.InterfaceSettings.volume = SoundPlayer::get_volume();
|
mydata.volume = SoundPlayer::get_volume();
|
||||||
BaseScreen::onEntry();
|
BaseScreen::onEntry();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -96,9 +96,9 @@ void InterfaceSettingsScreen::onRedraw(draw_mode_t what) {
|
|||||||
#define EDGE_R 30
|
#define EDGE_R 30
|
||||||
.colors(ui_slider)
|
.colors(ui_slider)
|
||||||
#if DISABLED(LCD_FYSETC_TFT81050)
|
#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
|
#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)
|
.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())
|
.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)
|
#if DISABLED(TOUCH_UI_NO_BOOTSCREEN)
|
||||||
@ -161,13 +161,13 @@ void InterfaceSettingsScreen::onIdle() {
|
|||||||
CommandProcessor cmd;
|
CommandProcessor cmd;
|
||||||
switch (cmd.track_tag(value)) {
|
switch (cmd.track_tag(value)) {
|
||||||
case 2:
|
case 2:
|
||||||
screen_data.InterfaceSettings.brightness = max(11, (value * 128UL) / 0xFFFF);
|
mydata.brightness = max(11, (value * 128UL) / 0xFFFF);
|
||||||
CLCD::set_brightness(screen_data.InterfaceSettings.brightness);
|
CLCD::set_brightness(mydata.brightness);
|
||||||
SaveSettingsDialogBox::settingsChanged();
|
SaveSettingsDialogBox::settingsChanged();
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
screen_data.InterfaceSettings.volume = value >> 8;
|
mydata.volume = value >> 8;
|
||||||
SoundPlayer::set_volume(screen_data.InterfaceSettings.volume);
|
SoundPlayer::set_volume(mydata.volume);
|
||||||
SaveSettingsDialogBox::settingsChanged();
|
SaveSettingsDialogBox::settingsChanged();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -288,4 +288,4 @@ void InterfaceSettingsScreen::loadSettings(const char *buff) {
|
|||||||
}
|
}
|
||||||
#endif
|
#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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
#include "screen_data.h"
|
#include "screen_data.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_INTERFACE_SOUNDS_SCREEN
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
using namespace ExtUI;
|
using namespace ExtUI;
|
||||||
@ -93,7 +92,7 @@ void InterfaceSoundsScreen::onRedraw(draw_mode_t what) {
|
|||||||
cmd.font(font_medium)
|
cmd.font(font_medium)
|
||||||
.colors(ui_slider)
|
.colors(ui_slider)
|
||||||
#define EDGE_R 30
|
#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)
|
.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())
|
.tag(3).toggle2 (BTN_POS(3,3), BTN_SIZE(w,1), GET_TEXT_F(MSG_NO), GET_TEXT_F(MSG_YES), UIData::touch_sounds_enabled())
|
||||||
#undef EDGE_R
|
#undef EDGE_R
|
||||||
@ -108,7 +107,7 @@ void InterfaceSoundsScreen::onRedraw(draw_mode_t what) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void InterfaceSoundsScreen::onEntry() {
|
void InterfaceSoundsScreen::onEntry() {
|
||||||
screen_data.InterfaceSettings.volume = SoundPlayer::get_volume();
|
screen_data.InterfaceSettingsScreen.volume = SoundPlayer::get_volume();
|
||||||
BaseScreen::onEntry();
|
BaseScreen::onEntry();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -145,8 +144,8 @@ void InterfaceSoundsScreen::onIdle() {
|
|||||||
CommandProcessor cmd;
|
CommandProcessor cmd;
|
||||||
switch (cmd.track_tag(value)) {
|
switch (cmd.track_tag(value)) {
|
||||||
case 2:
|
case 2:
|
||||||
screen_data.InterfaceSettings.volume = value >> 8;
|
screen_data.InterfaceSettingsScreen.volume = value >> 8;
|
||||||
SoundPlayer::set_volume(screen_data.InterfaceSettings.volume);
|
SoundPlayer::set_volume(screen_data.InterfaceSettingsScreen.volume);
|
||||||
SaveSettingsDialogBox::settingsChanged();
|
SaveSettingsDialogBox::settingsChanged();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -157,4 +156,4 @@ void InterfaceSoundsScreen::onIdle() {
|
|||||||
BaseScreen::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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(TOUCH_UI_FTDI_EVE, CLASSIC_JERK)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_JERK_SCREEN
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace ExtUI;
|
using namespace ExtUI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
@ -62,4 +61,4 @@ bool JerkScreen::onTouchHeld(uint8_t tag) {
|
|||||||
return true;
|
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. *
|
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
|
||||||
@ -21,11 +21,10 @@
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#include "../config.h"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(TOUCH_UI_FTDI_EVE, HAS_JUNCTION_DEVIATION)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_JUNCTION_DEVIATION_SCREEN
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace ExtUI;
|
using namespace ExtUI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
@ -51,4 +50,4 @@ bool JunctionDeviationScreen::onTouchHeld(uint8_t tag) {
|
|||||||
return true;
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if ENABLED(TOUCH_UI_FTDI_EVE)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_KILL_SCREEN
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
|
|
||||||
// The kill screen is an oddball that happens after Marlin has killed the events
|
// 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);
|
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 "../config.h"
|
||||||
#include "../language/language.h"
|
|
||||||
|
|
||||||
#if ENABLED(TOUCH_UI_FTDI_EVE) && NUM_LANGUAGES > 1
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_LANGUAGE_MENU
|
||||||
|
|
||||||
|
#include "../language/language.h"
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
|
|
||||||
@ -63,4 +63,4 @@ bool LanguageMenu::onTouchEnd(uint8_t tag) {
|
|||||||
return false;
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(TOUCH_UI_FTDI_EVE,HAS_LEVELING)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_LEVELING_MENU
|
||||||
|
|
||||||
#if BOTH(HAS_BED_PROBE,BLTOUCH)
|
#if BOTH(HAS_BED_PROBE,BLTOUCH)
|
||||||
#include "../../../../../feature/bltouch.h"
|
#include "../../../../../feature/bltouch.h"
|
||||||
#endif
|
#endif
|
||||||
@ -118,4 +117,4 @@ bool LevelingMenu::onTouchEnd(uint8_t tag) {
|
|||||||
return true;
|
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"
|
#include "../config.h"
|
||||||
|
|
||||||
#if BOTH(TOUCH_UI_FTDI_EVE, LIN_ADVANCE)
|
|
||||||
|
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
|
|
||||||
|
#ifdef FTDI_LINEAR_ADVANCE_SCREEN
|
||||||
|
|
||||||
using namespace FTDI;
|
using namespace FTDI;
|
||||||
using namespace ExtUI;
|
using namespace ExtUI;
|
||||||
using namespace Theme;
|
using namespace Theme;
|
||||||
@ -74,4 +73,4 @@ bool LinearAdvanceScreen::onTouchHeld(uint8_t tag) {
|
|||||||
return true;
|
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 New Issue
Block a user