Marcio Teixeira
4 years ago
committed by
Scott Lahteine
152 changed files with 3376 additions and 1368 deletions
@ -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); |
|||
}; |
@ -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); |
|||
}; |
@ -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(); |
|||
}; |
@ -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); |
|||
}; |
@ -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); |
|||
}; |
@ -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(); |
|||
}; |
@ -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(); |
|||
}; |
@ -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); |
|||
}; |
@ -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); |
|||
}; |
@ -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); |
|||
}; |
@ -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); |
|||
}; |
@ -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); |
|||
}; |
@ -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(); |
|||
|
|||
}; |
@ -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); |
|||
}; |
@ -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(); |
|||
}; |
@ -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); |
|||
}; |
@ -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(); |
|||
}; |
@ -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); |
|||
}; |
@ -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); |
|||
}; |
@ -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); |
|||
}; |
@ -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(); |
|||
}; |
@ -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(); |
|||
}; |
@ -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); |
|||
}; |
@ -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); |
|||
}; |
@ -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(); |
|||
}; |
@ -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); |
|||
}; |
@ -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); |
|||
}; |
@ -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); |
|||
}; |
@ -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); |
|||
}; |
@ -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); |
|||
}; |
@ -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(); |
|||
}; |
@ -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); |
|||
}; |
@ -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); |
|||
}; |
@ -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); |
|||
}; |
@ -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(); |
|||
}; |
@ -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); |
|||
}; |
@ -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(); |
|||
}; |
@ -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); |
|||
}; |
@ -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); |
|||
}; |
@ -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); |
|||
}; |
@ -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(); |
|||
}; |
@ -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(); |
|||
}; |
@ -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(); |
|||
}; |
@ -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); |
|||
}; |
@ -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); |
|||
}; |
@ -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*); |
|||
}; |
@ -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); |
|||
}; |
@ -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); |
|||
}; |
@ -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 changed in this diff
Loading…
Reference in new issue