ソースを参照

TMC serial multiplexer, FYSETC AIO-II (#18080)

George Fu 4年前
コミット
fe7452c5cb
コミッターのメールアドレスに関連付けられたアカウントが存在しません

+ 4
- 0
Marlin/src/feature/tmc_util.h ファイルの表示

@@ -149,9 +149,13 @@ class TMCMarlin<TMC2208Stepper, AXIS_LETTER, DRIVER_ID, AXIS_ID> : public TMC220
149 149
     TMCMarlin(Stream * SerialPort, const float RS, const uint8_t) :
150 150
       TMC2208Stepper(SerialPort, RS)
151 151
       {}
152
+    TMCMarlin(Stream * SerialPort, const float RS, uint8_t addr, const uint16_t mul_pin1, const uint16_t mul_pin2) :
153
+      TMC2208Stepper(SerialPort, RS, addr, mul_pin1, mul_pin2)
154
+     {}
152 155
     TMCMarlin(const uint16_t RX, const uint16_t TX, const float RS, const uint8_t, const bool has_rx=true) :
153 156
       TMC2208Stepper(RX, TX, RS, has_rx)
154 157
       {}
158
+
155 159
     uint16_t rms_current() { return TMC2208Stepper::rms_current(); }
156 160
     inline void rms_current(const uint16_t mA) {
157 161
       this->val_mA = mA;

+ 5
- 1
Marlin/src/module/stepper/trinamic.cpp ファイルの表示

@@ -49,7 +49,11 @@ enum StealthIndex : uint8_t { STEALTH_AXIS_XY, STEALTH_AXIS_Z, STEALTH_AXIS_E };
49 49
   #define __TMC_SPI_DEFINE(IC, ST, L, AI) TMCMarlin<IC##Stepper, L, AI> stepper##ST(ST##_CS_PIN, float(ST##_RSENSE), ST##_CHAIN_POS)
50 50
 #endif
51 51
 
52
-#define TMC_UART_HW_DEFINE(IC, ST, L, AI) TMCMarlin<IC##Stepper, L, AI> stepper##ST(&ST##_HARDWARE_SERIAL, float(ST##_RSENSE), ST##_SLAVE_ADDRESS)
52
+#if ENABLED(TMC_SERIAL_MULTIPLEXER)
53
+  #define TMC_UART_HW_DEFINE(IC, ST, L, AI) TMCMarlin<IC##Stepper, L, AI> stepper##ST(&ST##_HARDWARE_SERIAL, float(ST##_RSENSE), ST##_SLAVE_ADDRESS, SERIAL_MUL_PIN1, SERIAL_MUL_PIN2)
54
+#else
55
+  #define TMC_UART_HW_DEFINE(IC, ST, L, AI) TMCMarlin<IC##Stepper, L, AI> stepper##ST(&ST##_HARDWARE_SERIAL, float(ST##_RSENSE), ST##_SLAVE_ADDRESS)
56
+#endif
53 57
 #define TMC_UART_SW_DEFINE(IC, ST, L, AI) TMCMarlin<IC##Stepper, L, AI> stepper##ST(ST##_SERIAL_RX_PIN, ST##_SERIAL_TX_PIN, float(ST##_RSENSE), ST##_SLAVE_ADDRESS, ST##_SERIAL_RX_PIN > -1)
54 58
 
55 59
 #define _TMC_SPI_DEFINE(IC, ST, AI) __TMC_SPI_DEFINE(IC, ST, TMC_##ST##_LABEL, AI)

+ 22
- 22
Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h ファイルの表示

@@ -30,7 +30,7 @@
30 30
 
31 31
 #define DISABLE_JTAG
32 32
 
33
-#define pins_v2_20190128   // geo-f:add for new pins define
33
+#define pins_v2_20190128   // new pins define
34 34
 
35 35
 // Ignore temp readings during development.
36 36
 //#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000
@@ -84,32 +84,32 @@
84 84
 #define E0_DIR_PIN                          PC14
85 85
 #define E0_ENABLE_PIN                       PC13
86 86
 
87
+#if HAS_TMC220x
88
+
89
+  /**
90
+   * TMC2208/TMC2209 stepper drivers
91
+   */
92
+
93
+  //
94
+  // Hardware serial with switch
95
+  //
96
+  #define X_HARDWARE_SERIAL  Serial1
97
+  #define Y_HARDWARE_SERIAL  Serial1
98
+  #define Z_HARDWARE_SERIAL  Serial1
99
+  #define E0_HARDWARE_SERIAL Serial1
100
+  #define TMC_SERIAL_MULTIPLEXER
101
+  #define SERIAL_MUL_PIN1                   PB13
102
+  #define SERIAL_MUL_PIN2                   PB12
103
+
104
+#endif
105
+
87 106
 //
88 107
 // Stepper current PWM
89 108
 //
90
-
91
-// X:PA2 Y:PA3 Z:PB12 E:PB13 // changed for test
92
-//#define MOTOR_CURRENT_PWM_XY_PIN          PA3
93
-//#define MOTOR_CURRENT_PWM_Z_PIN           PA2   // PB12
94
-//#define MOTOR_CURRENT_PWM_XY_PIN          PB6
95
-//#define MOTOR_CURRENT_PWM_Z_PIN           PB7   // PB12
96
-//#define MOTOR_CURRENT_PWM_E_PIN           -1    // PB13
97
-// Motor current PWM conversion, PWM value = MotorCurrentSetting * 255 / range
98 109
 #ifndef MOTOR_CURRENT_PWM_RANGE
99
-  #define MOTOR_CURRENT_PWM_RANGE 1500            // geo-f:old 2000
110
+  #define MOTOR_CURRENT_PWM_RANGE 1500            // origin:2000
100 111
 #endif
101
-#define DEFAULT_PWM_MOTOR_CURRENT  {500, 500, 400} // geo-f:old 1300 1300 1250
102
-
103
-// 采用 SDIO PCB从左到右数
104
-// 1:PC10 - SDIO_D2
105
-// 2:PC11 - SDIO_D3
106
-// 3:PD2 - SDIO_CMD
107
-// 4:VCC
108
-// 5:PC12 - SDIO_CK
109
-// 6:VDD
110
-// 7:PC8 - SDIO_D0
111
-// 8:PC9 - SDIO_D1
112
-// 9:PA15 - SD_DETECT_PIN
112
+#define DEFAULT_PWM_MOTOR_CURRENT { 500, 500, 400 } // origin: {1300,1300,1250}
113 113
 
114 114
 //
115 115
 // Heaters / Fans

+ 1
- 1
Marlin/src/sd/cardreader.cpp ファイルの表示

@@ -393,7 +393,7 @@ void CardReader::manage_media() {
393 393
     if (stat) {                       // Media Inserted
394 394
       safe_delay(500);                // Some boards need a delay to get settled
395 395
       mount();                        // Try to mount the media
396
-      #if MB(FYSETC_CHEETAH)
396
+      #if MB(FYSETC_CHEETAH, FYSETC_AIO_II)
397 397
         reset_stepper_drivers();      // Workaround for Cheetah bug
398 398
       #endif
399 399
       if (!isMounted()) stat = 0;     // Not mounted?

+ 4
- 18
buildroot/share/PlatformIO/scripts/STM32F103RC_fysetc.py ファイルの表示

@@ -2,7 +2,10 @@ from os.path import join
2 2
 from os.path import expandvars
3 3
 Import("env", "projenv")
4 4
 
5
-# Relocate firmware from 0x08000000 to 0x08002000
5
+# Relocate firmware from 0x08000000 to 0x08010000
6
+# for define in env['CPPDEFINES']:
7
+#    if define[0] == "VECT_TAB_ADDR":
8
+#        env['CPPDEFINES'].remove(define)
6 9
 #env['CPPDEFINES'].remove(("VECT_TAB_ADDR", 134217728))
7 10
 #env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08010000"))
8 11
 
@@ -14,14 +17,6 @@ env.AddPostAction(
14 17
 		"\"" + join("$BUILD_DIR","${PROGNAME}.hex") + "\"", # Note: $BUILD_DIR is a full path
15 18
 	]), "Building $TARGET"))
16 19
 
17
-# please keep $SOURCE variable, it will be replaced with a path to firmware
18
-
19
-# Generic
20
-#env.Replace(
21
-#	UPLOADER="serial_upload.bat"
22
-#	UPLOADCMD="$UPLOADER stm32loader.py $SOURCE"
23
-#)
24
-
25 20
 # In-line command with arguments
26 21
 UPLOAD_TOOL="stm32flash"
27 22
 platform = env.PioPlatform()
@@ -32,12 +27,3 @@ env.Replace(
32 27
 	UPLOADER=UPLOAD_TOOL,
33 28
 	UPLOADCMD=expandvars(UPLOAD_TOOL + " -v -i rts,-dtr,dtr -R -b 115200 -g 0x8000000 -w \"" + join("$BUILD_DIR","${PROGNAME}.hex")+"\"" + " $UPLOAD_PORT")
34 29
 )
35
-
36
-# Python callback
37
-#def on_upload(source, target, env):
38
-#    print source, target
39
-#    firmware_path = str(source[0])
40
-#    # do something
41
-#    env.Execute(".\serial_upload.bat")
42
-
43
-#env.Replace(UPLOADCMD=on_upload)

読み込み中…
キャンセル
保存