From b390d098f2f5cf954e7a1286b4f3c7f92a725bcd Mon Sep 17 00:00:00 2001 From: schneider <schneider@blinkenlichts.net> Date: Sat, 13 May 2023 02:16:40 +0200 Subject: [PATCH] espan: portexpander: detect rev6 --- components/badge23/espan.c | 2 ++ .../badge23/include/badge23/portexpander.h | 1 + components/badge23/portexpander.c | 16 ++++++++++++++++ 3 files changed, 19 insertions(+) diff --git a/components/badge23/espan.c b/components/badge23/espan.c index efc9e7bfb9..6ea9db68b7 100644 --- a/components/badge23/espan.c +++ b/components/badge23/espan.c @@ -54,6 +54,8 @@ void os_app_main(void) leds_init(); captouch_init(); + if(portexpander_rev6()) printf("REV6\n"); else printf("REV5\n"); + vTaskDelay(2000 / portTICK_PERIOD_MS); //set_global_vol_dB(0); diff --git a/components/badge23/include/badge23/portexpander.h b/components/badge23/include/badge23/portexpander.h index 105293ff46..8dfed44c75 100644 --- a/components/badge23/include/badge23/portexpander.h +++ b/components/badge23/include/badge23/portexpander.h @@ -5,4 +5,5 @@ void portexpander_set_badgelink(const bool enabled); void portexpander_set_leds(const bool enabled); void portexpander_set_lcd_reset(const bool enabled); +bool portexpander_rev6(void); void portexpander_init(void); diff --git a/components/badge23/portexpander.c b/components/badge23/portexpander.c index 6543230bf2..1a0fa45bdf 100644 --- a/components/badge23/portexpander.c +++ b/components/badge23/portexpander.c @@ -34,6 +34,17 @@ static esp_err_t pca9557_i2c_read(const uint8_t addr, const uint8_t reg, uint8_t return ret; } +static bool pca9557_detect(const uint8_t addr) +{ + uint8_t data; + esp_err_t ret = pca9557_i2c_read(addr, 0, &data); + if(ret == ESP_OK) { + return true; + } else { + return false; + } +} + static uint8_t pca9557_get(const uint8_t addr) { uint8_t pins; @@ -85,6 +96,11 @@ void portexpander_set_lcd_reset(const bool enabled) pca9557_set(PEX2, pex2_state); } +bool portexpander_rev6(void) +{ + return pca9557_detect(PEX1); +} + void portexpander_init(void) { pca9557_set_polarities(PEX1, 0); -- GitLab