Firmware2/Marlin/src/pins/teensy4/pins_T41U5XBB.h

127 lines
5.0 KiB
C
Raw Normal View History

2020-09-10 01:57:20 +02:00
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/****************************************************************************************
* Teensy 4.1 (IMXRT1062) Breadboard pin assignments
* Requires the Teensyduino software with Teensy 4.1 selected in Arduino IDE!
* https://www.pjrc.com/teensy/teensyduino.html
****************************************************************************************/
2020-10-03 00:05:45 +02:00
#if NOT_TARGET(IS_TEENSY41)
2020-09-10 01:57:20 +02:00
#error "Oops! Select 'Teensy 4.1' in 'Tools > Board.'"
#endif
2020-10-03 00:05:45 +02:00
#define BOARD_INFO_NAME "Teensy4.1"
2020-09-23 22:33:54 +02:00
/**
* Plan for Teensy 4.0 and Teensy 4.1:
* USB
* GND |-----#####-----| VIN (3.65 TO 5.5V)
* RX1 CS1 RX1 PWM 0 | ##### | GND
* TX1 MISO1 TX1 PWM 1 | | 3.3V
* STPX PWM 2 | | 23 A9 PWM
* DIRX PWM 3 | | 22 A8 PWM LIMZ
* STPY PWM 4 | | 21 A7 RX5 LIMY
* DIRY PWM 5 | | 20 A6 TX5 LIMX
* STPZ PWM 6 | | 19 A5 PWM SCL0 COOL
* DIRZ RX2 PWM 7 | | 18 A4 PWM SDA0 MIST
* STPA TX2 PWM 8 | | 17 A3 RX4 SDA1 CYST
* DIRA PWM 9 | | 16 A2 TX4 SCL1 EHOLD
* STEN PWM 10 | | 15 A1 PWM RX3 PRB
* SPDI MOSI0 PWM 11 | | 14 A0 PWM TX3 PANIC
* SPEN MISO0 PWM 12 | | 13 LED PWM SCK0 SPWM
* 3.3V | | GND
* SCL PWM 24 | | 41 A17 KPSTR
* SDA PWM 25 | | 40 A16 STENY
* STPB MOSI1 26 | | 39 A15 MISO1 STENZ
* DIRB SCK1 27 | * * * * * | 38 A14 STENA
* LIMB RX7 PWM 28 | | 37 PWM STENB
* DOOR TX7 PWM 29 | | 36 PWM ST0
* ST1 30 | | 35 TX8 ST3
* AUX0 31 | SDCARD | 34 RX8 ST2
* AUX1 32 |_______________| 33 PWM AUX2
*/
2020-09-10 01:57:20 +02:00
2020-09-23 22:33:54 +02:00
#ifndef SDCARD_CONNECTION
#define SDCARD_CONNECTION ONBOARD
#endif
2020-09-23 22:33:54 +02:00
//
// Servos
//
#define SERVO0_PIN 24
#define SERVO1_PIN 25
2020-09-10 01:57:20 +02:00
//
// Limit Switches
//
#define X_STOP_PIN 20
#define Y_STOP_PIN 21
#define Z_STOP_PIN 22
//
// Steppers
//
#define X_STEP_PIN 2
#define X_DIR_PIN 3
#define X_ENABLE_PIN 10
TFT Refactoring (#19192) * split tft folder in two: tft for color ui; tft_io for shared tft code * after the files got moved, now the code was moved to the right place * classic ui using TFT IO init lcd codes * feature to compile tft_io when enabled * compiling fix * lvgl spi tft working with tft io init codes * there is no need for separeted fsmc and spi class in lvgl anymore, as tft io handle everything * remove debug * base for TFT rotation and mirroring API, and ILI9488 support * ST7796S rotate and mirror support * ST7789V rotate and mirror support * ST7735 rotate and mirror support * ILI9341 rotate and mirror support * ILI9328 rotate and mirror support * R61505 rotate and mirror support * MKS TFT definitions * more configs for mks tfts * update config * naming typo * to configure the user interface * ANYCUBIC_TFT35 * tft configs * support for SSD1963 * tft display types * updated conditionals lcd; first board fully working with the new code - all 3 ui! * compatiblity * changed name * move classic ui file name * rename TURN -> ROTATE * GRAPHICAL_TFT_ROTATE_180 deprecated * first fsmc board fully working - chitu v5 * mks robin nano v1.2 + tft 35 ok! * right pin name * anycubic tft tested in a TRIGORILLA_PRO * chitu v6 * nano 32 tft orientation * mks tft43 * mks tft43 rotation * fixed LONGER LK tft setup * GRAPHICAL_TFT_UPSCALE defined by the display type * better offsets defaults * Update Configuration.h * Update tft_fsmc.cpp * Update Conditionals_LCD.h * Tweak comments * update nano tests * Revert "update nano tests" This reverts commit a071ebbfad30e28855a4a5695ec8a726542a1a65. * default tft * outdated comments * to not break non-vscode builds * upscale tft 35 * support tft 180 rotation for color ui * Each TFT Driver is responsible for its default color mode. * use auto detect in mks displays, because some of them could be shipped with diferent drivers * extra s * unused code * wrong -1 * missing mirror options * Smaller regex pattern * Comment updates * Clean up old defines * Apply pins formatting * GRAPHICAL_TFT_ROTATE_180 => TFT_ROTATE_180 * MKS_ROBIN_TFT_V1_1R * merge fix * correct resolution * auto is default, dont need be there, and it will allow the user to configure it even for named displays * to not use rotation with MKS_ROBIN_TFT_V1_1R * i like () in macros * avoid sleepy commits * default for st7789 is rgb * nano follow up * to allow ili9328 rotation * default is rgb * boards merge follow up * to match bootloader orientation * HAS_TOUCH_XPT2046 is not hal specific anymore * lets not forget LPC * 180 rotation for ili9328 and R61505 * Clean up whitespace Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2020-10-12 23:38:07 +02:00
//#define X_CS_PIN 30
2020-09-10 01:57:20 +02:00
#define Y_STEP_PIN 4
#define Y_DIR_PIN 5
#define Y_ENABLE_PIN 40
TFT Refactoring (#19192) * split tft folder in two: tft for color ui; tft_io for shared tft code * after the files got moved, now the code was moved to the right place * classic ui using TFT IO init lcd codes * feature to compile tft_io when enabled * compiling fix * lvgl spi tft working with tft io init codes * there is no need for separeted fsmc and spi class in lvgl anymore, as tft io handle everything * remove debug * base for TFT rotation and mirroring API, and ILI9488 support * ST7796S rotate and mirror support * ST7789V rotate and mirror support * ST7735 rotate and mirror support * ILI9341 rotate and mirror support * ILI9328 rotate and mirror support * R61505 rotate and mirror support * MKS TFT definitions * more configs for mks tfts * update config * naming typo * to configure the user interface * ANYCUBIC_TFT35 * tft configs * support for SSD1963 * tft display types * updated conditionals lcd; first board fully working with the new code - all 3 ui! * compatiblity * changed name * move classic ui file name * rename TURN -> ROTATE * GRAPHICAL_TFT_ROTATE_180 deprecated * first fsmc board fully working - chitu v5 * mks robin nano v1.2 + tft 35 ok! * right pin name * anycubic tft tested in a TRIGORILLA_PRO * chitu v6 * nano 32 tft orientation * mks tft43 * mks tft43 rotation * fixed LONGER LK tft setup * GRAPHICAL_TFT_UPSCALE defined by the display type * better offsets defaults * Update Configuration.h * Update tft_fsmc.cpp * Update Conditionals_LCD.h * Tweak comments * update nano tests * Revert "update nano tests" This reverts commit a071ebbfad30e28855a4a5695ec8a726542a1a65. * default tft * outdated comments * to not break non-vscode builds * upscale tft 35 * support tft 180 rotation for color ui * Each TFT Driver is responsible for its default color mode. * use auto detect in mks displays, because some of them could be shipped with diferent drivers * extra s * unused code * wrong -1 * missing mirror options * Smaller regex pattern * Comment updates * Clean up old defines * Apply pins formatting * GRAPHICAL_TFT_ROTATE_180 => TFT_ROTATE_180 * MKS_ROBIN_TFT_V1_1R * merge fix * correct resolution * auto is default, dont need be there, and it will allow the user to configure it even for named displays * to not use rotation with MKS_ROBIN_TFT_V1_1R * i like () in macros * avoid sleepy commits * default for st7789 is rgb * nano follow up * to allow ili9328 rotation * default is rgb * boards merge follow up * to match bootloader orientation * HAS_TOUCH_XPT2046 is not hal specific anymore * lets not forget LPC * 180 rotation for ili9328 and R61505 * Clean up whitespace Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2020-10-12 23:38:07 +02:00
//#define Y_CS_PIN 31
2020-09-10 01:57:20 +02:00
#define Z_STEP_PIN 6
#define Z_DIR_PIN 7
#define Z_ENABLE_PIN 39
TFT Refactoring (#19192) * split tft folder in two: tft for color ui; tft_io for shared tft code * after the files got moved, now the code was moved to the right place * classic ui using TFT IO init lcd codes * feature to compile tft_io when enabled * compiling fix * lvgl spi tft working with tft io init codes * there is no need for separeted fsmc and spi class in lvgl anymore, as tft io handle everything * remove debug * base for TFT rotation and mirroring API, and ILI9488 support * ST7796S rotate and mirror support * ST7789V rotate and mirror support * ST7735 rotate and mirror support * ILI9341 rotate and mirror support * ILI9328 rotate and mirror support * R61505 rotate and mirror support * MKS TFT definitions * more configs for mks tfts * update config * naming typo * to configure the user interface * ANYCUBIC_TFT35 * tft configs * support for SSD1963 * tft display types * updated conditionals lcd; first board fully working with the new code - all 3 ui! * compatiblity * changed name * move classic ui file name * rename TURN -> ROTATE * GRAPHICAL_TFT_ROTATE_180 deprecated * first fsmc board fully working - chitu v5 * mks robin nano v1.2 + tft 35 ok! * right pin name * anycubic tft tested in a TRIGORILLA_PRO * chitu v6 * nano 32 tft orientation * mks tft43 * mks tft43 rotation * fixed LONGER LK tft setup * GRAPHICAL_TFT_UPSCALE defined by the display type * better offsets defaults * Update Configuration.h * Update tft_fsmc.cpp * Update Conditionals_LCD.h * Tweak comments * update nano tests * Revert "update nano tests" This reverts commit a071ebbfad30e28855a4a5695ec8a726542a1a65. * default tft * outdated comments * to not break non-vscode builds * upscale tft 35 * support tft 180 rotation for color ui * Each TFT Driver is responsible for its default color mode. * use auto detect in mks displays, because some of them could be shipped with diferent drivers * extra s * unused code * wrong -1 * missing mirror options * Smaller regex pattern * Comment updates * Clean up old defines * Apply pins formatting * GRAPHICAL_TFT_ROTATE_180 => TFT_ROTATE_180 * MKS_ROBIN_TFT_V1_1R * merge fix * correct resolution * auto is default, dont need be there, and it will allow the user to configure it even for named displays * to not use rotation with MKS_ROBIN_TFT_V1_1R * i like () in macros * avoid sleepy commits * default for st7789 is rgb * nano follow up * to allow ili9328 rotation * default is rgb * boards merge follow up * to match bootloader orientation * HAS_TOUCH_XPT2046 is not hal specific anymore * lets not forget LPC * 180 rotation for ili9328 and R61505 * Clean up whitespace Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2020-10-12 23:38:07 +02:00
//#define Z_CS_PIN 32
2020-09-10 01:57:20 +02:00
#define E0_STEP_PIN 8
#define E0_DIR_PIN 9
#define E0_ENABLE_PIN 38
#define E1_STEP_PIN 26
#define E1_DIR_PIN 27
#define E1_ENABLE_PIN 37
2020-09-23 22:33:54 +02:00
//
// Heaters / Fans
//
2020-09-10 01:57:20 +02:00
#define HEATER_0_PIN 31
#define HEATER_1_PIN 32
#define HEATER_BED_PIN 33
2020-09-23 22:33:54 +02:00
//
// Temperature Sensors
//
2020-09-10 01:57:20 +02:00
#define TEMP_0_PIN 5 // Extruder / Analog pin numbering: 2 => A2
#define TEMP_1_PIN 4
#define TEMP_BED_PIN 15 // Bed / Analog pin numbering
2020-09-23 22:33:54 +02:00
//
// Misc. Functions
//
2020-09-10 01:57:20 +02:00
#define LED_PIN 13
#define SOL0_PIN 17