mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-15 20:35:33 +03:00
22 lines
852 B
C
22 lines
852 B
C
#pragma once
|
|
|
|
typedef void timerCCCallbackPtr(uint8_t port, uint16_t capture);
|
|
|
|
typedef struct {
|
|
TIM_TypeDef *tim;
|
|
GPIO_TypeDef *gpio;
|
|
uint32_t pin;
|
|
uint8_t channel;
|
|
uint8_t irq;
|
|
uint8_t outputEnable;
|
|
} timerHardware_t;
|
|
|
|
extern const timerHardware_t timerHardware[];
|
|
|
|
void configTimeBase(TIM_TypeDef *tim, uint16_t period, uint8_t mhz);
|
|
void timerInConfig(const timerHardware_t *timerHardwarePtr, uint16_t period, uint8_t mhz);
|
|
void timerNVICConfig(uint8_t irq);
|
|
|
|
void configureTimerInputCaptureCompareChannel(TIM_TypeDef *tim, const uint8_t channel);
|
|
void configureTimerCaptureCompareInterrupt(const timerHardware_t *timerHardwarePtr, uint8_t reference, timerCCCallbackPtr *callback);
|
|
void configureTimerChannelCallback(TIM_TypeDef *tim, uint8_t channel, uint8_t reference, timerCCCallbackPtr *callback);
|