Browse Source

Add BOARD_PREINIT (for Longer3D open drain pins) (#21159)

Tanguy Pruvot 4 years ago
parent
commit
d167af4c38
No account linked to committer's email address

+ 3
- 0
Marlin/src/MarlinCore.cpp View File

@@ -870,6 +870,9 @@ inline void tmc_standby_setup() {
870 870
  *    • Max7219
871 871
  */
872 872
 void setup() {
873
+  #ifdef BOARD_PREINIT
874
+    BOARD_PREINIT(); // Low-level init (before serial init)
875
+  #endif
873 876
 
874 877
   tmc_standby_setup();  // TMC Low Power Standby pins must be set early or they're not usable
875 878
 

+ 3
- 3
Marlin/src/module/temperature.cpp View File

@@ -1793,7 +1793,7 @@ void Temperature::updateTemperaturesFromRawValues() {
1793 1793
 #endif
1794 1794
 
1795 1795
 // Init fans according to whether they're native PWM or Software PWM
1796
-#ifdef ALFAWISE_UX0
1796
+#ifdef BOARD_OPENDRAIN_MOSFETS
1797 1797
   #define _INIT_SOFT_FAN(P) OUT_WRITE_OD(P, FAN_INVERTING ? LOW : HIGH)
1798 1798
 #else
1799 1799
   #define _INIT_SOFT_FAN(P) OUT_WRITE(P, FAN_INVERTING ? LOW : HIGH)
@@ -1886,7 +1886,7 @@ void Temperature::init() {
1886 1886
   #endif
1887 1887
 
1888 1888
   #if HAS_HEATER_0
1889
-    #ifdef ALFAWISE_UX0
1889
+    #ifdef BOARD_OPENDRAIN_MOSFETS
1890 1890
       OUT_WRITE_OD(HEATER_0_PIN, HEATER_0_INVERTING);
1891 1891
     #else
1892 1892
       OUT_WRITE(HEATER_0_PIN, HEATER_0_INVERTING);
@@ -1916,7 +1916,7 @@ void Temperature::init() {
1916 1916
   #endif
1917 1917
 
1918 1918
   #if HAS_HEATED_BED
1919
-    #ifdef ALFAWISE_UX0
1919
+    #ifdef BOARD_OPENDRAIN_MOSFETS
1920 1920
       OUT_WRITE_OD(HEATER_BED_PIN, HEATER_BED_INVERTING);
1921 1921
     #else
1922 1922
       OUT_WRITE(HEATER_BED_PIN, HEATER_BED_INVERTING);

+ 11
- 2
Marlin/src/pins/stm32f1/pins_LONGER3D_LK.h View File

@@ -29,7 +29,6 @@
29 29
 #endif
30 30
 
31 31
 #define BOARD_INFO_NAME "Longer3D"
32
-#define ALFAWISE_UX0                              // Common to all Longer3D STM32F1 boards (used for Open drain mosfets)
33 32
 
34 33
 #define BOARD_NO_NATIVE_USB
35 34
 
@@ -92,10 +91,20 @@
92 91
 #define FAN_MAX_PWM                          255
93 92
 
94 93
 //#define BEEPER_PIN                        PD13  // pin 60 (Servo PWM output 5V/GND on Board V0G+) made for BL-Touch sensor
95
-                                 // Can drive a PC Buzzer, if connected between PWM and 5V pins
94
+                                                  // Can drive a PC Buzzer, if connected between PWM and 5V pins
96 95
 
97 96
 #define LED_PIN                             PC2   // pin 17
98 97
 
98
+// Longer3D board mosfets are passing by default
99
+// Avoid nozzle heat and fan start before serial init
100
+#define BOARD_OPENDRAIN_MOSFETS
101
+
102
+#define BOARD_PREINIT() { \
103
+  OUT_WRITE_OD(HEATER_0_PIN, 0); \
104
+  OUT_WRITE_OD(HEATER_BED_PIN, 0); \
105
+  OUT_WRITE_OD(FAN_PIN, 0); \
106
+}
107
+
99 108
 //
100 109
 // PWM for a servo probe
101 110
 // Other servo devices are not supported on this board!

Loading…
Cancel
Save