From da3a0d619c17bd8b5874764282ee43b524197bde Mon Sep 17 00:00:00 2001
From: Alexey Shvetsov <alexxy@gentoo.org>
Date: Sun, 4 Feb 2018 12:15:09 +0300
Subject: [PATCH] Add Selena Compact board (#9407)

5-axis, high performance, powerful board with Smoothieware opensource firmware. Designed for 3D printer, Laser cutter or CNC mill. Five changed independent drivers on board. Two extruders 3d printer support.
---
 Marlin/src/core/boards.h              |   1 +
 Marlin/src/pins/pins.h                |   2 +
 Marlin/src/pins/pins_SELENA_COMPACT.h | 115 ++++++++++++++++++++++++++
 README.md                             |   1 +
 4 files changed, 119 insertions(+)
 create mode 100644 Marlin/src/pins/pins_SELENA_COMPACT.h

diff --git a/Marlin/src/core/boards.h b/Marlin/src/core/boards.h
index 0f5085fd00..feeeaa37c5 100644
--- a/Marlin/src/core/boards.h
+++ b/Marlin/src/core/boards.h
@@ -162,6 +162,7 @@
 #define BOARD_AZSMZ_MINI          1751  // AZSMZ Mini
 #define BOARD_AZTEEG_X5_GT        1752  // Azteeg X5 GT (Power outputs: Hotend0, Hotend1, Bed, Fan)
 #define BOARD_BIQU_BQ111_A4       1753  // BIQU BQ111-A4 (Power outputs: Hotend, Fan, Bed)
+#define BOARD_SELENA_COMPACT      1754  // Selena Compact (Power outputs: Hotend0, Hotend1, Bed0, Bed1, Fan0, Fan1)
 
 //
 // SAM3X8E ARM Cortex M3
diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h
index e823432360..b030850d2b 100644
--- a/Marlin/src/pins/pins.h
+++ b/Marlin/src/pins/pins.h
@@ -341,6 +341,8 @@
   #include "pins_BIQU_BQ111_A4.h"
 #elif MB(THE_BORG)
   #include "pins_THE_BORG.h"
+#elif MB(SELENA_COMPACT)
+  #include "pins_SELENA_COMPACT.h"
 #else
   #error "Unknown MOTHERBOARD value set in Configuration.h"
 #endif
diff --git a/Marlin/src/pins/pins_SELENA_COMPACT.h b/Marlin/src/pins/pins_SELENA_COMPACT.h
new file mode 100644
index 0000000000..104c7c8b90
--- /dev/null
+++ b/Marlin/src/pins/pins_SELENA_COMPACT.h
@@ -0,0 +1,115 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ * Copyright (C) 2017 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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+/**
+ * Selena Compact pin assignments
+ */
+
+#ifndef TARGET_LPC1768
+  #error "Oops!  Make sure you have LPC1768 selected."
+#endif
+
+#ifndef BOARD_NAME
+  #define BOARD_NAME "Selena Compact"
+  #define DEFAULT_WEBSITE_URL "https://github.com/Ales2-k/Selena"
+#endif
+
+//
+// Limit Switches
+//
+
+#define X_MIN_PIN          P1_28
+#define X_MAX_PIN          P1_25
+#define Y_MIN_PIN          P2_11
+#define Y_MAX_PIN          -1
+#define Z_MIN_PIN          P1_27
+#define Z_MAX_PIN          -1
+#define Z_PROBE            P1_22
+
+//
+// Steppers
+//
+#define X_STEP_PIN         P2_00
+#define X_DIR_PIN          P0_05
+#define X_ENABLE_PIN       P0_04
+
+#define Y_STEP_PIN         P2_01
+#define Y_DIR_PIN          P0_11
+#define Y_ENABLE_PIN       P0_10
+
+#define Z_STEP_PIN         P2_02
+#define Z_DIR_PIN          P0_20
+#define Z_ENABLE_PIN       P0_19
+
+#define E0_STEP_PIN        P2_03
+#define E0_DIR_PIN         P0_22
+#define E0_ENABLE_PIN      P0_21
+
+#define E1_STEP_PIN        P2_08
+#define E1_DIR_PIN         P2_13
+#define E1_ENABLE_PIN      P4_29
+
+//
+// Temperature Sensors
+// 3.3V max when defined as an analog input
+//
+#define TEMP_BED_PIN        0  // A0 (TH1)
+#define TEMP_0_PIN          1  // A1 (TH2)
+#define TEMP_1_PIN          2  // A2 (TH3)
+
+
+//
+// Heaters / Fans
+//
+
+#define HEATER_BED_PIN     P2_05
+#define HEATER_BED2_PIN    P2_04
+#define HEATER_0_PIN       P2_07
+#define HEATER_1_PIN       P2_06
+#define FAN_PIN            P1_24
+#define FAN1_PIN           P1_26
+
+//
+// Display
+//
+
+#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
+    #define LCD_PINS_RS         P0_16
+    #define LCD_PINS_ENABLE     P0_18
+    #define LCD_PINS_D4         P0_15
+    #define LCD_PINS_D5         P1_00
+    #define LCD_PINS_D6         P1_01
+    #define LCD_PINS_D7         P1_04
+    #define BEEPER_PIN          P1_31
+
+    #define BTN_EN1             P3_25
+    #define BTN_EN2             P3_26
+    #define BTN_ENC             P1_30
+    
+    #define SD_DETECT_PIN       -1
+#endif // REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
+
+//
+// Servo
+//
+#define SERVO0_PIN        P1_23
diff --git a/README.md b/README.md
index cfe3eed45e..5fc12c3dd7 100644
--- a/README.md
+++ b/README.md
@@ -32,6 +32,7 @@ Marlin 2.0 adds a new abstraction layer so that Marlin can build and run on 32-b
   [Re-ARM](https://www.kickstarter.com/projects/1245051645/re-arm-for-ramps-simple-32-bit-upgrade)|[LPC1768 ARM-Cortex M3](http://www.nxp.com/products/microcontrollers-and-processors/arm-based-processors-and-mcus/lpc-cortex-m-mcus/lpc1700-cortex-m3/512kb-flash-64kb-sram-ethernet-usb-lqfp100-package:LPC1768FBD100)|100MHz|512k|32+16+16k|3.3-5V|no
   [MKS SBASE](http://forums.reprap.org/read.php?13,499322)|LPC1768 ARM-Cortex M3|100MHz|512k|32+16+16k|3.3-5V|no
   [Azteeg X5 GT](https://www.panucatt.com/azteeg_X5_GT_reprap_3d_printer_controller_p/ax5gt.htm)|LPC1769 ARM-Cortex M3|120MHz|512k|32+16+16k|3.3-5V|no
+  [Selena Compact](https://github.com/Ales2-k/Selena)|LPC1768 ARM-Cortex M3|100MHz|512k|32+16+16k|3.3-5V|no
   [Teensy 3.5](https://www.pjrc.com/store/teensy35.html)|ARM-Cortex M4|120MHz|512k|192k|3.3-5V|yes
   [Teensy 3.6](https://www.pjrc.com/store/teensy36.html)|ARM-Cortex M4|180MHz|1M|256k|3.3V|yes
 
-- 
GitLab