And will release the lock in mcpwm_capture_timer_disable(). MCPWM Operator: The key module that is responsible for generating the PWM waveforms. La familia BridgeSwitch de semipuentes integrados simplifica en gran medida el desarrollo y la fabricacin de variadores de frecuencia de motor PM o BLDC More by the author: This is a modification and addition to my instructable.com tutorials on DC Motors, and it also includes some information from my tutorial on the "ESP32 Tutorial: Touch, Hall, I2C, PWM, ADC, & DAC". The basic IO operation of a timer is to start and stop. mcpwm_capture_timer_sync_phase_config_t::count_value sets the count value to load when the sync signal is taken. Activate the software fault, trigger the fault event for once. Motor control application fault detection is also handled in the ISR to minimize any potential fault reaction time. Each bridge arm has two power electronic devices, such as MOSFET, IGBT, etc. The main advantage of sensorless BLDC motor control is lower system cost and the main disadvantage is the motor must be moving at minimum rate to produce sufficient BEMF to be sensed. This module allows us to control the speed and direction of the motors. User has to call mcpwm_operator_recover_from_fault() to manually recover it. DC motor control using ESP32 This project showing how to control the DC motor by using an ESP32 development board with Arduino IDE. This closed loop control for BLDC motor system could be used in drilling machines, lath machines, spinning machines, elevators and electric bikes. Classical PWM Waveforms and Generator Configurations - demonstrates some classical PWM waveforms that can be achieved by configuring generator actions. On the contrary, calling mcpwm_del_capture_channel() and mcpwm_del_capture_timer() function will free the allocated capture channel and timer object accordingly. Like, for example, PC6 pulled to high, then after 100ms, PB3 pulled to high, get current value on PD1 and pull PC6 low if . Group of supported MCPWM capture event callbacks. The way that MCPWM operator reacts to the fault is called Brake. For additional terms or required resources, click any title below to view the detail page where available. It is for debugging purposes only. Comparator Operations and Events - describes control functions and event callbacks that supported by the MCPWM comparator. groups, timers, comparators, operators, generators and so on). The supported brake modes are listed in the mcpwm_operator_brake_mode_t. mcpwm_generator_config_t::invert_pwm sets whether to invert the PWM signal. mcpwm_timer_sync_src_config_t::propagate_input_sync sets whether to propagate the input sync signal (i.e. variety of peripherals like ev_act [in] MCPWM timer event action list, must be terminated by MCPWM_GEN_TIMER_EVENT_ACTION_END(), ESP_OK: Set generator actions successfully, ESP_ERR_INVALID_ARG: Set generator actions failed because of invalid argument, ESP_ERR_INVALID_STATE: Set generator actions failed because of timer is not connected to operator, ESP_FAIL: Set generator actions failed because of other error. The basic IO operation of a capture timer is to start and stop. Commutation is the process where v oltage is applied to the motor phases in such a w ay that it k eeps the motor rotating (magnetic flux vector rotating). The MOTIX 6ED2742S01Q is a 160 V SOI based gate driver designed for three phase BLDC motor drive applications. There is also another set of three wires coming out of the ESC and that's the signal line, +5V and ground. ESP_OK: Set MCPWM compare value successfully, ESP_ERR_INVALID_ARG: Set MCPWM compare value failed because of invalid argument (e.g. I'm trying to figure out how to control the speed of a 400-watt, 3000RPM, 48V BLDC with Hall sensors with a Raspberry Pi 3. This will allow the interrupt to run while the cache is disabled but will come at the cost of increased IRAM consumption. config [in] MCPWM carrier specific configuration, ESP_OK: Set carrier for operator successfully, ESP_ERR_INVALID_ARG: Set carrier for operator failed because of invalid argument, ESP_FAIL: Set carrier for operator failed because of other error, Specify from which group to allocate the MCPWM operator, Whether to update generator action when timer counts to zero, Whether to update generator action when timer counts to peak, Whether to update generator action on sync event, Whether to update dead time when timer counts to zero, Whether to update dead time when timer counts to peak, Whether to update dead time on sync event. In turn, if the out_generator and in_generator are different, it means were deriving a new PWM waveform from the existing in_generator. Paul Gould Back to overview Files 1 Components 0 logs 14 Instructions 0 Discussion 25 Back to project details Sort by: Oldest Project Notes 02/11/2020 at 17:11 0 comments Specifically, if this is set to NULL, the driver will disable the sync feature for the MCPWM capture timer. Carrier Modulation - describes how to set modulate a high frequency onto the final PWM waveforms. mcpwm_timer_sync_phase_config_t::count_value sets the count value to load when the sync signal is taken. The callback function will provide event specific data of type mcpwm_compare_event_data_t to the user. There is no pin specific requirements for the esp32, each pin can be used in pwm mode. Buy M5Stack Core2 ESP32 IoT Development Kit at the lowest price online in India at Robu.in. Otherwise, it will return error code ESP_ERR_INVALID_STATE. On the contrary, calling mcpwm_del_sync_src() function will free the allocated sync source object, this function works for all types of sync sources. Set generator action on MCPWM timer event. To allocate a capture timer, you can call mcpwm_new_capture_timer() function, with configuration structure mcpwm_capture_timer_config_t as the parameter. For example, in the BLDC (Brushless DC, see figure below) scenario, we can use the capture submodule to sense the rotor position from Hall sensor. I'll introduce you to an H-bridge speed control using MOSFET, and then we'll apply that control to an engine to evaluate its behavior. mcpwm_capture_channel_config_t::io_loop_back sets whether to enable the loop back mode. The MCPWM operator is able to sense external signals with information about failure of the motor, the power driver or any other device connected. will remain unchanged until manually remove the force level), ESP_OK: Set force level for MCPWM generator successfully, ESP_ERR_INVALID_ARG: Set force level for MCPWM generator failed because of invalid argument, ESP_FAIL: Set force level for MCPWM generator failed because of other error. BLDC_COMPRESSOR_TCC_DA_HORIZONTAL_r1.0 (1) - Read online for free. MCPWM capture channel configuration structure. Software fault object can be used to trigger a fault by calling a function mcpwm_soft_fault_activate() instead of waiting for a real fault signal on the GPIO. The configuration structure is defined as: mcpwm_comparator_config_t::update_cmp_on_tez sets whether to update the compare threshold when the timer counts to zero. These IO control functions are as follows: The factory functions like mcpwm_new_timer() are guaranteed to be thread safe by the driver, which means, you can call it from different RTOS tasks without protection by extra locks. The capture timer is connected with several independent channels, each channel is assigned with a GPIO. callback function when mcpwm operator brakes in CBC, callback function when mcpwm operator brakes in OST, The duration of the first PWM pulse, in us, components/driver/mcpwm/include/driver/mcpwm_cmpr.h, oper [in] MCPWM operator, allocated by mcpwm_new_operator(), the new comparator will be allocated from this operator, config [in] MCPWM comparator configuration, ret_cmpr [out] Returned MCPWM comparator, ESP_OK: Create MCPWM comparator successfully, ESP_ERR_INVALID_ARG: Create MCPWM comparator failed because of invalid argument, ESP_ERR_NO_MEM: Create MCPWM comparator failed because out of memory, ESP_ERR_NOT_FOUND: Create MCPWM comparator failed because cant find free resource, ESP_FAIL: Create MCPWM comparator failed because of other error, cmpr [in] MCPWM comparator handle, allocated by mcpwm_new_comparator(), ESP_OK: Delete MCPWM comparator successfully, ESP_ERR_INVALID_ARG: Delete MCPWM comparator failed because of invalid argument, ESP_FAIL: Delete MCPWM comparator failed because of other error. level [in] GPIO level to be applied to MCPWM generator, specially, -1 means to remove the force level, hold_on [in] Whether the forced PWM level should retain (i.e. The mcpwm_new_capture_timer() will return a pointer to the allocated capture timer object if the allocation succeeds. The dead-time driver works like a decorator, which is also reflected in the function parameters of mcpwm_generator_set_dead_time(), where it takes the primary generator handle (in_generator), and returns a generator (out_generator) after applying the dead-time. Seller assumes all responsibility for this listing. You can also set the timer action one by one by calling mcpwm_generator_set_action_on_timer_event() without varargs. mcpwm_comparator_config_t::update_cmp_on_tep sets whether to update the compare threshold when the timer counts to peak. The ADC ISR then defers directly to the highest priority State Machine Task, releasing control to the FreeRTOS scheduler. The allocated MCPWM Timer should be connected with a MCPWM operator by calling mcpwm_operator_connect_timer(), so that the operator can take that timer as its time base, and generate the required PWM waves. The configuration structure is defined as: mcpwm_timer_sync_src_config_t::timer_event specifies on what timer event to generate the sync signal. For MCPWM_OPER_BRAKE_MODE_OST mode, the operator cant recover even though the fault disappears. Specifically, when there are no more free comparators in the MCPWM operator, this function will return ESP_ERR_NOT_FOUND error. Internally, this function will: switch the timer state from init to enable. Group of supported MCPWM operator event callbacks. The operator handle is created by mcpwm_new_operator()(). ev_act [in] MCPWM compare event action list, must be terminated by MCPWM_GEN_COMPARE_EVENT_ACTION_END(). Controlling a bldc motor with vesc using esp32 and ESP-IDF Show more VESC + Arduino == 1kW Robotics Projects! mcpwm_gen_timer_event_action_t::event specifies the timer event. mcpwm_carrier_config_t::duty_cycle: The duty cycle of the carrier. Theres a helper macro MCPWM_GEN_COMPARE_EVENT_ACTION to simplify the construction of a compare event action entry. Generator Force Actions - describes how to control the generator output level asynchronously in a forceful way. The following functions are allowed to run under ISR context, as the driver uses a critical section to prevent them being called concurrently in the task and ISR. Document Information Specify from which group to allocate the capture timer. Otherwise, it will return error code. V1, V3, V5 and V2, V4, V6 make a 3-phase voltage source inverter connected across the power supply. The MCPWM comparator can inform the user when the timer counter equals to the compare value. However, the driver can prevent the system from changing APB frequency by acquiring a power management lock of type ESP_PM_APB_FREQ_MAX. By default, driver will reset the GPIO pin at exit. They are controlled by a train of pulses, for most servos a pulse of 1.0 ms will turn the servo one way and a pulse of 2.0 ms will turn it the other. Outrunner bldc motor simulation winding schema. Author: Kevin Harrington,John K. Bennett Maintainer: Kevin Harrington Read the documentation Go to repository The ESP32 microcontroller is an advanced system on a chip that combines WiFi and Bluetooth capabilities with a powerful microcontroller and processing unit. V1 is high side, which is connected to the high voltage DC source while V4 is low side, which is connected to ground. MOTIX 160 V SOI driver portfolio provides easy-to-use, compact, and cost-effective gate drive solution for battery powered industrial BLDC motor control drives such as cordless power tools, robots, drones and LEVs up to 120 V.. mcpwm_capture_channel_config_t::pos_edge and mcpwm_capture_channel_config_t::neg_edge set whether to capture on the positive and/or negative edge of the input signal. Generator Actions on Events - describes how to set actions for MCPWM generators on particular events that generated by the MCPWM timer and comparators. This requires the use of rectifier bridge and inverter bridge. We develop customized motor control solutions to operate modern electric vehicle powertrains cutting across motor types such as BLDC, PMSM, SRM and induction motors. ev_act [in] MCPWM brake event action, can be constructed by MCPWM_GEN_BRAKE_EVENT_ACTION helper macro. Faults and Brake Actions - describes how to set brake actions for MCPWM operators on particular fault event. esp32 support Esp32 boards support MCPWM interface that is intended for this kind of applications. The Arduino, ESP8266 or ESP32 microcontroller provide the power supply for the DC motor. ESP-32 BLDC Robot Actuator Controller Back to overview ESP-32 WROOM-32D has Three phase Centre Aligned MC-PWM, Dual SPI, I2C, 2MHz ADC, UART and CAN. counter is empty), MCPWM timer counts to peak (i.e. mcpwm_timer_event_callbacks_t::on_empty sets callback function for timer when it counts to zero. Group of supported MCPWM timer event callbacks. We are using a BLDC motor of rating Model: A2212/6T RPM/V: 2200 kV Current: 12 A/60 s Specifically, the carrier submodule can be disabled by calling mcpwm_operator_apply_carrier() with a NULL configuration. Try to make the operator recover from fault. A typical BLDC motor controller has a half-bridge or half-H bridge circuit. You should call mcpwm_capture_channel_enable() and mcpwm_capture_channel_disable() accordingly to enable or disable the channel. BLDC Motor speed control from washing machine by Arduino UNO (3,680) Creative PCB Design. Brushed DC motor speed control by PID algorithm: peripherals/mcpwm/mcpwm_bdc_speed_control, BLDC motor control with hall sensor feedback: peripherals/mcpwm/mcpwm_bldc_hall_control, Ultrasonic sensor (HC-SR04) distance measurement: peripherals/mcpwm/mcpwm_capture_hc_sr04, Servo motor angle control: peripherals/mcpwm/mcpwm_servo_control, MCPWM synchronization between timers: peripherals/mcpwm/mcpwm_sync, components/driver/mcpwm/include/driver/mcpwm_timer.h, config [in] MCPWM timer configuration, ret_timer [out] Returned MCPWM timer handle, ESP_ERR_INVALID_ARG: Create MCPWM timer failed because of invalid argument, ESP_ERR_NO_MEM: Create MCPWM timer failed because out of memory, ESP_ERR_NOT_FOUND: Create MCPWM timer failed because all hardware timers are used up and no more free one, ESP_FAIL: Create MCPWM timer failed because of other error, timer [in] MCPWM timer handle, allocated by mcpwm_new_timer(), ESP_ERR_INVALID_ARG: Delete MCPWM timer failed because of invalid argument, ESP_ERR_INVALID_STATE: Delete MCPWM timer failed because timer is not in init state, ESP_FAIL: Delete MCPWM timer failed because of other error, ESP_ERR_INVALID_ARG: Enable MCPWM timer failed because of invalid argument, ESP_ERR_INVALID_STATE: Enable MCPWM timer failed because timer is enabled already, ESP_FAIL: Enable MCPWM timer failed because of other error, ESP_ERR_INVALID_ARG: Disable MCPWM timer failed because of invalid argument, ESP_ERR_INVALID_STATE: Disable MCPWM timer failed because timer is disabled already, ESP_FAIL: Disable MCPWM timer failed because of other error. mcpwm_comparator_config_t::update_cmp_on_sync sets whether to update the compare threshold when the timer takes a sync signal. User can deregister a previously registered callback by calling this function and setting the callback member in the cbs structure to NULL. Generator action on specific timer event. mcpwm_carrier_config_t::first_pulse_duration_us: The duration of the first pulse in microseconds. Classical PWM Waveforms and Dead Time Configurations - demonstrates some classical PWM waveforms that can be achieved by configuring dead time. mcpwm_gpio_sync_src_config_t::pull_up and mcpwm_gpio_sync_src_config_t::pull_down set whether to pull up and/or pull down the GPIO internally. We need a hardware driver between DC motor and ESP32. Sensored 3-Phase BLDC Motor Control Using MSP430: 20 Jul 2011: Design & development. Kconfig Options - lists the supported Kconfig options that can bring different effects to the driver. The mcpwm_new_timer_sync_src() will return a pointer to the allocated sync source object if the allocation succeeds. The supported actions are listed in mcpwm_generator_action_t. Help macros to construct a mcpwm_gen_timer_event_action_t entry. mcpwm_gen_timer_event_action_t::action specifies the generator action to be taken. The callback function will provide event specific data of type mcpwm_capture_event_data_t, so that you can get the edge of the capture signal in mcpwm_capture_event_data_t::cap_edge and the count value of that moment in mcpwm_capture_event_data_t::cap_value. Likewise, Whenever the driver creates a MCPWM capture timer instance that has selected MCPWM_CAPTURE_CLK_SRC_APB as its clock source, the driver will guarantee that the power management lock is acquired when enable the timer by mcpwm_capture_timer_enable(). Group of supported MCPWM compare event callbacks. The parameter user_data of mcpwm_capture_channel_register_event_callbacks() function is used to save users own context, it will be passed to the callback function directly. Enough for a controller. For MCPWM_OPER_BRAKE_MODE_CBC mode, the operator will recover itself automatically as long as the fault disappears. Specifically, when there are no free capture channel left in the capture timer, this function will return ESP_ERR_NOT_FOUND error. The mcpwm_new_comparator() will return a pointer to the allocated comparator object if the allocation succeeds. The configuration structure is defined as: mcpwm_capture_timer_config_t::group_id sets the MCPWM group ID. Specifically, if a sync source has been allocated from the same timer before, this function will return ESP_ERR_INVALID_STATE error. 3Phase Motor ABOUT ActivePFC Article Balancing Battery BLDC Motor Current sensor DC Motor DC-DC Converter Download ESP32 NodeMCU ESP8266 NodeMCU IC Switching Induction Heat Inverter 220VAC IPM 3Phase PCB Design PID Control Projects . Controlling DC Motor Speed and Direction using L293D Motor Driver IC Open your Arduino IDE and go to File > New. To configure the carrier submodule, you can call mcpwm_operator_apply_carrier(), and provide configuration structure mcpwm_carrier_config_t: mcpwm_carrier_config_t::frequency_hz: The carrier frequency in Hz. The mcpwm_new_timer() will return a pointer to the allocated timer object if the allocation succeeds. CONFIG_PM_ENABLE is on), the system will adjust the PLL, APB frequency before going into light sleep, thus potentially changing the period of a MCPWM timers counting step and leading to inaccurate time keeping. Apply carrier feature for MCPWM operator. The ESC controller can control the BLDC motor's speed by reading the PWM signal from its orange wire. Set event callbacks for MCPWM capture channel. Integrated bootstrap diodes are used to supply the . Calling mcpwm_timer_start_stop() with different mcpwm_timer_start_stop_cmd_t commands can start the timer immediately or stop the timer at a specific event. The MCPWM peripheral is a versatile PWM generator, which contains various submodules to make it a key element in power electronic applications like motor control, digital power and so on. The resolution of the first pulse duration is determined by the carrier frequency you set in the mcpwm_carrier_config_t::frequency_hz. The MCPWM operator has a carrier submodule that can be used if galvanic isolation from the motor driver is required (e.g. Specifically, when there are no more free timers in the MCPWM group, this function will return ESP_ERR_NOT_FOUND error. The callback function is called within the ISR context, so is should not attempt to block (e.g., make sure that only FreeRTOS APIs with ISR suffix is called within the function). A software fault object can be allocated by calling mcpwm_new_soft_fault() function, with configuration structure mcpwm_soft_fault_config_t as the parameter. Power Management - describes how different source clock will affect power consumption. Capture - describes how to use the MCPWM capture module to measure the pulse width of a signal. A new file will open. mcpwm_capture_channel_config_t::invert_cap_signal sets whether to invert the capture signal. In power electronics, the rectifier and inverter are commonly used. To allocate a Timer event sync source, you can call mcpwm_new_timer_sync_src() function, with configuration structure mcpwm_timer_sync_src_config_t as the parameter. This is an aggregation version of mcpwm_generator_set_action_on_compare_event, which allows user to set multiple actions in one call. The callback function prototype is declared in mcpwm_compare_event_cb_t. The configuration structure is defined as: mcpwm_gpio_sync_src_config_t::group_id sets the MCPWM group ID. The ID should belong to [0, SOC_MCPWM_GROUPS - 1] range. 1. 1. Here and below, the timer refers to the one that is connected to the operator by mcpwm_operator_connect_timer(). The mcpwm_new_generator() will return a pointer to the allocated generator object if the allocation succeeds. command [in] Supported command list for MCPWM timer, ESP_OK: Start or stop MCPWM timer successfully, ESP_ERR_INVALID_ARG: Start or stop MCPWM timer failed because of invalid argument, ESP_ERR_INVALID_STATE: Start or stop MCPWM timer failed because timer is not enabled, ESP_FAIL: Start or stop MCPWM timer failed because of other error, The first call to this function needs to be before the call to mcpwm_timer_enable. It is for debugging purposes only. The update time for the compare value is set by mcpwm_comparator_config_t::update_cmp_on_tez or mcpwm_comparator_config_t::update_cmp_on_tep or mcpwm_comparator_config_t::update_cmp_on_sync. Any of PWM output signals may be at 100% duty and not changing whenever motor is required to run steady at the full load. This function will lazy install interrupt service for the MCPWM capture channel, whereas the service can only be removed in mcpwm_del_capture_channel. Set generator actions on multiple MCPWM timer events. When a sync signal is taken by the MCPWM timer, the timer will be forced into a predefined phase, where the phase is determined by count value and count direction. Three phase motor control using the MCPWM 6x Mosfets and Smart Driver SPI for the dual Absolute Magnetic Encoder I2C for the OLED Bluetooth, Wifi, CAN, ESP-NOW or serial for communications Current, Voltage and Temperature monitoring IMG_4840s.jpg ESP-32 DRV4_0.jpg You do not have the required permissions to view the files attached to this post. mcpwm_operator_config_t::update_gen_action_on_tep sets whether to update the generator action when the timer counts to peak. MCPWM Generator: One MCPWM generator can generate a pair of PWM waves, complementarily or independently, based on various events triggered from other submodules like MCPWM Timer, MCPWM Comparator. You can allocate a MCPWM generator object by calling mcpwm_new_generator() function, with a MCPWM operator handle and configuration structure mcpwm_generator_config_t as the parameter. Set to NULL will disable the timer being synced by others, The count value that should lock to upon sync event, The count direction that should lock to upon sync event, components/driver/mcpwm/include/driver/mcpwm_oper.h, config [in] MCPWM operator configuration, ret_oper [out] Returned MCPWM operator handle, ESP_OK: Create MCPWM operator successfully, ESP_ERR_INVALID_ARG: Create MCPWM operator failed because of invalid argument, ESP_ERR_NO_MEM: Create MCPWM operator failed because out of memory, ESP_ERR_NOT_FOUND: Create MCPWM operator failed because cant find free resource, ESP_FAIL: Create MCPWM operator failed because of other error, oper [in] MCPWM operator, allocated by mcpwm_new_operator(), ESP_OK: Delete MCPWM operator successfully, ESP_ERR_INVALID_ARG: Delete MCPWM operator failed because of invalid argument, ESP_FAIL: Delete MCPWM operator failed because of other error. MCPWM comparator event data, fed by driver, User data, set in mcpwm_comparator_register_event_callbacks(), User data, set in mcpwm_capture_channel_register_event_callbacks(), MCPWM timer counts to zero (i.e. generator [in] MCPWM generator handle, allocated by mcpwm_new_generator(), ev_act [in] MCPWM compare event action, can be constructed by MCPWM_GEN_COMPARE_EVENT_ACTION helper macro. The fact is that, although the PWM wave shows it is turning off the switch, but the MOSFET still needs a small time window to make that happen. Content Topic Group. All supported event callbacks are listed in the mcpwm_timer_event_callbacks_t: mcpwm_timer_event_callbacks_t::on_full sets callback function for timer when it counts to peak value. 04/03/2023 No hay comentarios 9 Mins Read. Enable this option will increase the firmware binary size. ev_act [in] MCPWM timer event action, can be constructed by MCPWM_GEN_TIMER_EVENT_ACTION helper macro, ESP_OK: Set generator action successfully, ESP_ERR_INVALID_ARG: Set generator action failed because of invalid argument, ESP_ERR_INVALID_STATE: Set generator action failed because of timer is not connected to operator, ESP_FAIL: Set generator action failed because of other error. mcpwm_operator_config_t::update_gen_action_on_tez sets whether to update the generator action when the timer counts to zero. The ID should belong to [0, SOC_MCPWM_GROUPS - 1] range. It is friendly to use no need of any expert person. MCPWM software fault configuration structure. mcpwm_operator_config_t::update_gen_action_on_sync sets whether to update the generator action when the timer takes a sync signal. You can set the sync phase for the capture timer by calling mcpwm_capture_timer_set_phase_on_sync(). This function will transit the channel state from init to enable. There are things that I do not need and things I want to be added. Whenever the driver creates a MCPWM timer instance that has selected MCPWM_TIMER_CLK_SRC_PLL160M as its clock source, the driver will guarantee that the power management lock is acquired when enable the timer by mcpwm_timer_enable(). On the contrary, calling mcpwm_del_timer() function will free the allocated timer object. Get same day shipping on all orders. 449 sold. Otherwise, it will return error code. To allocate a GPIO fault object, you can call mcpwm_new_gpio_fault() function, with configuration structure mcpwm_gpio_fault_config_t as the parameter. Copyright 2016 - 2023, Espressif Systems (Shanghai) Co., Ltd. mcpwm_timer_config_t::update_period_on_empty, mcpwm_timer_config_t::update_period_on_sync, mcpwm_operator_config_t::update_gen_action_on_tez, mcpwm_operator_config_t::update_gen_action_on_tep, mcpwm_operator_config_t::update_gen_action_on_sync, mcpwm_operator_config_t::update_dead_time_on_tez, mcpwm_operator_config_t::update_dead_time_on_tep, mcpwm_operator_config_t::update_dead_time_on_sync, mcpwm_comparator_config_t::update_cmp_on_tez, mcpwm_comparator_config_t::update_cmp_on_tep, mcpwm_comparator_config_t::update_cmp_on_sync, mcpwm_gpio_sync_src_config_t::io_loop_back, mcpwm_timer_sync_src_config_t::timer_event, mcpwm_timer_sync_src_config_t::propagate_input_sync, mcpwm_capture_channel_config_t::pull_down, mcpwm_capture_channel_config_t::invert_cap_signal, mcpwm_capture_channel_config_t::io_loop_back, mcpwm_comparator_register_event_callbacks(), mcpwm_comparator_event_callbacks_t::on_reach, mcpwm_generator_set_actions_on_timer_event(), mcpwm_gen_timer_event_action_t::direction, mcpwm_generator_set_action_on_timer_event(), mcpwm_generator_set_actions_on_compare_event(), mcpwm_gen_compare_event_action_t::direction, mcpwm_gen_compare_event_action_t::comparator, mcpwm_generator_set_action_on_compare_event(), mcpwm_generator_set_action_on_timer_event, mcpwm_generator_set_action_on_compare_event, mcpwm_generator_set_actions_on_compare_event, mcpwm_generator_set_actions_on_timer_event, mcpwm_dead_time_config_t::posedge_delay_ticks, mcpwm_dead_time_config_t::negedge_delay_ticks, // bypass deadtime module for generator_b, // generator_a bypass the deadtime module (no delay), // apply dead time on both edge for generator_b, mcpwm_carrier_config_t::first_pulse_duration_us, mcpwm_carrier_config_t::invert_before_modulate, mcpwm_carrier_config_t::invert_after_modulate, mcpwm_generator_set_actions_on_brake_event(), mcpwm_gen_brake_event_action_t::direction, mcpwm_gen_brake_event_action_t::brake_mode, mcpwm_generator_set_action_on_brake_event(), mcpwm_fault_event_callbacks_t::on_fault_enter, mcpwm_fault_event_callbacks_t::on_fault_exit, mcpwm_operator_register_event_callbacks(), mcpwm_operator_event_callbacks_t::on_brake_cbc, mcpwm_operator_event_callbacks_t::on_brake_ost, mcpwm_timer_sync_phase_config_t::sync_src, mcpwm_timer_sync_phase_config_t::count_value, mcpwm_timer_sync_phase_config_t::direction, mcpwm_capture_timer_sync_phase_config_t::sync_src, mcpwm_capture_timer_sync_phase_config_t::count_value, mcpwm_capture_timer_sync_phase_config_t::direction, // GPIO fault should be in the same group of the above timers, // by default, a posedge pulse can trigger a sync event, mcpwm_capture_channel_register_event_callbacks(), mcpwm_capture_channel_trigger_soft_catch(), mcpwm_comparator_register_event_callbacks, mcpwm_generator_set_action_on_brake_event, mcpwm_generator_set_actions_on_brake_event, mcpwm_capture_channel_register_event_callbacks, Analog to Digital Converter (ADC) Oneshot Mode Driver, Analog to Digital Converter (ADC) Continuous Mode Driver, Analog to Digital Converter (ADC) Calibration Driver, Motor Control Pulse Width Modulator (MCPWM), Universal Asynchronous Receiver/Transmitter (UART), Classical PWM Waveforms and Generator Configurations, Classical PWM Waveforms and Dead Time Configurations, peripherals/mcpwm/mcpwm_bdc_speed_control, peripherals/mcpwm/mcpwm_bldc_hall_control.