mirror of
https://github.com/espressif/esp-idf.git
synced 2026-05-28 16:46:31 +03:00
refactor(ledc): refactor ledc periph signal define
This commit is contained in:
@@ -808,7 +808,7 @@ static esp_err_t _ledc_set_pin(int gpio_num, bool out_inv, ledc_mode_t speed_mod
|
||||
if (old_gpio_rsv_mask & BIT64(gpio_num)) {
|
||||
ESP_LOGW(LEDC_TAG, "GPIO %d is not usable, maybe conflict with others", gpio_num);
|
||||
}
|
||||
gpio_matrix_output(gpio_num, ledc_periph_signal[0].speed_mode[speed_mode].sig_out0_idx + channel, out_inv, false);
|
||||
gpio_matrix_output(gpio_num, ledc_periph_signal[0].speed_mode[speed_mode].sig_out_idx[channel], out_inv, false);
|
||||
portENTER_CRITICAL(&ledc_spinlock);
|
||||
p_ledc_obj[speed_mode]->occupied_pin_mask[channel] |= BIT64(gpio_num);
|
||||
portEXIT_CRITICAL(&ledc_spinlock);
|
||||
|
||||
@@ -14,8 +14,30 @@ const ledc_signal_conn_t ledc_periph_signal[1] = {
|
||||
{
|
||||
.irq_id = ETS_LEDC_INTR_SOURCE,
|
||||
.speed_mode = {
|
||||
[0] = { .sig_out0_idx = LEDC_HS_SIG_OUT0_IDX },
|
||||
[1] = { .sig_out0_idx = LEDC_LS_SIG_OUT0_IDX },
|
||||
[0] = {
|
||||
.sig_out_idx = {
|
||||
LEDC_HS_SIG_OUT0_IDX,
|
||||
LEDC_HS_SIG_OUT1_IDX,
|
||||
LEDC_HS_SIG_OUT2_IDX,
|
||||
LEDC_HS_SIG_OUT3_IDX,
|
||||
LEDC_HS_SIG_OUT4_IDX,
|
||||
LEDC_HS_SIG_OUT5_IDX,
|
||||
LEDC_HS_SIG_OUT6_IDX,
|
||||
LEDC_HS_SIG_OUT7_IDX,
|
||||
}
|
||||
},
|
||||
[1] = {
|
||||
.sig_out_idx = {
|
||||
LEDC_LS_SIG_OUT0_IDX,
|
||||
LEDC_LS_SIG_OUT1_IDX,
|
||||
LEDC_LS_SIG_OUT2_IDX,
|
||||
LEDC_LS_SIG_OUT3_IDX,
|
||||
LEDC_LS_SIG_OUT4_IDX,
|
||||
LEDC_LS_SIG_OUT5_IDX,
|
||||
LEDC_LS_SIG_OUT6_IDX,
|
||||
LEDC_LS_SIG_OUT7_IDX,
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
@@ -14,7 +14,16 @@ const ledc_signal_conn_t ledc_periph_signal[1] = {
|
||||
{
|
||||
.irq_id = ETS_LEDC_INTR_SOURCE,
|
||||
.speed_mode = {
|
||||
[0] = { .sig_out0_idx = LEDC_LS_SIG_OUT0_IDX },
|
||||
[0] = {
|
||||
.sig_out_idx = {
|
||||
LEDC_LS_SIG_OUT0_IDX,
|
||||
LEDC_LS_SIG_OUT1_IDX,
|
||||
LEDC_LS_SIG_OUT2_IDX,
|
||||
LEDC_LS_SIG_OUT3_IDX,
|
||||
LEDC_LS_SIG_OUT4_IDX,
|
||||
LEDC_LS_SIG_OUT5_IDX,
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
@@ -14,7 +14,16 @@ const ledc_signal_conn_t ledc_periph_signal[1] = {
|
||||
{
|
||||
.irq_id = ETS_LEDC_INTR_SOURCE,
|
||||
.speed_mode = {
|
||||
[0] = { .sig_out0_idx = LEDC_LS_SIG_OUT0_IDX },
|
||||
[0] = {
|
||||
.sig_out_idx = {
|
||||
LEDC_LS_SIG_OUT0_IDX,
|
||||
LEDC_LS_SIG_OUT1_IDX,
|
||||
LEDC_LS_SIG_OUT2_IDX,
|
||||
LEDC_LS_SIG_OUT3_IDX,
|
||||
LEDC_LS_SIG_OUT4_IDX,
|
||||
LEDC_LS_SIG_OUT5_IDX,
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
@@ -15,7 +15,16 @@ const ledc_signal_conn_t ledc_periph_signal[1] = {
|
||||
{
|
||||
.irq_id = ETS_LEDC_INTR_SOURCE,
|
||||
.speed_mode = {
|
||||
[0] = { .sig_out0_idx = LEDC_LS_SIG_OUT0_IDX },
|
||||
[0] = {
|
||||
.sig_out_idx = {
|
||||
LEDC_LS_SIG_OUT0_IDX,
|
||||
LEDC_LS_SIG_OUT1_IDX,
|
||||
LEDC_LS_SIG_OUT2_IDX,
|
||||
LEDC_LS_SIG_OUT3_IDX,
|
||||
LEDC_LS_SIG_OUT4_IDX,
|
||||
LEDC_LS_SIG_OUT5_IDX,
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
@@ -15,7 +15,16 @@ const ledc_signal_conn_t ledc_periph_signal[1] = {
|
||||
{
|
||||
.irq_id = ETS_LEDC_INTR_SOURCE,
|
||||
.speed_mode = {
|
||||
[0] = { .sig_out0_idx = LEDC_LS_SIG_OUT0_IDX },
|
||||
[0] = {
|
||||
.sig_out_idx = {
|
||||
LEDC_LS_SIG_OUT0_IDX,
|
||||
LEDC_LS_SIG_OUT1_IDX,
|
||||
LEDC_LS_SIG_OUT2_IDX,
|
||||
LEDC_LS_SIG_OUT3_IDX,
|
||||
LEDC_LS_SIG_OUT4_IDX,
|
||||
LEDC_LS_SIG_OUT5_IDX,
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
@@ -15,7 +15,16 @@ const ledc_signal_conn_t ledc_periph_signal[1] = {
|
||||
{
|
||||
.irq_id = ETS_LEDC_INTR_SOURCE,
|
||||
.speed_mode = {
|
||||
[0] = { .sig_out0_idx = LEDC_LS_SIG_OUT0_IDX },
|
||||
[0] = {
|
||||
.sig_out_idx = {
|
||||
LEDC_LS_SIG_OUT0_IDX,
|
||||
LEDC_LS_SIG_OUT1_IDX,
|
||||
LEDC_LS_SIG_OUT2_IDX,
|
||||
LEDC_LS_SIG_OUT3_IDX,
|
||||
LEDC_LS_SIG_OUT4_IDX,
|
||||
LEDC_LS_SIG_OUT5_IDX,
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
@@ -15,7 +15,16 @@ const ledc_signal_conn_t ledc_periph_signal[1] = {
|
||||
{
|
||||
.irq_id = ETS_LEDC_INTR_SOURCE,
|
||||
.speed_mode = {
|
||||
[0] = { .sig_out0_idx = LEDC_LS_SIG_OUT0_IDX },
|
||||
[0] = {
|
||||
.sig_out_idx = {
|
||||
LEDC_LS_SIG_OUT0_IDX,
|
||||
LEDC_LS_SIG_OUT1_IDX,
|
||||
LEDC_LS_SIG_OUT2_IDX,
|
||||
LEDC_LS_SIG_OUT3_IDX,
|
||||
LEDC_LS_SIG_OUT4_IDX,
|
||||
LEDC_LS_SIG_OUT5_IDX,
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
@@ -15,7 +15,16 @@ const ledc_signal_conn_t ledc_periph_signal[1] = {
|
||||
{
|
||||
.irq_id = ETS_LEDC_INTR_SOURCE,
|
||||
.speed_mode = {
|
||||
[0] = { .sig_out0_idx = LEDC_LS_SIG_OUT0_IDX },
|
||||
[0] = {
|
||||
.sig_out_idx = {
|
||||
LEDC_LS_SIG_OUT0_IDX,
|
||||
LEDC_LS_SIG_OUT1_IDX,
|
||||
LEDC_LS_SIG_OUT2_IDX,
|
||||
LEDC_LS_SIG_OUT3_IDX,
|
||||
LEDC_LS_SIG_OUT4_IDX,
|
||||
LEDC_LS_SIG_OUT5_IDX,
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
@@ -15,7 +15,18 @@ const ledc_signal_conn_t ledc_periph_signal[1] = {
|
||||
{
|
||||
.irq_id = ETS_LEDC_INTR_SOURCE,
|
||||
.speed_mode = {
|
||||
[0] = { .sig_out0_idx = LEDC_LS_SIG_OUT0_IDX },
|
||||
[0] = {
|
||||
.sig_out_idx = {
|
||||
LEDC_LS_SIG_OUT0_IDX,
|
||||
LEDC_LS_SIG_OUT1_IDX,
|
||||
LEDC_LS_SIG_OUT2_IDX,
|
||||
LEDC_LS_SIG_OUT3_IDX,
|
||||
LEDC_LS_SIG_OUT4_IDX,
|
||||
LEDC_LS_SIG_OUT5_IDX,
|
||||
LEDC_LS_SIG_OUT6_IDX,
|
||||
LEDC_LS_SIG_OUT7_IDX,
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
@@ -15,7 +15,18 @@ const ledc_signal_conn_t ledc_periph_signal[1] = {
|
||||
{
|
||||
.irq_id = ETS_LEDC_INTR_SOURCE,
|
||||
.speed_mode = {
|
||||
[0] = { .sig_out0_idx = LEDC_LS_SIG_OUT_PAD_OUT0_IDX },
|
||||
[0] = {
|
||||
.sig_out_idx = {
|
||||
LEDC_LS_SIG_OUT_PAD_OUT0_IDX,
|
||||
LEDC_LS_SIG_OUT_PAD_OUT1_IDX,
|
||||
LEDC_LS_SIG_OUT_PAD_OUT2_IDX,
|
||||
LEDC_LS_SIG_OUT_PAD_OUT3_IDX,
|
||||
LEDC_LS_SIG_OUT_PAD_OUT4_IDX,
|
||||
LEDC_LS_SIG_OUT_PAD_OUT5_IDX,
|
||||
LEDC_LS_SIG_OUT_PAD_OUT6_IDX,
|
||||
LEDC_LS_SIG_OUT_PAD_OUT7_IDX,
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
@@ -14,7 +14,18 @@ const ledc_signal_conn_t ledc_periph_signal[1] = {
|
||||
{
|
||||
.irq_id = ETS_LEDC_INTR_SOURCE,
|
||||
.speed_mode = {
|
||||
[0] = { .sig_out0_idx = LEDC_LS_SIG_OUT0_IDX },
|
||||
[0] = {
|
||||
.sig_out_idx = {
|
||||
LEDC_LS_SIG_OUT0_IDX,
|
||||
LEDC_LS_SIG_OUT1_IDX,
|
||||
LEDC_LS_SIG_OUT2_IDX,
|
||||
LEDC_LS_SIG_OUT3_IDX,
|
||||
LEDC_LS_SIG_OUT4_IDX,
|
||||
LEDC_LS_SIG_OUT5_IDX,
|
||||
LEDC_LS_SIG_OUT6_IDX,
|
||||
LEDC_LS_SIG_OUT7_IDX,
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
@@ -14,7 +14,18 @@ const ledc_signal_conn_t ledc_periph_signal[1] = {
|
||||
{
|
||||
.irq_id = ETS_LEDC_INTR_SOURCE,
|
||||
.speed_mode = {
|
||||
[0] = { .sig_out0_idx = LEDC_LS_SIG_OUT0_IDX },
|
||||
[0] = {
|
||||
.sig_out_idx = {
|
||||
LEDC_LS_SIG_OUT0_IDX,
|
||||
LEDC_LS_SIG_OUT1_IDX,
|
||||
LEDC_LS_SIG_OUT2_IDX,
|
||||
LEDC_LS_SIG_OUT3_IDX,
|
||||
LEDC_LS_SIG_OUT4_IDX,
|
||||
LEDC_LS_SIG_OUT5_IDX,
|
||||
LEDC_LS_SIG_OUT6_IDX,
|
||||
LEDC_LS_SIG_OUT7_IDX,
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
@@ -28,7 +28,7 @@ extern "C" {
|
||||
typedef struct {
|
||||
const int irq_id;
|
||||
struct {
|
||||
const int sig_out0_idx;
|
||||
const int sig_out_idx[SOC_LEDC_CHANNEL_NUM];
|
||||
} speed_mode[LEDC_SPEED_MODE_MAX];
|
||||
} ledc_signal_conn_t;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user