Apply fixes for DUE

Alternative to #7882. If F_CPU is greater than 1000 it can be evenly divided by 8. Over 10000, 16; over 100000, 32; over 1 million, 64; etc.
This commit is contained in:
Scott Lahteine
2017-10-07 13:34:25 -05:00
parent 4b36a542e0
commit 8315a8a716
8 changed files with 20 additions and 21 deletions

View File

@ -93,14 +93,14 @@ Timer_clock4: Prescaler 128 -> 656.25kHz
* TODO: Calculate Timer prescale value, so we get the 32bit to adjust
*/
void HAL_timer_start (uint8_t timer_num, uint32_t frequency) {
void HAL_timer_start(uint8_t timer_num, uint32_t frequency) {
switch (timer_num) {
case STEP_TIMER_NUM:
StepperTimer.pause();
StepperTimer.setCount(0);
StepperTimer.setPrescaleFactor(STEPPER_TIMER_PRESCALE);
StepperTimer.setOverflow(0xFFFF);
StepperTimer.setCompare (STEP_TIMER_CHAN, (HAL_STEPPER_TIMER_RATE / frequency));
StepperTimer.setCompare(STEP_TIMER_CHAN, uint32_t(HAL_STEPPER_TIMER_RATE) / frequency);
StepperTimer.refresh();
StepperTimer.resume();
break;
@ -109,14 +109,14 @@ void HAL_timer_start (uint8_t timer_num, uint32_t frequency) {
TempTimer.setCount(0);
TempTimer.setPrescaleFactor(TEMP_TIMER_PRESCALE);
TempTimer.setOverflow(0xFFFF);
TempTimer.setCompare (TEMP_TIMER_CHAN, ((F_CPU / TEMP_TIMER_PRESCALE) / frequency));
TempTimer.setCompare(TEMP_TIMER_CHAN, (F_CPU) / (TEMP_TIMER_PRESCALE) / frequency);
TempTimer.refresh();
TempTimer.resume();
break;
}
}
void HAL_timer_enable_interrupt (uint8_t timer_num) {
void HAL_timer_enable_interrupt(uint8_t timer_num) {
switch (timer_num) {
case STEP_TIMER_NUM:
StepperTimer.attachInterrupt(STEP_TIMER_CHAN, stepTC_Handler);
@ -129,7 +129,7 @@ void HAL_timer_enable_interrupt (uint8_t timer_num) {
}
}
void HAL_timer_disable_interrupt (uint8_t timer_num) {
void HAL_timer_disable_interrupt(uint8_t timer_num) {
switch (timer_num) {
case STEP_TIMER_NUM:
StepperTimer.detachInterrupt(STEP_TIMER_CHAN);