2020-06-16 02:05:33 +00:00
|
|
|
/**
|
|
|
|
* 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
|
2020-07-23 03:20:14 +00:00
|
|
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
2020-06-16 02:05:33 +00:00
|
|
|
*
|
|
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
2020-07-25 05:52:07 +00:00
|
|
|
extern "C" { /* C-declarations for C++ */
|
2020-06-16 02:05:33 +00:00
|
|
|
#endif
|
|
|
|
|
2020-07-25 05:52:07 +00:00
|
|
|
#include <lvgl.h>
|
|
|
|
|
2020-06-16 02:05:33 +00:00
|
|
|
#include <stdint.h>
|
|
|
|
#include <string.h>
|
2020-07-01 06:30:24 +00:00
|
|
|
|
2020-07-25 05:52:07 +00:00
|
|
|
// the colors of the last MKS Ui
|
2020-07-01 06:30:24 +00:00
|
|
|
#undef LV_COLOR_BACKGROUND
|
2020-07-25 05:52:07 +00:00
|
|
|
#define LV_COLOR_BACKGROUND LV_COLOR_MAKE(0x1A, 0x1A, 0x1A) // LV_COLOR_MAKE(0x00, 0x00, 0x00)
|
2020-07-01 06:30:24 +00:00
|
|
|
|
2020-06-24 19:54:39 +00:00
|
|
|
#include "tft_multi_language.h"
|
|
|
|
#include "draw_ready_print.h"
|
|
|
|
#include "draw_language.h"
|
|
|
|
#include "draw_set.h"
|
|
|
|
#include "draw_tool.h"
|
|
|
|
#include "draw_print_file.h"
|
|
|
|
#include "draw_dialog.h"
|
|
|
|
#include "draw_printing.h"
|
2020-07-25 05:52:07 +00:00
|
|
|
#include "draw_operation.h"
|
2020-06-24 19:54:39 +00:00
|
|
|
#include "draw_preHeat.h"
|
|
|
|
#include "draw_extrusion.h"
|
|
|
|
#include "draw_home.h"
|
|
|
|
#include "draw_move_motor.h"
|
|
|
|
#include "draw_fan.h"
|
|
|
|
#include "draw_about.h"
|
|
|
|
#include "draw_change_speed.h"
|
|
|
|
#include "draw_manuaLevel.h"
|
|
|
|
#include "draw_error_message.h"
|
2020-07-25 05:52:07 +00:00
|
|
|
#include "printer_operation.h"
|
|
|
|
#include "draw_machine_para.h"
|
|
|
|
#include "draw_machine_settings.h"
|
|
|
|
#include "draw_motor_settings.h"
|
|
|
|
#include "draw_advance_settings.h"
|
|
|
|
#include "draw_acceleration_settings.h"
|
|
|
|
#include "draw_number_key.h"
|
|
|
|
#include "draw_jerk_settings.h"
|
|
|
|
#include "draw_pause_position.h"
|
|
|
|
#include "draw_step_settings.h"
|
|
|
|
#include "draw_tmc_current_settings.h"
|
|
|
|
#include "draw_eeprom_settings.h"
|
|
|
|
#include "draw_max_feedrate_settings.h"
|
|
|
|
#include "draw_tmc_step_mode_settings.h"
|
|
|
|
|
|
|
|
#include "../../inc/MarlinConfigPre.h"
|
2020-06-16 02:05:33 +00:00
|
|
|
|
|
|
|
#define TFT35
|
|
|
|
|
|
|
|
#ifdef TFT35
|
|
|
|
|
|
|
|
#define TFT_WIDTH 480
|
|
|
|
#define TFT_HEIGHT 320
|
|
|
|
|
|
|
|
#define titleHeight 36 // TFT_screen.title_high
|
|
|
|
#define INTERVAL_H 2 // TFT_screen.gap_h // 2
|
|
|
|
#define INTERVAL_V 2 // TFT_screen.gap_v // 2
|
|
|
|
#define BTN_X_PIXEL 117 // TFT_screen.btn_x_pixel
|
|
|
|
#define BTN_Y_PIXEL 140 // TFT_screen.btn_y_pixel
|
|
|
|
|
|
|
|
#define SIMPLE_FIRST_PAGE_GRAP 30
|
|
|
|
|
|
|
|
#define BUTTON_TEXT_Y_OFFSET -20
|
|
|
|
|
2020-07-25 05:52:07 +00:00
|
|
|
#define TITLE_XPOS 3 // TFT_screen.title_xpos
|
|
|
|
#define TITLE_YPOS 5 // TFT_screen.title_ypos
|
2020-06-16 02:05:33 +00:00
|
|
|
|
|
|
|
#define FILE_BTN_CNT 6
|
|
|
|
|
|
|
|
#define OTHER_BTN_XPIEL 117
|
|
|
|
#define OTHER_BTN_YPIEL 92
|
|
|
|
|
|
|
|
#define FILE_PRE_PIC_X_OFFSET 8
|
|
|
|
#define FILE_PRE_PIC_Y_OFFSET 0
|
|
|
|
|
2020-07-25 05:52:07 +00:00
|
|
|
#define PREVIEW_LITTLE_PIC_SIZE 40910 // 400*100+9*101+1
|
|
|
|
#define PREVIEW_SIZE 202720 // (PREVIEW_LITTLE_PIC_SIZE+800*200+201*9+1)
|
2020-06-16 02:05:33 +00:00
|
|
|
|
|
|
|
#define GCFG_FLAG_VALUE 0xEE
|
|
|
|
|
2020-07-25 05:52:07 +00:00
|
|
|
// machine parameter ui
|
|
|
|
#define PARA_UI_POS_X 10
|
|
|
|
#define PARA_UI_POS_Y 50
|
|
|
|
|
|
|
|
#define PARA_UI_SIZE_X 450
|
|
|
|
#define PARA_UI_SIZE_Y 40
|
|
|
|
|
|
|
|
#define PARA_UI_ARROW_V 12
|
|
|
|
|
|
|
|
#define PARA_UI_BACL_POS_X 400
|
|
|
|
#define PARA_UI_BACL_POS_Y 270
|
|
|
|
|
|
|
|
#define PARA_UI_TURN_PAGE_POS_X 320
|
|
|
|
#define PARA_UI_TURN_PAGE_POS_Y 270
|
|
|
|
|
|
|
|
#define PARA_UI_VALUE_SIZE_X 370
|
|
|
|
#define PARA_UI_VALUE_POS_X 400
|
|
|
|
#define PARA_UI_VALUE_V 5
|
|
|
|
|
|
|
|
#define PARA_UI_STATE_POS_X 380
|
|
|
|
#define PARA_UI_STATE_V 2
|
|
|
|
|
|
|
|
#else // ifdef TFT35
|
2020-06-16 02:05:33 +00:00
|
|
|
|
|
|
|
#define TFT_WIDTH 320
|
|
|
|
#define TFT_HEIGHT 240
|
|
|
|
|
2020-07-25 05:52:07 +00:00
|
|
|
#endif // ifdef TFT35
|
2020-06-16 02:05:33 +00:00
|
|
|
|
|
|
|
extern char public_buf_m[100];
|
|
|
|
extern char public_buf_l[30];
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
uint8_t spi_flash_flag;
|
|
|
|
uint8_t multiple_language;
|
|
|
|
uint8_t language;
|
|
|
|
uint8_t leveling_mode;
|
|
|
|
uint8_t from_flash_pic;
|
|
|
|
uint8_t finish_power_off;
|
|
|
|
uint8_t pause_reprint;
|
2020-07-25 05:52:07 +00:00
|
|
|
float pausePosX;
|
|
|
|
float pausePosY;
|
|
|
|
float pausePosZ;
|
2020-06-16 02:05:33 +00:00
|
|
|
uint32_t curFilesize;
|
|
|
|
} CFG_ITMES;
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
uint8_t curTempType : 1,
|
|
|
|
curSprayerChoose : 3,
|
|
|
|
stepHeat : 4;
|
2020-07-25 05:52:07 +00:00
|
|
|
uint8_t leveling_first_time : 1,
|
|
|
|
para_ui_page : 1;
|
2020-06-16 02:05:33 +00:00
|
|
|
uint8_t extruStep;
|
|
|
|
uint8_t extruSpeed;
|
|
|
|
uint8_t print_state;
|
|
|
|
uint8_t stepPrintSpeed;
|
|
|
|
uint8_t waitEndMoves;
|
|
|
|
uint16_t moveSpeed;
|
|
|
|
float move_dist;
|
2020-07-26 04:08:30 +00:00
|
|
|
uint8_t F[4];
|
2020-06-16 02:05:33 +00:00
|
|
|
} UI_CFG;
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
MAIN_UI,
|
|
|
|
PRINT_READY_UI,
|
|
|
|
PRINT_FILE_UI,
|
|
|
|
PRINTING_UI,
|
|
|
|
MOVE_MOTOR_UI,
|
|
|
|
OPERATE_UI,
|
|
|
|
PAUSE_UI,
|
|
|
|
EXTRUSION_UI,
|
|
|
|
FAN_UI,
|
|
|
|
PRE_HEAT_UI,
|
|
|
|
CHANGE_SPEED_UI,
|
|
|
|
TEMP_UI,
|
|
|
|
SET_UI,
|
|
|
|
ZERO_UI,
|
|
|
|
SPRAYER_UI,
|
|
|
|
MACHINE_UI,
|
|
|
|
LANGUAGE_UI,
|
|
|
|
ABOUT_UI,
|
|
|
|
LOG_UI,
|
|
|
|
DISK_UI,
|
|
|
|
CALIBRATE_UI,
|
|
|
|
DIALOG_UI,
|
|
|
|
WIFI_UI,
|
|
|
|
MORE_UI,
|
|
|
|
FILETRANSFER_UI,
|
|
|
|
FILETRANSFERSTATE_UI,
|
|
|
|
PRINT_MORE_UI,
|
|
|
|
FILAMENTCHANGE_UI,
|
|
|
|
LEVELING_UI,
|
|
|
|
MESHLEVELING_UI,
|
|
|
|
BIND_UI,
|
|
|
|
ZOFFSET_UI,
|
|
|
|
TOOL_UI,
|
|
|
|
HARDWARE_TEST_UI,
|
|
|
|
WIFI_LIST_UI,
|
|
|
|
KEY_BOARD_UI,
|
|
|
|
TIPS_UI,
|
|
|
|
MACHINE_PARA_UI,
|
|
|
|
MACHINE_SETTINGS_UI,
|
|
|
|
TEMPERATURE_SETTINGS_UI,
|
|
|
|
MOTOR_SETTINGS_UI,
|
|
|
|
MACHINETYPE_UI,
|
|
|
|
STROKE_UI,
|
|
|
|
HOME_DIR_UI,
|
|
|
|
ENDSTOP_TYPE_UI,
|
|
|
|
FILAMENT_SETTINGS_UI,
|
|
|
|
LEVELING_SETTIGNS_UI,
|
|
|
|
LEVELING_PARA_UI,
|
|
|
|
DELTA_LEVELING_PARA_UI,
|
|
|
|
XYZ_LEVELING_PARA_UI,
|
|
|
|
MAXFEEDRATE_UI,
|
|
|
|
STEPS_UI,
|
|
|
|
ACCELERATION_UI,
|
|
|
|
JERK_UI,
|
|
|
|
MOTORDIR_UI,
|
|
|
|
HOMESPEED_UI,
|
|
|
|
NOZZLE_CONFIG_UI,
|
|
|
|
HOTBED_CONFIG_UI,
|
|
|
|
ADVANCED_UI,
|
|
|
|
DOUBLE_Z_UI,
|
|
|
|
ENABLE_INVERT_UI,
|
|
|
|
NUMBER_KEY_UI,
|
|
|
|
BABY_STEP_UI,
|
2020-07-25 05:52:07 +00:00
|
|
|
ERROR_MESSAGE_UI,
|
|
|
|
PAUSE_POS_UI,
|
|
|
|
TMC_CURRENT_UI,
|
|
|
|
TMC_MODE_UI,
|
|
|
|
EEPROM_SETTINGS_UI
|
2020-06-16 02:05:33 +00:00
|
|
|
} DISP_STATE;
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
DISP_STATE _disp_state[100];
|
|
|
|
int _disp_index;
|
|
|
|
} DISP_STATE_STACK;
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
int16_t days;
|
|
|
|
uint16_t hours;
|
|
|
|
uint8_t minutes;
|
|
|
|
volatile int8_t seconds;
|
|
|
|
int8_t ms_10;
|
|
|
|
int8_t start;
|
|
|
|
} PRINT_TIME;
|
|
|
|
extern PRINT_TIME print_time;
|
|
|
|
|
2020-07-25 05:52:07 +00:00
|
|
|
typedef enum {
|
|
|
|
PrintAcceleration,
|
|
|
|
RetractAcceleration,
|
|
|
|
TravelAcceleration,
|
|
|
|
XAcceleration,
|
|
|
|
YAcceleration,
|
|
|
|
ZAcceleration,
|
|
|
|
E0Acceleration,
|
|
|
|
E1Acceleration,
|
|
|
|
|
|
|
|
XMaxFeedRate,
|
|
|
|
YMaxFeedRate,
|
|
|
|
ZMaxFeedRate,
|
|
|
|
E0MaxFeedRate,
|
|
|
|
E1MaxFeedRate,
|
|
|
|
|
|
|
|
XJerk,
|
|
|
|
YJerk,
|
|
|
|
ZJerk,
|
|
|
|
EJerk,
|
|
|
|
|
|
|
|
Xstep,
|
|
|
|
Ystep,
|
|
|
|
Zstep,
|
|
|
|
E0step,
|
|
|
|
E1step,
|
|
|
|
|
|
|
|
Xcurrent,
|
|
|
|
Ycurrent,
|
|
|
|
Zcurrent,
|
|
|
|
E0current,
|
|
|
|
E1current,
|
|
|
|
|
|
|
|
pause_pos_x,
|
|
|
|
pause_pos_y,
|
|
|
|
pause_pos_z
|
|
|
|
|
|
|
|
}value_state;
|
|
|
|
extern value_state value;
|
|
|
|
|
2020-06-16 02:05:33 +00:00
|
|
|
extern CFG_ITMES gCfgItems;
|
|
|
|
extern UI_CFG uiCfg;
|
|
|
|
extern DISP_STATE disp_state;
|
|
|
|
extern DISP_STATE last_disp_state;
|
|
|
|
extern DISP_STATE_STACK disp_state_stack;
|
|
|
|
|
|
|
|
extern lv_style_t tft_style_scr;
|
2020-07-25 05:52:07 +00:00
|
|
|
extern lv_style_t tft_style_label_pre;
|
|
|
|
extern lv_style_t tft_style_label_rel;
|
|
|
|
extern lv_style_t style_line;
|
|
|
|
extern lv_style_t style_para_value_pre;
|
|
|
|
extern lv_style_t style_para_value_rel;
|
|
|
|
extern lv_style_t style_num_key_pre;
|
|
|
|
extern lv_style_t style_num_key_rel;
|
|
|
|
extern lv_style_t style_num_text;
|
|
|
|
|
|
|
|
extern lv_point_t line_points[4][2];
|
2020-06-16 02:05:33 +00:00
|
|
|
|
|
|
|
extern void gCfgItems_init();
|
|
|
|
extern void ui_cfg_init();
|
|
|
|
extern void tft_style_init();
|
|
|
|
extern char *creat_title_text(void);
|
|
|
|
extern void preview_gcode_prehandle(char *path);
|
|
|
|
extern void update_spi_flash();
|
2020-07-01 06:30:24 +00:00
|
|
|
#if HAS_GCODE_PREVIEW
|
|
|
|
extern void disp_pre_gcode(int xpos_pixel, int ypos_pixel);
|
|
|
|
#endif
|
2020-06-16 02:05:33 +00:00
|
|
|
extern void GUI_RefreshPage();
|
|
|
|
extern void clear_cur_ui();
|
|
|
|
extern void draw_return_ui();
|
|
|
|
extern void sd_detection();
|
|
|
|
extern void gCfg_to_spiFlah();
|
|
|
|
extern void print_time_count();
|
|
|
|
|
|
|
|
extern void LV_TASK_HANDLER();
|
2020-07-25 05:52:07 +00:00
|
|
|
extern void lv_ex_line(lv_obj_t * line, lv_point_t *points);
|
2020-06-16 02:05:33 +00:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
} /* C-declarations for C++ */
|
|
|
|
#endif
|