mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
MCPWM/deadtime: fix and sync preset deadtime modes with well-known definition (backport v3.3)
This commit is contained in:
parent
c621ea7c8c
commit
19f15190a2
@ -204,14 +204,14 @@ typedef enum {
|
||||
* @brief MCPWM deadtime types, used to generate deadtime, RED refers to rising edge delay and FED refers to falling edge delay
|
||||
*/
|
||||
typedef enum {
|
||||
MCPWM_BYPASS_RED = 0, /*!<MCPWMXA = no change, MCPWMXB = falling edge delay*/
|
||||
MCPWM_BYPASS_FED, /*!<MCPWMXA = rising edge delay, MCPWMXB = no change*/
|
||||
MCPWM_ACTIVE_HIGH_MODE, /*!<MCPWMXA = rising edge delay, MCPWMXB = falling edge delay*/
|
||||
MCPWM_ACTIVE_LOW_MODE, /*!<MCPWMXA = compliment of rising edge delay, MCPWMXB = compliment of falling edge delay*/
|
||||
MCPWM_ACTIVE_HIGH_COMPLIMENT_MODE, /*!<MCPWMXA = rising edge delay, MCPWMXB = compliment of falling edge delay*/
|
||||
MCPWM_ACTIVE_LOW_COMPLIMENT_MODE, /*!<MCPWMXA = compliment of rising edge delay, MCPWMXB = falling edge delay*/
|
||||
MCPWM_ACTIVE_RED_FED_FROM_PWMXA, /*!<MCPWMXA = MCPWMXB = rising edge delay as well as falling edge delay, generated from MCPWMXA*/
|
||||
MCPWM_ACTIVE_RED_FED_FROM_PWMXB, /*!<MCPWMXA = MCPWMXB = rising edge delay as well as falling edge delay, generated from MCPWMXB*/
|
||||
MCPWM_BYPASS_RED = 0, /*!<MCPWMXA Out = MCPWMXA In with no delay, MCPWMXB Out = MCPWMXA In with falling edge delay*/
|
||||
MCPWM_BYPASS_FED, /*!<MCPWMXA Out = MCPWMXA In with rising edge delay, MCPWMXB Out = MCPWMXB In with no delay*/
|
||||
MCPWM_ACTIVE_HIGH_MODE, /*!<MCPWMXA Out = MCPWMXA In with rising edge delay, MCPWMXB Out = MCPWMXA In with falling edge delay*/
|
||||
MCPWM_ACTIVE_LOW_MODE, /*!<MCPWMXA Out = MCPWMXA In with compliment of rising edge delay, MCPWMXB Out = MCPWMXA In with compliment of falling edge delay*/
|
||||
MCPWM_ACTIVE_HIGH_COMPLIMENT_MODE, /*!<MCPWMXA Out = MCPWMXA In with rising edge delay, MCPWMXB = MCPWMXA In with compliment of falling edge delay*/
|
||||
MCPWM_ACTIVE_LOW_COMPLIMENT_MODE, /*!<MCPWMXA Out = MCPWMXA In with compliment of rising edge delay, MCPWMXB Out = MCPWMXA In with falling edge delay*/
|
||||
MCPWM_ACTIVE_RED_FED_FROM_PWMXA, /*!<MCPWMXA Out = MCPWMXB Out = MCPWMXA In with rising edge delay as well as falling edge delay*/
|
||||
MCPWM_ACTIVE_RED_FED_FROM_PWMXB, /*!<MCPWMXA Out = MCPWMXB Out = MCPWMXB In with rising edge delay as well as falling edge delay*/
|
||||
MCPWM_DEADTIME_TYPE_MAX,
|
||||
} mcpwm_deadtime_type_t;
|
||||
|
||||
|
@ -463,7 +463,7 @@ esp_err_t mcpwm_deadtime_enable(mcpwm_unit_t mcpwm_num, mcpwm_timer_t timer_num,
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.red_outinvert = 0; //S2
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.fed_outinvert = 0; //S3
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.red_insel = 0; //S4
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.fed_insel = 1; //S5
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.fed_insel = 0; //S5
|
||||
break;
|
||||
case MCPWM_BYPASS_FED:
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.b_outbypass = 1; //S0
|
||||
@ -479,7 +479,7 @@ esp_err_t mcpwm_deadtime_enable(mcpwm_unit_t mcpwm_num, mcpwm_timer_t timer_num,
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.red_outinvert = 0; //S2
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.fed_outinvert = 0; //S3
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.red_insel = 0; //S4
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.fed_insel = 1; //S5
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.fed_insel = 0; //S5
|
||||
break;
|
||||
case MCPWM_ACTIVE_LOW_MODE:
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.b_outbypass = 0; //S0
|
||||
@ -487,7 +487,7 @@ esp_err_t mcpwm_deadtime_enable(mcpwm_unit_t mcpwm_num, mcpwm_timer_t timer_num,
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.red_outinvert = 1; //S2
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.fed_outinvert = 1; //S3
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.red_insel = 0; //S4
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.fed_insel = 1; //S5
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.fed_insel = 0; //S5
|
||||
break;
|
||||
case MCPWM_ACTIVE_HIGH_COMPLIMENT_MODE:
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.b_outbypass = 0; //S0
|
||||
@ -495,20 +495,20 @@ esp_err_t mcpwm_deadtime_enable(mcpwm_unit_t mcpwm_num, mcpwm_timer_t timer_num,
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.red_outinvert = 0; //S2
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.fed_outinvert = 1; //S3
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.red_insel = 0; //S4
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.fed_insel = 1; //S5
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.fed_insel = 0; //S5
|
||||
break;
|
||||
case MCPWM_ACTIVE_LOW_COMPLIMENT_MODE:
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.b_outbypass = 0; //S0
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.a_outbypass = 0; //S1
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.red_outinvert = 1; //S2
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.fed_outinvert = 0; //S3
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.red_insel = 1; //S4
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.red_insel = 0; //S4
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.fed_insel = 0; //S5
|
||||
break;
|
||||
case MCPWM_ACTIVE_RED_FED_FROM_PWMXA:
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.b_outbypass = 0; //S0
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.fed_outinvert = 0; //S3
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.red_insel = 1; //S4
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.red_insel = 0; //S4
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.a_outswap = 1; //S6
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.b_outswap = 0; //S7
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.deb_mode = 1; //S8
|
||||
@ -516,7 +516,7 @@ esp_err_t mcpwm_deadtime_enable(mcpwm_unit_t mcpwm_num, mcpwm_timer_t timer_num,
|
||||
case MCPWM_ACTIVE_RED_FED_FROM_PWMXB:
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.b_outbypass = 0; //S0
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.fed_outinvert = 0; //S3
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.red_insel = 0; //S4
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.red_insel = 1; //S4
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.a_outswap = 1; //S6
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.b_outswap = 0; //S7
|
||||
MCPWM[mcpwm_num]->channel[timer_num].db_cfg.deb_mode = 1; //S8
|
||||
|
Loading…
Reference in New Issue
Block a user