Make LPC1768 pinmapping not specific to Re-ARM (#8063)

* Merging early because of build failures.  See #8105

* Make LPC1768 pinmapping not specific to Re-ARM

* Add HAL_PIN_TYPE and LPC1768 pin features

* M43 Updates

* Move pin map into pinsDebug_LPC1768.h

* Incorporate comments and M226

* Fix persistent store compilation issues

* Update pin features

* Update MKS SBASE pins

* Use native LPC1768 pin numbers in M42, M43, and M226
This commit is contained in:
Thomas Moore
2017-10-26 13:37:26 -05:00
committed by Roxy-3D
parent e4266d0fde
commit 9e699811d2
49 changed files with 1176 additions and 1338 deletions

View File

@@ -34,9 +34,8 @@
*
*/
//#if !defined(TARGET_LPC1768)
#if DISABLED(IS_REARM)
#error "Oops! Make sure you have Re-Arm selected."
#ifndef TARGET_LPC1768
#error "Oops! Make sure you have LPC1768 selected."
#endif
#ifndef BOARD_NAME
@@ -45,56 +44,50 @@
#define LARGE_FLASH true
// unused
#define D57 57
#define D58 58
//
// Servos
//
#define SERVO0_PIN 11
#define SERVO1_PIN 6 // also on J5-1
#define SERVO2_PIN 5
#define SERVO3_PIN 4 // 5V output - PWM capable
#define SERVO0_PIN P1_20
#define SERVO1_PIN P1_21 // also on J5-1
#define SERVO2_PIN P1_19
#define SERVO3_PIN P1_18 // 5V output - PWM capable
//
// Limit Switches
//
#define X_MIN_PIN 3 //10k pullup to 3.3V, 1K series
#define X_MAX_PIN 2 //10k pullup to 3.3V, 1K series
#define Y_MIN_PIN 14 //10k pullup to 3.3V, 1K series
#define Y_MAX_PIN 15 //10k pullup to 3.3V, 1K series
#define Z_MIN_PIN 18 //10k pullup to 3.3V, 1K series
#define Z_MAX_PIN 19 //10k pullup to 3.3V, 1K series
//#define Z_PROBE_PIN 1 // AUX-1
#define X_MIN_PIN P1_24 //10k pullup to 3.3V, 1K series
#define X_MAX_PIN P1_25 //10k pullup to 3.3V, 1K series
#define Y_MIN_PIN P1_26 //10k pullup to 3.3V, 1K series
#define Y_MAX_PIN P1_27 //10k pullup to 3.3V, 1K series
#define Z_MIN_PIN P1_29 //10k pullup to 3.3V, 1K series
#define Z_MAX_PIN P1_28 //10k pullup to 3.3V, 1K series
//
// Steppers
//
#define X_STEP_PIN 54
#define X_DIR_PIN 55
#define X_ENABLE_PIN 38
#define X_STEP_PIN P2_1
#define X_DIR_PIN P0_11
#define X_ENABLE_PIN P0_10
#define Y_STEP_PIN 60
#define Y_DIR_PIN 61
#define Y_ENABLE_PIN 56
#define Y_STEP_PIN P2_2
#define Y_DIR_PIN P0_20
#define Y_ENABLE_PIN P0_19
#define Z_STEP_PIN 46
#define Z_DIR_PIN 48
#define Z_ENABLE_PIN 62
#define Z_STEP_PIN P2_3
#define Z_DIR_PIN P0_22
#define Z_ENABLE_PIN P0_21
#define E0_STEP_PIN 26
#define E0_DIR_PIN 28
#define E0_ENABLE_PIN 24
#define E0_STEP_PIN P2_0
#define E0_DIR_PIN P0_5
#define E0_ENABLE_PIN P0_4
#define E1_STEP_PIN 36
#define E1_DIR_PIN 34
#define E1_ENABLE_PIN 30
#define E1_STEP_PIN P2_8
#define E1_DIR_PIN P2_13
#define E1_ENABLE_PIN P4_29
#define E2_STEP_PIN 36
#define E2_DIR_PIN 34
#define E2_ENABLE_PIN 30
#define E2_STEP_PIN P2_8
#define E2_DIR_PIN P2_13
#define E2_ENABLE_PIN P4_29
//
// Temperature Sensors
@@ -131,16 +124,16 @@
// Heaters / Fans
//
#ifndef MOSFET_D_PIN
#define MOSFET_D_PIN -1
#define MOSFET_D_PIN -1
#endif
#ifndef RAMPS_D8_PIN
#define RAMPS_D8_PIN 8
#define RAMPS_D8_PIN P2_8
#endif
#ifndef RAMPS_D9_PIN
#define RAMPS_D9_PIN 9
#define RAMPS_D9_PIN P2_4
#endif
#ifndef RAMPS_D10_PIN
#define RAMPS_D10_PIN 10
#define RAMPS_D10_PIN P2_5
#endif
#define HEATER_0_PIN RAMPS_D10_PIN
@@ -170,22 +163,22 @@
#endif
#ifndef FAN_PIN
#define FAN_PIN 4 // IO pin. Buffer needed
#define FAN_PIN P1_18 // IO pin. Buffer needed
#endif
//
// Misc. Functions
//
#define LED_PIN 13
#define LED_PIN P4_28
// define digital pin 4 for the filament runout sensor. Use the RAMPS 1.4 digital input 4 on the servos connector
#define FIL_RUNOUT_PIN 4
#define FIL_RUNOUT_PIN P1_18
#define PS_ON_PIN 12
#define PS_ON_PIN P2_12
#if ENABLED(CASE_LIGHT_ENABLE) && !PIN_EXISTS(CASE_LIGHT) && !defined(SPINDLE_LASER_ENABLE_PIN)
#if !defined(NUM_SERVOS) || NUM_SERVOS < 4 // try to use servo connector
#define CASE_LIGHT_PIN 4 // MUST BE HARDWARE PWM
#define CASE_LIGHT_PIN P1_18 // MUST BE HARDWARE PWM
#endif
#endif
@@ -197,17 +190,17 @@
#undef SERVO1
#undef SERVO2
#undef SERVO3
#define SPINDLE_LASER_ENABLE_PIN 6 // Pin should have a pullup/pulldown!
#define SPINDLE_LASER_PWM_PIN 4 // MUST BE HARDWARE PWM
#define SPINDLE_DIR_PIN 5
#define SPINDLE_LASER_ENABLE_PIN P1_21 // Pin should have a pullup/pulldown!
#define SPINDLE_LASER_PWM_PIN P1_18 // MUST BE HARDWARE PWM
#define SPINDLE_DIR_PIN P1_19
#endif
#endif
//
// Průša i3 MK2 Multiplexer Support
//
#define E_MUX0_PIN 0 // Z_CS_PIN
#define E_MUX1_PIN 1 // E0_CS_PIN
#define E_MUX2_PIN 63 // E1_CS_PIN
#define E_MUX0_PIN P0_3 // Z_CS_PIN
#define E_MUX1_PIN P0_2 // E0_CS_PIN
#define E_MUX2_PIN P0_26 // E1_CS_PIN
/**
* LCD / Controller
@@ -230,89 +223,76 @@
#if ENABLED(ULTRA_LCD)
#define BEEPER_PIN 37 // not 5V tolerant
#define BEEPER_PIN P1_30 // not 5V tolerant
#define BTN_EN1 31 // J3-2 & AUX-4
#define BTN_EN2 33 // J3-4 & AUX-4
#define BTN_ENC 35 // J3-3 & AUX-4
#define BTN_EN1 P3_26 // J3-2 & AUX-4
#define BTN_EN2 P3_25 // J3-4 & AUX-4
#define BTN_ENC P2_11 // J3-3 & AUX-4
#define SD_DETECT_PIN 49 // not 5V tolerant J3-1 & AUX-3
#define KILL_PIN 41 // J5-4 & AUX-4
#define LCD_PINS_RS 16 // J3-7 & AUX-4
#define LCD_SDSS 16 // J3-7 & AUX-4
#define LCD_BACKLIGHT_PIN 16 // J3-7 & AUX-4 - only used on DOGLCD controllers
#define LCD_PINS_ENABLE 51 // (MOSI) J3-10 & AUX-3
#define LCD_PINS_D4 52 // (SCK) J3-9 & AUX-3
#define SD_DETECT_PIN P1_31 // not 5V tolerant J3-1 & AUX-3
#define KILL_PIN P1_22 // J5-4 & AUX-4
#define LCD_PINS_RS P0_16 // J3-7 & AUX-4
#define LCD_SDSS P0_16 // J3-7 & AUX-4
#define LCD_BACKLIGHT_PIN P0_16 // J3-7 & AUX-4 - only used on DOGLCD controllers
#define LCD_PINS_ENABLE P0_18 // (MOSI) J3-10 & AUX-3
#define LCD_PINS_D4 P0_15 // (SCK) J3-9 & AUX-3
#define DOGLCD_A0 59 // J3-8 & AUX-2
#define DOGLCD_CS 63 // J5-3 & AUX-2
#define DOGLCD_A0 P2_6 // J3-8 & AUX-2
#define DOGLCD_CS P0_26 // J5-3 & AUX-2
#ifdef ULTIPANEL
#define LCD_PINS_D5 71 // ENET_MDIO
#define LCD_PINS_D6 73 // ENET_RX_ER
#define LCD_PINS_D7 75 // ENET_RXD1
#define LCD_PINS_D5 P1_17 // ENET_MDIO
#define LCD_PINS_D6 P1_14 // ENET_RX_ER
#define LCD_PINS_D7 P1_10 // ENET_RXD1
#endif
#if ENABLED(NEWPANEL)
#if ENABLED(REPRAPWORLD_KEYPAD)
#define SHIFT_OUT 51 // (MOSI) J3-10 & AUX-3
#define SHIFT_CLK 52 // (SCK) J3-9 & AUX-3
#define SHIFT_LD 49 // not 5V tolerant J3-1 & AUX-3
#define SHIFT_OUT P0_18 // (MOSI) J3-10 & AUX-3
#define SHIFT_CLK P0_15 // (SCK) J3-9 & AUX-3
#define SHIFT_LD P1_31 // not 5V tolerant J3-1 & AUX-3
#endif
#else
//#define SHIFT_CLK 31 // J3-2 & AUX-4
//#define SHIFT_LD 33 // J3-4 & AUX-4
//#define SHIFT_OUT 35 // J3-3 & AUX-4
//#define SHIFT_EN 41 // J5-4 & AUX-4
//#define SHIFT_CLK P3_26 // J3-2 & AUX-4
//#define SHIFT_LD P3_25 // J3-4 & AUX-4
//#define SHIFT_OUT P2_11 // J3-3 & AUX-4
//#define SHIFT_EN P1_22 // J5-4 & AUX-4
#endif
#define SDCARD_SORT_ALPHA // Using SORT feature to keep one directory level in RAM
// When going up/down directory levels the SD card is
// accessed but the garbage/lines are removed when the
// LCD updates
#define SDSORT_LIMIT 256 // Maximum number of sorted items (10-256). Costs 27 bytes each.
#define FOLDER_SORTING -1 // -1=above 0=none 1=below
#define SDSORT_GCODE false // Allow turning sorting on/off with LCD and M34 g-code.
#define SDSORT_USES_RAM true // Pre-allocate a static array for faster pre-sorting.
#define SDSORT_USES_STACK false // Prefer the stack for pre-sorting to give back some SRAM. (Negated by next 2 options.)
#define SDSORT_CACHE_NAMES true // Keep sorted items in RAM longer for speedy performance. Most expensive option.
#define SDSORT_DYNAMIC_RAM false // Use dynamic allocation (within SD menus). Least expensive option. Set SDSORT_LIMIT before use!
#if ENABLED(VIKI2) || ENABLED(miniVIKI)
// #define LCD_SCREEN_ROT_180
#undef BEEPER_PIN
#define BEEPER_PIN 37 // may change if cable changes
#define BEEPER_PIN P1_30 // may change if cable changes
#define BTN_EN1 31 // J3-2 & AUX-4
#define BTN_EN2 33 // J3-4 & AUX-4
#define BTN_ENC 35 // J3-3 & AUX-4
#define BTN_EN1 P3_26 // J3-2 & AUX-4
#define BTN_EN2 P3_25 // J3-4 & AUX-4
#define BTN_ENC P2_11 // J3-3 & AUX-4
#define SD_DETECT_PIN 49 // not 5V tolerant J3-1 & AUX-3
#define KILL_PIN 41 // J5-4 & AUX-4
#define SD_DETECT_PIN P1_31 // not 5V tolerant J3-1 & AUX-3
#define KILL_PIN P1_22 // J5-4 & AUX-4
#undef DOGLCD_CS
#define DOGLCD_CS 16
#undef LCD_BACKLIGHT_PIN //16 // J3-7 & AUX-4 - only used on DOGLCD controllers
#undef LCD_PINS_ENABLE //51 // (MOSI) J3-10 & AUX-3
#undef LCD_PINS_D4 //52 // (SCK) J3-9 & AUX-3
#define DOGLCD_CS P0_16
#undef LCD_BACKLIGHT_PIN //P0_16 // J3-7 & AUX-4 - only used on DOGLCD controllers
#undef LCD_PINS_ENABLE //P0_18 // (MOSI) J3-10 & AUX-3
#undef LCD_PINS_D4 //P0_15 // (SCK) J3-9 & AUX-3
#undef LCD_PINS_D5 //59 // J3-8 & AUX-2
#define DOGLCD_A0 59 // J3-8 & AUX-2
#undef LCD_PINS_D6 //63 // J5-3 & AUX-2
#undef LCD_PINS_D7 // 6 // (SERVO1) J5-1 & SERVO connector
#define DOGLCD_SCK SCK_PIN
#define DOGLCD_MOSI MOSI_PIN
#undef LCD_PINS_D5 //P2_6 // J3-8 & AUX-2
#define DOGLCD_A0 P2_6 // J3-8 & AUX-2
#undef LCD_PINS_D6 //P0_26 // J5-3 & AUX-2
#undef LCD_PINS_D7 //P1_21 // (SERVO1) J5-1 & SERVO connector
#define DOGLCD_SCK SCK_PIN
#define DOGLCD_MOSI MOSI_PIN
#define STAT_LED_BLUE_PIN 63 // may change if cable changes
#define STAT_LED_RED_PIN 6 // may change if cable changes
#define STAT_LED_BLUE_PIN P0_26 // may change if cable changes
#define STAT_LED_RED_PIN P1_21 // may change if cable changes
#endif
//#define MISO_PIN 50 // system defined J3-10 & AUX-3
//#define MOSI_PIN 51 // system defined J3-10 & AUX-3
//#define SCK_PIN 52 // system defined J3-9 & AUX-3
//#define SS_PIN 53 // system defined J3-5 & AUX-3 - sometimes called SDSS
//#define MISO_PIN P0_17 // system defined J3-10 & AUX-3
//#define MOSI_PIN P0_18 // system defined J3-10 & AUX-3
//#define SCK_PIN P0_15 // system defined J3-9 & AUX-3
//#define SS_PIN P1_23 // system defined J3-5 & AUX-3 - sometimes called SDSS
#if ENABLED(MINIPANEL)
// GLCD features
@@ -329,17 +309,17 @@
// Ethernet pins
//
#ifndef ULTIPANEL
#define ENET_MDIO 71 // J12-4
#define ENET_RX_ER 73 // J12-6
#define ENET_RXD1 75 // J12-8
#define ENET_MDIO P1_17 // J12-4
#define ENET_RX_ER P1_14 // J12-6
#define ENET_RXD1 P1_10 // J12-8
#endif
#define ENET_MOC 70 // J12-3
#define REF_CLK 72 // J12-5
#define ENET_RXD0 74 // J12-7
#define ENET_CRS 76 // J12-9
#define ENET_TX_EN 77 // J12-10
#define ENET_TXD0 78 // J12-11
#define ENET_TXD1 79 // J12-12
#define ENET_MOC P1_16 // J12-3
#define REF_CLK P1_15 // J12-5
#define ENET_RXD0 P1_9 // J12-7
#define ENET_CRS P1_8 // J12-9
#define ENET_TX_EN P1_4 // J12-10
#define ENET_TXD0 P1_0 // J12-11
#define ENET_TXD1 P1_1 // J12-12
/**
* PWMS
@@ -348,47 +328,25 @@
*
* SERVO2 does NOT have a PWM assigned to it.
*
* PWM1.1 DIO4 SERVO3_PIN FIL_RUNOUT_PIN 5V output, PWM
* PWM1.1 DIO26 E0_STEP_PIN
* PWM1.2 DIO11 SERVO0_PIN
* PWM1.2 DIO54 X_STEP_PIN
* PWM1.3 DIO6 SERVO1_PIN J5-1
* PWM1.3 DIO60 Y_STEP_PIN
* PWM1.4 DIO53 SDSS(SSEL0) J3-5 AUX-3
* PWM1.4 DIO46 Z_STEP_PIN
* PWM1.5 DIO3 X_MIN_PIN 10K PULLUP TO 3.3v, 1K SERIES
* PWM1.5 DIO9 RAMPS_D9_PIN
* PWM1.6 DIO14 Y_MIN_PIN 10K PULLUP TO 3.3v, 1K SERIES
* PWM1.6 DIO10 RAMPS_D10_PIN
*/
/**
* The following pins are NOT available in a Re-ARM system
* 7
* 17
* 22
* 23
* 25
* 27
* 29
* 32
* 39
* 40
* 42
* 43
* 44
* 45
* 47
* 64
* 65
* 66
* PWM1.1 P0_18 SERVO3_PIN FIL_RUNOUT_PIN 5V output, PWM
* PWM1.1 P2_0 E0_STEP_PIN
* PWM1.2 P1_20 SERVO0_PIN
* PWM1.2 P2_1 X_STEP_PIN
* PWM1.3 P1_21 SERVO1_PIN J5-1
* PWM1.3 P2_2 Y_STEP_PIN
* PWM1.4 P1_23 SDSS(SSEL0) J3-5 AUX-3
* PWM1.4 P2_3 Z_STEP_PIN
* PWM1.5 P1_24 X_MIN_PIN 10K PULLUP TO 3.3v, 1K SERIES
* PWM1.5 P2_4 RAMPS_D9_PIN
* PWM1.6 P1_26 Y_MIN_PIN 10K PULLUP TO 3.3v, 1K SERIES
* PWM1.6 P2_5 RAMPS_D10_PIN
*/
/**
* special pins
* D37 - not 5V tolerant
* D49 - not 5V tolerant
* D57 - open collector
* D58 - open collector
* P1_30 - not 5V tolerant
* P1_31 - not 5V tolerant
* P0_27 - open collector
* P0_28 - open collector
*
*/