Victor Oliveira
4 years ago
committed by
GitHub
29 changed files with 540 additions and 273 deletions
@ -0,0 +1,73 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (c) 2021 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/>.
|
|||
* |
|||
*/ |
|||
#include "../../../../inc/MarlinConfigPre.h" |
|||
|
|||
#if BOTH(HAS_TFT_LVGL_UI, MULTI_VOLUME) |
|||
|
|||
#include "draw_ui.h" |
|||
#include <lv_conf.h> |
|||
|
|||
#include "../../../../inc/MarlinConfig.h" |
|||
#include "../../../../sd/cardreader.h" |
|||
|
|||
extern lv_group_t *g; |
|||
static lv_obj_t *scr; |
|||
|
|||
enum { |
|||
ID_T_USB_DISK = 1, |
|||
ID_T_SD_DISK, |
|||
ID_T_RETURN |
|||
}; |
|||
|
|||
#if ENABLED(MKS_TEST) |
|||
extern uint8_t curent_disp_ui; |
|||
#endif |
|||
|
|||
static void event_handler(lv_obj_t *obj, lv_event_t event) { |
|||
if (event != LV_EVENT_RELEASED) return; |
|||
lv_clear_media_select(); |
|||
switch (obj->mks_obj_id) { |
|||
case ID_T_USB_DISK: card.changeMedia(&card.media_usbFlashDrive); break; |
|||
case ID_T_SD_DISK: card.changeMedia(&card.media_sd_spi); break; |
|||
case ID_T_RETURN: |
|||
TERN_(MKS_TEST, curent_disp_ui = 1); |
|||
lv_draw_ready_print(); |
|||
return; |
|||
} |
|||
lv_draw_print_file(); |
|||
} |
|||
|
|||
void lv_draw_media_select() { |
|||
scr = lv_screen_create(MEDIA_SELECT_UI); |
|||
lv_big_button_create(scr, "F:/bmp_sd.bin", media_select_menu.sd_disk, INTERVAL_V, titleHeight, event_handler, ID_T_SD_DISK); |
|||
lv_big_button_create(scr, "F:/bmp_usb_disk.bin", media_select_menu.usb_disk, BTN_X_PIXEL + INTERVAL_V * 2, titleHeight, event_handler, ID_T_USB_DISK); |
|||
lv_big_button_create(scr, "F:/bmp_return.bin", common_menu.text_back, BTN_X_PIXEL * 3 + INTERVAL_V * 4, BTN_Y_PIXEL + INTERVAL_H + titleHeight, event_handler, ID_T_RETURN); |
|||
} |
|||
|
|||
void lv_clear_media_select() { |
|||
#if HAS_ROTARY_ENCODER |
|||
if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); |
|||
#endif |
|||
lv_obj_del(scr); |
|||
} |
|||
|
|||
#endif // HAS_TFT_LVGL_UI
|
@ -0,0 +1,33 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (c) 2021 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 |
|||
|
|||
#ifdef __cplusplus |
|||
extern "C" { /* C-declarations for C++ */ |
|||
#endif |
|||
|
|||
extern void lv_draw_media_select(); |
|||
extern void lv_clear_media_select(); |
|||
|
|||
#ifdef __cplusplus |
|||
} /* C-declarations for C++ */ |
|||
#endif |
@ -0,0 +1,67 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (c) 2021 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 |
|||
|
|||
#include <stdint.h> |
|||
|
|||
/**
|
|||
* DiskIO Interace |
|||
* |
|||
* Interface for low level disk io |
|||
*/ |
|||
class DiskIODriver { |
|||
public: |
|||
/**
|
|||
* Initialize an SD flash memory card with default clock rate and chip |
|||
* select pin. See sd2Card::init(uint8_t sckRateID, uint8_t chipSelectPin). |
|||
* |
|||
* \return true for success or false for failure. |
|||
*/ |
|||
virtual bool init(const uint8_t sckRateID, const pin_t chipSelectPin) = 0; //TODO: only for SPI
|
|||
|
|||
/**
|
|||
* Read a card's CSD register. The CSD contains Card-Specific Data that |
|||
* provides information regarding access to the card's contents. |
|||
* |
|||
* \param[out] csd pointer to area for returned data. |
|||
* |
|||
* \return true for success or false for failure. |
|||
*/ |
|||
virtual bool readCSD(csd_t* csd) = 0; |
|||
|
|||
virtual bool readStart(const uint32_t block) = 0; |
|||
virtual bool readData(uint8_t* dst) = 0; |
|||
virtual bool readStop() = 0; |
|||
|
|||
virtual bool writeStart(const uint32_t block, const uint32_t) = 0; |
|||
virtual bool writeData(const uint8_t* src) = 0; |
|||
virtual bool writeStop() = 0; |
|||
|
|||
virtual bool readBlock(uint32_t block, uint8_t* dst) = 0; |
|||
virtual bool writeBlock(uint32_t blockNumber, const uint8_t* src) = 0; |
|||
|
|||
virtual uint32_t cardSize() = 0; |
|||
|
|||
virtual bool isReady() = 0; |
|||
|
|||
virtual void idle() = 0; |
|||
}; |
Loading…
Reference in new issue