Browse Source

HAL_*_TIMER_RATE => *_TIMER_RATE

Scott Lahteine 7 years ago
parent
commit
4dbec774b5

+ 2
- 2
Marlin/src/HAL/HAL_AVR/HAL.h View File

126
 #define TEMP_TIMER_NUM          0
126
 #define TEMP_TIMER_NUM          0
127
 #define PULSE_TIMER_NUM         STEP_TIMER_NUM
127
 #define PULSE_TIMER_NUM         STEP_TIMER_NUM
128
 
128
 
129
-#define HAL_STEPPER_TIMER_RATE  HAL_TIMER_RATE
130
-#define HAL_TICKS_PER_US        ((HAL_STEPPER_TIMER_RATE) / 1000000) // Cannot be of type double
129
+#define STEPPER_TIMER_RATE      HAL_TIMER_RATE
130
+#define HAL_TICKS_PER_US        ((STEPPER_TIMER_RATE) / 1000000) // Cannot be of type double
131
 #define STEPPER_TIMER_PRESCALE  8
131
 #define STEPPER_TIMER_PRESCALE  8
132
 #define STEP_TIMER_MIN_INTERVAL 8 // minimum time in µs between stepper interrupts
132
 #define STEP_TIMER_MIN_INTERVAL 8 // minimum time in µs between stepper interrupts
133
 
133
 

+ 2
- 2
Marlin/src/HAL/HAL_DUE/HAL_timers_Due.h View File

49
 
49
 
50
 #define HAL_TIMER_RATE         ((F_CPU) / 2)    // frequency of timers peripherals
50
 #define HAL_TIMER_RATE         ((F_CPU) / 2)    // frequency of timers peripherals
51
 
51
 
52
-#define HAL_STEPPER_TIMER_RATE HAL_TIMER_RATE   // frequency of stepper timer (HAL_TIMER_RATE / STEPPER_TIMER_PRESCALE)
53
-#define HAL_TICKS_PER_US       ((HAL_STEPPER_TIMER_RATE) / 1000000) // stepper timer ticks per µs
52
+#define STEPPER_TIMER_RATE     HAL_TIMER_RATE   // frequency of stepper timer (HAL_TIMER_RATE / STEPPER_TIMER_PRESCALE)
53
+#define HAL_TICKS_PER_US       ((STEPPER_TIMER_RATE) / 1000000) // stepper timer ticks per µs
54
 #define STEPPER_TIMER_PRESCALE (CYCLES_PER_MICROSECOND / HAL_TICKS_PER_US)
54
 #define STEPPER_TIMER_PRESCALE (CYCLES_PER_MICROSECOND / HAL_TICKS_PER_US)
55
 #define STEP_TIMER_MIN_INTERVAL   8 // minimum time in µs between stepper interrupts
55
 #define STEP_TIMER_MIN_INTERVAL   8 // minimum time in µs between stepper interrupts
56
 
56
 

+ 3
- 3
Marlin/src/HAL/HAL_LPC1768/HAL_timers.cpp View File

33
 
33
 
