Clean up both LedPwm_Init() functions.

This commit is contained in:
László Monda
2017-01-13 23:32:37 +01:00
parent 24a12908ca
commit 1f4672e2f4
2 changed files with 17 additions and 25 deletions

View File

@@ -2,30 +2,26 @@
#include "fsl_port.h"
void LedPwm_Init() {
tpm_config_t tpmInfo;
tpm_chnl_pwm_signal_param_t tpmParam[1];/* = {{
.chnlNumber = LED_PWM_TPM_CHANNEL,
.level = kTPM_LowTrue,
.dutyCyclePercent = 00,
}};*/
CLOCK_EnableClock(LED_PWM_CLOCK);
PORT_SetPinMux(LED_PWM_PORT, LED_PWM_PIN, kPORT_MuxAlt2);
tpm_config_t tpmInfo;
TPM_GetDefaultConfig(&tpmInfo);
TPM_Init(LED_PWM_TPM_BASEADDR, &tpmInfo);
tpm_chnl_pwm_signal_param_t tpmParam[1];
tpmParam[0].chnlNumber = LED_PWM_TPM_CHANNEL;
tpmParam[0].level = kTPM_LowTrue;
tpmParam[0].dutyCyclePercent = 100 - INITIAL_DUTY_CYCLE_PERCENT;
TPM_GetDefaultConfig(&tpmInfo);
TPM_Init(LED_PWM_TPM_BASEADDR, &tpmInfo);
TPM_SetupPwm(LED_PWM_TPM_BASEADDR, tpmParam, sizeof(tpmParam),
kTPM_EdgeAlignedPwm, TPM_PWM_FREQUENCY, TPM_SOURCE_CLOCK);
TPM_StartTimer(LED_PWM_TPM_BASEADDR, kTPM_SystemClock);
// LedPwm_SetBrightness(INITIAL_DUTY_CYCLE_PERCENT);
}
void LedPwm_SetBrightness(uint8_t brightnessPercent)
{
TPM_UpdatePwmDutycycle(LED_PWM_TPM_BASEADDR, LED_PWM_TPM_CHANNEL,
kTPM_EdgeAlignedPwm, 100-brightnessPercent);
kTPM_EdgeAlignedPwm, 100 - brightnessPercent);
}

View File

@@ -2,32 +2,28 @@
#include "fsl_port.h"
void LedPwm_Init() {
ftm_config_t ftmInfo;
ftm_chnl_pwm_signal_param_t ftmParam[] = {{
.chnlNumber = LED_PWM_FTM_CHANNEL,
.level = kFTM_LowTrue,
.dutyCyclePercent = 00,
.firstEdgeDelayPercent = 0
}};
CLOCK_EnableClock(LED_PWM_CLOCK);
PORT_SetPinMux(LED_PWM_PORT, LED_PWM_PIN, kPORT_MuxAlt4);
ftmParam[0].chnlNumber = (ftm_chnl_t)LED_PWM_FTM_CHANNEL;
ftm_config_t ftmInfo;
FTM_GetDefaultConfig(&ftmInfo);
FTM_Init(LED_PWM_FTM_BASEADDR, &ftmInfo);
ftm_chnl_pwm_signal_param_t ftmParam[1];
ftmParam[0].chnlNumber = LED_PWM_FTM_CHANNEL;
ftmParam[0].level = kFTM_LowTrue;
ftmParam[0].dutyCyclePercent = 100 - INITIAL_DUTY_CYCLE_PERCENT;
ftmParam[0].firstEdgeDelayPercent = 0;
FTM_GetDefaultConfig(&ftmInfo);
// Initializes the FTM module.
FTM_Init(LED_PWM_FTM_BASEADDR, &ftmInfo);
FTM_SetupPwm(LED_PWM_FTM_BASEADDR, ftmParam, sizeof(ftmParam),
kFTM_EdgeAlignedPwm, FTM_PWM_FREQUENCY, FTM_SOURCE_CLOCK);
FTM_StartTimer(LED_PWM_FTM_BASEADDR, kFTM_SystemClock);
}
void LedPwm_SetBrightness(uint8_t brightnessPercent)
{
FTM_UpdatePwmDutycycle(LED_PWM_FTM_BASEADDR, LED_PWM_FTM_CHANNEL, kFTM_EdgeAlignedPwm, 100 - brightnessPercent);
FTM_SetSoftwareTrigger(LED_PWM_FTM_BASEADDR, true); // Triggers register update.
FTM_UpdatePwmDutycycle(LED_PWM_FTM_BASEADDR, LED_PWM_FTM_CHANNEL,
kFTM_EdgeAlignedPwm, 100 - brightnessPercent);
FTM_SetSoftwareTrigger(LED_PWM_FTM_BASEADDR, true);
}