diff --git a/components/badge23/espan.c b/components/badge23/espan.c index efc9e7bfb9c1f99824c70e1654adfd0ba781b2dd..6ea9db68b7a89da2706c7ac84c8cee4aa1200caf 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 105293ff46016c5cc86df6936b1a626bcbcd81fd..8dfed44c759f83441dd56df4f51c0a10b2d939e2 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 6543230bf2af728efcd22aa5d5eec8441b661e6f..1a0fa45bdf671e5b1424e7138774d5d02326121a 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);