瀏覽代碼

STM32 non-generic PWM_PIN and USEABLE_HARDWARE_PWM (#12016)

Scott Lahteine 6 年之前
父節點
當前提交
33056046a3
沒有連結到貢獻者的電子郵件帳戶。

+ 1
- 1
Marlin/src/HAL/HAL_DUE/fastio_Due.h 查看文件

47
 
47
 
48
 // Due has 12 PWMs assigned to logical pins 2-13.
48
 // Due has 12 PWMs assigned to logical pins 2-13.
49
 // 6, 7, 8 & 9 come from the PWM controller. The others come from the timers.
49
 // 6, 7, 8 & 9 come from the PWM controller. The others come from the timers.
50
-#define USEABLE_HARDWARE_PWM(p) ((2 <= p) && (p <= 13))
50
+#define USEABLE_HARDWARE_PWM(p) WITHIN(p, 2, 13)
51
 
51
 
52
 #ifndef MASK
52
 #ifndef MASK
53
   #define MASK(PIN) (1 << PIN)
53
   #define MASK(PIN) (1 << PIN)

+ 3
- 2
Marlin/src/HAL/HAL_STM32/fastio_STM32.h 查看文件

29
 
29
 
30
 #define _BV(b) (1 << (b))
30
 #define _BV(b) (1 << (b))
31
 
31
 
32
-#define USEABLE_HARDWARE_PWM(p) true
33
-
34
 #define READ(IO)                digitalRead(IO)
32
 #define READ(IO)                digitalRead(IO)
35
 #define WRITE(IO,V)             digitalWrite(IO,V)
33
 #define WRITE(IO,V)             digitalWrite(IO,V)
36
 #define WRITE_VAR(IO,V)         WRITE(IO,V)
34
 #define WRITE_VAR(IO,V)         WRITE(IO,V)
51
 #define GET_INPUT(IO)
49
 #define GET_INPUT(IO)
52
 #define GET_OUTPUT(IO)
50
 #define GET_OUTPUT(IO)
53
 #define GET_TIMER(IO)
51
 #define GET_TIMER(IO)
52
+
53
+#define PWM_PIN(p) true
54
+#define USEABLE_HARDWARE_PWM(p) PWM_PIN(p)

+ 2
- 4
Marlin/src/HAL/HAL_STM32F1/fastio_Stm32f1.h 查看文件

50
 #define GET_OUTPUT(IO)        (_GET_MODE(IO) == GPIO_OUTPUT_PP)
50
 #define GET_OUTPUT(IO)        (_GET_MODE(IO) == GPIO_OUTPUT_PP)
51
 #define GET_TIMER(IO)         (PIN_MAP[IO].timer_device != NULL)
51
 #define GET_TIMER(IO)         (PIN_MAP[IO].timer_device != NULL)
52
 
52
 
53
-/**
54
- * TODO: Write a macro to test if PIN is PWM or not.
55
- */
56
-#define PWM_PIN(p)            true
53
+#define PWM_PIN(p) digitalPinHasPWM(p)
54
+#define USEABLE_HARDWARE_PWM(p) PWM_PIN(p)
57
 
55
 
58
 #endif // _FASTIO_STM32F1_H
56
 #endif // _FASTIO_STM32F1_H

+ 6
- 2
Marlin/src/HAL/HAL_STM32F4/fastio_STM32F4.h 查看文件

32
 #undef _BV
32
 #undef _BV
33
 #define _BV(b) (1 << (b))
33
 #define _BV(b) (1 << (b))
34
 
34
 
35
-#define USEABLE_HARDWARE_PWM(p) true
36
-
37
 #define READ(IO)                digitalRead(IO)
35
 #define READ(IO)                digitalRead(IO)
38
 #define WRITE(IO,V)             digitalWrite(IO,V)
36
 #define WRITE(IO,V)             digitalWrite(IO,V)
39
 #define WRITE_VAR(IO,V)         WRITE(IO,V)
37
 #define WRITE_VAR(IO,V)         WRITE(IO,V)
55
 #define GET_OUTPUT(IO)
53
 #define GET_OUTPUT(IO)
56
 #define GET_TIMER(IO)
54
 #define GET_TIMER(IO)
57
 
55
 
56
+#define PWM_PIN(p) digitalPinHasPWM(p)
57
+#define USEABLE_HARDWARE_PWM(p) PWM_PIN(p)
58
+
59
+//
60
+// Pins Definitions
61
+//
58
 #define PORTA 0
62
 #define PORTA 0
59
 #define PORTB 1
63
 #define PORTB 1
60
 #define PORTC 2
64
 #define PORTC 2

+ 6
- 0
Marlin/src/HAL/HAL_STM32F7/fastio_STM32F7.h 查看文件

52
 #define GET_OUTPUT(IO)
52
 #define GET_OUTPUT(IO)
53
 #define GET_TIMER(IO)
53
 #define GET_TIMER(IO)
54
 
54
 
55
+#define PWM_PIN(p) digitalPinHasPWM(p)
56
+#define USEABLE_HARDWARE_PWM(p) PWM_PIN(p)
57
+
58
+//
59
+// Pins Definitions
60
+//
55
 #define PORTA 0
61
 #define PORTA 0
56
 #define PORTB 1
62
 #define PORTB 1
57
 #define PORTC 2
63
 #define PORTC 2

+ 4
- 1
buildroot/share/tests/STM32F1_tests 查看文件

8
 opt_enable EEPROM_SETTINGS EEPROM_CHITCHAT REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT
8
 opt_enable EEPROM_SETTINGS EEPROM_CHITCHAT REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT
9
 exec_test $1 $2 "STM32F1R EEPROM_SETTINGS EEPROM_CHITCHAT REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT"
9
 exec_test $1 $2 "STM32F1R EEPROM_SETTINGS EEPROM_CHITCHAT REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT"
10
 
10
 
11
-#cleanup
11
+opt_enable SPINDLE_LASER_ENABLE
12
+exec_test $1 $2 "STM32F1R SPINDLE_LASER_ENABLE"
13
+
14
+# cleanup
12
 restore_configs
15
 restore_configs

Loading…
取消
儲存