Compare commits

...

2 Commits
v1.0.0 ... main

Author SHA1 Message Date
782d78103b doc: updated example 2025-06-07 23:21:20 +03:00
e2404f1441 fix: gpio_check out of range 2025-05-18 15:39:47 +03:00
3 changed files with 8 additions and 8 deletions

View File

@ -42,7 +42,7 @@ void app_main(void)
gpio_config_t pin_config = { gpio_config_t pin_config = {
.pin_bit_mask = (1ULL << GPIO_NUM_4)}; // Set control GPIO on ESP. .pin_bit_mask = (1ULL << GPIO_NUM_4)}; // Set control GPIO on ESP.
gpio_config(&pin_config); gpio_config(&pin_config);
zh_cd74hc4067_init_config_t init_config = { zh_cd74hc4067_init_config_t cd74hc4067_init_config = {
.control_gpio_number = GPIO_NUM_4, .control_gpio_number = GPIO_NUM_4,
.en_gpio_number = GPIO_NUM_18, .en_gpio_number = GPIO_NUM_18,
.s0_gpio_number = GPIO_NUM_19, .s0_gpio_number = GPIO_NUM_19,
@ -50,7 +50,7 @@ void app_main(void)
.s2_gpio_number = GPIO_NUM_21, .s2_gpio_number = GPIO_NUM_21,
.s3_gpio_number = GPIO_NUM_22, .s3_gpio_number = GPIO_NUM_22,
}; };
zh_cd74hc4067_init(&init_config); zh_cd74hc4067_init(&cd74hc4067_init_config);
gpio_set_direction(zh_cd74hc4067_pin(), GPIO_MODE_OUTPUT); // Set control GPIO on ESP to output. gpio_set_direction(zh_cd74hc4067_pin(), GPIO_MODE_OUTPUT); // Set control GPIO on ESP to output.
gpio_set_level(zh_cd74hc4067_set(10), 1); // Connect 10 GPIO on CD74HC4067 and set it to HIGH. gpio_set_level(zh_cd74hc4067_set(10), 1); // Connect 10 GPIO on CD74HC4067 and set it to HIGH.
zh_cd74hc4067_set(12); // Connect 12 GPIO on CD74HC4067. zh_cd74hc4067_set(12); // Connect 12 GPIO on CD74HC4067.

View File

@ -1 +1 @@
1.0.0 1.0.1

View File

@ -36,7 +36,7 @@ static zh_cd74hc4067_init_config_t _init_config = {0};
static uint8_t _connected_gpio = 0; static uint8_t _connected_gpio = 0;
static bool _is_initialized = false; static bool _is_initialized = false;
static bool _zh_cd74hc4067_gpio_check(uint8_t a, uint8_t b, uint8_t c, uint8_t d, uint8_t e, uint8_t f); static bool _zh_cd74hc4067_gpio_check(uint8_t s0, uint8_t s1, uint8_t s2, uint8_t s3, uint8_t en, uint8_t control);
esp_err_t zh_cd74hc4067_init(const zh_cd74hc4067_init_config_t *config) esp_err_t zh_cd74hc4067_init(const zh_cd74hc4067_init_config_t *config)
{ {
@ -98,12 +98,12 @@ gpio_num_t zh_cd74hc4067_pin(void)
return (gpio_num_t)_init_config.control_gpio_number; return (gpio_num_t)_init_config.control_gpio_number;
} }
static bool _zh_cd74hc4067_gpio_check(uint8_t a, uint8_t b, uint8_t c, uint8_t d, uint8_t e, uint8_t f) static bool _zh_cd74hc4067_gpio_check(uint8_t s0, uint8_t s1, uint8_t s2, uint8_t s3, uint8_t en, uint8_t control)
{ {
uint8_t matrix[] = {a, b, c, d, e, f}; uint8_t matrix[] = {s0, s1, s2, s3, en, control};
for (uint8_t i = 0; i <= sizeof(matrix); ++i) for (uint8_t i = 0; i < sizeof(matrix); ++i)
{ {
for (uint8_t j = i + 1; j <= sizeof(matrix); ++j) for (uint8_t j = i + 1; j < sizeof(matrix); ++j)
{ {
if (matrix[i] == matrix[j]) if (matrix[i] == matrix[j])
{ {