mirror of
https://github.com/espressif/esp-idf
synced 2025-03-09 17:19:09 -04:00
fix(ledc): overflowed integer argument in ledc_hal_clear_left_off_fade_param
This commit is contained in:
parent
76133bc373
commit
a88bd155cd
@ -15,6 +15,7 @@
|
|||||||
#include "soc/ledc_reg.h"
|
#include "soc/ledc_reg.h"
|
||||||
#include "soc/clk_tree_defs.h"
|
#include "soc/clk_tree_defs.h"
|
||||||
#include "soc/pcr_struct.h"
|
#include "soc/pcr_struct.h"
|
||||||
|
#include "soc/soc_caps.h"
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
@ -369,6 +370,7 @@ static inline void ledc_ll_get_duty(ledc_dev_t *hw, ledc_mode_t speed_mode, ledc
|
|||||||
*/
|
*/
|
||||||
static inline void ledc_ll_set_fade_param_range(ledc_dev_t *hw, ledc_mode_t speed_mode, ledc_channel_t channel_num, uint8_t range, uint32_t dir, uint32_t cycle, uint32_t scale, uint32_t step)
|
static inline void ledc_ll_set_fade_param_range(ledc_dev_t *hw, ledc_mode_t speed_mode, ledc_channel_t channel_num, uint8_t range, uint32_t dir, uint32_t cycle, uint32_t scale, uint32_t step)
|
||||||
{
|
{
|
||||||
|
HAL_ASSERT(range < SOC_LEDC_GAMMA_CURVE_FADE_RANGE_MAX);
|
||||||
ledc_channel_gamma_fade_param_t range_param = {
|
ledc_channel_gamma_fade_param_t range_param = {
|
||||||
.duty_inc = dir,
|
.duty_inc = dir,
|
||||||
.duty_cycle = cycle,
|
.duty_cycle = cycle,
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
#include "soc/clk_tree_defs.h"
|
#include "soc/clk_tree_defs.h"
|
||||||
#include "hal/assert.h"
|
#include "hal/assert.h"
|
||||||
#include "esp_rom_sys.h" //for sync issue workaround
|
#include "esp_rom_sys.h" //for sync issue workaround
|
||||||
|
#include "soc/soc_caps.h"
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
@ -452,6 +453,7 @@ static inline void ledc_ll_set_duty_range_wr_addr(ledc_dev_t *hw, ledc_mode_t sp
|
|||||||
*/
|
*/
|
||||||
static inline void ledc_ll_set_fade_param_range(ledc_dev_t *hw, ledc_mode_t speed_mode, ledc_channel_t channel_num, uint8_t range, uint32_t dir, uint32_t cycle, uint32_t scale, uint32_t step)
|
static inline void ledc_ll_set_fade_param_range(ledc_dev_t *hw, ledc_mode_t speed_mode, ledc_channel_t channel_num, uint8_t range, uint32_t dir, uint32_t cycle, uint32_t scale, uint32_t step)
|
||||||
{
|
{
|
||||||
|
HAL_ASSERT(range < SOC_LEDC_GAMMA_CURVE_FADE_RANGE_MAX);
|
||||||
// To workaround sync issue
|
// To workaround sync issue
|
||||||
// This is to ensure the fade param write to the gamma_wr register would not mess up the last wr_addr
|
// This is to ensure the fade param write to the gamma_wr register would not mess up the last wr_addr
|
||||||
ledc_ll_set_duty_range_wr_addr(hw, speed_mode, channel_num, range);
|
ledc_ll_set_duty_range_wr_addr(hw, speed_mode, channel_num, range);
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
#include "soc/ledc_reg.h"
|
#include "soc/ledc_reg.h"
|
||||||
#include "soc/clk_tree_defs.h"
|
#include "soc/clk_tree_defs.h"
|
||||||
#include "soc/pcr_struct.h"
|
#include "soc/pcr_struct.h"
|
||||||
|
#include "soc/soc_caps.h"
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
@ -369,6 +370,7 @@ static inline void ledc_ll_get_duty(ledc_dev_t *hw, ledc_mode_t speed_mode, ledc
|
|||||||
*/
|
*/
|
||||||
static inline void ledc_ll_set_fade_param_range(ledc_dev_t *hw, ledc_mode_t speed_mode, ledc_channel_t channel_num, uint8_t range, uint32_t dir, uint32_t cycle, uint32_t scale, uint32_t step)
|
static inline void ledc_ll_set_fade_param_range(ledc_dev_t *hw, ledc_mode_t speed_mode, ledc_channel_t channel_num, uint8_t range, uint32_t dir, uint32_t cycle, uint32_t scale, uint32_t step)
|
||||||
{
|
{
|
||||||
|
HAL_ASSERT(range < SOC_LEDC_GAMMA_CURVE_FADE_RANGE_MAX);
|
||||||
ledc_channel_gamma_fade_param_t range_param = {
|
ledc_channel_gamma_fade_param_t range_param = {
|
||||||
.duty_inc = dir,
|
.duty_inc = dir,
|
||||||
.duty_cycle = cycle,
|
.duty_cycle = cycle,
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
#include "soc/clk_tree_defs.h"
|
#include "soc/clk_tree_defs.h"
|
||||||
#include "hal/assert.h"
|
#include "hal/assert.h"
|
||||||
#include "esp_rom_sys.h" //for sync issue workaround
|
#include "esp_rom_sys.h" //for sync issue workaround
|
||||||
|
#include "soc/soc_caps.h"
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
@ -450,6 +451,7 @@ static inline void ledc_ll_set_duty_range_wr_addr(ledc_dev_t *hw, ledc_mode_t sp
|
|||||||
*/
|
*/
|
||||||
static inline void ledc_ll_set_fade_param_range(ledc_dev_t *hw, ledc_mode_t speed_mode, ledc_channel_t channel_num, uint8_t range, uint32_t dir, uint32_t cycle, uint32_t scale, uint32_t step)
|
static inline void ledc_ll_set_fade_param_range(ledc_dev_t *hw, ledc_mode_t speed_mode, ledc_channel_t channel_num, uint8_t range, uint32_t dir, uint32_t cycle, uint32_t scale, uint32_t step)
|
||||||
{
|
{
|
||||||
|
HAL_ASSERT(range < SOC_LEDC_GAMMA_CURVE_FADE_RANGE_MAX);
|
||||||
// To workaround sync issue
|
// To workaround sync issue
|
||||||
// This is to ensure the fade param write to the gamma_wr register would not mess up the last wr_addr
|
// This is to ensure the fade param write to the gamma_wr register would not mess up the last wr_addr
|
||||||
ledc_ll_set_duty_range_wr_addr(hw, speed_mode, channel_num, range);
|
ledc_ll_set_duty_range_wr_addr(hw, speed_mode, channel_num, range);
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
#include "soc/ledc_reg.h"
|
#include "soc/ledc_reg.h"
|
||||||
#include "soc/clk_tree_defs.h"
|
#include "soc/clk_tree_defs.h"
|
||||||
#include "soc/hp_sys_clkrst_struct.h"
|
#include "soc/hp_sys_clkrst_struct.h"
|
||||||
|
#include "soc/soc_caps.h"
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
@ -383,6 +384,7 @@ static inline void ledc_ll_get_duty(ledc_dev_t *hw, ledc_mode_t speed_mode, ledc
|
|||||||
*/
|
*/
|
||||||
static inline void ledc_ll_set_fade_param_range(ledc_dev_t *hw, ledc_mode_t speed_mode, ledc_channel_t channel_num, uint8_t range, uint32_t dir, uint32_t cycle, uint32_t scale, uint32_t step)
|
static inline void ledc_ll_set_fade_param_range(ledc_dev_t *hw, ledc_mode_t speed_mode, ledc_channel_t channel_num, uint8_t range, uint32_t dir, uint32_t cycle, uint32_t scale, uint32_t step)
|
||||||
{
|
{
|
||||||
|
HAL_ASSERT(range < SOC_LEDC_GAMMA_CURVE_FADE_RANGE_MAX);
|
||||||
ledc_channel_gamma_fade_param_t range_param = {
|
ledc_channel_gamma_fade_param_t range_param = {
|
||||||
.duty_inc = dir,
|
.duty_inc = dir,
|
||||||
.duty_cycle = cycle,
|
.duty_cycle = cycle,
|
||||||
|
@ -39,7 +39,6 @@ void ledc_hal_get_duty(ledc_hal_context_t *hal, ledc_channel_t channel_num, uint
|
|||||||
void ledc_hal_set_fade_param(const ledc_hal_context_t *hal, ledc_channel_t channel_num, uint32_t range, uint32_t dir, uint32_t cycle, uint32_t scale, uint32_t step)
|
void ledc_hal_set_fade_param(const ledc_hal_context_t *hal, ledc_channel_t channel_num, uint32_t range, uint32_t dir, uint32_t cycle, uint32_t scale, uint32_t step)
|
||||||
{
|
{
|
||||||
#if SOC_LEDC_GAMMA_CURVE_FADE_SUPPORTED
|
#if SOC_LEDC_GAMMA_CURVE_FADE_SUPPORTED
|
||||||
HAL_ASSERT(range < SOC_LEDC_GAMMA_CURVE_FADE_RANGE_MAX);
|
|
||||||
ledc_ll_set_fade_param_range(hal->dev, hal->speed_mode, channel_num, range, dir, cycle, scale, step);
|
ledc_ll_set_fade_param_range(hal->dev, hal->speed_mode, channel_num, range, dir, cycle, scale, step);
|
||||||
#else // !SOC_LEDC_GAMMA_CURVE_FADE_SUPPORTED
|
#else // !SOC_LEDC_GAMMA_CURVE_FADE_SUPPORTED
|
||||||
HAL_ASSERT(range == 0);
|
HAL_ASSERT(range == 0);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user