Allow pins override of *_TIMER_NUM and HAL_*_TIMER_ISR (#18128)

Co-authored-by: Scott Lahteine <github@thinkyhead.com>
This commit is contained in:
ellensp
2020-06-02 11:33:30 +12:00
committed by GitHub
parent 2bf63e29c6
commit 33d1e77e2e
43 changed files with 461 additions and 338 deletions

View File

@ -31,7 +31,6 @@
#include "../shared/HAL_SPI.h"
#include "fastio.h"
#include "timers.h"
#include "watchdog.h"
#include <stdint.h>

View File

@ -21,8 +21,7 @@
*/
#if defined(STM32GENERIC) && defined(STM32F4)
#include "../HAL.h"
#include "timers.h"
#include "../../../inc/MarlinConfig.h"
// ------------------------
// Local defines

View File

@ -34,9 +34,15 @@
#define HAL_TIMER_RATE (HAL_RCC_GetSysClockFreq() / 2) // frequency of timer peripherals
#define STEP_TIMER_NUM 0 // index of timer to use for stepper
#define TEMP_TIMER_NUM 1 // index of timer to use for temperature
#define PULSE_TIMER_NUM STEP_TIMER_NUM
#ifndef STEP_TIMER_NUM
#define STEP_TIMER_NUM 0 // Timer Index for Stepper
#endif
#ifndef PULSE_TIMER_NUM
#define PULSE_TIMER_NUM STEP_TIMER_NUM
#endif
#ifndef TEMP_TIMER_NUM
#define TEMP_TIMER_NUM 1 // Timer Index for Temperature
#endif
#define TEMP_TIMER_PRESCALE 1000 // prescaler for setting Temp timer, 72Khz
#define TEMP_TIMER_FREQUENCY 1000 // temperature interrupt frequency
@ -59,17 +65,19 @@
// TODO change this
#ifdef STM32GENERIC
extern void TC5_Handler();
extern void TC7_Handler();
#define HAL_STEP_TIMER_ISR() void TC5_Handler()
#define HAL_TEMP_TIMER_ISR() void TC7_Handler()
#define TC_TIMER_ARGS
#else
extern void TC5_Handler(stimer_t *htim);
extern void TC7_Handler(stimer_t *htim);
#define HAL_STEP_TIMER_ISR() void TC5_Handler(stimer_t *htim)
#define HAL_TEMP_TIMER_ISR() void TC7_Handler(stimer_t *htim)
#define TC_TIMER_ARGS stimer_t *htim
#endif
extern void TC5_Handler(TC_TIMER_ARGS);
extern void TC7_Handler(TC_TIMER_ARGS);
#ifndef HAL_STEP_TIMER_ISR
#define HAL_STEP_TIMER_ISR() void TC5_Handler(TC_TIMER_ARGS)
#endif
#ifndef HAL_TEMP_TIMER_ISR
#define HAL_TEMP_TIMER_ISR() void TC7_Handler(TC_TIMER_ARGS)
#endif
// ------------------------
// Types

View File

@ -21,8 +21,7 @@
*/
#if defined(STM32GENERIC) && defined(STM32F7)
#include "../HAL.h"
#include "timers.h"
#include "../../../inc/MarlinConfig.h"
// ------------------------
// Local defines

View File

@ -34,9 +34,15 @@
#define HAL_TIMER_RATE (HAL_RCC_GetSysClockFreq() / 2) // frequency of timer peripherals
#define STEP_TIMER_NUM 0 // index of timer to use for stepper
#define TEMP_TIMER_NUM 1 // index of timer to use for temperature
#define PULSE_TIMER_NUM STEP_TIMER_NUM
#ifndef STEP_TIMER_NUM
#define STEP_TIMER_NUM 0 // Timer Index for Stepper
#endif
#ifndef PULSE_TIMER_NUM
#define PULSE_TIMER_NUM STEP_TIMER_NUM
#endif
#ifndef TEMP_TIMER_NUM
#define TEMP_TIMER_NUM 1 // Timer Index for Temperature
#endif
#define TEMP_TIMER_FREQUENCY 1000 // temperature interrupt frequency
#define TEMP_TIMER_PRESCALE 1000 // prescaler for setting Temp timer, 72Khz
@ -62,8 +68,12 @@
extern void TC5_Handler();
extern void TC7_Handler();
#define HAL_STEP_TIMER_ISR() void TC5_Handler()
#define HAL_TEMP_TIMER_ISR() void TC7_Handler()
#ifndef HAL_STEP_TIMER_ISR
#define HAL_STEP_TIMER_ISR() void TC5_Handler()
#endif
#ifndef HAL_TEMP_TIMER_ISR
#define HAL_TEMP_TIMER_ISR() void TC7_Handler()
#endif
// ------------------------
// Types