29 lines
587 B
C
29 lines
587 B
C
/*
|
|
* pwm.h
|
|
*
|
|
* Created on: Jul 25, 2023
|
|
* Author: Keith.Lloyd
|
|
*/
|
|
|
|
#ifndef PWM_H_
|
|
#define PWM_H_
|
|
#define PWM_EXT1_FREQ_HZ 15618664
|
|
#define PWM_EXT2_FREQ_HZ 58983040
|
|
#define PWM_MAX_BROADCAST_ERR_HZ 5.0
|
|
|
|
typedef enum {
|
|
CS_INTERNAL = 0,
|
|
CS_EXT1,
|
|
CS_EXT2,
|
|
CS_NUM
|
|
} CLOCK_SELECT_t;
|
|
|
|
|
|
void PWM_UpdateDutyCycle(uint32_t dutyCycle);
|
|
void PWM_Setup(uint32_t newFreq, uint32_t dutyCycle);
|
|
CLOCK_SELECT_t PWM_GetBroadcastFrequencyOK(uint32_t newFreq);
|
|
void PWM_SetExternalClockSource(CLOCK_SELECT_t clock);
|
|
|
|
|
|
#endif /* PWM_H_ */
|