PER Firmware
Loading...
Searching...
No Matches
pwm_priv.h
Go to the documentation of this file.
1
7#pragma once
8
9#include <stdbool.h>
10#include <stdint.h>
11
12#include "stm32g4xx.h"
13
20
22bool PHAL_PWM_priv_getTimerInfo(const TIM_TypeDef *tim, PWM_PRIV_TimerInfo_t *info);
23
25bool PHAL_PWM_priv_enableTimerClock(const TIM_TypeDef *tim);
26
28bool PHAL_PWM_priv_initTimer(TIM_TypeDef *tim, uint16_t prescaler, uint16_t auto_reload, uint8_t channels_en, bool requires_main_out_en);
29
31bool PHAL_PWM_priv_setCompare(TIM_TypeDef *tim, uint8_t channel, uint32_t compare_value);
32
34uint32_t PHAL_PWM_priv_getAutoReload(const TIM_TypeDef *tim);
bool PHAL_PWM_priv_initTimer(TIM_TypeDef *tim, uint16_t prescaler, uint16_t auto_reload, uint8_t channels_en, bool requires_main_out_en)
Configure timer registers for PWM operation.
Definition pwm_priv.c:179
bool PHAL_PWM_priv_setCompare(TIM_TypeDef *tim, uint8_t channel, uint32_t compare_value)
Set the capture/compare value for a PWM channel.
Definition pwm_priv.c:233
uint32_t PHAL_PWM_priv_getAutoReload(const TIM_TypeDef *tim)
Get the timer auto-reload register value.
Definition pwm_priv.c:260
bool PHAL_PWM_priv_enableTimerClock(const TIM_TypeDef *tim)
Enable the peripheral clock for a timer.
Definition pwm_priv.c:126
bool PHAL_PWM_priv_getTimerInfo(const TIM_TypeDef *tim, PWM_PRIV_TimerInfo_t *info)
Get timer specific information.
Definition pwm_priv.c:65
Timer-specific information required to configure PWM.
Definition pwm_priv.h:15
uint32_t timer_clock_hz
Definition pwm_priv.h:16
uint8_t max_channel
Timer input clock frequency in Hz.
Definition pwm_priv.h:17
bool requires_main_out_en
Highest PWM channel supported by timer.
Definition pwm_priv.h:18