From 5619870d785bdd2faed1f120f8bc284e427614ca Mon Sep 17 00:00:00 2001
From: Serge Bazanski <q3k@q3k.org>
Date: Sun, 11 Jun 2023 16:02:05 +0200
Subject: [PATCH] components/badg23_hwconfig: roll up into flow3r_bsp

---
 components/badge23/CMakeLists.txt                    |  1 -
 components/badge23/audio.c                           |  1 -
 components/badge23/captouch.c                        |  1 -
 components/badge23/espan.c                           |  5 +++--
 components/badge23/leds.c                            |  1 -
 components/badge23/spio.c                            |  1 -
 .../badge23_hwconfig/include/badge23_hwconfig.h      |  6 ------
 components/flow3r_bsp/CMakeLists.txt                 |  1 +
 components/flow3r_bsp/flow3r_bsp.h                   |  5 ++++-
 .../flow3r_bsp_hwconfig.c}                           | 12 ++++++------
 components/{badge23_hwconfig => st3m}/CMakeLists.txt |  5 +++--
 main/CMakeLists.txt                                  |  2 +-
 usermodule/mp_audio.c                                |  1 -
 usermodule/mp_badge_link.c                           |  1 -
 usermodule/mp_hardware.c                             |  5 +++--
 usermodule/mp_leds.c                                 |  1 -
 16 files changed, 21 insertions(+), 28 deletions(-)
 delete mode 100644 components/badge23_hwconfig/include/badge23_hwconfig.h
 rename components/{badge23_hwconfig/badge23_hwconfig.c => flow3r_bsp/flow3r_bsp_hwconfig.c} (52%)
 rename components/{badge23_hwconfig => st3m}/CMakeLists.txt (54%)

diff --git a/components/badge23/CMakeLists.txt b/components/badge23/CMakeLists.txt
index 65959cc07b..2fa07d9f4d 100644
--- a/components/badge23/CMakeLists.txt
+++ b/components/badge23/CMakeLists.txt
@@ -12,7 +12,6 @@ idf_component_register(
     INCLUDE_DIRS
         include
     REQUIRES
-        badge23_hwconfig
         flow3r_bsp
         espressif__led_strip
 )
diff --git a/components/badge23/audio.c b/components/badge23/audio.c
index 726e4c5965..c721c87561 100644
--- a/components/badge23/audio.c
+++ b/components/badge23/audio.c
@@ -2,7 +2,6 @@
 #include "badge23/synth.h" 
 #include "badge23/scope.h"
 #include "badge23/lock.h"
-#include "badge23_hwconfig.h"
 
 #include "driver/i2s.h"
 #include "driver/i2c.h"
diff --git a/components/badge23/captouch.c b/components/badge23/captouch.c
index f0ad5f5038..6163b0103e 100644
--- a/components/badge23/captouch.c
+++ b/components/badge23/captouch.c
@@ -2,7 +2,6 @@
 //#include <string.h>
 #include "esp_log.h"
 #include "driver/i2c.h"
-#include "badge23_hwconfig.h"
 #include <stdint.h>
 #include <freertos/FreeRTOS.h>
 #include <freertos/atomic.h>
diff --git a/components/badge23/espan.c b/components/badge23/espan.c
index 9b6d75d4bd..a2aa2ff754 100644
--- a/components/badge23/espan.c
+++ b/components/badge23/espan.c
@@ -3,9 +3,10 @@
 #include "badge23/leds.h"
 #include "badge23/display.h"
 #include "badge23/spio.h"
-#include "badge23_hwconfig.h"
 #include "badge23/lock.h"
 
+#include "flow3r_bsp.h"
+
 #include "esp_log.h"
 #include "driver/i2c.h"
 #include "driver/spi_master.h"
@@ -97,7 +98,7 @@ void os_app_main(void)
     display_init();
 
     locks_init();
-    ESP_LOGI(TAG, "Starting on %s...", badge23_hw_name);
+    ESP_LOGI(TAG, "Starting on %s...", flow3r_bsp_hw_name);
     ESP_ERROR_CHECK(i2c_master_init());
     ESP_LOGI(TAG, "I2C initialized successfully");
 
