Fix the fatal pin mapping issue.

This commit is contained in:
2025-02-21 16:18:16 +03:00
parent dcb5453522
commit 5e6e0c9a0e

View File

@@ -212,8 +212,9 @@ esp_err_t relay_chn_create(const gpio_num_t* gpio_map, uint8_t gpio_count)
esp_err_t ret; esp_err_t ret;
for (int i = 0; i < RELAY_CHN_COUNT; i++) { for (int i = 0; i < RELAY_CHN_COUNT; i++) {
gpio_num_t forward_pin = gpio_map[i]; int gpio_index = i << 1; // gpio_index = i * 2
gpio_num_t reverse_pin = gpio_map[i+1]; gpio_num_t forward_pin = gpio_map[gpio_index];
gpio_num_t reverse_pin = gpio_map[gpio_index + 1];
// Check if the GPIOs are valid // Check if the GPIOs are valid
if (!relay_chn_is_gpio_valid(forward_pin)) { if (!relay_chn_is_gpio_valid(forward_pin)) {
ESP_LOGE(TAG, "Invalid GPIO pin number: %d", forward_pin); ESP_LOGE(TAG, "Invalid GPIO pin number: %d", forward_pin);