34
 void HAL_timer_init(void) {
34
 void HAL_timer_init(void) {
35
   SBI(LPC_SC->PCONP, SBIT_TIMER0);  // Power ON Timer 0
35
   SBI(LPC_SC->PCONP, SBIT_TIMER0);  // Power ON Timer 0
36
-  LPC_TIM0->PR = (HAL_TIMER_RATE) / (HAL_STEPPER_TIMER_RATE) - 1; // Use prescaler to set frequency if needed
36
+  LPC_TIM0->PR = (HAL_TIMER_RATE) / (STEPPER_TIMER_RATE) - 1; // Use prescaler to set frequency if needed
37
 
37
 
38
   SBI(LPC_SC->PCONP, SBIT_TIMER1);  // Power ON Timer 1
38
   SBI(LPC_SC->PCONP, SBIT_TIMER1);  // Power ON Timer 1
39
   LPC_TIM1->PR = (HAL_TIMER_RATE) / 1000000 - 1;
39
   LPC_TIM1->PR = (HAL_TIMER_RATE) / 1000000 - 1;
43
   switch (timer_num) {
43
   switch (timer_num) {
44
     case 0:
44
     case 0:
45
       LPC_TIM0->MCR = _BV(SBIT_MR0I) | _BV(SBIT_MR0R); // Match on MR0, reset on MR0, interrupts when NVIC enables them
45
       LPC_TIM0->MCR = _BV(SBIT_MR0I) | _BV(SBIT_MR0R); // Match on MR0, reset on MR0, interrupts when NVIC enables them
46
-      LPC_TIM0->MR0 = uint32_t(HAL_STEPPER_TIMER_RATE) / frequency; // Match value (period) to set frequency
46
+      LPC_TIM0->MR0 = uint32_t(STEPPER_TIMER_RATE) / frequency; // Match value (period) to set frequency
47
       LPC_TIM0->TCR = _BV(SBIT_CNTEN); // Counter Enable
47
       LPC_TIM0->TCR = _BV(SBIT_CNTEN); // Counter Enable
48
 
48
 
49
       NVIC_SetPriority(TIMER0_IRQn, NVIC_EncodePriority(0, 1, 0));
49
       NVIC_SetPriority(TIMER0_IRQn, NVIC_EncodePriority(0, 1, 0));
52
 
52
 
53
     case 1:
53
     case 1:
54
       LPC_TIM1->MCR = _BV(SBIT_MR0I) | _BV(SBIT_MR0R); // Match on MR0, reset on MR0, interrupts when NVIC enables them
54
       LPC_TIM1->MCR = _BV(SBIT_MR0I) | _BV(SBIT_MR0R); // Match on MR0, reset on MR0, interrupts when NVIC enables them
55
-      LPC_TIM1->MR0 = uint32_t(HAL_TEMP_TIMER_RATE) / frequency;
55
+      LPC_TIM1->MR0 = uint32_t(TEMP_TIMER_RATE) / frequency;
56
       LPC_TIM1->TCR = _BV(SBIT_CNTEN); // Counter Enable
56
       LPC_TIM1->TCR = _BV(SBIT_CNTEN); // Counter Enable
57
 
57
 
58
       NVIC_SetPriority(TIMER1_IRQn, NVIC_EncodePriority(0, 2, 0));
58
       NVIC_SetPriority(TIMER1_IRQn, NVIC_EncodePriority(0, 2, 0));

+ 3
- 3
Marlin/src/HAL/HAL_LPC1768/HAL_timers.h View File

72
 #define PWM_TIMER_NUM 3   // Timer Index for PWM
72
 #define PWM_TIMER_NUM 3   // Timer Index for PWM
73
 
73
 
74
 #define HAL_TIMER_RATE         ((SystemCoreClock) / 4)  // frequency of timers peripherals
74
 #define HAL_TIMER_RATE         ((SystemCoreClock) / 4)  // frequency of timers peripherals
75
-#define HAL_STEPPER_TIMER_RATE HAL_TIMER_RATE   // frequency of stepper timer (HAL_TIMER_RATE / STEPPER_TIMER_PRESCALE)
76
-#define HAL_TICKS_PER_US       ((HAL_STEPPER_TIMER_RATE) / 1000000) // stepper timer ticks per µs
75
+#define STEPPER_TIMER_RATE     HAL_TIMER_RATE   // frequency of stepper timer (HAL_TIMER_RATE / STEPPER_TIMER_PRESCALE)
76
+#define HAL_TICKS_PER_US       ((STEPPER_TIMER_RATE) / 1000000) // stepper timer ticks per µs
77
 #define STEPPER_TIMER_PRESCALE (CYCLES_PER_MICROSECOND / HAL_TICKS_PER_US)
77
 #define STEPPER_TIMER_PRESCALE (CYCLES_PER_MICROSECOND / HAL_TICKS_PER_US)
78
 
78
 
79
 #define STEP_TIMER_MIN_INTERVAL   8 // minimum time in µs between stepper interrupts
79
 #define STEP_TIMER_MIN_INTERVAL   8 // minimum time in µs between stepper interrupts
80
 
80
 
81
-#define HAL_TEMP_TIMER_RATE    1000000
81
+#define TEMP_TIMER_RATE        1000000
82
 #define TEMP_TIMER_FREQUENCY   1000 // temperature interrupt frequency
82
 #define TEMP_TIMER_FREQUENCY   1000 // temperature interrupt frequency
83
 
83
 
84
 #define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE
84
 #define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE

+ 1
- 1
Marlin/src/HAL/HAL_STM32F1/HAL_timers_Stm32f1.cpp View File

121
       timer_set_count(STEP_TIMER_DEV, 0);
121
       timer_set_count(STEP_TIMER_DEV, 0);
122
       timer_set_prescaler(STEP_TIMER_DEV, (uint16)(STEPPER_TIMER_PRESCALE - 1));
122
       timer_set_prescaler(STEP_TIMER_DEV, (uint16)(STEPPER_TIMER_PRESCALE - 1));
123
       timer_set_reload(STEP_TIMER_DEV, 0xFFFF);
123
       timer_set_reload(STEP_TIMER_DEV, 0xFFFF);
124
-      timer_set_compare(STEP_TIMER_DEV, STEP_TIMER_CHAN, MIN(HAL_TIMER_TYPE_MAX, (HAL_STEPPER_TIMER_RATE / frequency)));
124
+      timer_set_compare(STEP_TIMER_DEV, STEP_TIMER_CHAN, MIN(HAL_TIMER_TYPE_MAX, (STEPPER_TIMER_RATE / frequency)));
125
       timer_attach_interrupt(STEP_TIMER_DEV, STEP_TIMER_CHAN, stepTC_Handler);
125
       timer_attach_interrupt(STEP_TIMER_DEV, STEP_TIMER_CHAN, stepTC_Handler);
126
       nvic_irq_set_priority(irq_num, 1);
126
       nvic_irq_set_priority(irq_num, 1);
127
       timer_generate_update(STEP_TIMER_DEV);
127
       timer_generate_update(STEP_TIMER_DEV);

+ 2
- 2
Marlin/src/HAL/HAL_STM32F1/HAL_timers_Stm32f1.h View File

69
 
69
 
70
 #define HAL_TIMER_RATE         (F_CPU)  // frequency of timers peripherals
70
 #define HAL_TIMER_RATE         (F_CPU)  // frequency of timers peripherals
71
 #define STEPPER_TIMER_PRESCALE 18             // prescaler for setting stepper timer, 4Mhz
71
 #define STEPPER_TIMER_PRESCALE 18             // prescaler for setting stepper timer, 4Mhz
72
-#define HAL_STEPPER_TIMER_RATE (HAL_TIMER_RATE / STEPPER_TIMER_PRESCALE)   // frequency of stepper timer
73
-#define HAL_TICKS_PER_US       ((HAL_STEPPER_TIMER_RATE) / 1000000) // stepper timer ticks per µs
72
+#define STEPPER_TIMER_RATE     (HAL_TIMER_RATE / STEPPER_TIMER_PRESCALE)   // frequency of stepper timer
73
+#define HAL_TICKS_PER_US       ((STEPPER_TIMER_RATE) / 1000000) // stepper timer ticks per µs
74
 
74
 
75
 #define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE
75
 #define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE
76
 
76
 

+ 2
- 2
Marlin/src/HAL/HAL_STM32F4/HAL_timers_STM32F4.h View File

43
 
43
 
44
 #define HAL_TIMER_RATE         (HAL_RCC_GetSysClockFreq() / 2)  // frequency of timer peripherals
44
 #define HAL_TIMER_RATE         (HAL_RCC_GetSysClockFreq() / 2)  // frequency of timer peripherals
45
 #define STEPPER_TIMER_PRESCALE 54            // was 40,prescaler for setting stepper timer, 2Mhz
45
 #define STEPPER_TIMER_PRESCALE 54            // was 40,prescaler for setting stepper timer, 2Mhz
46
-#define HAL_STEPPER_TIMER_RATE (HAL_TIMER_RATE / STEPPER_TIMER_PRESCALE)   // frequency of stepper timer
47
-#define HAL_TICKS_PER_US       ((HAL_STEPPER_TIMER_RATE) / 1000000) // stepper timer ticks per µs
46
+#define STEPPER_TIMER_RATE     (HAL_TIMER_RATE / STEPPER_TIMER_PRESCALE)   // frequency of stepper timer
47
+#define HAL_TICKS_PER_US       ((STEPPER_TIMER_RATE) / 1000000) // stepper timer ticks per µs
48
 
48
 
49
 #define PULSE_TIMER_NUM STEP_TIMER_NUM
49
 #define PULSE_TIMER_NUM STEP_TIMER_NUM
50
 #define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE
50
 #define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE

+ 2
- 2
Marlin/src/HAL/HAL_STM32F7/HAL_timers_STM32F7.h View File

43
 
43
 
44
 #define HAL_TIMER_RATE         (HAL_RCC_GetSysClockFreq() / 2)  // frequency of timer peripherals
44
 #define HAL_TIMER_RATE         (HAL_RCC_GetSysClockFreq() / 2)  // frequency of timer peripherals
45
 #define STEPPER_TIMER_PRESCALE 54            // was 40,prescaler for setting stepper timer, 2Mhz
45
 #define STEPPER_TIMER_PRESCALE 54            // was 40,prescaler for setting stepper timer, 2Mhz
46
-#define HAL_STEPPER_TIMER_RATE (HAL_TIMER_RATE / STEPPER_TIMER_PRESCALE)   // frequency of stepper timer
47
-#define HAL_TICKS_PER_US       ((HAL_STEPPER_TIMER_RATE) / 1000000) // stepper timer ticks per µs
46
+#define STEPPER_TIMER_RATE     (HAL_TIMER_RATE / STEPPER_TIMER_PRESCALE)   // frequency of stepper timer
47
+#define HAL_TICKS_PER_US       ((STEPPER_TIMER_RATE) / 1000000) // stepper timer ticks per µs
48
 
48
 
49
 #define PULSE_TIMER_NUM STEP_TIMER_NUM
49
 #define PULSE_TIMER_NUM STEP_TIMER_NUM
50
 #define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE
50
 #define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE

+ 2
- 2
Marlin/src/HAL/HAL_TEENSY35_36/HAL_timers_Teensy.h View File

56
 #define FTM1_TIMER_RATE (F_BUS / FTM1_TIMER_PRESCALE) // 60MHz / 4 = 15MHz
56
 #define FTM1_TIMER_RATE (F_BUS / FTM1_TIMER_PRESCALE) // 60MHz / 4 = 15MHz
57
 
57
 
58
 #define HAL_TIMER_RATE         (FTM0_TIMER_RATE)
58
 #define HAL_TIMER_RATE         (FTM0_TIMER_RATE)
59
-#define HAL_STEPPER_TIMER_RATE HAL_TIMER_RATE
60
-#define HAL_TICKS_PER_US       ((HAL_STEPPER_TIMER_RATE) / 1000000)
59
+#define STEPPER_TIMER_RATE     HAL_TIMER_RATE
60
+#define HAL_TICKS_PER_US       ((STEPPER_TIMER_RATE) / 1000000)
61
 #define STEPPER_TIMER_PRESCALE (CYCLES_PER_MICROSECOND / HAL_TICKS_PER_US)
61
 #define STEPPER_TIMER_PRESCALE (CYCLES_PER_MICROSECOND / HAL_TICKS_PER_US)
62
 #define STEP_TIMER_MIN_INTERVAL   8 // minimum time in µs between stepper interrupts
62
 #define STEP_TIMER_MIN_INTERVAL   8 // minimum time in µs between stepper interrupts
63
 
63
 

+ 4
- 4
Marlin/src/module/planner.cpp View File

745
 
745
 
746
   #if ENABLED(S_CURVE_ACCELERATION)
746
   #if ENABLED(S_CURVE_ACCELERATION)
747
     // Jerk controlled speed requires to express speed versus time, NOT steps
747
     // Jerk controlled speed requires to express speed versus time, NOT steps
748
-    uint32_t acceleration_time = ((float)(cruise_rate - initial_rate) / accel) * (HAL_STEPPER_TIMER_RATE),
749
-             deceleration_time = ((float)(cruise_rate - final_rate) / accel) * (HAL_STEPPER_TIMER_RATE);
748
+    uint32_t acceleration_time = ((float)(cruise_rate - initial_rate) / accel) * (STEPPER_TIMER_RATE),
749
+             deceleration_time = ((float)(cruise_rate - final_rate) / accel) * (STEPPER_TIMER_RATE);
750
 
750
 
751
     // And to offload calculations from the ISR, we also calculate the inverse of those times here
751
     // And to offload calculations from the ISR, we also calculate the inverse of those times here
752
     uint32_t acceleration_time_inverse = get_period_inverse(acceleration_time);
752
     uint32_t acceleration_time_inverse = get_period_inverse(acceleration_time);
2097
   block->acceleration_steps_per_s2 = accel;
2097
   block->acceleration_steps_per_s2 = accel;
2098
   block->acceleration = accel / steps_per_mm;
2098
   block->acceleration = accel / steps_per_mm;
2099
   #if DISABLED(S_CURVE_ACCELERATION)
2099
   #if DISABLED(S_CURVE_ACCELERATION)
2100
-    block->acceleration_rate = (uint32_t)(accel * (4096.0 * 4096.0 / (HAL_STEPPER_TIMER_RATE)));
2100
+    block->acceleration_rate = (uint32_t)(accel * (4096.0 * 4096.0 / (STEPPER_TIMER_RATE)));
2101
   #endif
2101
   #endif
2102
   #if ENABLED(LIN_ADVANCE)
2102
   #if ENABLED(LIN_ADVANCE)
2103
     if (block->use_advance_lead) {
2103
     if (block->use_advance_lead) {
2104
-      block->advance_speed = (HAL_STEPPER_TIMER_RATE) / (extruder_advance_K * block->e_D_ratio * block->acceleration * axis_steps_per_mm[E_AXIS_N]);
2104
+      block->advance_speed = (STEPPER_TIMER_RATE) / (extruder_advance_K * block->e_D_ratio * block->acceleration * axis_steps_per_mm[E_AXIS_N]);
2105
       #if ENABLED(LA_DEBUG)
2105
       #if ENABLED(LA_DEBUG)
2106
         if (extruder_advance_K * block->e_D_ratio * block->acceleration * 2 < SQRT(block->nominal_speed_sqr) * block->e_D_ratio)
2106
         if (extruder_advance_K * block->e_D_ratio * block->acceleration * 2 < SQRT(block->nominal_speed_sqr) * block->e_D_ratio)
2107
           SERIAL_ECHOLNPGM("More than 2 steps per eISR loop executed.");
2107
           SERIAL_ECHOLNPGM("More than 2 steps per eISR loop executed.");

+ 1
- 1
Marlin/src/module/stepper.cpp View File

1443
 uint32_t Stepper::stepper_block_phase_isr() {
1443
 uint32_t Stepper::stepper_block_phase_isr() {
1444
 
1444
 
1445
   // If no queued movements, just wait 1ms for the next move
1445
   // If no queued movements, just wait 1ms for the next move
1446
-  uint32_t interval = (HAL_STEPPER_TIMER_RATE / 1000);
1446
+  uint32_t interval = (STEPPER_TIMER_RATE / 1000);
1447
 
1447
 
1448
   // If there is a current block
1448
   // If there is a current block
1449
   if (current_block) {
1449
   if (current_block) {

+ 1
- 1
Marlin/src/module/stepper.h View File

327
 
327
 
328
       #ifdef CPU_32_BIT
328
       #ifdef CPU_32_BIT
329
         // In case of high-performance processor, it is able to calculate in real-time
329
         // In case of high-performance processor, it is able to calculate in real-time
330
-        timer = uint32_t(HAL_STEPPER_TIMER_RATE) / step_rate;
330
+        timer = uint32_t(STEPPER_TIMER_RATE) / step_rate;
331
       #else
331
       #else
332
         constexpr uint32_t min_step_rate = F_CPU / 500000U;
332
         constexpr uint32_t min_step_rate = F_CPU / 500000U;
333
         NOLESS(step_rate, min_step_rate);
333
         NOLESS(step_rate, min_step_rate);

Loading…
Cancel
Save