diff --git a/components/badge23/leds.c b/components/badge23/leds.c
index 5accc7e687..321910f719 100644
--- a/components/badge23/leds.c
+++ b/components/badge23/leds.c
@@ -7,7 +7,6 @@
 #include "esp_system.h"
 #include "badge23/leds.h"
 #include "badge23/lock.h"
-#include "badge23_hwconfig.h"
 
 static uint8_t leds_brightness = 69;;
 static uint8_t leds_slew_rate = 255;
diff --git a/components/badge23/spio.c b/components/badge23/spio.c
index a918912af7..c405026cc7 100644
--- a/components/badge23/spio.c
+++ b/components/badge23/spio.c
@@ -1,6 +1,5 @@
 //special purpose input outputs
 #include "driver/gpio.h"
-#include "badge23_hwconfig.h"
 #include "stdint.h"
 #include "badge23/spio.h"
 #include "badge23/lock.h"
diff --git a/components/badge23_hwconfig/include/badge23_hwconfig.h b/components/badge23_hwconfig/include/badge23_hwconfig.h
deleted file mode 100644
index 5849a9149d..0000000000
--- a/components/badge23_hwconfig/include/badge23_hwconfig.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#pragma once
-
-#include "sdkconfig.h"
-
-// internal name of the badge hardware version (proto1, proto3, etc).
-const char *badge23_hw_name;
diff --git a/components/flow3r_bsp/CMakeLists.txt b/components/flow3r_bsp/CMakeLists.txt
index 52d3990ff9..a15017d094 100644
--- a/components/flow3r_bsp/CMakeLists.txt
+++ b/components/flow3r_bsp/CMakeLists.txt
@@ -2,6 +2,7 @@ idf_component_register(
     SRCS
 		flow3r_bsp_display.c
 		flow3r_bsp_gc9a01.c
+		flow3r_bsp_hwconfig.c
     INCLUDE_DIRS
 		.
 )
diff --git a/components/flow3r_bsp/flow3r_bsp.h b/components/flow3r_bsp/flow3r_bsp.h
index ef1fd76cfe..58ff3056c2 100644
--- a/components/flow3r_bsp/flow3r_bsp.h
+++ b/components/flow3r_bsp/flow3r_bsp.h
@@ -29,4 +29,7 @@ void flow3r_bsp_display_set_backlight(uint8_t percent);
 
 // Currently same on all generations. Might change on future revisions.
 #define FLOW3R_BSP_DISPLAY_WIDTH 240
-#define FLOW3R_BSP_DISPLAY_HEIGHT 240
\ No newline at end of file
+#define FLOW3R_BSP_DISPLAY_HEIGHT 240
+
+// Badge hardware generation name, human-readable.
+const char *flow3r_bsp_hw_name;
\ No newline at end of file
diff --git a/components/badge23_hwconfig/badge23_hwconfig.c b/components/flow3r_bsp/flow3r_bsp_hwconfig.c
similarity index 52%
rename from components/badge23_hwconfig/badge23_hwconfig.c
rename to components/flow3r_bsp/flow3r_bsp_hwconfig.c
index c583785f35..8b78878db7 100644
--- a/components/badge23_hwconfig/badge23_hwconfig.c
+++ b/components/flow3r_bsp/flow3r_bsp_hwconfig.c
@@ -1,15 +1,15 @@
-#include "badge23_hwconfig.h"
+#include "sdkconfig.h"
 
 #if defined(CONFIG_BADGE23_HW_GEN_P1)
-const char *badge23_hw_name = "proto1";
+const char *flow3r_bsp_hw_name = "proto1";
 #elif defined(CONFIG_BADGE23_HW_GEN_P3)
-const char *badge23_hw_name = "proto3";
+const char *flow3r_bsp_hw_name = "proto3";
 #elif defined(CONFIG_BADGE23_HW_GEN_P4)
-const char *badge23_hw_name = "proto4";
+const char *flow3r_bsp_hw_name = "proto4";
 #elif defined(CONFIG_BADGE23_HW_GEN_ADILESS)
