Browse Source

Robin & Longer3D SPI TFT driver (#14595)

pull/1/head
Tanguy Pruvot 6 years ago
committed by Scott Lahteine
parent
commit
81d629bc47
  1. 12
      Marlin/Configuration.h
  2. 73
      Marlin/src/HAL/HAL_STM32F1/u8g_com_stm32duino_fsmc.cpp
  3. 8
      Marlin/src/Marlin.cpp
  4. 129
      Marlin/src/feature/touch/xpt2046.cpp
  5. 43
      Marlin/src/feature/touch/xpt2046.h
  6. 317
      Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp
  7. 26
      Marlin/src/lcd/ultralcd.cpp
  8. 11
      Marlin/src/lcd/ultralcd.h
  9. 12
      Marlin/src/pins/pinsDebug_list.h
  10. 6
      Marlin/src/pins/stm32/pins_BIGTREE_SKR_PRO_V1.1.h
  11. 11
      Marlin/src/pins/stm32/pins_JGAURORA_A5S_A1.h
  12. 44
      Marlin/src/pins/stm32/pins_MKS_ROBIN_MINI.h
  13. 42
      Marlin/src/pins/stm32/pins_MKS_ROBIN_NANO.h
  14. 10
      Marlin/src/pins/stm32/pins_STM3R_MINI.h
  15. 12
      config/default/Configuration.h
  16. 12
      config/examples/3DFabXYZ/Migbot/Configuration.h
  17. 12
      config/examples/AlephObjects/TAZ4/Configuration.h
  18. 12
      config/examples/AliExpress/CL-260/Configuration.h
  19. 12
      config/examples/AliExpress/UM2pExt/Configuration.h
  20. 12
      config/examples/Anet/A2/Configuration.h
  21. 12
      config/examples/Anet/A2plus/Configuration.h
  22. 12
      config/examples/Anet/A6/Configuration.h
  23. 12
      config/examples/Anet/A8/Configuration.h
  24. 12
      config/examples/Anet/A8plus/Configuration.h
  25. 12
      config/examples/Anet/E16/Configuration.h
  26. 12
      config/examples/AnyCubic/i3/Configuration.h
  27. 12
      config/examples/ArmEd/Configuration.h
  28. 12
      config/examples/Azteeg/X5GT/Configuration.h
  29. 12
      config/examples/BIBO/TouchX/cyclops/Configuration.h
  30. 12
      config/examples/BIBO/TouchX/default/Configuration.h
  31. 12
      config/examples/BQ/Hephestos/Configuration.h
  32. 12
      config/examples/BQ/Hephestos_2/Configuration.h
  33. 12
      config/examples/BQ/WITBOX/Configuration.h
  34. 12
      config/examples/Cartesio/Configuration.h
  35. 12
      config/examples/Creality/CR-10/Configuration.h
  36. 12
      config/examples/Creality/CR-10S/Configuration.h
  37. 12
      config/examples/Creality/CR-10_5S/Configuration.h
  38. 12
      config/examples/Creality/CR-10mini/Configuration.h
  39. 12
      config/examples/Creality/CR-20 Pro/Configuration.h
  40. 12
      config/examples/Creality/CR-20/Configuration.h
  41. 12
      config/examples/Creality/CR-8/Configuration.h
  42. 12
      config/examples/Creality/Ender-2/Configuration.h
  43. 12
      config/examples/Creality/Ender-3/Configuration.h
  44. 12
      config/examples/Creality/Ender-4/Configuration.h
  45. 12
      config/examples/Creality/Ender-5/Configuration.h
  46. 12
      config/examples/Dagoma/Disco Ultimate/Configuration.h
  47. 12
      config/examples/EVNOVO (Artillery)/Sidewinder X1/Configuration.h
  48. 12
      config/examples/Einstart-S/Configuration.h
  49. 12
      config/examples/Felix/Configuration.h
  50. 12
      config/examples/Felix/DUAL/Configuration.h
  51. 12
      config/examples/FlashForge/CreatorPro/Configuration.h
  52. 12
      config/examples/FolgerTech/i3-2020/Configuration.h
  53. 12
      config/examples/Formbot/Raptor/Configuration.h
  54. 12
      config/examples/Formbot/T_Rex_2+/Configuration.h
  55. 12
      config/examples/Formbot/T_Rex_3/Configuration.h
  56. 12
      config/examples/Fysetc/AIO_II/Configuration.h
  57. 12
      config/examples/Fysetc/CHEETAH/Configuration.h
  58. 12
      config/examples/Fysetc/F6_13/Configuration.h
  59. 12
      config/examples/Geeetech/A10/Configuration.h
  60. 12
      config/examples/Geeetech/A10M/Configuration.h
  61. 12
      config/examples/Geeetech/A20M/Configuration.h
  62. 12
      config/examples/Geeetech/GT2560/Configuration.h
  63. 12
      config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h
  64. 12
      config/examples/Geeetech/MeCreator2/Configuration.h
  65. 12
      config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h
  66. 12
      config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h
  67. 12
      config/examples/Geeetech/Prusa i3 Pro C/Configuration.h
  68. 12
      config/examples/Geeetech/Prusa i3 Pro W/Configuration.h
  69. 12
      config/examples/Infitary/i3-M508/Configuration.h
  70. 12
      config/examples/JGAurora/A1/Configuration.h
  71. 12
      config/examples/JGAurora/A5/Configuration.h
  72. 12
      config/examples/JGAurora/A5S/Configuration.h
  73. 12
      config/examples/MakerParts/Configuration.h
  74. 12
      config/examples/Malyan/M150/Configuration.h
  75. 12
      config/examples/Malyan/M200/Configuration.h
  76. 12
      config/examples/Micromake/C1/basic/Configuration.h
  77. 12
      config/examples/Micromake/C1/enhanced/Configuration.h
  78. 12
      config/examples/Mks/Robin/Configuration.h
  79. 12
      config/examples/Mks/Sbase/Configuration.h
  80. 12
      config/examples/Printrbot/PrintrboardG2/Configuration.h
  81. 12
      config/examples/RapideLite/RL200/Configuration.h
  82. 12
      config/examples/RepRapPro/Huxley/Configuration.h
  83. 12
      config/examples/RepRapWorld/Megatronics/Configuration.h
  84. 12
      config/examples/RigidBot/Configuration.h
  85. 12
      config/examples/SCARA/Configuration.h
  86. 12
      config/examples/STM32/Black_STM32F407VET6/Configuration.h
  87. 12
      config/examples/STM32/STM32F10/Configuration.h
  88. 12
      config/examples/STM32/STM32F4/Configuration.h
  89. 12
      config/examples/STM32/stm32f103ret6/Configuration.h
  90. 12
      config/examples/Sanguinololu/Configuration.h
  91. 12
      config/examples/Tevo/Tarantula Pro/Configuration.h
  92. 12
      config/examples/TheBorg/Configuration.h
  93. 12
      config/examples/TinyBoy2/Configuration.h
  94. 12
      config/examples/Tronxy/X1/Configuration.h
  95. 12
      config/examples/Tronxy/X3A/Configuration.h
  96. 12
      config/examples/Tronxy/X5S-2E/Configuration.h
  97. 12
      config/examples/Tronxy/X5S/Configuration.h
  98. 12
      config/examples/Tronxy/XY100/Configuration.h
  99. 12
      config/examples/UltiMachine/Archim1/Configuration.h
  100. 12
      config/examples/UltiMachine/Archim2/Configuration.h

12
Marlin/Configuration.h

@ -2032,8 +2032,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

73
Marlin/src/HAL/HAL_STM32F1/u8g_com_stm32duino_fsmc.cpp

@ -35,9 +35,12 @@
#include "U8glib.h"
#include "libmaple/fsmc.h"
#include "libmaple/gpio.h"
#include "libmaple/dma.h"
#include "boards.h"
#define LCD_READ_ID 0x04 /* Read display identification information */
#ifndef LCD_READ_ID
#define LCD_READ_ID 0x04 // Read display identification information (0xD3 on ILI9341)
#endif
/* Timing configuration */
#define FSMC_ADDRESS_SETUP_TIME 15 // AddressSetupTime
@ -47,6 +50,10 @@ void LCD_IO_Init(uint8_t cs, uint8_t rs);
void LCD_IO_WriteData(uint16_t RegValue);
void LCD_IO_WriteReg(uint16_t Reg);
uint32_t LCD_IO_ReadData(uint16_t RegValue, uint8_t ReadSize);
#ifdef LCD_USE_DMA_FSMC
void LCD_IO_WriteMultiple(uint16_t data, uint32_t count);
void LCD_IO_WriteSequence(uint16_t *data, uint16_t length);
#endif
static uint8_t msgInitCount = 2; // Ignore all messages until 2nd U8G_COM_MSG_INIT
@ -59,21 +66,25 @@ uint8_t u8g_com_stm32duino_fsmc_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, voi
static uint8_t isCommand;
switch (msg) {
case U8G_COM_MSG_STOP:
break;
case U8G_COM_MSG_STOP: break;
case U8G_COM_MSG_INIT:
u8g_SetPIOutput(u8g, U8G_PI_RESET);
#ifdef LCD_USE_DMA_FSMC
dma_init(FSMC_DMA_DEV);
dma_disable(FSMC_DMA_DEV, FSMC_DMA_CHANNEL);
dma_set_priority(FSMC_DMA_DEV, FSMC_DMA_CHANNEL, DMA_PRIORITY_MEDIUM);
#endif
LCD_IO_Init(u8g->pin_list[U8G_PI_CS], u8g->pin_list[U8G_PI_A0]);
u8g_Delay(100);
u8g_Delay(50);
if (arg_ptr != nullptr)
if (arg_ptr)
*((uint32_t *)arg_ptr) = LCD_IO_ReadData(LCD_READ_ID, 3);
isCommand = 0;
break;
case U8G_COM_MSG_ADDRESS: // define cmd (arg_val = 0) or data mode (arg_val = 1)
case U8G_COM_MSG_ADDRESS: // define cmd (arg_val = 0) or data mode (arg_val = 1)
isCommand = arg_val == 0 ? 1 : 0;
break;
@ -89,7 +100,6 @@ uint8_t u8g_com_stm32duino_fsmc_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, voi
break;
case U8G_COM_MSG_WRITE_SEQ:
for (uint8_t i = 0; i < arg_val; i += 2)
LCD_IO_WriteData(*(uint16_t *)(((uint32_t)arg_ptr) + i));
break;
@ -107,7 +117,7 @@ __attribute__((always_inline)) __STATIC_INLINE void __DSB(void) {
__ASM volatile ("dsb 0xF":::"memory");
}
#define FSMC_CS_NE1 PD7
#define FSMC_CS_NE1 PD7
#ifdef STM32_XL_DENSITY
#define FSMC_CS_NE2 PG9
@ -257,7 +267,7 @@ void LCD_IO_WriteReg(uint16_t Reg) {
uint32_t LCD_IO_ReadData(uint16_t RegValue, uint8_t ReadSize) {
volatile uint32_t data;
LCD->REG = (uint16_t)RegValue;
LCD->REG = RegValue;
__DSB();
data = LCD->RAM; // dummy read
@ -267,9 +277,48 @@ uint32_t LCD_IO_ReadData(uint16_t RegValue, uint8_t ReadSize) {
data <<= 8;
data |= (LCD->RAM & 0x00FF);
}
return (uint32_t)data;
return uint32_t(data);
}
#endif // HAS_GRAPHICAL_LCD
#if ENABLED(LCD_USE_DMA_FSMC)
void LCD_IO_WriteMultiple(uint16_t color, uint32_t count) {
while (count > 0) {
dma_setup_transfer(FSMC_DMA_DEV, FSMC_DMA_CHANNEL, &color, DMA_SIZE_16BITS, &LCD->RAM, DMA_SIZE_16BITS, DMA_MEM_2_MEM);
dma_set_num_transfers(FSMC_DMA_DEV, FSMC_DMA_CHANNEL, count > 65535 ? 65535 : count);
dma_clear_isr_bits(FSMC_DMA_DEV, FSMC_DMA_CHANNEL);
dma_enable(FSMC_DMA_DEV, FSMC_DMA_CHANNEL);
while ((dma_get_isr_bits(FSMC_DMA_DEV, FSMC_DMA_CHANNEL) & 0x0A) == 0) {};
dma_disable(FSMC_DMA_DEV, FSMC_DMA_CHANNEL);
count = count > 65535 ? count - 65535 : 0;
}
}
void LCD_IO_WriteSequence(uint16_t *data, uint16_t length) {
dma_setup_transfer(FSMC_DMA_DEV, FSMC_DMA_CHANNEL, data, DMA_SIZE_16BITS, &LCD->RAM, DMA_SIZE_16BITS, DMA_MEM_2_MEM | DMA_PINC_MODE);
dma_set_num_transfers(FSMC_DMA_DEV, FSMC_DMA_CHANNEL, length);
dma_clear_isr_bits(FSMC_DMA_DEV, FSMC_DMA_CHANNEL);
dma_enable(FSMC_DMA_DEV, FSMC_DMA_CHANNEL);
while ((dma_get_isr_bits(FSMC_DMA_DEV, FSMC_DMA_CHANNEL) & 0x0A) == 0) {};
dma_disable(FSMC_DMA_DEV, FSMC_DMA_CHANNEL);
}
void LCD_IO_WriteSequence_Async(uint16_t *data, uint16_t length) {
dma_setup_transfer(FSMC_DMA_DEV, FSMC_DMA_CHANNEL, data, DMA_SIZE_16BITS, &LCD->RAM, DMA_SIZE_16BITS, DMA_MEM_2_MEM | DMA_PINC_MODE);
dma_set_num_transfers(FSMC_DMA_DEV, FSMC_DMA_CHANNEL, length);
dma_clear_isr_bits(FSMC_DMA_DEV, FSMC_DMA_CHANNEL);
dma_enable(FSMC_DMA_DEV, FSMC_DMA_CHANNEL);
}
void LCD_IO_WaitSequence_Async() {
while ((dma_get_isr_bits(FSMC_DMA_DEV, FSMC_DMA_CHANNEL) & 0x0A) == 0) {};
dma_disable(FSMC_DMA_DEV, FSMC_DMA_CHANNEL);
}
#endif // LCD_USE_DMA_FSMC
#endif // HAS_GRAPHICAL_LCD
#endif // ARDUINO_ARCH_STM32F1 && FSMC_CS_PIN

8
Marlin/src/Marlin.cpp

@ -57,6 +57,10 @@
#include "gcode/parser.h"
#include "gcode/queue.h"
#if ENABLED(TOUCH_BUTTONS)
#include "feature/touch/xpt2046.h"
#endif
#if ENABLED(HOST_ACTION_COMMANDS)
#include "feature/host_actions.h"
#endif
@ -943,6 +947,10 @@ void setup() {
// This also updates variables in the planner, elsewhere
settings.first_load();
#if ENABLED(TOUCH_BUTTONS)
touch.init();
#endif
#if HAS_M206_COMMAND
// Initialize current position based on home_offset
LOOP_XYZ(a) current_position[a] += home_offset[a];

129
Marlin/src/feature/touch/xpt2046.cpp

@ -0,0 +1,129 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* 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 <http://www.gnu.org/licenses/>.
*
*/
#include "../../inc/MarlinConfigPre.h"
#if ENABLED(TOUCH_BUTTONS)
#include "xpt2046.h"
#include "../../inc/MarlinConfig.h"
#ifndef TOUCH_INT_PIN
#define TOUCH_INT_PIN -1
#endif
#ifndef TOUCH_MISO_PIN
#define TOUCH_MISO_PIN MISO_PIN
#endif
#ifndef TOUCH_MOSI_PIN
#define TOUCH_MOSI_PIN MOSI_PIN
#endif
#ifndef TOUCH_SCK_PIN
#define TOUCH_SCK_PIN SCK_PIN
#endif
#ifndef TOUCH_CS_PIN
#define TOUCH_CS_PIN CS_PIN
#endif
XPT2046 touch;
extern int8_t encoderDiff;
void XPT2046::init(void) {
SET_INPUT(TOUCH_INT_PIN); // Pendrive interrupt pin, used as polling in getInTouch
SET_INPUT(TOUCH_MISO_PIN);
SET_OUTPUT(TOUCH_MOSI_PIN);
OUT_WRITE(TOUCH_SCK_PIN, 0);
OUT_WRITE(TOUCH_CS_PIN, 1);
// Read once to enable pendrive status pin
getInTouch(XPT2046_X);
}
#include "../../lcd/ultralcd.h" // For EN_C bit mask
uint8_t XPT2046::read_buttons() {
int16_t tsoffsets[4] = { 0 };
static uint32_t timeout = 0;
if (PENDING(millis(), timeout)) return 0;
timeout = millis() + 250;
if (tsoffsets[0] + tsoffsets[1] == 0) {
// Not yet set, so use defines as fallback...
tsoffsets[0] = XPT2046_X_CALIBRATION;
tsoffsets[1] = XPT2046_X_OFFSET;
tsoffsets[2] = XPT2046_Y_CALIBRATION;
tsoffsets[3] = XPT2046_Y_OFFSET;
}
// We rely on XPT2046 compatible mode to ADS7843, hence no Z1 and Z2 measurements possible.
if (READ(TOUCH_INT_PIN)) return 0; // If HIGH there are no screen presses.
const uint16_t x = uint16_t(((uint32_t(getInTouch(XPT2046_X))) * tsoffsets[0]) >> 16) + tsoffsets[1],
y = uint16_t(((uint32_t(getInTouch(XPT2046_Y))) * tsoffsets[2]) >> 16) + tsoffsets[3];
if (READ(TOUCH_INT_PIN)) return 0; // Fingers must still be on the TS for a valid read.
if (y < 185 || y > 224) return 0;
if (WITHIN(x, 21, 98)) encoderDiff = -(ENCODER_STEPS_PER_MENU_ITEM) * ENCODER_PULSES_PER_STEP;
else if (WITHIN(x, 121, 198)) encoderDiff = ENCODER_STEPS_PER_MENU_ITEM * ENCODER_PULSES_PER_STEP;
else if (WITHIN(x, 221, 298)) return EN_C;
return 0;
}
uint16_t XPT2046::getInTouch(const XPTCoordinate coordinate) {
uint16_t data[3];
OUT_WRITE(TOUCH_CS_PIN, LOW);
const uint8_t coord = uint8_t(coordinate) | XPT2046_CONTROL | XPT2046_DFR_MODE;
for (uint16_t i = 0; i < 3 ; i++) {
for (uint8_t j = 0x80; j; j >>= 1) {
WRITE(TOUCH_SCK_PIN, LOW);
WRITE(TOUCH_MOSI_PIN, bool(coord & j));
WRITE(TOUCH_SCK_PIN, HIGH);
}
data[i] = 0;
for (uint16_t j = 0x8000; j; j >>= 1) {
WRITE(TOUCH_SCK_PIN, LOW);
if (READ(TOUCH_MISO_PIN)) data[i] |= j;
WRITE(TOUCH_SCK_PIN, HIGH);
}
WRITE(TOUCH_SCK_PIN, LOW);
data[i] >>= 4;
}
WRITE(TOUCH_CS_PIN, HIGH);
uint16_t delta01 = _MAX(data[0], data[1]) - _MIN(data[0], data[1]),
delta02 = _MAX(data[0], data[2]) - _MIN(data[0], data[2]),
delta12 = _MAX(data[1], data[2]) - _MIN(data[1], data[2]);
if (delta01 <= delta02 && delta01 <= delta12)
return (data[0] + data[1]) >> 1;
if (delta02 <= delta12)
return (data[0] + data[2]) >> 1;
return (data[1] + data[2]) >> 1;
}
#endif // TOUCH_BUTTONS

43
Marlin/src/feature/touch/xpt2046.h

@ -0,0 +1,43 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
#include <stdint.h>
// Relies on XPT2046-compatible mode of ADS7843,
// hence no Z1 / Z2 measurements are possible.
#define XPT2046_DFR_MODE 0x00
#define XPT2046_SER_MODE 0x04
#define XPT2046_CONTROL 0x80
enum XPTCoordinate : uint8_t {
XPT2046_X = 0x10,
XPT2046_Y = 0x50
};
class XPT2046 {
public:
static void init(void);
static uint8_t read_buttons();
private:
static uint16_t getInTouch(const XPTCoordinate coordinate);
};
extern XPT2046 touch;

317
Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp

@ -61,14 +61,21 @@
#include "U8glib.h"
#include "HAL_LCD_com_defines.h"
#include "string.h"
#include <string.h>
#if ENABLED(LCD_USE_DMA_FSMC)
extern void LCD_IO_WriteSequence(uint16_t *data, uint16_t length);
extern void LCD_IO_WriteSequence_Async(uint16_t *data, uint16_t length);
extern void LCD_IO_WaitSequence_Async();
extern void LCD_IO_WriteMultiple(uint16_t color, uint32_t count);
#endif
#define WIDTH 128
#define HEIGHT 64
#define PAGE_HEIGHT 8
#define X_MIN 32
#define Y_MIN 56
#define Y_MIN 32
#define X_MAX (X_MIN + 2 * WIDTH - 1)
#define Y_MAX (Y_MIN + 2 * HEIGHT - 1)
@ -76,6 +83,30 @@
#define LCD_ROW 0x2B /* Row address register */
#define LCD_WRITE_RAM 0x2C
// see https://ee-programming-notepad.blogspot.com/2016/10/16-bit-color-generator-picker.html
#define COLOR_BLACK 0x0000
#define COLOR_WHITE 0xFFFF
#define COLOR_BLUE 0x21DD
#define COLOR_RED 0xF800
#define COLOR_DARK 0x0003 // Some dark color
#ifndef TFT_MARLINUI_COLOR
#define TFT_MARLINUI_COLOR COLOR_WHITE
#endif
#ifndef TFT_MARLINBG_COLOR
#define TFT_MARLINBG_COLOR COLOR_BLACK
#endif
#ifndef TFT_DISABLED_COLOR
#define TFT_DISABLED_COLOR COLOR_DARK
#endif
#ifndef TFT_BTSLEFT_COLOR
#define TFT_BTSLEFT_COLOR COLOR_BLUE
#endif
#ifndef TFT_BTRIGHT_COLOR
#define TFT_BTRIGHT_COLOR COLOR_RED
#endif
static uint32_t lcd_id = 0;
#define U8G_ESC_DATA(x) (uint8_t)(x >> 8), (uint8_t)(x & 0xFF)
@ -94,6 +125,45 @@ static const uint8_t clear_screen_sequence[] = {
U8G_ESC_END
};
#if ENABLED(TOUCH_BUTTONS)
static const uint8_t separation_line_sequence_left[] = {
U8G_ESC_ADR(0), LCD_COLUMN, U8G_ESC_ADR(1), U8G_ESC_DATA(10), U8G_ESC_DATA(159),
U8G_ESC_ADR(0), LCD_ROW, U8G_ESC_ADR(1), U8G_ESC_DATA(170), U8G_ESC_DATA(173),
U8G_ESC_ADR(0), LCD_WRITE_RAM, U8G_ESC_ADR(1),
U8G_ESC_END
};
static const uint8_t separation_line_sequence_right[] = {
U8G_ESC_ADR(0), LCD_COLUMN, U8G_ESC_ADR(1), U8G_ESC_DATA(160), U8G_ESC_DATA(309),
U8G_ESC_ADR(0), LCD_ROW, U8G_ESC_ADR(1), U8G_ESC_DATA(170), U8G_ESC_DATA(173),
U8G_ESC_ADR(0), LCD_WRITE_RAM, U8G_ESC_ADR(1),
U8G_ESC_END
};
static const uint8_t button0_sequence[] = {
U8G_ESC_ADR(0), LCD_COLUMN, U8G_ESC_ADR(1), U8G_ESC_DATA(20), U8G_ESC_DATA(99),
U8G_ESC_ADR(0), LCD_ROW, U8G_ESC_ADR(1), U8G_ESC_DATA(185), U8G_ESC_DATA(224),
U8G_ESC_ADR(0), LCD_WRITE_RAM, U8G_ESC_ADR(1),
U8G_ESC_END
};
static const uint8_t button1_sequence[] = {
U8G_ESC_ADR(0), LCD_COLUMN, U8G_ESC_ADR(1), U8G_ESC_DATA(120), U8G_ESC_DATA(199),
U8G_ESC_ADR(0), LCD_ROW, U8G_ESC_ADR(1), U8G_ESC_DATA(185), U8G_ESC_DATA(224),
U8G_ESC_ADR(0), LCD_WRITE_RAM, U8G_ESC_ADR(1),
U8G_ESC_END
};
static const uint8_t button2_sequence[] = {
U8G_ESC_ADR(0), LCD_COLUMN, U8G_ESC_ADR(1), U8G_ESC_DATA(220), U8G_ESC_DATA(299),
U8G_ESC_ADR(0), LCD_ROW, U8G_ESC_ADR(1), U8G_ESC_DATA(185), U8G_ESC_DATA(224),
U8G_ESC_ADR(0), LCD_WRITE_RAM, U8G_ESC_ADR(1),
U8G_ESC_END
};
#endif
static const uint8_t st7789v_init_sequence[] = { // 0x8552 - ST7789V
U8G_ESC_ADR(0),
0x10,
@ -120,53 +190,254 @@ static const uint8_t st7789v_init_sequence[] = { // 0x8552 - ST7789V
U8G_ESC_END
};
static const uint8_t ili9341_init_sequence[] = { // 0x9341 - ILI9341
U8G_ESC_ADR(0),
0x10,
U8G_ESC_DLY(10),
0x01,
U8G_ESC_DLY(100), U8G_ESC_DLY(100),
0x36, U8G_ESC_ADR(1), 0xE8,
U8G_ESC_ADR(0), 0x3A, U8G_ESC_ADR(1), 0x55,
U8G_ESC_ADR(0), LCD_COLUMN, U8G_ESC_ADR(1), 0x00, 0x00, 0x01, 0x3F,
U8G_ESC_ADR(0), LCD_ROW, U8G_ESC_ADR(1), 0x00, 0x00, 0x00, 0xEF,
U8G_ESC_ADR(0), 0xC5, U8G_ESC_ADR(1), 0x3E, 0x28,
U8G_ESC_ADR(0), 0xC7, U8G_ESC_ADR(1), 0x86,
U8G_ESC_ADR(0), 0xB1, U8G_ESC_ADR(1), 0x00, 0x18,
U8G_ESC_ADR(0), 0xC0, U8G_ESC_ADR(1), 0x23,
U8G_ESC_ADR(0), 0xC1, U8G_ESC_ADR(1), 0x10,
U8G_ESC_ADR(0), 0x29,
U8G_ESC_ADR(0), 0x11,
U8G_ESC_DLY(100),
U8G_ESC_END
};
#if ENABLED(TOUCH_BUTTONS)
static const uint8_t button0[] = {
B01111111,B11111111,B11111111,B11111111,B11111110,
B10000000,B00000000,B00000000,B00000000,B00000001,
B10000000,B00000000,B00000000,B00000000,B00000001,
B10000000,B00000000,B00010000,B00000000,B00000001,
B10000000,B00000000,B00010000,B00000000,B00000001,
B10000000,B01000000,B00010000,B00000000,B00000001,
B10000000,B11100000,B00010000,B00000000,B00000001,
B10000001,B11110000,B00010000,B00000000,B00000001,
B10000011,B11111000,B00010000,B00000000,B00000001,
B10000111,B11111100,B00010000,B11111111,B11100001,
B10000000,B11100000,B00010000,B11111111,B11100001,
B10000000,B11100000,B00010000,B00000000,B00000001,
B10000000,B11100000,B00010000,B00000000,B00000001,
B10000000,B11100000,B00010000,B00000000,B00000001,
B10000000,B11100000,B00010000,B00000000,B00000001,
B10000000,B00000000,B00010000,B00000000,B00000001,
B10000000,B00000000,B00010000,B00000000,B00000001,
B10000000,B00000000,B00000000,B00000000,B00000001,
B10000000,B00000000,B00000000,B00000000,B00000001,
B01111111,B11111111,B11111111,B11111111,B11111110,
};
static const uint8_t button1[] = {
B01111111,B11111111,B11111111,B11111111,B11111110,
B10000000,B00000000,B00000000,B00000000,B00000001,
B10000000,B00000000,B00000000,B00000000,B00000001,
B10000000,B00000000,B00010000,B00000000,B00000001,
B10000000,B00000000,B00010000,B00000110,B00000001,
B10000000,B11100000,B00010000,B00000110,B00000001,
B10000000,B11100000,B00010000,B00000110,B00000001,
B10000000,B11100000,B00010000,B00000110,B00000001,
B10000000,B11100000,B00010000,B00000110,B00000001,
B10000000,B11100000,B00010000,B11111111,B11110001,
B10000111,B11111100,B00010000,B11111111,B11110001,
B10000011,B11111000,B00010000,B00000110,B00000001,
B10000001,B11110000,B00010000,B00000110,B00000001,
B10000000,B11100000,B00010000,B00000110,B00000001,
B10000000,B01000000,B00010000,B00000110,B00000001,
B10000000,B00000000,B00010000,B00000110,B00000001,
B10000000,B00000000,B00010000,B00000000,B00000001,
B10000000,B00000000,B00000000,B00000000,B00000001,
B10000000,B00000000,B00000000,B00000000,B00000001,
B01111111,B11111111,B11111111,B11111111,B11111110,
};
static const uint8_t button2[] = {
B01111111,B11111111,B11111111,B11111111,B11111110,
B10000000,B00000000,B00000000,B00000000,B00000001,
B10000000,B00000000,B00000000,B00000000,B00000001,
B10000000,B00000000,B00000000,B00000000,B00000001,
B10000000,B00000000,B00000000,B00000000,B00000001,
B10000000,B00000000,B00000000,B00000000,B00000001,
B10000000,B00000000,B00000001,B11000000,B00000001,
B10000000,B00000000,B01000001,B11000000,B00000001,
B10000000,B00000000,B11000001,B11000000,B00000001,
B10000000,B00000001,B11111111,B11000000,B00000001,
B10000000,B00000011,B11111111,B11000000,B00000001,
B10000000,B00000001,B11111111,B11000000,B00000001,
B10000000,B00000000,B11000000,B00000000,B00000001,
B10000000,B00000000,B01000000,B00000000,B00000001,
B10000000,B00000000,B00000000,B00000000,B00000001,
B10000000,B00000000,B00000000,B00000000,B00000001,
B10000000,B00000000,B00000000,B00000000,B00000001,
B10000000,B00000000,B00000000,B00000000,B00000001,
B10000000,B00000000,B00000000,B00000000,B00000001,
B01111111,B11111111,B11111111,B11111111,B11111110,
};
void drawImage(const uint8_t *data, u8g_t *u8g, u8g_dev_t *dev, uint16_t length, uint16_t height, uint16_t color) {
uint16_t buffer[160];
for (uint16_t i = 0; i < height; i++) {
uint16_t k = 0;
for (uint16_t j = 0; j < length; j++) {
uint16_t v = TFT_MARLINBG_COLOR;
if (*(data + (i * (length >> 3) + (j >> 3))) & (0x80 >> (j & 7)))
v = color;
else
v = TFT_MARLINBG_COLOR;
buffer[k++] = v; buffer[k++] = v;
}
#ifdef LCD_USE_DMA_FSMC
if (k <= 80) { // generally is... for our buttons
memcpy(&buffer[k], &buffer[0], k * sizeof(uint16_t));
LCD_IO_WriteSequence(buffer, k * sizeof(uint16_t));
}
else {
LCD_IO_WriteSequence(buffer, k);
LCD_IO_WriteSequence(buffer, k);
}
#else
u8g_WriteSequence(u8g, dev, k << 1, (uint8_t *)buffer);
u8g_WriteSequence(u8g, dev, k << 1, (uint8_t *)buffer);
#endif
}
}
#endif // TOUCH_BUTTONS
// Used to fill RGB565 (16bits) background
inline void memset2(const void *ptr, uint16_t fill, size_t cnt) {
uint16_t* wptr = (uint16_t*) ptr;
for (size_t i = 0; i < cnt; i += 2) {
*wptr = fill;
wptr++;
}
}
static bool preinit = true;
static uint8_t page;
uint8_t u8g_dev_tft_320x240_upscale_from_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) {
u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
uint16_t buffer[256];
uint32_t i, j, k;
#ifdef LCD_USE_DMA_FSMC
static uint16_t bufferA[512], bufferB[512];
uint16_t* buffer = &bufferA[0];
bool allow_async = true;
#else
uint16_t buffer[256]; // 16-bit RGB 565 pixel line buffer
#endif
uint16_t i;
switch (msg) {
case U8G_DEV_MSG_INIT:
dev->com_fn(u8g, U8G_COM_MSG_INIT, U8G_SPI_CLK_CYCLE_NONE, &lcd_id);
if (lcd_id == 0x040404) return 0; // No connected display on FSMC
if (lcd_id == 0xFFFFFF) return 0; // No connected display on SPI
memset(buffer, 0x00, sizeof(buffer));
if ((lcd_id & 0xFFFF) == 0x8552) // ST7789V
u8g_WriteEscSeqP(u8g, dev, st7789v_init_sequence);
if ((lcd_id & 0xFFFF) == 0x9341) // ILI9341
u8g_WriteEscSeqP(u8g, dev, ili9341_init_sequence);
if (preinit) {
preinit = false;
return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg);
}
u8g_WriteEscSeqP(u8g, dev, clear_screen_sequence);
for (i = 0; i < 960; i++)
u8g_WriteSequence(u8g, dev, 160, (uint8_t *)buffer);
break;
#ifdef LCD_USE_DMA_FSMC
LCD_IO_WriteMultiple(TFT_MARLINBG_COLOR, (320*240));
#else
memset2(buffer, TFT_MARLINBG_COLOR, 160);
for (uint16_t i = 0; i < 960; i++)
u8g_WriteSequence(u8g, dev, 160, (uint8_t *)buffer);
#endif
case U8G_DEV_MSG_STOP:
break;
// bottom line and buttons
#if ENABLED(TOUCH_BUTTONS)
#ifdef LCD_USE_DMA_FSMC
u8g_WriteEscSeqP(u8g, dev, separation_line_sequence_left);
LCD_IO_WriteMultiple(TFT_DISABLED_COLOR, 300);
u8g_WriteEscSeqP(u8g, dev, separation_line_sequence_right);
LCD_IO_WriteMultiple(TFT_DISABLED_COLOR, 300);
#else
memset2(buffer, TFT_DISABLED_COLOR, 150);
u8g_WriteEscSeqP(u8g, dev, separation_line_sequence_left);
for (uint8_t i = 4; i--;)
u8g_WriteSequence(u8g, dev, 150, (uint8_t *)buffer);
u8g_WriteEscSeqP(u8g, dev, separation_line_sequence_right);
for (uint8_t i = 4; i--;)
u8g_WriteSequence(u8g, dev, 150, (uint8_t *)buffer);
#endif
u8g_WriteEscSeqP(u8g, dev, button0_sequence);
drawImage(button0, u8g, dev, 40, 20, TFT_BTSLEFT_COLOR);
u8g_WriteEscSeqP(u8g, dev, button1_sequence);
drawImage(button1, u8g, dev, 40, 20, TFT_BTSLEFT_COLOR);
u8g_WriteEscSeqP(u8g, dev, button2_sequence);
drawImage(button2, u8g, dev, 40, 20, TFT_BTRIGHT_COLOR);
#endif // TOUCH_BUTTONS
return 0;
case U8G_DEV_MSG_STOP: preinit = true; break;
case U8G_DEV_MSG_PAGE_FIRST:
page = 0;
u8g_WriteEscSeqP(u8g, dev, page_first_sequence);
break;
case U8G_DEV_MSG_PAGE_NEXT:
for (j = 0; j < 8; j++) {
k = 0;
for (i = 0; i < (uint32_t)pb->width; i++) {
if (++page > 8) return 1;
for (uint8_t y = 0; y < 8; y++) {
uint32_t k = 0;
#ifdef LCD_USE_DMA_FSMC
buffer = (y & 1) ? bufferB : bufferA;
#endif
for (uint16_t i = 0; i < (uint32_t)pb->width; i++) {
const uint8_t b = *(((uint8_t *)pb->buf) + i);
const uint16_t c = TEST(b, j) ? 0x7FFF : 0x0000;
const uint16_t c = TEST(b, y) ? TFT_MARLINUI_COLOR : TFT_MARLINBG_COLOR;
buffer[k++] = c; buffer[k++] = c;
}
for (k = 0; k < 2; k++) {
u8g_WriteSequence(u8g, dev, 128, (uint8_t*)buffer);
u8g_WriteSequence(u8g, dev, 128, (uint8_t*)&(buffer[64]));
u8g_WriteSequence(u8g, dev, 128, (uint8_t*)&(buffer[128]));
u8g_WriteSequence(u8g, dev, 128, (uint8_t*)&(buffer[192]));
}
#ifdef LCD_USE_DMA_FSMC
memcpy(&buffer[256], &buffer[0], 512);
if (allow_async) {
if (y > 0 || page > 1) LCD_IO_WaitSequence_Async();
if (y == 7 && page == 8)
LCD_IO_WriteSequence(buffer, 512); // last line of last page
else
LCD_IO_WriteSequence_Async(buffer, 512);
}
else
LCD_IO_WriteSequence(buffer, 512);
#else
for (uint8_t i = 2; i--;) {
u8g_WriteSequence(u8g, dev, 128, (uint8_t*)buffer);
u8g_WriteSequence(u8g, dev, 128, (uint8_t*)&(buffer[64]));
u8g_WriteSequence(u8g, dev, 128, (uint8_t*)&(buffer[128]));
u8g_WriteSequence(u8g, dev, 128, (uint8_t*)&(buffer[192]));
}
#endif
}
break;
case U8G_DEV_MSG_SLEEP_ON:
// Enter Sleep Mode (10h)
return 1;
case U8G_DEV_MSG_SLEEP_OFF:
// Sleep Out (11h)
return 1;
}
return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg);
@ -174,4 +445,4 @@ uint8_t u8g_dev_tft_320x240_upscale_from_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, u
U8G_PB_DEV(u8g_dev_tft_320x240_upscale_from_128x64, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_tft_320x240_upscale_from_128x64_fn, U8G_COM_HAL_FSMC_FN);
#endif // HAS_GRAPHICAL_LCD
#endif // HAS_GRAPHICAL_LCD && FSMC_CS

26
Marlin/src/lcd/ultralcd.cpp

@ -102,6 +102,11 @@
#if HAS_SLOW_BUTTONS
volatile uint8_t MarlinUI::slow_buttons;
#endif
#if ENABLED(TOUCH_BUTTONS)
#include "../feature/touch/xpt2046.h"
volatile uint8_t MarlinUI::touch_buttons;
uint8_t MarlinUI::read_touch_buttons() { return touch.read_buttons(); }
#endif
#endif
#if ENABLED(INIT_SDCARD_ON_BOOT)
@ -324,8 +329,13 @@ void MarlinUI::init() {
#endif
#endif
#if HAS_ENCODER_ACTION && HAS_SLOW_BUTTONS
slow_buttons = 0;
#if HAS_ENCODER_ACTION
#if HAS_SLOW_BUTTONS
slow_buttons = 0;
#endif
#if ENABLED(TOUCH_BUTTONS)
touch_buttons = 0;
#endif
#endif
update_buttons();
@ -823,6 +833,11 @@ void MarlinUI::update() {
next_lcd_update_ms = ms + LCD_UPDATE_INTERVAL;
#if ENABLED(TOUCH_BUTTONS)
if (on_status_screen())
next_lcd_update_ms += (LCD_UPDATE_INTERVAL) * 2;
#endif
#if ENABLED(LCD_HAS_STATUS_INDICATORS)
update_indicators();
#endif
@ -833,6 +848,10 @@ void MarlinUI::update() {
slow_buttons = read_slow_buttons(); // Buttons that take too long to read in interrupt context
#endif
#if ENABLED(TOUCH_BUTTONS)
touch_buttons = read_touch_buttons();
#endif
#if ENABLED(REPRAPWORLD_KEYPAD)
if (handle_keypad()) {
@ -1180,6 +1199,9 @@ void MarlinUI::update() {
#if HAS_SLOW_BUTTONS
| slow_buttons
#endif
#if ENABLED(TOUCH_BUTTONS)
| touch_buttons
#endif
;
#elif HAS_ADC_BUTTONS
buttons = 0;

11
Marlin/src/lcd/ultralcd.h

@ -56,7 +56,11 @@
uint8_t get_ADC_keyValue();
#endif
#define LCD_UPDATE_INTERVAL 100
#if ENABLED(TOUCH_BUTTONS)
#define LCD_UPDATE_INTERVAL 50
#else
#define LCD_UPDATE_INTERVAL 100
#endif
#if HAS_LCD_MENU
@ -497,6 +501,11 @@ public:
static volatile uint8_t slow_buttons;
static uint8_t read_slow_buttons();
#endif
#if ENABLED(TOUCH_BUTTONS)
static volatile uint8_t touch_buttons;
static uint8_t read_touch_buttons();
#endif
static void update_buttons();
static inline bool button_pressed() { return BUTTON_CLICK(); }
#if EITHER(AUTO_BED_LEVELING_UBL, G26_MESH_VALIDATION)

12
Marlin/src/pins/pinsDebug_list.h

@ -1160,3 +1160,15 @@
#if PIN_EXISTS(FET_SAFETY)
REPORT_NAME_DIGITAL(__LINE__, FET_SAFETY_PIN)
#endif
#if PIN_EXISTS(TOUCH_MISO)
REPORT_NAME_DIGITAL(__LINE__, TOUCH_MISO_PIN)
#endif
#if PIN_EXISTS(TOUCH_MOSI)
REPORT_NAME_DIGITAL(__LINE__, TOUCH_MOSI_PIN)
#endif
#if PIN_EXISTS(TOUCH_SCK)
REPORT_NAME_DIGITAL(__LINE__, TOUCH_SCK_PIN)
#endif
#if PIN_EXISTS(TOUCH_CS)
REPORT_NAME_DIGITAL(__LINE__, TOUCH_CS_PIN)
#endif

6
Marlin/src/pins/stm32/pins_BIGTREE_SKR_PRO_V1.1.h

@ -103,13 +103,13 @@
//
#if ENABLED(TMC_USE_SW_SPI)
#ifndef TMC_SW_MOSI
#define TMC_SW_MOSI PC12
#define TMC_SW_MOSI PC12
#endif
#ifndef TMC_SW_MISO
#define TMC_SW_MISO PC11
#define TMC_SW_MISO PC11
#endif
#ifndef TMC_SW_SCK
#define TMC_SW_SCK PC10
#define TMC_SW_SCK PC10
#endif
#endif

11
Marlin/src/pins/stm32/pins_JGAURORA_A5S_A1.h

@ -117,10 +117,13 @@
#define BEEPER_PIN PC3 // use PB7 to shut up if desired
#define LED_PIN PC13
//
// Touch support
#define BTN_ENC PA11 // Real pin is needed to enable encoder's push button functionality used by touch screen. PA11 gives stable value.
#define TOUCH_CS PA4
//#define TOUCH_INTERRUPT PC4 // Not yet implemented
//
#if ENABLED(TOUCH_BUTTONS)
#define BTN_ENC PA11 // Real pin needed to enable encoder's push button functionality used by touch screen. PA11 gives stable value.
#define TOUCH_CS_PIN PA4
#define TOUCH_INT_PIN PC4
#endif
#define NO_PAUSE_AFTER_PRINT

44
Marlin/src/pins/stm32/pins_MKS_ROBIN_MINI.h

@ -53,6 +53,10 @@
#define Z_MIN_PIN PA11
#define Z_MAX_PIN PC4
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN PF11 // MT_DET
#endif
//
// Steppers
//
@ -76,44 +80,54 @@
// Temperature Sensors
//
#define TEMP_0_PIN PC1 // TH1
//#define TEMP_1_PIN PC2 // TH2
#define TEMP_BED_PIN PC0 // TB1
//
// Heaters / Fans
//
#define HEATER_0_PIN PC3 // HEATER1
//#define HEATER_1_PIN PA6 // HEATER2
#define HEATER_BED_PIN PA0 // HOT BED
#define FAN_PIN PB1 // FAN
#define BTN_ENC PB3 // Pin is not connected. Real pin is needed to enable encoder's push button functionality used by touch screen
//
// Thermocouples
//
//#define MAX6675_SS_PIN PE5 // TC1 - CS1
//#define MAX6675_SS_PIN PE6 // TC2 - CS2
//
// Misc. Functions
//
#define POWER_LOSS_PIN PA2 // PW_DET
#define PS_ON_PIN PA3 // PW_OFF
#define FIL_RUNOUT_PIN PF11 // MT_DET
#define BEEPER_PIN PC5
//#define LED_PIN PB2
//
// LCD / Controller
//
#define BEEPER_PIN PC5
#define SD_DETECT_PIN PD12
/**
* Note: MKS Robin TFT screens use various TFT controllers.
* If the screen stays white, disable 'LCD_RESET_PIN'
* to let the bootloader init the screen.
*/
#define LCD_RESET_PIN PF6
#define NO_LCD_REINIT // Suppress LCD re-initialization
#define LCD_BACKLIGHT_PIN PD13
#define FSMC_CS_PIN PD7 // NE4
#define FSMC_RS_PIN PD11 // A0
#define TOUCH_CS PC2
#define SD_DETECT_PIN PD12
#if ENABLED(MKS_ROBIN_TFT)
#define LCD_RESET_PIN PF6
#define NO_LCD_REINIT // Suppress LCD re-initialization
#define LCD_BACKLIGHT_PIN PD13
#if ENABLED(TOUCH_BUTTONS)
#define BTN_ENC PB3 // Not connected. TODO: Replace this hack to enable button code
#define FSMC_CS_PIN PD7 // NE4
#define FSMC_RS_PIN PD11 // A0
#define TOUCH_CS_PIN PC2
#endif
#endif
// Motor current PWM pins
#define MOTOR_CURRENT_PWM_XY_PIN PA6

42
Marlin/src/pins/stm32/pins_MKS_ROBIN_NANO.h

@ -51,6 +51,10 @@
#define Z_MIN_PIN PA11
#define Z_MAX_PIN PC4
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN PA4 // MT_DET
#endif
//
// Steppers
//
@ -90,29 +94,41 @@
#define FAN_PIN PB1 // FAN
#define BTN_ENC PC13 // Pin is not connected. Real pin is needed to enable encoder's push button functionality used by touch screen
//
// Thermocouples
//
//#define MAX6675_SS_PIN PE5 // TC1 - CS1
//#define MAX6675_SS_PIN PE6 // TC2 - CS2
//
// Misc. Functions
//
#define POWER_LOSS_PIN PA2 // PW_DET
#define PS_ON_PIN PA3 // PW_OFF
#define FIL_RUNOUT_PIN PA4 // MT_DET
#define BEEPER_PIN PC5
#define LED_PIN PB2
//
// LCD / Controller
//
#define BEEPER_PIN PC5
#define SD_DETECT_PIN PD12
/**
* Note: MKS Robin TFT screens use various TFT controllers.
* If the screen stays white, disable 'LCD_RESET_PIN'
* to let the bootloader init the screen.
*/
#define LCD_RESET_PIN PF6
#define NO_LCD_REINIT // Suppress LCD re-initialization
#define LCD_BACKLIGHT_PIN PD13
#define FSMC_CS_PIN PD7 // NE4
#define FSMC_RS_PIN PD11 // A0
#define TOUCH_CS PA7
#define SD_DETECT_PIN PD12
#if ENABLED(MKS_ROBIN_TFT)
#define LCD_RESET_PIN PF6
#define NO_LCD_REINIT // Suppress LCD re-initialization
#define LCD_BACKLIGHT_PIN PD13
#if ENABLED(TOUCH_BUTTONS)
#define BTN_ENC PC13 // Not connected. TODO: Replace this hack to enable button code
#define FSMC_CS_PIN PD7 // NE4
#define FSMC_RS_PIN PD11 // A0
#define TOUCH_CS_PIN PA7
#endif
#endif

10
Marlin/src/pins/stm32/pins_STM3R_MINI.h

@ -143,7 +143,15 @@
#endif
#endif
#if ENABLED(NEWPANEL)
#if ENABLED(TOUCH_BUTTONS)
#define TOUCH_CS_PIN PB12 // SPI2_NSS
#define TOUCH_SCK_PIN PB13
#define TOUCH_MOSI_PIN PB14
#define TOUCH_MISO_PIN PB15
#define TOUCH_INT_PIN PC6 // (PenIRQ coming from ADS7843)
#elif ENABLED(NEWPANEL)
#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)

12
config/default/Configuration.h

@ -2032,8 +2032,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/3DFabXYZ/Migbot/Configuration.h

@ -2063,8 +2063,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/AlephObjects/TAZ4/Configuration.h

@ -2052,8 +2052,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/AliExpress/CL-260/Configuration.h

@ -2032,8 +2032,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/AliExpress/UM2pExt/Configuration.h

@ -2043,8 +2043,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Anet/A2/Configuration.h

@ -2034,8 +2034,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Anet/A2plus/Configuration.h

@ -2034,8 +2034,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Anet/A6/Configuration.h

@ -2185,8 +2185,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Anet/A8/Configuration.h

@ -2047,8 +2047,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Anet/A8plus/Configuration.h

@ -2043,8 +2043,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Anet/E16/Configuration.h

@ -2044,8 +2044,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/AnyCubic/i3/Configuration.h

@ -2042,8 +2042,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/ArmEd/Configuration.h

@ -2033,8 +2033,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Azteeg/X5GT/Configuration.h

@ -2032,8 +2032,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/BIBO/TouchX/cyclops/Configuration.h

@ -2032,8 +2032,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/BIBO/TouchX/default/Configuration.h

@ -2032,8 +2032,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/BQ/Hephestos/Configuration.h

@ -2020,8 +2020,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/BQ/Hephestos_2/Configuration.h

@ -2032,8 +2032,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/BQ/WITBOX/Configuration.h

@ -2020,8 +2020,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Cartesio/Configuration.h

@ -2031,8 +2031,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Creality/CR-10/Configuration.h

@ -2042,8 +2042,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Creality/CR-10S/Configuration.h

@ -2033,8 +2033,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Creality/CR-10_5S/Configuration.h

@ -2035,8 +2035,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Creality/CR-10mini/Configuration.h

@ -2051,8 +2051,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Creality/CR-20 Pro/Configuration.h

@ -2029,8 +2029,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Creality/CR-20/Configuration.h

@ -2029,8 +2029,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Creality/CR-8/Configuration.h

@ -2042,8 +2042,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Creality/Ender-2/Configuration.h

@ -2036,8 +2036,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Creality/Ender-3/Configuration.h

@ -2036,8 +2036,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Creality/Ender-4/Configuration.h

@ -2042,8 +2042,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Creality/Ender-5/Configuration.h

@ -2029,8 +2029,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Dagoma/Disco Ultimate/Configuration.h

@ -2032,8 +2032,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/EVNOVO (Artillery)/Sidewinder X1/Configuration.h

@ -2037,8 +2037,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Einstart-S/Configuration.h

@ -2042,8 +2042,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Felix/Configuration.h

@ -2014,8 +2014,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Felix/DUAL/Configuration.h

@ -2014,8 +2014,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/FlashForge/CreatorPro/Configuration.h

@ -2023,8 +2023,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/FolgerTech/i3-2020/Configuration.h

@ -2038,8 +2038,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Formbot/Raptor/Configuration.h

@ -2137,8 +2137,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Formbot/T_Rex_2+/Configuration.h

@ -2066,8 +2066,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Formbot/T_Rex_3/Configuration.h

@ -2060,8 +2060,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Fysetc/AIO_II/Configuration.h

@ -2026,8 +2026,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Fysetc/CHEETAH/Configuration.h

@ -2026,8 +2026,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Fysetc/F6_13/Configuration.h

@ -2028,8 +2028,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Geeetech/A10/Configuration.h

@ -2017,8 +2017,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Geeetech/A10M/Configuration.h

@ -2017,8 +2017,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Geeetech/A20M/Configuration.h

@ -2019,8 +2019,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Geeetech/GT2560/Configuration.h

@ -2047,8 +2047,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h

@ -2032,8 +2032,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Geeetech/MeCreator2/Configuration.h

@ -2039,8 +2039,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h

@ -2053,8 +2053,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h

@ -2052,8 +2052,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Geeetech/Prusa i3 Pro C/Configuration.h

@ -2032,8 +2032,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Geeetech/Prusa i3 Pro W/Configuration.h

@ -2032,8 +2032,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Infitary/i3-M508/Configuration.h

@ -2036,8 +2036,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/JGAurora/A1/Configuration.h

@ -2029,8 +2029,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/JGAurora/A5/Configuration.h

@ -2044,8 +2044,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/JGAurora/A5S/Configuration.h

@ -2030,8 +2030,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/MakerParts/Configuration.h

@ -2052,8 +2052,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Malyan/M150/Configuration.h

@ -2060,8 +2060,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Malyan/M200/Configuration.h

@ -2040,8 +2040,16 @@
#define MALYAN_LCD
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Micromake/C1/basic/Configuration.h

@ -2036,8 +2036,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Micromake/C1/enhanced/Configuration.h

@ -2036,8 +2036,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Mks/Robin/Configuration.h

@ -2034,8 +2034,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Mks/Sbase/Configuration.h

@ -2032,8 +2032,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Printrbot/PrintrboardG2/Configuration.h

@ -2040,8 +2040,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/RapideLite/RL200/Configuration.h

@ -2032,8 +2032,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/RepRapPro/Huxley/Configuration.h

@ -2081,8 +2081,16 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/RepRapWorld/Megatronics/Configuration.h

@ -2032,8 +2032,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/RigidBot/Configuration.h

@ -2032,8 +2032,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/SCARA/Configuration.h

@ -2041,8 +2041,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/STM32/Black_STM32F407VET6/Configuration.h

@ -2032,8 +2032,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/STM32/STM32F10/Configuration.h

@ -2034,8 +2034,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/STM32/STM32F4/Configuration.h

@ -2032,8 +2032,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/STM32/stm32f103ret6/Configuration.h

@ -2034,8 +2034,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Sanguinololu/Configuration.h

@ -2063,8 +2063,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Tevo/Tarantula Pro/Configuration.h

@ -2024,8 +2024,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/TheBorg/Configuration.h

@ -2032,8 +2032,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/TinyBoy2/Configuration.h

@ -2088,8 +2088,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Tronxy/X1/Configuration.h

@ -2032,8 +2032,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Tronxy/X3A/Configuration.h

@ -2036,8 +2036,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Tronxy/X5S-2E/Configuration.h

@ -2053,8 +2053,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Tronxy/X5S/Configuration.h

@ -2032,8 +2032,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/Tronxy/XY100/Configuration.h

@ -2043,8 +2043,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/UltiMachine/Archim1/Configuration.h

@ -2032,8 +2032,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

12
config/examples/UltiMachine/Archim2/Configuration.h

@ -2032,8 +2032,16 @@
//=============================================================================
//
// CONTROLLER TYPE: Keypad / Add-on
//
// Alfawise U30 ILI9341 2.8 TP Ver 1.2
// (Blue PCB on the back of touchscreen)
//
//#define TOUCH_BUTTONS
#if ENABLED(TOUCH_BUTTONS)
#define XPT2046_X_CALIBRATION 12316
#define XPT2046_Y_CALIBRATION -8981
#define XPT2046_X_OFFSET -43
#define XPT2046_Y_OFFSET 257
#endif
//
// RepRapWorld REPRAPWORLD_KEYPAD v1.1

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save