From a3937b9195db4977744a5fd88b3e0117b442c7bf Mon Sep 17 00:00:00 2001 From: Serge Bazanski <q3k@q3k.org> Date: Sun, 21 May 2023 20:47:30 +0200 Subject: [PATCH] badge23: p3 support --- components/badge23/audio.c | 2 +- components/badge23/captouch.c | 15 ++++++++++++--- components/badge23/espan.c | 2 +- components/badge23/leds.c | 2 +- components/badge23/spio.c | 2 +- components/gc9a01/gc9a01.h | 2 +- sdkconfig.p3 | 29 +++++++++++++++++++++++++++++ 7 files changed, 46 insertions(+), 8 deletions(-) create mode 100644 sdkconfig.p3 diff --git a/components/badge23/audio.c b/components/badge23/audio.c index 6d24dca67e..539fa3da67 100644 --- a/components/badge23/audio.c +++ b/components/badge23/audio.c @@ -24,7 +24,7 @@ static void audio_player_task(void* arg); #define DMA_BUFFER_COUNT 2 #define I2S_PORT 0 -#if defined(CONFIG_BADGE23_HW_GEN_P4) +#if defined(CONFIG_BADGE23_HW_GEN_P3) || defined(CONFIG_BADGE23_HW_GEN_P4) static uint8_t max98091_i2c_read(const uint8_t reg) { const uint8_t tx[] = {reg}; diff --git a/components/badge23/captouch.c b/components/badge23/captouch.c index e25ec12b85..748360ab22 100644 --- a/components/badge23/captouch.c +++ b/components/badge23/captouch.c @@ -5,7 +5,7 @@ #include "badge23_hwconfig.h" #include <stdint.h> -#if defined(CONFIG_BADGE23_HW_GEN_P4) +#if defined(CONFIG_BADGE23_HW_GEN_P3) || defined(CONFIG_BADGE23_HW_GEN_P4) static const uint8_t top_map[] = {1, 1, 3, 3, 5, 5, 7, 7, 9, 9, 8, 8}; //flipped top and bottom from bootstrap reference static const uint8_t top_stages = 12; static const uint8_t bot_map[] = {0, 0, 0, 2, 2, 2, 6, 6, 6, 4, 4, 4}; //idk y :~) @@ -41,8 +41,17 @@ struct ad714x_chip { int stages; }; -static const struct ad714x_chip chip_top = {.addr = AD7147_BASE_ADDR + 1, .gpio = 48, .afe_offsets = {24, 12, 16, 33, 30, 28, 31, 27, 22, 24, 18, 19, }, .stages=top_stages}; -static const struct ad714x_chip chip_bot = {.addr = AD7147_BASE_ADDR, .gpio = 3, .afe_offsets = {3, 2, 1, 1 ,1, 1, 1, 1, 2, 3}, .stages=bottom_stages}; +// Captouch sensor chips addresses are swapped on proto3. Whoops. +#if defined(CONFIG_BADGE23_HW_GEN_P3) +#define AD7147_BASE_ADDR_TOP (AD7147_BASE_ADDR) +#define AD7147_BASE_ADDR_BOT (AD7147_BASE_ADDR + 1) +#else +#define AD7147_BASE_ADDR_TOP (AD7147_BASE_ADDR + 1) +#define AD7147_BASE_ADDR_BOT (AD7147_BASE_ADDR) +#endif + +static const struct ad714x_chip chip_top = {.addr = AD7147_BASE_ADDR_TOP, .gpio = 48, .afe_offsets = {24, 12, 16, 33, 30, 28, 31, 27, 22, 24, 18, 19, }, .stages=top_stages}; +static const struct ad714x_chip chip_bot = {.addr = AD7147_BASE_ADDR_BOT, .gpio = 3, .afe_offsets = {3, 2, 1, 1 ,1, 1, 1, 1, 2, 3}, .stages=bottom_stages}; static esp_err_t ad714x_i2c_write(const struct ad714x_chip *chip, const uint16_t reg, const uint16_t data) { diff --git a/components/badge23/espan.c b/components/badge23/espan.c index 74cf555fa1..b59346e24d 100644 --- a/components/badge23/espan.c +++ b/components/badge23/espan.c @@ -21,7 +21,7 @@ static const char *TAG = "espan"; #define I2C_MASTER_TX_BUF_DISABLE 0 /*!< I2C master doesn't need buffer */ #define I2C_MASTER_RX_BUF_DISABLE 0 /*!< I2C master doesn't need buffer */ -#if defined(CONFIG_BADGE23_HW_GEN_P4) +#if defined(CONFIG_BADGE23_HW_GEN_P3) || defined(CONFIG_BADGE23_HW_GEN_P4) #define CONFIG_I2C_MASTER_SDA 2 #define CONFIG_I2C_MASTER_SCL 1 diff --git a/components/badge23/leds.c b/components/badge23/leds.c index 3b32eb382d..ccd56d565a 100644 --- a/components/badge23/leds.c +++ b/components/badge23/leds.c @@ -11,7 +11,7 @@ #if defined(CONFIG_BADGE23_HW_GEN_P1) #define LED_SPI_PORT -#elif defined(CONFIG_BADGE23_HW_GEN_P4) +#elif defined(CONFIG_BADGE23_HW_GEN_P3) || defined(CONFIG_BADGE23_HW_GEN_P4) #define LED_ASYNC_PORT #else diff --git a/components/badge23/spio.c b/components/badge23/spio.c index b0cdaad757..e42842f9b6 100644 --- a/components/badge23/spio.c +++ b/components/badge23/spio.c @@ -59,7 +59,7 @@ void update_button_state(){ } } -#elif defined(CONFIG_BADGE23_HW_GEN_P4) +#elif defined(CONFIG_BADGE23_HW_GEN_P3) || defined(CONFIG_BADGE23_HW_GEN_P4) #include "driver/i2c.h" #define I2C_MASTER_NUM 0 diff --git a/components/gc9a01/gc9a01.h b/components/gc9a01/gc9a01.h index d5200d80cf..a17a513aac 100644 --- a/components/gc9a01/gc9a01.h +++ b/components/gc9a01/gc9a01.h @@ -26,7 +26,7 @@ #define GC9A01_PIN_NUM_RST 38 #define GC9A01_BUFFER_MODE 1 -#elif defined(CONFIG_BADGE23_HW_GEN_P4) +#elif defined(CONFIG_BADGE23_HW_GEN_P3) || defined(CONFIG_BADGE23_HW_GEN_P4) #define USE_SPI3_HOST 1 #define GC9A01_SPI_HOST 2 #define GC9A01_PIN_NUM_SCK 41 diff --git a/sdkconfig.p3 b/sdkconfig.p3 new file mode 100644 index 0000000000..1680de7e8e --- /dev/null +++ b/sdkconfig.p3 @@ -0,0 +1,29 @@ +CONFIG_APP_EXCLUDE_PROJECT_VER_VAR=y +CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR=y +CONFIG_BOOTLOADER_LOG_LEVEL_WARN=y +CONFIG_ESPTOOLPY_FLASHMODE_QIO=y +CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y +CONFIG_ESPTOOLPY_AFTER_NORESET=y +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="micropython/ports/esp32/partitions-8MiB.csv" +CONFIG_COMPILER_OPTIMIZATION_PERF=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y +CONFIG_BT_ENABLED=y +CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=4 +CONFIG_BT_NIMBLE_PINNED_TO_CORE_1=y +CONFIG_PM_ENABLE=y +CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=y +# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set +# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1 is not set +# CONFIG_ESP32_WIFI_IRAM_OPT is not set +# CONFIG_ESP32_WIFI_RX_IRAM_OPT is not set +CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=2 +CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP=y +CONFIG_FREERTOS_VTASKLIST_INCLUDE_COREID=y +CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y +CONFIG_LOG_DEFAULT_LEVEL_ERROR=y +CONFIG_LWIP_PPP_SUPPORT=y +CONFIG_LWIP_PPP_PAP_SUPPORT=y +CONFIG_LWIP_PPP_CHAP_SUPPORT=y +CONFIG_BADGE23_HW_GEN_P3=y -- GitLab