|
@@ -33,41 +33,33 @@
|
33
|
33
|
|
34
|
34
|
#define FORCE_INLINE __attribute__((always_inline)) inline
|
35
|
35
|
|
36
|
|
-#define hal_timer_t uint32_t // TODO: One is 16-bit, one 32-bit - does this need to be checked?
|
|
36
|
+#define hal_timer_t uint32_t
|
37
|
37
|
#define HAL_TIMER_TYPE_MAX 0xFFFF
|
38
|
38
|
|
39
|
39
|
#ifdef STM32F0xx
|
40
|
40
|
|
41
|
|
- #define HAL_TIMER_RATE (HAL_RCC_GetSysClockFreq()) // frequency of timer peripherals
|
42
|
|
- #define TEMP_TIMER_PRESCALE 666 // prescaler for setting temperature timer, 72Khz
|
43
|
|
- #define STEPPER_TIMER_PRESCALE 24 // prescaler for setting stepper timer, 2Mhz
|
|
41
|
+ #define HAL_TIMER_RATE (HAL_RCC_GetSysClockFreq()) // frequency of timer peripherals
|
44
|
42
|
|
45
|
43
|
#define STEP_TIMER 16
|
46
|
44
|
#define TEMP_TIMER 17
|
47
|
45
|
|
48
|
46
|
#elif defined STM32F1xx
|
49
|
47
|
|
50
|
|
- #define HAL_TIMER_RATE (HAL_RCC_GetPCLK2Freq()) // frequency of timer peripherals
|
51
|
|
- #define TEMP_TIMER_PRESCALE 1000 // prescaler for setting temperature timer, 72Khz
|
52
|
|
- #define STEPPER_TIMER_PRESCALE 36 // prescaler for setting stepper timer, 2Mhz.
|
|
48
|
+ #define HAL_TIMER_RATE (HAL_RCC_GetPCLK2Freq()) // frequency of timer peripherals
|
53
|
49
|
|
54
|
50
|
#define STEP_TIMER 4
|
55
|
51
|
#define TEMP_TIMER 2
|
56
|
52
|
|
57
|
53
|
#elif defined STM32F4xx
|
58
|
54
|
|
59
|
|
- #define HAL_TIMER_RATE (HAL_RCC_GetPCLK2Freq()) // frequency of timer peripherals
|
60
|
|
- #define TEMP_TIMER_PRESCALE 2333 // prescaler for setting temperature timer, 72Khz
|
61
|
|
- #define STEPPER_TIMER_PRESCALE 84 // prescaler for setting stepper timer, 2Mhz
|
|
55
|
+ #define HAL_TIMER_RATE (HAL_RCC_GetPCLK2Freq()) // frequency of timer peripherals
|
62
|
56
|
|
63
|
57
|
#define STEP_TIMER 4
|
64
|
58
|
#define TEMP_TIMER 5
|
65
|
59
|
|
66
|
60
|
#elif defined STM32F7xx
|
67
|
61
|
|
68
|
|
- #define HAL_TIMER_RATE (HAL_RCC_GetSysClockFreq()/2) // frequency of timer peripherals
|
69
|
|
- #define TEMP_TIMER_PRESCALE 1500 // prescaler for setting temperature timer, 72Khz
|
70
|
|
- #define STEPPER_TIMER_PRESCALE 54 // prescaler for setting stepper timer, 2Mhz.
|
|
62
|
+ #define HAL_TIMER_RATE (HAL_RCC_GetSysClockFreq()/2) // frequency of timer peripherals
|
71
|
63
|
|
72
|
64
|
#define STEP_TIMER 5
|
73
|
65
|
#define TEMP_TIMER 7
|
|
@@ -82,13 +74,16 @@
|
82
|
74
|
#define TEMP_TIMER_NUM 1 // index of timer to use for temperature
|
83
|
75
|
#define PULSE_TIMER_NUM STEP_TIMER_NUM
|
84
|
76
|
|
85
|
|
-#define STEPPER_TIMER_RATE (HAL_TIMER_RATE / STEPPER_TIMER_PRESCALE) // frequency of stepper timer
|
86
|
|
-#define STEPPER_TIMER_TICKS_PER_US ((STEPPER_TIMER_RATE) / 1000000) // stepper timer ticks per µs
|
|
77
|
+#define TEMP_TIMER_RATE 72000 // 72 Khz
|
|
78
|
+#define TEMP_TIMER_PRESCALE ((HAL_TIMER_RATE)/(TEMP_TIMER_RATE))
|
|
79
|
+#define TEMP_TIMER_FREQUENCY 1000
|
87
|
80
|
|
88
|
|
-#define TEMP_TIMER_FREQUENCY 1000 // temperature interrupt frequency
|
|
81
|
+#define STEPPER_TIMER_RATE 2000000 // 2 Mhz
|
|
82
|
+#define STEPPER_TIMER_PRESCALE ((HAL_TIMER_RATE)/(STEPPER_TIMER_RATE))
|
|
83
|
+#define STEPPER_TIMER_TICKS_PER_US ((STEPPER_TIMER_RATE) / 1000000) // stepper timer ticks per µs
|
89
|
84
|
|
90
|
|
-#define PULSE_TIMER_RATE STEPPER_TIMER_RATE // frequency of pulse timer
|
91
|
|
-#define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE
|
|
85
|
+#define PULSE_TIMER_RATE STEPPER_TIMER_RATE
|
|
86
|
+#define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE
|
92
|
87
|
#define PULSE_TIMER_TICKS_PER_US STEPPER_TIMER_TICKS_PER_US
|
93
|
88
|
|
94
|
89
|
#define __TIMER_DEV(X) TIM##X
|