#include "sys_ctrl.h" //#include "api.h" #include "CodePara.h" #define FALSE (0U) #define TRUE (1U) SysCtrl_PwmHandle sysctrl_stPwmState; void sysctrl_voPwmInit(void) { // /* Set 50% duty */ // UWORD prd = iPwm_GetCountMax(0); // iPwm_SetCompareValue(0, 0, prd >> 1); // iPwm_SetCompareValue(0, 1, prd >> 1); // iPwm_SetCompareValue(0, 2, prd >> 1); // iPwm_SetCompareValueDelay(0, 0, prd >> 1); // iPwm_SetCompareValueDelay(0, 1, prd >> 1); // iPwm_SetCompareValueDelay(0, 2, prd >> 1); // // /* PWM off */ // sysctrl_voPwmOff(); // // /* Charge init */ // sysctrl_stPwmState.uwChargeCnt = 0; // sysctrl_stPwmState.blChargeOvrFlg = FALSE; } void sysctrl_voPwmOn(void) { // if (sysctrl_stPwmState.blPwmOnflg == FALSE) // { // iPwm_SetCompareMode(0, API_PWM_CH(0), ApiPwm_HigherSet); // iPwm_SetCompareMode(0, API_PWM_CH(1), ApiPwm_HigherSet); // iPwm_SetCompareMode(0, API_PWM_CH(2), ApiPwm_HigherSet); // iPwm_SetCompareMode(0, API_PWM_CH(3), ApiPwm_HigherSet); // // iPwm_EnableChannelOutput(0, API_PWM_CH(0)); // iPwm_EnableChannelOutput(0, API_PWM_CH(1)); // iPwm_EnableChannelOutput(0, API_PWM_CH(2)); // iPwm_EnableChannelOutput(0, API_PWM_CH(3)); // // iPwm_EnableChannelOutput(0, API_PWM_CHN(0)); // iPwm_EnableChannelOutput(0, API_PWM_CHN(1)); // iPwm_EnableChannelOutput(0, API_PWM_CHN(2)); // iPwm_EnableChannelOutput(0, API_PWM_CHN(3)); // // sysctrl_stPwmState.blPwmOnflg = TRUE; // } } void sysctrl_voPwmOff(void) { // if (sysctrl_stPwmState.blPwmOnflg == TRUE) // { // iPwm_SetCompareMode(0, API_PWM_CH(0), ApiPwm_ForceClear); // iPwm_SetCompareMode(0, API_PWM_CH(1), ApiPwm_ForceClear); // iPwm_SetCompareMode(0, API_PWM_CH(2), ApiPwm_ForceClear); // iPwm_SetCompareMode(0, API_PWM_CH(3), ApiPwm_ForceClear); // // iPwm_DisableChannelOutput(0, API_PWM_CHN(0)); // iPwm_DisableChannelOutput(0, API_PWM_CHN(1)); // iPwm_DisableChannelOutput(0, API_PWM_CHN(2)); // iPwm_DisableChannelOutput(0, API_PWM_CHN(3)); // // sysctrl_stPwmState.blPwmOnflg = FALSE; // } } void sysctrl_voCharge(void) { /* Set 50% duty */ // UWORD prd = iPwm_GetCountMax(0); // iPwm_SetCompareValue(0, 0, prd >> 1); // iPwm_SetCompareValue(0, 1, prd >> 1); // iPwm_SetCompareValue(0, 2, prd >> 1); // iPwm_SetCompareValueDelay(0, 0, prd >> 1); // iPwm_SetCompareValueDelay(0, 1, prd >> 1); // iPwm_SetCompareValueDelay(0, 2, prd >> 1); sysctrl_voPwmOn(); sysctrl_stPwmState.uwChargeCnt ++; if (sysctrl_stPwmState.uwChargeCnt > cp_stControlPara.swIPMHvicChrgMs) { sysctrl_stPwmState.uwChargeCnt = 0; sysctrl_stPwmState.blChargeOvrFlg = TRUE; } } void sysctrl_voThrPhsShrt(void) { /* Set 0% duty */ // iPwm_SetCompareValue(0, 0, 0); // iPwm_SetCompareValue(0, 1, 0); // iPwm_SetCompareValue(0, 2, 0); // iPwm_SetCompareValueDelay(0, 2, 0); // iPwm_SetCompareValueDelay(0, 2, 0); // iPwm_SetCompareValueDelay(0, 2, 0); // iPwm_SetCompareValueImmediate(0, 2, 0); // iPwm_SetCompareValueImmediate(0, 2, 0); // iPwm_SetCompareValueImmediate(0, 2, 0); sysctrl_voPwmOn(); }