-const char *badge23_hw_name = "adiless";
+const char *flow3r_bsp_hw_name = "adiless";
 #elif defined(CONFIG_BADGE23_HW_GEN_P6)
-const char *badge23_hw_name = "proto6";
+const char *flow3r_bsp_hw_name = "proto6";
 #else
 #error "Badge23 Hardware Generation must be set!"
 #endif
diff --git a/components/badge23_hwconfig/CMakeLists.txt b/components/st3m/CMakeLists.txt
similarity index 54%
rename from components/badge23_hwconfig/CMakeLists.txt
rename to components/st3m/CMakeLists.txt
index a807c6af80..29dde06d87 100644
--- a/components/badge23_hwconfig/CMakeLists.txt
+++ b/components/st3m/CMakeLists.txt
@@ -1,6 +1,7 @@
 idf_component_register(
     SRCS
-        badge23_hwconfig.c
     INCLUDE_DIRS
-        include
+        .
+    REQUIRES
+        flow3r_bsp
 )
diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt
index 08d677031a..9c48a07570 100644
--- a/main/CMakeLists.txt
+++ b/main/CMakeLists.txt
@@ -104,7 +104,7 @@ set(MICROPY_SOURCE_QSTR
 set(IDF_COMPONENTS
     app_update
     badge23
-    badge23_hwconfig
+    flow3r_bsp
     bootloader_support
     bt
     driver
diff --git a/usermodule/mp_audio.c b/usermodule/mp_audio.c
index b2300b88d5..2634c1a831 100644
--- a/usermodule/mp_audio.c
+++ b/usermodule/mp_audio.c
@@ -12,7 +12,6 @@
 #include "py/runtime.h"
 
 #include "badge23/audio.h"
-#include "badge23_hwconfig.h"
 
 // documentation: these are all super thin wrappers for the c api in components/badge23/include/badge23/audio.h
 
diff --git a/usermodule/mp_badge_link.c b/usermodule/mp_badge_link.c
index 4111816972..5e07e18c75 100644
--- a/usermodule/mp_badge_link.c
+++ b/usermodule/mp_badge_link.c
@@ -17,7 +17,6 @@
 #include "badge23/display.h"
 #include "badge23/spio.h"
 #include "badge23/espan.h"
-#include "badge23_hwconfig.h"
 
 mp_obj_t mp_ctx_from_ctx(Ctx *ctx);
 
diff --git a/usermodule/mp_hardware.c b/usermodule/mp_hardware.c
index ed5cf36587..18bb7d1686 100644
--- a/usermodule/mp_hardware.c
+++ b/usermodule/mp_hardware.c
@@ -16,7 +16,8 @@
 #include "badge23/display.h"
 #include "badge23/spio.h"
 #include "badge23/espan.h"
-#include "badge23_hwconfig.h"
+
+#include "flow3r_bsp.h"
 
 mp_obj_t mp_ctx_from_ctx(Ctx *ctx);
 
@@ -166,7 +167,7 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(mp_dump_all_sources_obj, 0, 2, mp_dum
 
 
 STATIC mp_obj_t mp_version(void) {
-    mp_obj_t str = mp_obj_new_str(badge23_hw_name, strlen(badge23_hw_name));
+    mp_obj_t str = mp_obj_new_str(flow3r_bsp_hw_name, strlen(flow3r_bsp_hw_name));
     return str;
 }
 STATIC MP_DEFINE_CONST_FUN_OBJ_0(mp_version_obj, mp_version);
diff --git a/usermodule/mp_leds.c b/usermodule/mp_leds.c
index 4d9baf698e..8f7e35a711 100644
--- a/usermodule/mp_leds.c
+++ b/usermodule/mp_leds.c
@@ -13,7 +13,6 @@
 
 #include "badge23/leds.h"
 #include "badge23/espan.h"
-#include "badge23_hwconfig.h"
 
 STATIC mp_obj_t mp_leds_set_brightness(mp_obj_t b) {
     leds_set_brightness(mp_obj_get_int(b));
-- 
GitLab