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 = {
.pin_bit_mask = (1ULL << GPIO_NUM_4)}; // Set control GPIO on ESP.
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,
.en_gpio_number = GPIO_NUM_18,
.s0_gpio_number = GPIO_NUM_19,
@ -50,7 +50,7 @@ void app_main(void)
.s2_gpio_number = GPIO_NUM_21,
.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_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.

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 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)
{
@ -98,12 +98,12 @@ gpio_num_t zh_cd74hc4067_pin(void)
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};
for (uint8_t i = 0; i <= sizeof(matrix); ++i)
uint8_t matrix[] = {s0, s1, s2, s3, en, control};
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])
{