Fixes for FYSETC Touch EVE 5" on AVR (#17659)
Co-Authored-By: RudolphRiedel <rudolphriedel@users.noreply.github.com> Co-authored-by: sL1pKn07 <sl1pkn07@gmail.com>
This commit is contained in:
		| @@ -1375,10 +1375,12 @@ | ||||
|   //#define TOUCH_UI_800x480 | ||||
|  | ||||
|   // Mappings for boards with a standard RepRapDiscount Display connector | ||||
|   //#define AO_EXP1_PINMAP    // AlephObjects CLCD UI EXP1 mapping | ||||
|   //#define AO_EXP2_PINMAP    // AlephObjects CLCD UI EXP2 mapping | ||||
|   //#define CR10_TFT_PINMAP   // Rudolph Riedel's CR10 pin mapping | ||||
|   //#define S6_TFT_PINMAP     // FYSETC S6 pin mapping | ||||
|   //#define AO_EXP1_PINMAP      // AlephObjects CLCD UI EXP1 mapping | ||||
|   //#define AO_EXP2_PINMAP      // AlephObjects CLCD UI EXP2 mapping | ||||
|   //#define CR10_TFT_PINMAP     // Rudolph Riedel's CR10 pin mapping | ||||
|   //#define S6_TFT_PINMAP       // FYSETC S6 pin mapping | ||||
|   //#define E3_EXP1_PINMAP      // E3 type boards (SKR E3/DIP, FYSETC Cheetah and Stock boards) EXP1 pin mapping | ||||
|   //#define GENERIC_EXP2_PINMAP // GENERIC EXP2 pin mapping | ||||
|  | ||||
|   //#define OTHER_PIN_LAYOUT  // Define pins manually below | ||||
|   #if ENABLED(OTHER_PIN_LAYOUT) | ||||
|   | ||||
| @@ -361,7 +361,7 @@ | ||||
|   #define HAS_DGUS_LCD 1 | ||||
| #endif | ||||
|  | ||||
| // Extensible UI serial touch screens. (See src/lcd/extensible_ui) | ||||
| // Extensible UI serial touch screens. (See src/lcd/extui) | ||||
| #if ANY(HAS_DGUS_LCD, MALYAN_LCD, TOUCH_UI_FTDI_EVE) | ||||
|   #define IS_EXTUI | ||||
|   #define EXTENSIBLE_UI | ||||
|   | ||||
| @@ -58,7 +58,7 @@ void CLCD::FontMetrics::load(const uint8_t font) { | ||||
| uint16_t CLCD::FontMetrics::get_text_width(const char *str, size_t n) const { | ||||
|   uint16_t width = 0; | ||||
|   const uint8_t *p = (const uint8_t *) str; | ||||
|   for(;;) { | ||||
|   for (;;) { | ||||
|     const uint8_t val = *p++; n--; | ||||
|     if (!val || n == 0) break; | ||||
|     width += val < 128 ? char_widths[val] : 0; | ||||
| @@ -69,7 +69,7 @@ uint16_t CLCD::FontMetrics::get_text_width(const char *str, size_t n) const { | ||||
| uint16_t CLCD::FontMetrics::get_text_width(progmem_str str, size_t n) const { | ||||
|   uint16_t width = 0; | ||||
|   const uint8_t *p = (const uint8_t *) str; | ||||
|   for(;;) { | ||||
|   for (;;) { | ||||
|     const uint8_t val = pgm_read_byte(p++); n--; | ||||
|     if (!val || n == 0) break; | ||||
|     width += val < 128 ? char_widths[val] : 0; | ||||
| @@ -79,7 +79,7 @@ uint16_t CLCD::FontMetrics::get_text_width(progmem_str str, size_t n) const { | ||||
|  | ||||
| /************************** HOST COMMAND FUNCTION *********************************/ | ||||
|  | ||||
| void CLCD::host_cmd (unsigned char host_command, unsigned char byte2) {  // Sends 24-Bit Host Command to LCD | ||||
| void CLCD::host_cmd(unsigned char host_command, unsigned char byte2) {  // Sends 24-Bit Host Command to LCD | ||||
|   if (host_command != FTDI::ACTIVE) { | ||||
|     host_command |= 0x40; | ||||
|   } | ||||
| @@ -92,7 +92,7 @@ void CLCD::host_cmd (unsigned char host_command, unsigned char byte2) {  // Send | ||||
|  | ||||
| /************************** MEMORY READ FUNCTIONS *********************************/ | ||||
|  | ||||
| void CLCD::spi_read_addr  (uint32_t reg_address) { | ||||
| void CLCD::spi_read_addr(uint32_t reg_address) { | ||||
|   spi_send((reg_address >> 16) & 0x3F);  // Address [21:16] | ||||
|   spi_send((reg_address >> 8 ) & 0xFF);  // Address [15:8] | ||||
|   spi_send((reg_address >> 0)  & 0xFF);  // Address [7:0] | ||||
| @@ -100,7 +100,7 @@ void CLCD::spi_read_addr  (uint32_t reg_address) { | ||||
| } | ||||
|  | ||||
| // Write 4-Byte Address, Read Multiple Bytes | ||||
| void CLCD::mem_read_bulk (uint32_t reg_address, uint8_t *data, uint16_t len) { | ||||
| void CLCD::mem_read_bulk(uint32_t reg_address, uint8_t *data, uint16_t len) { | ||||
|   spi_ftdi_select(); | ||||
|   spi_read_addr(reg_address); | ||||
|   spi_read_bulk (data, len); | ||||
| @@ -108,7 +108,7 @@ void CLCD::mem_read_bulk (uint32_t reg_address, uint8_t *data, uint16_t len) { | ||||
| } | ||||
|  | ||||
| // Write 4-Byte Address, Read 1-Byte Data | ||||
| uint8_t CLCD::mem_read_8 (uint32_t reg_address) { | ||||
| uint8_t CLCD::mem_read_8(uint32_t reg_address) { | ||||
|   spi_ftdi_select(); | ||||
|   spi_read_addr(reg_address); | ||||
|   uint8_t r_data = spi_read_8(); | ||||
| @@ -117,7 +117,7 @@ uint8_t CLCD::mem_read_8 (uint32_t reg_address) { | ||||
| } | ||||
|  | ||||
| // Write 4-Byte Address, Read 2-Bytes Data | ||||
| uint16_t CLCD::mem_read_16 (uint32_t reg_address) { | ||||
| uint16_t CLCD::mem_read_16(uint32_t reg_address) { | ||||
|   using namespace SPI::least_significant_byte_first; | ||||
|   spi_ftdi_select(); | ||||
|   spi_read_addr(reg_address); | ||||
| @@ -127,7 +127,7 @@ uint16_t CLCD::mem_read_16 (uint32_t reg_address) { | ||||
| } | ||||
|  | ||||
| // Write 4-Byte Address, Read 4-Bytes Data | ||||
| uint32_t CLCD::mem_read_32 (uint32_t reg_address) { | ||||
| uint32_t CLCD::mem_read_32(uint32_t reg_address) { | ||||
|   using namespace SPI::least_significant_byte_first; | ||||
|   spi_ftdi_select(); | ||||
|   spi_read_addr(reg_address); | ||||
| @@ -147,14 +147,14 @@ static inline uint8_t reverse_byte(uint8_t a) { | ||||
| } | ||||
| static inline uint8_t xbm_write(const uint8_t *p) {return reverse_byte(pgm_read_byte(p));} | ||||
|  | ||||
| void CLCD::spi_write_addr (uint32_t reg_address) { | ||||
| void CLCD::spi_write_addr(uint32_t reg_address) { | ||||
|   spi_send((reg_address >> 16) | 0x80);  // Address [21:16] | ||||
|   spi_send((reg_address >> 8 ) & 0xFF);  // Address [15:8] | ||||
|   spi_send((reg_address >> 0)  & 0xFF);  // Address [7:0] | ||||
| } | ||||
|  | ||||
| // Write 3-Byte Address, Multiple Bytes, plus padding bytes, from RAM | ||||
| void CLCD::mem_write_bulk (uint32_t reg_address, const void *data, uint16_t len, uint8_t padding) { | ||||
| void CLCD::mem_write_bulk(uint32_t reg_address, const void *data, uint16_t len, uint8_t padding) { | ||||
|   spi_ftdi_select(); | ||||
|   spi_write_addr(reg_address); | ||||
|   spi_write_bulk<ram_write>(data, len, padding); | ||||
| @@ -162,7 +162,7 @@ void CLCD::mem_write_bulk (uint32_t reg_address, const void *data, uint16_t len, | ||||
| } | ||||
|  | ||||
| // Write 3-Byte Address, Multiple Bytes, plus padding bytes, from PROGMEM | ||||
| void CLCD::mem_write_bulk (uint32_t reg_address, progmem_str str, uint16_t len, uint8_t padding) { | ||||
| void CLCD::mem_write_bulk(uint32_t reg_address, progmem_str str, uint16_t len, uint8_t padding) { | ||||
|   spi_ftdi_select(); | ||||
|   spi_write_addr(reg_address); | ||||
|   spi_write_bulk<pgm_write>(str, len, padding); | ||||
| @@ -170,7 +170,7 @@ void CLCD::mem_write_bulk (uint32_t reg_address, progmem_str str, uint16_t len, | ||||
| } | ||||
|  | ||||
|  // Write 3-Byte Address, Multiple Bytes, plus padding bytes, from PROGMEM | ||||
| void CLCD::mem_write_pgm (uint32_t reg_address, const void *data, uint16_t len, uint8_t padding) { | ||||
| void CLCD::mem_write_pgm(uint32_t reg_address, const void *data, uint16_t len, uint8_t padding) { | ||||
|   spi_ftdi_select(); | ||||
|   spi_write_addr(reg_address); | ||||
|   spi_write_bulk<pgm_write>(data, len, padding); | ||||
| @@ -178,7 +178,7 @@ void CLCD::mem_write_pgm (uint32_t reg_address, const void *data, uint16_t len, | ||||
| } | ||||
|  | ||||
| // Write 3-Byte Address, Multiple Bytes, plus padding bytes, from PROGMEM, reversing bytes (suitable for loading XBM images) | ||||
| void CLCD::mem_write_xbm (uint32_t reg_address, progmem_str data, uint16_t len, uint8_t padding) { | ||||
| void CLCD::mem_write_xbm(uint32_t reg_address, progmem_str data, uint16_t len, uint8_t padding) { | ||||
|   spi_ftdi_select(); | ||||
|   spi_write_addr(reg_address); | ||||
|   spi_write_bulk<xbm_write>(data, len, padding); | ||||
| @@ -186,7 +186,7 @@ void CLCD::mem_write_xbm (uint32_t reg_address, progmem_str data, uint16_t len, | ||||
| } | ||||
|  | ||||
| // Write 3-Byte Address, Write 1-Byte Data | ||||
| void CLCD::mem_write_8 (uint32_t reg_address, uint8_t data) { | ||||
| void CLCD::mem_write_8(uint32_t reg_address, uint8_t data) { | ||||
|   spi_ftdi_select(); | ||||
|   spi_write_addr(reg_address); | ||||
|   spi_write_8(data); | ||||
| @@ -194,16 +194,16 @@ void CLCD::mem_write_8 (uint32_t reg_address, uint8_t data) { | ||||
| } | ||||
|  | ||||
| // Write 3-Byte Address, Write 2-Bytes Data | ||||
| void CLCD::mem_write_16 (uint32_t reg_address, uint16_t data) { | ||||
| void CLCD::mem_write_16(uint32_t reg_address, uint16_t data) { | ||||
|   using namespace SPI::least_significant_byte_first; | ||||
|   spi_ftdi_select(); | ||||
|   spi_write_addr(reg_address); | ||||
|   spi_write_32(data); | ||||
|   spi_write_16(data); | ||||
|   spi_ftdi_deselect(); | ||||
| } | ||||
|  | ||||
| // Write 3-Byte Address, Write 4-Bytes Data | ||||
| void CLCD::mem_write_32 (uint32_t reg_address, uint32_t data) { | ||||
| void CLCD::mem_write_32(uint32_t reg_address, uint32_t data) { | ||||
|   using namespace SPI::least_significant_byte_first; | ||||
|   spi_ftdi_select(); | ||||
|   spi_write_addr(reg_address); | ||||
| @@ -281,7 +281,7 @@ void CLCD::CommandFifo::text(int16_t x, int16_t y, int16_t font,  uint16_t optio | ||||
| } | ||||
|  | ||||
| // This sends the a toggle command to the command preprocessor, must be followed by str() | ||||
| void CLCD::CommandFifo::toggle (int16_t x, int16_t y, int16_t w, int16_t font, uint16_t options, bool state) { | ||||
| void CLCD::CommandFifo::toggle(int16_t x, int16_t y, int16_t w, int16_t font, uint16_t options, bool state) { | ||||
|   struct { | ||||
|     int32_t type = CMD_TOGGLE; | ||||
|     int16_t x; | ||||
| @@ -303,7 +303,7 @@ void CLCD::CommandFifo::toggle (int16_t x, int16_t y, int16_t w, int16_t font, u | ||||
| } | ||||
|  | ||||
| // This sends the a keys command to the command preprocessor, must be followed by str() | ||||
| void CLCD::CommandFifo::keys (int16_t x, int16_t y, int16_t w, int16_t h, int16_t font, uint16_t options) { | ||||
| void CLCD::CommandFifo::keys(int16_t x, int16_t y, int16_t w, int16_t h, int16_t font, uint16_t options) { | ||||
|   struct { | ||||
|     int32_t type = CMD_KEYS; | ||||
|     int16_t x; | ||||
| @@ -324,7 +324,7 @@ void CLCD::CommandFifo::keys (int16_t x, int16_t y, int16_t w, int16_t h, int16_ | ||||
|   cmd( &cmd_data, sizeof(cmd_data) ); | ||||
| } | ||||
|  | ||||
| void CLCD::CommandFifo::clock (int16_t x, int16_t y, int16_t r, uint16_t options, int16_t h, int16_t m, int16_t s, int16_t ms) | ||||
| void CLCD::CommandFifo::clock(int16_t x, int16_t y, int16_t r, uint16_t options, int16_t h, int16_t m, int16_t s, int16_t ms) | ||||
| { | ||||
|   struct { | ||||
|     int32_t type = CMD_CLOCK; | ||||
| @@ -350,7 +350,7 @@ void CLCD::CommandFifo::clock (int16_t x, int16_t y, int16_t r, uint16_t options | ||||
|   cmd( &cmd_data, sizeof(cmd_data) ); | ||||
| } | ||||
|  | ||||
| void CLCD::CommandFifo::gauge (int16_t x, int16_t y, int16_t r, uint16_t options, uint16_t major, uint16_t minor, uint16_t val, uint16_t range) | ||||
| void CLCD::CommandFifo::gauge(int16_t x, int16_t y, int16_t r, uint16_t options, uint16_t major, uint16_t minor, uint16_t val, uint16_t range) | ||||
| { | ||||
|   struct { | ||||
|     int32_t  type = CMD_GAUGE; | ||||
| @@ -376,7 +376,7 @@ void CLCD::CommandFifo::gauge (int16_t x, int16_t y, int16_t r, uint16_t options | ||||
|   cmd( &cmd_data, sizeof(cmd_data) ); | ||||
| } | ||||
|  | ||||
| void CLCD::CommandFifo::dial (int16_t x, int16_t y, int16_t r, uint16_t options, uint16_t val) | ||||
| void CLCD::CommandFifo::dial(int16_t x, int16_t y, int16_t r, uint16_t options, uint16_t val) | ||||
| { | ||||
|   struct { | ||||
|     int32_t  type = CMD_DIAL; | ||||
| @@ -396,7 +396,7 @@ void CLCD::CommandFifo::dial (int16_t x, int16_t y, int16_t r, uint16_t options, | ||||
|   cmd( &cmd_data, sizeof(cmd_data) ); | ||||
| } | ||||
|  | ||||
| void CLCD::CommandFifo::scrollbar (int16_t x, int16_t y, int16_t w, int16_t h, uint16_t options, uint16_t val, uint16_t size, uint16_t range) { | ||||
| void CLCD::CommandFifo::scrollbar(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t options, uint16_t val, uint16_t size, uint16_t range) { | ||||
|   struct { | ||||
|     int32_t  type = CMD_SCROLLBAR; | ||||
|     int16_t  x; | ||||
| @@ -421,7 +421,7 @@ void CLCD::CommandFifo::scrollbar (int16_t x, int16_t y, int16_t w, int16_t h, u | ||||
|   cmd( &cmd_data, sizeof(cmd_data) ); | ||||
| } | ||||
|  | ||||
| void CLCD::CommandFifo::progress (int16_t x, int16_t y, int16_t w, int16_t h, uint16_t options,  uint16_t val, uint16_t range) { | ||||
| void CLCD::CommandFifo::progress(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t options,  uint16_t val, uint16_t range) { | ||||
|   struct { | ||||
|     int32_t  type = CMD_PROGRESS; | ||||
|     int16_t  x; | ||||
| @@ -444,7 +444,7 @@ void CLCD::CommandFifo::progress (int16_t x, int16_t y, int16_t w, int16_t h, ui | ||||
|   cmd( &cmd_data, sizeof(cmd_data) ); | ||||
| } | ||||
|  | ||||
| void CLCD::CommandFifo::slider (int16_t x, int16_t y, int16_t w, int16_t h, uint16_t options, uint16_t val, uint16_t range) { | ||||
| void CLCD::CommandFifo::slider(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t options, uint16_t val, uint16_t range) { | ||||
|   struct { | ||||
|     int32_t type = CMD_SLIDER; | ||||
|     int16_t x; | ||||
| @@ -467,7 +467,7 @@ void CLCD::CommandFifo::slider (int16_t x, int16_t y, int16_t w, int16_t h, uint | ||||
|   cmd( &cmd_data, sizeof(cmd_data) ); | ||||
| } | ||||
|  | ||||
| void CLCD::CommandFifo::gradient (int16_t x0, int16_t y0, uint32_t rgb0, int16_t x1, int16_t y1, uint32_t rgb1) { | ||||
| void CLCD::CommandFifo::gradient(int16_t x0, int16_t y0, uint32_t rgb0, int16_t x1, int16_t y1, uint32_t rgb1) { | ||||
|   struct { | ||||
|     int32_t type = CMD_GRADIENT; | ||||
|     int16_t x0; | ||||
| @@ -488,7 +488,7 @@ void CLCD::CommandFifo::gradient (int16_t x0, int16_t y0, uint32_t rgb0, int16_t | ||||
|   cmd( &cmd_data, sizeof(cmd_data) ); | ||||
| } | ||||
|  | ||||
| void CLCD::CommandFifo::number (int16_t x, int16_t y, int16_t font, uint16_t options, int32_t n) { | ||||
| void CLCD::CommandFifo::number(int16_t x, int16_t y, int16_t font, uint16_t options, int32_t n) { | ||||
|   struct { | ||||
|     int32_t  type = CMD_NUMBER; | ||||
|     int16_t  x; | ||||
| @@ -507,7 +507,7 @@ void CLCD::CommandFifo::number (int16_t x, int16_t y, int16_t font, uint16_t opt | ||||
|   cmd( &cmd_data, sizeof(cmd_data) ); | ||||
| } | ||||
|  | ||||
| void CLCD::CommandFifo::memzero (uint32_t ptr, uint32_t size) { | ||||
| void CLCD::CommandFifo::memzero(uint32_t ptr, uint32_t size) { | ||||
|   struct { | ||||
|     uint32_t  type = CMD_MEMZERO; | ||||
|     uint32_t  ptr; | ||||
| @@ -520,7 +520,7 @@ void CLCD::CommandFifo::memzero (uint32_t ptr, uint32_t size) { | ||||
|   cmd( &cmd_data, sizeof(cmd_data) ); | ||||
| } | ||||
|  | ||||
| void CLCD::CommandFifo::memset (uint32_t ptr, uint32_t val, uint32_t size) { | ||||
| void CLCD::CommandFifo::memset(uint32_t ptr, uint32_t val, uint32_t size) { | ||||
|   struct { | ||||
|     uint32_t  type = CMD_MEMSET; | ||||
|     uint32_t  ptr; | ||||
| @@ -535,7 +535,7 @@ void CLCD::CommandFifo::memset (uint32_t ptr, uint32_t val, uint32_t size) { | ||||
|   cmd( &cmd_data, sizeof(cmd_data) ); | ||||
| } | ||||
|  | ||||
| void CLCD::CommandFifo::memcpy (uint32_t dst, uint32_t src, uint32_t size) { | ||||
| void CLCD::CommandFifo::memcpy(uint32_t dst, uint32_t src, uint32_t size) { | ||||
|   struct { | ||||
|     uint32_t  type = CMD_MEMCPY; | ||||
|     uint32_t  dst; | ||||
| @@ -550,7 +550,7 @@ void CLCD::CommandFifo::memcpy (uint32_t dst, uint32_t src, uint32_t size) { | ||||
|   cmd( &cmd_data, sizeof(cmd_data) ); | ||||
| } | ||||
|  | ||||
| void CLCD::CommandFifo::memcrc (uint32_t ptr, uint32_t num, uint32_t result) { | ||||
| void CLCD::CommandFifo::memcrc(uint32_t ptr, uint32_t num, uint32_t result) { | ||||
|   struct { | ||||
|     uint32_t  type = CMD_MEMCRC; | ||||
|     uint32_t  ptr; | ||||
| @@ -565,7 +565,7 @@ void CLCD::CommandFifo::memcrc (uint32_t ptr, uint32_t num, uint32_t result) { | ||||
|   cmd( &cmd_data, sizeof(cmd_data) ); | ||||
| } | ||||
|  | ||||
| void CLCD::CommandFifo::memwrite (uint32_t ptr, uint32_t value) { | ||||
| void CLCD::CommandFifo::memwrite(uint32_t ptr, uint32_t value) { | ||||
|   struct { | ||||
|     uint32_t  type = CMD_MEMWRITE; | ||||
|     uint32_t  ptr; | ||||
| @@ -580,7 +580,7 @@ void CLCD::CommandFifo::memwrite (uint32_t ptr, uint32_t value) { | ||||
|   cmd( &cmd_data, sizeof(cmd_data) ); | ||||
| } | ||||
|  | ||||
| void CLCD::CommandFifo::append (uint32_t ptr, uint32_t size) { | ||||
| void CLCD::CommandFifo::append(uint32_t ptr, uint32_t size) { | ||||
|   struct { | ||||
|     uint32_t  type = CMD_APPEND; | ||||
|     uint32_t  ptr; | ||||
| @@ -593,7 +593,7 @@ void CLCD::CommandFifo::append (uint32_t ptr, uint32_t size) { | ||||
|   cmd( &cmd_data, sizeof(cmd_data) ); | ||||
| } | ||||
|  | ||||
| void CLCD::CommandFifo::inflate (uint32_t ptr) { | ||||
| void CLCD::CommandFifo::inflate(uint32_t ptr) { | ||||
|   struct { | ||||
|     uint32_t  type = CMD_INFLATE; | ||||
|     uint32_t  ptr; | ||||
| @@ -604,7 +604,7 @@ void CLCD::CommandFifo::inflate (uint32_t ptr) { | ||||
|   cmd( &cmd_data, sizeof(cmd_data) ); | ||||
| } | ||||
|  | ||||
| void CLCD::CommandFifo::getptr (uint32_t result) { | ||||
| void CLCD::CommandFifo::getptr(uint32_t result) { | ||||
|   struct { | ||||
|     uint32_t  type = CMD_GETPTR; | ||||
|     uint32_t  result; | ||||
| @@ -696,7 +696,7 @@ void CLCD::CommandFifo::loadimage(uint32_t ptr, uint32_t options) { | ||||
|   cmd( &cmd_data, sizeof(cmd_data) ); | ||||
| } | ||||
|  | ||||
| void CLCD::CommandFifo::getprops (uint32_t ptr, uint32_t width, uint32_t height) { | ||||
| void CLCD::CommandFifo::getprops(uint32_t ptr, uint32_t width, uint32_t height) { | ||||
|   struct { | ||||
|     uint32_t  type = CMD_GETPROPS; | ||||
|     uint32_t  ptr; | ||||
| @@ -735,7 +735,7 @@ void CLCD::CommandFifo::rotate(int32_t a) { | ||||
|   cmd( &cmd_data, sizeof(cmd_data) ); | ||||
| } | ||||
|  | ||||
| void CLCD::CommandFifo::translate (int32_t tx, int32_t ty) { | ||||
| void CLCD::CommandFifo::translate(int32_t tx, int32_t ty) { | ||||
|   struct { | ||||
|     uint32_t type = CMD_TRANSLATE; | ||||
|     int32_t  tx; | ||||
| @@ -749,7 +749,7 @@ void CLCD::CommandFifo::translate (int32_t tx, int32_t ty) { | ||||
| } | ||||
|  | ||||
| #if FTDI_API_LEVEL >= 810 | ||||
| void CLCD::CommandFifo::setbase (uint8_t base) { | ||||
| void CLCD::CommandFifo::setbase(uint8_t base) { | ||||
|   struct { | ||||
|     int32_t  type = CMD_SETBASE; | ||||
|     uint32_t base; | ||||
| @@ -855,7 +855,7 @@ void CLCD::CommandFifo::playvideo(uint32_t options) { | ||||
| #endif | ||||
|  | ||||
| #if FTDI_API_LEVEL >= 810 | ||||
| void CLCD::CommandFifo::setrotate (uint8_t rotation) { | ||||
| void CLCD::CommandFifo::setrotate(uint8_t rotation) { | ||||
|   struct { | ||||
|     uint32_t  type = CMD_SETROTATE; | ||||
|     uint32_t  rotation; | ||||
| @@ -868,7 +868,7 @@ void CLCD::CommandFifo::setrotate (uint8_t rotation) { | ||||
| #endif | ||||
|  | ||||
| #if FTDI_API_LEVEL >= 810 | ||||
| void CLCD::CommandFifo::romfont (uint8_t font, uint8_t romslot) { | ||||
| void CLCD::CommandFifo::romfont(uint8_t font, uint8_t romslot) { | ||||
|   struct { | ||||
|     uint32_t  type = CMD_ROMFONT; | ||||
|     uint32_t  font; | ||||
| @@ -1054,18 +1054,12 @@ void CLCD::init() { | ||||
|   spi_init();                                  // Set Up I/O Lines for SPI and FT800/810 Control | ||||
|   ftdi_reset();                                // Power down/up the FT8xx with the apropriate delays | ||||
|  | ||||
|   if (Use_Crystal == 1) { | ||||
|     host_cmd(CLKEXT, 0); | ||||
|   } | ||||
|   else { | ||||
|     host_cmd(CLKINT, 0); | ||||
|   } | ||||
|  | ||||
|   host_cmd(Use_Crystal ? CLKEXT : CLKINT, 0); | ||||
|   host_cmd(FTDI::ACTIVE, 0);                        // Activate the System Clock | ||||
|  | ||||
|   /* read the device-id until it returns 0x7c or times out, should take less than 150ms */ | ||||
|   uint8_t counter; | ||||
|   for(counter = 0; counter < 250; counter++) { | ||||
|   for (counter = 0; counter < 250; counter++) { | ||||
|    uint8_t device_id = mem_read_8(REG::ID);            // Read Device ID, Should Be 0x7C; | ||||
|    if (device_id == 0x7c) { | ||||
|      #if ENABLED(TOUCH_UI_DEBUG) | ||||
| @@ -1073,9 +1067,9 @@ void CLCD::init() { | ||||
|      #endif | ||||
|      break; | ||||
|    } | ||||
|    else { | ||||
|    else | ||||
|      delay(1); | ||||
|    } | ||||
|  | ||||
|    if (counter == 249) { | ||||
|      #if ENABLED(TOUCH_UI_DEBUG) | ||||
|        SERIAL_ECHO_START(); | ||||
| @@ -1130,7 +1124,7 @@ void CLCD::init() { | ||||
|  | ||||
|   mem_write_8(REG::PCLK, Pclk); // Turns on Clock by setting PCLK Register to the value necessary for the module | ||||
|  | ||||
|   mem_write_16(REG::PWM_HZ,  0x00FA); | ||||
|   mem_write_16(REG::PWM_HZ, ENABLED(LCD_FYSETC_TFT81050) ? 0x2710 : 0x00FA); | ||||
|  | ||||
|   // Turning off dithering seems to help prevent horizontal line artifacts on certain colors | ||||
|   mem_write_8(REG::DITHER,  0); | ||||
|   | ||||
| @@ -27,7 +27,11 @@ | ||||
| /********************************* SPI Functions *********************************/ | ||||
|  | ||||
| namespace FTDI { | ||||
|  | ||||
|   #ifndef CLCD_USE_SOFT_SPI | ||||
|     #ifndef __AVR__ | ||||
|       SPIClass EVE_SPI(CLCD_SPI_BUS); | ||||
|     #endif | ||||
|     SPISettings SPI::spi_settings(SPI_FREQUENCY, MSBFIRST, SPI_MODE0); | ||||
|   #endif | ||||
|  | ||||
| @@ -57,12 +61,12 @@ namespace FTDI { | ||||
|  | ||||
|       SET_INPUT_PULLUP(CLCD_SOFT_SPI_MISO); | ||||
|     #else | ||||
|       ::SPI.begin(); | ||||
|       SPI_OBJ.begin(); | ||||
|     #endif | ||||
|   } | ||||
|  | ||||
|   #ifdef CLCD_USE_SOFT_SPI | ||||
|     uint8_t SPI::_soft_spi_xfer (uint8_t spiOutByte) { | ||||
|     uint8_t SPI::_soft_spi_xfer(uint8_t spiOutByte) { | ||||
|       uint8_t spiIndex  = 0x80; | ||||
|       uint8_t spiInByte = 0; | ||||
|       uint8_t k; | ||||
| @@ -71,8 +75,8 @@ namespace FTDI { | ||||
|       for (k = 0; k < 8; k++) {  // Output and Read each bit of spiOutByte and spiInByte | ||||
|         WRITE(CLCD_SOFT_SPI_MOSI, (spiOutByte & spiIndex) ? 1 : 0); // Output MOSI Bit | ||||
|         WRITE(CLCD_SOFT_SPI_SCLK, 1);   // Pulse Clock | ||||
|         if (READ(CLCD_SOFT_SPI_MISO)) spiInByte |= spiIndex; // MISO changes on the falling edge of clock, so sample it before | ||||
|         WRITE(CLCD_SOFT_SPI_SCLK, 0); | ||||
|         if (READ(CLCD_SOFT_SPI_MISO)) spiInByte |= spiIndex; | ||||
|         spiIndex >>= 1; | ||||
|       } | ||||
|       interrupts(); | ||||
| @@ -81,7 +85,7 @@ namespace FTDI { | ||||
|   #endif | ||||
|  | ||||
|   #ifdef CLCD_USE_SOFT_SPI | ||||
|     void SPI::_soft_spi_send (uint8_t spiOutByte) { | ||||
|     void SPI::_soft_spi_send(uint8_t spiOutByte) { | ||||
|       uint8_t k, spiIndex  = 0x80; | ||||
|  | ||||
|       noInterrupts(); | ||||
| @@ -95,16 +99,12 @@ namespace FTDI { | ||||
|     } | ||||
|   #endif | ||||
|  | ||||
|   void SPI::spi_read_bulk (void *data, uint16_t len) { | ||||
|   void SPI::spi_read_bulk(void *data, uint16_t len) { | ||||
|     uint8_t* p = (uint8_t *)data; | ||||
|     #ifndef CLCD_USE_SOFT_SPI | ||||
|       ::SPI.transfer(p, len); | ||||
|     #else | ||||
|       while (len--) *p++ = spi_recv(); | ||||
|     #endif | ||||
|     while (len--) *p++ = spi_recv(); | ||||
|   } | ||||
|  | ||||
|   bool SPI::spi_verify_bulk (const void *data, uint16_t len) { | ||||
|   bool SPI::spi_verify_bulk(const void *data, uint16_t len) { | ||||
|     const uint8_t* p = (const uint8_t *)data; | ||||
|     while (len--) if (*p++ != spi_recv()) return false; | ||||
|     return true; | ||||
| @@ -113,7 +113,7 @@ namespace FTDI { | ||||
|   // CLCD SPI - Chip Select | ||||
|   void SPI::spi_ftdi_select() { | ||||
|     #ifndef CLCD_USE_SOFT_SPI | ||||
|       ::SPI.beginTransaction(spi_settings); | ||||
|       SPI_OBJ.beginTransaction(spi_settings); | ||||
|     #endif | ||||
|     WRITE(CLCD_SPI_CS, 0); | ||||
|     #ifdef CLCD_SPI_EXTRA_CS | ||||
| @@ -129,25 +129,25 @@ namespace FTDI { | ||||
|       WRITE(CLCD_SPI_EXTRA_CS, 1); | ||||
|     #endif | ||||
|     #ifndef CLCD_USE_SOFT_SPI | ||||
|       ::SPI.endTransaction(); | ||||
|       SPI_OBJ.endTransaction(); | ||||
|     #endif | ||||
|   } | ||||
|  | ||||
|   #ifdef SPI_FLASH_SS | ||||
|   // Serial SPI Flash SPI - Chip Select | ||||
|   void SPI::spi_flash_select () { | ||||
|   void SPI::spi_flash_select() { | ||||
|     #ifndef CLCD_USE_SOFT_SPI | ||||
|     ::SPI.beginTransaction(spi_settings); | ||||
|       SPI_OBJ.beginTransaction(spi_settings); | ||||
|     #endif | ||||
|     WRITE(SPI_FLASH_SS, 0); | ||||
|     delayMicroseconds(1); | ||||
|   } | ||||
|  | ||||
|   // Serial SPI Flash SPI - Chip Deselect | ||||
|   void SPI::spi_flash_deselect () { | ||||
|   void SPI::spi_flash_deselect() { | ||||
|     WRITE(SPI_FLASH_SS, 1); | ||||
|     #ifndef CLCD_USE_SOFT_SPI | ||||
|     ::SPI.endTransaction(); | ||||
|       SPI_OBJ.endTransaction(); | ||||
|     #endif | ||||
|   } | ||||
|   #endif | ||||
|   | ||||
| @@ -27,6 +27,14 @@ | ||||
| #endif | ||||
|  | ||||
| namespace FTDI { | ||||
|  | ||||
|   #if defined(__AVR__) || defined(CLCD_USE_SOFT_SPI) | ||||
|     #define SPI_OBJ ::SPI | ||||
|   #else | ||||
|     extern SPIClass EVE_SPI; | ||||
|     #define SPI_OBJ EVE_SPI | ||||
|   #endif | ||||
|  | ||||
|   namespace SPI { | ||||
|     #ifndef CLCD_USE_SOFT_SPI | ||||
|       extern SPISettings spi_settings; | ||||
| @@ -47,7 +55,7 @@ namespace FTDI { | ||||
|       #ifdef CLCD_USE_SOFT_SPI | ||||
|         return _soft_spi_xfer(0x00); | ||||
|       #else | ||||
|         return ::SPI.transfer(0x00); | ||||
|         SPI_OBJ.transfer(0x00); | ||||
|       #endif | ||||
|     }; | ||||
|  | ||||
| @@ -55,7 +63,7 @@ namespace FTDI { | ||||
|       #ifdef CLCD_USE_SOFT_SPI | ||||
|         _soft_spi_send(val); | ||||
|       #else | ||||
|         ::SPI.transfer(val); | ||||
|         SPI_OBJ.transfer(val); | ||||
|       #endif | ||||
|     }; | ||||
|  | ||||
|   | ||||
| @@ -30,9 +30,9 @@ class SoundList { | ||||
|   public: | ||||
|     static const uint8_t n; | ||||
|     static inline const char* name(uint8_t val) { | ||||
|       return (const char* ) pgm_read_ptr_near(&list[val].name); | ||||
|       return (const char* ) pgm_read_ptr_far(&list[val].name); | ||||
|     } | ||||
|     static inline FTDI::SoundPlayer::sound_t* data(uint8_t val) { | ||||
|       return (FTDI::SoundPlayer::sound_t*) pgm_read_ptr_near(&list[val].data); | ||||
|       return (FTDI::SoundPlayer::sound_t*) pgm_read_ptr_far(&list[val].data); | ||||
|     } | ||||
| }; | ||||
|   | ||||
| @@ -154,3 +154,12 @@ | ||||
|     #define CLCD_SPI_EXTRA_CS            SDSS | ||||
|   #endif | ||||
| #endif | ||||
|  | ||||
| #if EITHER(E3_EXP1_PINMAP, GENERIC_EXP2_PINMAP) | ||||
|   #ifndef __MARLIN_FIRMWARE__ | ||||
|     #error "This pin mapping requires Marlin." | ||||
|   #endif | ||||
|  | ||||
|   #define CLCD_MOD_RESET                 BTN_EN1 | ||||
|   #define CLCD_SPI_CS                    LCD_PINS_RS | ||||
| #endif | ||||
|   | ||||
| @@ -82,7 +82,7 @@ void AboutScreen::onRedraw(draw_mode_t) { | ||||
|   ); | ||||
|   draw_text_box(cmd, FW_VERS_POS, progmem_str(getFirmwareName_str()), OPT_CENTER, font_medium); | ||||
|   draw_text_box(cmd, FW_INFO_POS, about_str, OPT_CENTER, font_medium); | ||||
|   draw_text_box(cmd, INSET_POS(LICENSE_POS), GET_TEXT_F(MSG_LICENSE), OPT_CENTER, font_tiny); | ||||
|   draw_text_box(cmd.tag(3), INSET_POS(LICENSE_POS), GET_TEXT_F(MSG_LICENSE), OPT_CENTER, font_tiny); | ||||
|  | ||||
|   cmd.font(font_medium) | ||||
|      .colors(normal_btn) | ||||
|   | ||||
| @@ -74,7 +74,9 @@ void InterfaceSettingsScreen::onRedraw(draw_mode_t what) { | ||||
|     #define EDGE_R 30 | ||||
|        .font(font_small) | ||||
|        .tag(0) | ||||
|     #if DISABLED(LCD_FYSETC_TFT81050) | ||||
|        .text(BTN_POS(1,2), BTN_SIZE(2,1), GET_TEXT_F(MSG_LCD_BRIGHTNESS), OPT_RIGHTX | OPT_CENTERY) | ||||
|     #endif | ||||
|        .text(BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXT_F(MSG_SOUND_VOLUME),   OPT_RIGHTX | OPT_CENTERY) | ||||
|        .text(BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXT_F(MSG_SCREEN_LOCK),    OPT_RIGHTX | OPT_CENTERY); | ||||
|     #if DISABLED(TOUCH_UI_NO_BOOTSCREEN) | ||||
| @@ -93,7 +95,9 @@ void InterfaceSettingsScreen::onRedraw(draw_mode_t what) { | ||||
|     cmd.font(font_medium) | ||||
|     #define EDGE_R 30 | ||||
|        .colors(ui_slider) | ||||
|     #if DISABLED(LCD_FYSETC_TFT81050) | ||||
|        .tag(2).slider(BTN_POS(3,2), BTN_SIZE(2,1), screen_data.InterfaceSettingsScreen.brightness, 128) | ||||
|     #endif | ||||
|        .tag(3).slider(BTN_POS(3,3), BTN_SIZE(2,1), screen_data.InterfaceSettingsScreen.volume,     0xFF) | ||||
|        .colors(ui_toggle) | ||||
|        .tag(4).toggle2(BTN_POS(3,4), BTN_SIZE(w,1), GET_TEXT_F(MSG_NO), GET_TEXT_F(MSG_YES), LockScreen::is_enabled()) | ||||
|   | ||||
| @@ -721,3 +721,47 @@ | ||||
|     #define BTN_ENC                           63 | ||||
|   #endif | ||||
| #endif | ||||
|  | ||||
| #if BOTH(TOUCH_UI_FTDI_EVE, LCD_FYSETC_TFT81050) | ||||
|  | ||||
|   #error "CAUTION! LCD_FYSETC_TFT81050 requires wiring modifications. See 'pins_RAMPS.h' for details. Comment out this line to continue." | ||||
|  | ||||
|   /** FYSECT TFT TFT81050 display pinout | ||||
|    * | ||||
|    *               Board                                     Display | ||||
|    *               _____                                     _____ | ||||
|    *  (SCK)   D52 | 1 2 | D50    (MISO)                MISO | 1 2 | SCK | ||||
|    *  (SD_CS) D53 | 3 4 | D33 (BNT_EN2) (BNT_EN2) MOD_RESET | 3 4 | SD_CS | ||||
|    *  (MOSI)  D51 | 5 6   D31 (BNT_EN1) (BNT_EN1)    LCD_CS | 5 6   MOSI | ||||
|    *        RESET | 7 8 | D49  (SD_DET)              SD_DET | 7 8 | RESET | ||||
|    *           NC | 9 10| GND                           GND | 9 10| 5V | ||||
|    *               -----                                     ----- | ||||
|    *                EXP2                                      EXP1 | ||||
|    * | ||||
|    * Needs custom cable: | ||||
|    * | ||||
|    *    Board   Adapter   Display | ||||
|    *           _________ | ||||
|    *   EXP2-1 ----------- EXP1-10 | ||||
|    *   EXP2-2 ----------- EXP1-9 | ||||
|    *   EXP2-4 ----------- EXP1-8 | ||||
|    *   EXP2-4 ----------- EXP1-7 | ||||
|    *   EXP2-3 ----------- EXP1-6 | ||||
|    *   EXP2-6 ----------- EXP1-5 | ||||
|    *   EXP2-7 ----------- EXP1-4 | ||||
|    *   EXP2-8 ----------- EXP1-3 | ||||
|    *   EXP2-1 ----------- EXP1-2 | ||||
|    *  EXT1-10 ----------- EXP1-1 | ||||
|    * | ||||
|    */ | ||||
|  | ||||
|   #define BEEPER_PIN                          37 | ||||
|  | ||||
|   #define BTN_EN1                             31 | ||||
|   #define LCD_PINS_RS                         33 | ||||
|  | ||||
|   #define SD_DETECT_PIN                       49 | ||||
|  | ||||
|   #define KILL_PIN                            -1 | ||||
|  | ||||
| #endif // TOUCH_UI_FTDI_EVE && LCD_FYSETC_TFT81050 | ||||
|   | ||||
| @@ -47,20 +47,20 @@ | ||||
| // | ||||
| // Limit Switches | ||||
| // | ||||
| #define X_STOP_PIN                          PC1   // X-STOP | ||||
| #define Y_STOP_PIN                          PC0   // Y-STOP | ||||
| #define Z_STOP_PIN                          PC15  // Z-STOP | ||||
| #define X_STOP_PIN                          PC1   // "X-STOP" | ||||
| #define Y_STOP_PIN                          PC0   // "Y-STOP" | ||||
| #define Z_STOP_PIN                          PC15  // "Z-STOP" | ||||
|  | ||||
| // | ||||
| // Z Probe must be this pin | ||||
| // | ||||
| #define Z_MIN_PROBE_PIN                     PC14  // PROBE | ||||
| #define Z_MIN_PROBE_PIN                     PC14  // "PROBE" | ||||
|  | ||||
| // | ||||
| // Filament Runout Sensor | ||||
| // | ||||
| #ifndef FIL_RUNOUT_PIN | ||||
|   #define FIL_RUNOUT_PIN                    PC2   // E0-STOP | ||||
|   #define FIL_RUNOUT_PIN                    PC2   // "E0-STOP" | ||||
| #endif | ||||
|  | ||||
| // | ||||
| @@ -149,9 +149,9 @@ | ||||
| // | ||||
| // Heaters / Fans | ||||
| // | ||||
| #define HEATER_0_PIN                        PC8   // HE | ||||
| #define HEATER_BED_PIN                      PC9   // HB | ||||
| #define FAN_PIN                             PA8   // FAN0 | ||||
| #define HEATER_0_PIN                        PC8   // "HE" | ||||
| #define HEATER_BED_PIN                      PC9   // "HB" | ||||
| #define FAN_PIN                             PA8   // "FAN0" | ||||
|  | ||||
| // | ||||
| // USB connect control | ||||
| @@ -159,8 +159,6 @@ | ||||
| #define USB_CONNECT_PIN                     PC13 | ||||
| #define USB_CONNECT_INVERTING false | ||||
|  | ||||
| #define SD_DETECT_PIN                       PC4 | ||||
|  | ||||
| /** | ||||
|  *                 _____ | ||||
|  *             5V | 1 2 | GND | ||||
| @@ -182,18 +180,31 @@ | ||||
| #define EXPA1_10_PIN                        PA15 | ||||
|  | ||||
| #if HAS_SPI_LCD | ||||
|   #define BTN_ENC                   EXPA1_09_PIN | ||||
|   #define BTN_EN1                   EXPA1_08_PIN | ||||
|   #define BTN_EN2                   EXPA1_06_PIN | ||||
|  | ||||
|   #if ENABLED(CR10_STOCKDISPLAY) | ||||
|  | ||||
|     #define BEEPER_PIN              EXPA1_10_PIN | ||||
|  | ||||
|     #define BTN_ENC                 EXPA1_09_PIN | ||||
|     #define BTN_EN1                 EXPA1_08_PIN | ||||
|     #define BTN_EN2                 EXPA1_06_PIN | ||||
|  | ||||
|     #define LCD_PINS_RS             EXPA1_04_PIN | ||||
|     #define LCD_PINS_ENABLE         EXPA1_03_PIN | ||||
|     #define LCD_PINS_D4             EXPA1_05_PIN | ||||
|  | ||||
|   #elif ENABLED(ZONESTAR_LCD)                     // ANET A8 LCD Controller - Must convert to 3.3V - CONNECTING TO 5V WILL DAMAGE THE BOARD! | ||||
|  | ||||
|     #error "CAUTION! ZONESTAR_LCD requires wiring modifications. See 'pins_BTT_SKR_MINI_E3.h' for details. Comment out this line to continue." | ||||
|  | ||||
|     #define LCD_PINS_RS             EXPA1_05_PIN | ||||
|     #define LCD_PINS_ENABLE         EXPA1_09_PIN | ||||
|     #define LCD_PINS_D4             EXPA1_04_PIN | ||||
|     #define LCD_PINS_D5             EXPA1_06_PIN | ||||
|     #define LCD_PINS_D6             EXPA1_08_PIN | ||||
|     #define LCD_PINS_D7             EXPA1_10_PIN | ||||
|     #define ADC_KEYPAD_PIN                  PA1   // Repurpose servo pin for ADC - CONNECTING TO 5V WILL DAMAGE THE BOARD! | ||||
|  | ||||
|   #elif EITHER(MKS_MINI_12864, ENDER2_STOCKDISPLAY) | ||||
|  | ||||
|     /** Creality Ender-2 display pinout | ||||
| @@ -207,6 +218,10 @@ | ||||
|      *                    EXP1 | ||||
|      */ | ||||
|  | ||||
|     #define BTN_ENC                 EXPA1_09_PIN | ||||
|     #define BTN_EN1                 EXPA1_08_PIN | ||||
|     #define BTN_EN2                 EXPA1_06_PIN | ||||
|  | ||||
|     #define DOGLCD_CS               EXPA1_04_PIN | ||||
|     #define DOGLCD_A0               EXPA1_05_PIN | ||||
|     #define DOGLCD_SCK              EXPA1_10_PIN | ||||
| @@ -215,17 +230,71 @@ | ||||
|     #define LCD_BACKLIGHT_PIN               -1 | ||||
|  | ||||
|   #else | ||||
|     #error "Only CR10_STOCKDISPLAY, ENDER2_STOCKDISPLAY, and MKS_MINI_12864 are currently supported on the BIGTREE_SKR_E3_DIP." | ||||
|     #error "Only CR10_STOCKDISPLAY, ZONESTAR_LCD, ENDER2_STOCKDISPLAY, and MKS_MINI_12864 are currently supported on the BIGTREE_SKR_E3_DIP." | ||||
|   #endif | ||||
|  | ||||
| #endif // HAS_SPI_LCD | ||||
|  | ||||
| #if BOTH(TOUCH_UI_FTDI_EVE, LCD_FYSETC_TFT81050) | ||||
|  | ||||
|   #error "CAUTION! LCD_FYSETC_TFT81050 requires wiring modifications. See 'pins_BTT_SKR_E3_DIP.h' for details. Comment out this line to continue." | ||||
|  | ||||
|   /** FYSECT TFT TFT81050 display pinout | ||||
|    * | ||||
|    *               Board                                     Display | ||||
|    *               _____                                      _____ | ||||
|    *           5V | 1 2 | GND               (SPI1-MISO) MISO | 1 2 | SCK   (SPI1-SCK) | ||||
|    * (FREE)   PB7 | 3 4 | PB8  (LCD_CS)     (PA9)  MOD_RESET | 3 4 | SD_CS (PA10) | ||||
|    * (FREE)   PB9 | 5 6   PA10 (SD_CS)      (PB8)     LCD_CS | 5 6   MOSI  (SPI1-MOSI) | ||||
|    *        RESET | 7 8 | PA9  (MOD_RESET)  (PA15)    SD_DET | 7 8 | RESET | ||||
|    * (BEEPER) PB6 | 9 10| PA15 (SD_DET)                  GND | 9 10| 5V | ||||
|    *               -----                                      ----- | ||||
|    *                EXP1                                       EXP1 | ||||
|    * | ||||
|    * Needs custom cable: | ||||
|    * | ||||
|    *    Board   Adapter   Display | ||||
|    *           _________ | ||||
|    *   EXP1-1 ----------- EXP1-10 | ||||
|    *   EXP1-2 ----------- EXP1-9 | ||||
|    *   SPI1-4 ----------- EXP1-6 | ||||
|    *   EXP1-4 ----------- EXP1-5 | ||||
|    *   SP11-3 ----------- EXP1-2 | ||||
|    *   EXP1-6 ----------- EXP1-4 | ||||
|    *   EXP1-7 ----------- EXP1-8 | ||||
|    *   EXP1-8 ----------- EXP1-3 | ||||
|    *   SPI1-1 ----------- EXP1-1 | ||||
|    *  EXT1-10 ----------- EXP1-4 | ||||
|    * | ||||
|    */ | ||||
|  | ||||
|   #define CLCD_SPI_BUS 1                          // SPI1 connector | ||||
|  | ||||
|   #define BEEPER_PIN                EXPA1_09_PIN | ||||
|  | ||||
|   #define BTN_EN1                   EXPA1_08_PIN | ||||
|   #define LCD_PINS_RS               EXPA1_04_PIN | ||||
|  | ||||
| #endif // TOUCH_UI_FTDI_EVE && LCD_FYSETC_TFT81050 | ||||
|  | ||||
| // | ||||
| // SD Support | ||||
| // | ||||
|  | ||||
| #ifndef SDCARD_CONNECTION | ||||
|   #define SDCARD_CONNECTION              ONBOARD | ||||
| #endif | ||||
|  | ||||
| #define ON_BOARD_SPI_DEVICE 1                     //SPI1 | ||||
| #if SD_CONNECTION_IS(ONBOARD) | ||||
|   #define SD_DETECT_PIN                     PC4 | ||||
| #endif | ||||
|  | ||||
| #if BOTH(TOUCH_UI_FTDI_EVE, LCD_FYSETC_TFT81050) && SD_CONNECTION_IS(LCD) | ||||
|   #define SD_DETECT_PIN             EXPA1_10_PIN | ||||
|   #define SS_PIN                    EXPA1_06_PIN | ||||
| #elif SD_CONNECTION_IS(CUSTOM_CABLE) | ||||
|   #error "SD CUSTOM_CABLE is not compatible with SKR E3 DIP." | ||||
| #endif | ||||
|  | ||||
| #define ON_BOARD_SPI_DEVICE 1                     // SPI1 | ||||
| #define ONBOARD_SD_CS_PIN                   PA4   // Chip select for "System" SD card | ||||
|   | ||||
| @@ -40,19 +40,19 @@ | ||||
| // | ||||
| // Servos | ||||
| // | ||||
| #define SERVO0_PIN                          PA1 | ||||
| #define SERVO0_PIN                          PA1   // "SERVOS" | ||||
|  | ||||
| // | ||||
| // Limit Switches | ||||
| // | ||||
| #define X_STOP_PIN                          PC0 | ||||
| #define Y_STOP_PIN                          PC1 | ||||
| #define Z_STOP_PIN                          PC2 | ||||
| #define X_STOP_PIN                          PC0   // "X-STOP" | ||||
| #define Y_STOP_PIN                          PC1   // "Y-STOP" | ||||
| #define Z_STOP_PIN                          PC2   // "Z-STOP" | ||||
|  | ||||
| // | ||||
| // Z Probe must be this pins | ||||
| // Z Probe must be this pin | ||||
| // | ||||
| #define Z_MIN_PROBE_PIN                     PC14 | ||||
| #define Z_MIN_PROBE_PIN                     PC14  // "PROBE" | ||||
|  | ||||
| // | ||||
| // Filament Runout Sensor | ||||
| @@ -83,15 +83,15 @@ | ||||
| // | ||||
| // Temperature Sensors | ||||
| // | ||||
| #define TEMP_0_PIN                          PA0   // Analog Input | ||||
| #define TEMP_BED_PIN                        PC3   // Analog Input | ||||
| #define TEMP_0_PIN                          PA0   // Analog Input "TH0" | ||||
| #define TEMP_BED_PIN                        PC3   // Analog Input "TB0" | ||||
|  | ||||
| // | ||||
| // Heaters / Fans | ||||
| // | ||||
| #define HEATER_0_PIN                        PC8   // EXTRUDER | ||||
| #define HEATER_BED_PIN                      PC9   // BED | ||||
| #define FAN_PIN                             PA8 | ||||
| #define HEATER_0_PIN                        PC8   // "HE" | ||||
| #define HEATER_BED_PIN                      PC9   // "HB" | ||||
| #define FAN_PIN                             PA8   // "FAN0" | ||||
|  | ||||
| // | ||||
| // USB connect control | ||||
| @@ -99,8 +99,6 @@ | ||||
| #define USB_CONNECT_PIN                     PC13 | ||||
| #define USB_CONNECT_INVERTING false | ||||
|  | ||||
| #define SD_DETECT_PIN                       PC4 | ||||
|  | ||||
| /** | ||||
|  *                 _____ | ||||
|  *             5V | 1 2 | GND | ||||
| @@ -127,9 +125,9 @@ | ||||
|  | ||||
|     #define BEEPER_PIN              EXPA1_10_PIN | ||||
|  | ||||
|     #define BTN_ENC                 EXPA1_09_PIN | ||||
|     #define BTN_EN1                 EXPA1_08_PIN | ||||
|     #define BTN_EN2                 EXPA1_06_PIN | ||||
|     #define BTN_ENC                 EXPA1_09_PIN | ||||
|  | ||||
|     #define LCD_PINS_RS             EXPA1_04_PIN | ||||
|     #define LCD_PINS_ENABLE         EXPA1_03_PIN | ||||
| @@ -159,9 +157,10 @@ | ||||
|      *                   ----- | ||||
|      *                    EXP1 | ||||
|      */ | ||||
|  | ||||
|     #define BTN_ENC                 EXPA1_09_PIN | ||||
|     #define BTN_EN1                 EXPA1_08_PIN | ||||
|     #define BTN_EN2                 EXPA1_06_PIN | ||||
|     #define BTN_ENC                 EXPA1_09_PIN | ||||
|  | ||||
|     #define DOGLCD_CS               EXPA1_04_PIN | ||||
|     #define DOGLCD_A0               EXPA1_05_PIN | ||||
| @@ -171,19 +170,73 @@ | ||||
|     #define LCD_BACKLIGHT_PIN               -1 | ||||
|  | ||||
|   #else | ||||
|  | ||||
|     #error "Only ZONESTAR_LCD, MKS_MINI_12864, ENDER2_STOCKDISPLAY, and CR10_STOCKDISPLAY are currently supported on the BIGTREE_SKR_MINI_E3." | ||||
|  | ||||
|     #error "Only CR10_STOCKDISPLAY, ZONESTAR_LCD, ENDER2_STOCKDISPLAY, and MKS_MINI_12864 are currently supported on the BIGTREE_SKR_MINI_E3." | ||||
|   #endif | ||||
|  | ||||
| #endif // HAS_SPI_LCD | ||||
|  | ||||
| #if BOTH(TOUCH_UI_FTDI_EVE, LCD_FYSETC_TFT81050) | ||||
|  | ||||
|   #error "CAUTION! LCD_FYSETC_TFT81050 requires wiring modifications. See 'pins_BTT_SKR_MINI_E3.h' for details. Comment out this line to continue." | ||||
|  | ||||
|   /** FYSECT TFT TFT81050 display pinout | ||||
|    * | ||||
|    *               Board                                      Display | ||||
|    *               _____                                       _____ | ||||
|    *           5V | 1 2 | GND                (SPI1-MISO) MISO | 1 2 | SCK   (SPI1-SCK) | ||||
|    * (FREE)   PB7 | 3 4 | PB8  (LCD_CS)      (PA9)  MOD_RESET | 3 4 | SD_CS (PA10) | ||||
|    * (FREE)   PB9 | 5 6   PA10 (SD_CS)       (PB8)     LCD_CS | 5 6   MOSI  (SPI1-MOSI) | ||||
|    *        RESET | 7 8 | PA9  (MOD_RESET)   (PB5)     SD_DET | 7 8 | RESET | ||||
|    * (BEEPER) PB6 | 9 10| PB5  (SD_DET)                   GND | 9 10| 5V | ||||
|    *               -----                                       ----- | ||||
|    *                EXP1                                        EXP1 | ||||
|    * | ||||
|    * Needs custom cable: | ||||
|    * | ||||
|    *    Board   Adapter   Display | ||||
|    *           _________ | ||||
|    *   EXP1-1 ----------- EXP1-10 | ||||
|    *   EXP1-2 ----------- EXP1-9 | ||||
|    *   SPI1-4 ----------- EXP1-6 | ||||
|    *   EXP1-4 ----------- EXP1-5 | ||||
|    *   SPI1-3 ----------- EXP1-2 | ||||
|    *   EXP1-6 ----------- EXP1-4 | ||||
|    *   EXP1-7 ----------- EXP1-8 | ||||
|    *   EXP1-8 ----------- EXP1-3 | ||||
|    *   SPI1-1 ----------- EXP1-1 | ||||
|    *  EXP1-10 ----------- EXP1-4 | ||||
|    * | ||||
|    */ | ||||
|  | ||||
|   #define CLCD_SPI_BUS 1                          // SPI1 connector | ||||
|  | ||||
|   #define BEEPER_PIN                EXPA1_09_PIN | ||||
|  | ||||
|   #define BTN_EN1                   EXPA1_08_PIN | ||||
|   #define LCD_PINS_RS               EXPA1_04_PIN | ||||
|   #define LCD_PINS_ENABLE           EXPA1_03_PIN | ||||
|   #define LCD_PINS_D4               EXPA1_05_PIN | ||||
|  | ||||
| #endif // TOUCH_UI_FTDI_EVE && LCD_FYSETC_TFT81050 | ||||
|  | ||||
| // | ||||
| // SD Support | ||||
| // | ||||
|  | ||||
| #ifndef SDCARD_CONNECTION | ||||
|   #define SDCARD_CONNECTION              ONBOARD | ||||
| #endif | ||||
|  | ||||
| #if SD_CONNECTION_IS(ONBOARD) | ||||
|   #define SD_DETECT_PIN                     PC4 | ||||
| #endif | ||||
|  | ||||
| #if BOTH(TOUCH_UI_FTDI_EVE, LCD_FYSETC_TFT81050) && SD_CONNECTION_IS(LCD) | ||||
|   #define SD_DETECT_PIN             EXPA1_10_PIN | ||||
|   #define SS_PIN                    EXPA1_06_PIN | ||||
| #elif SD_CONNECTION_IS(CUSTOM_CABLE) | ||||
|   #error "SD CUSTOM_CABLE is not compatible with SKR Mini E3." | ||||
| #endif | ||||
|  | ||||
| #define ON_BOARD_SPI_DEVICE 1                     // SPI1 | ||||
| #define ONBOARD_SD_CS_PIN                   PA4   // Chip select for "System" SD card | ||||
|   | ||||
		Reference in New Issue
	
	Block a user