Victor Oliveira
4 years ago
committed by
Scott Lahteine
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