mirror of
https://github.com/ByteWelder/Tactility.git
synced 2026-02-18 02:43:15 +00:00
Build improvements (#250)
- Fix case for board configs - CMake now only builds a single board instead of all boards for the selected SOC. This makes it quicker to compile a single firmware.
This commit is contained in:
parent
7f33364bf4
commit
ebd2c7c6f9
12
.github/workflows/build-firmware.yml
vendored
12
.github/workflows/build-firmware.yml
vendored
@ -9,23 +9,23 @@ on:
|
||||
permissions: read-all
|
||||
|
||||
jobs:
|
||||
cyd-2432S024c:
|
||||
cyd-2432s024c:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: "Build"
|
||||
uses: ./.github/actions/build-firmware
|
||||
with:
|
||||
board_id: cyd-2432S024c
|
||||
board_id: cyd-2432s024c
|
||||
arch: esp32
|
||||
cyd-2432S032c:
|
||||
cyd-2432s032c:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: "Build"
|
||||
uses: ./.github/actions/build-firmware
|
||||
with:
|
||||
board_id: cyd-2432S032c
|
||||
board_id: cyd-2432s032c
|
||||
arch: esp32
|
||||
cyd-jc2432w328c:
|
||||
runs-on: ubuntu-latest
|
||||
@ -36,14 +36,14 @@ jobs:
|
||||
with:
|
||||
board_id: cyd-jc2432w328c
|
||||
arch: esp32
|
||||
cyd-8048S043c:
|
||||
cyd-8048s043c:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: "Build"
|
||||
uses: ./.github/actions/build-firmware
|
||||
with:
|
||||
board_id: cyd-8048S043c
|
||||
board_id: cyd-8048s043c
|
||||
arch: esp32s3
|
||||
cyd-jc8048w550c:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
2
.github/workflows/build-sdk.yml
vendored
2
.github/workflows/build-sdk.yml
vendored
@ -16,7 +16,7 @@ jobs:
|
||||
- name: "Build"
|
||||
uses: ./.github/actions/build-sdk
|
||||
with:
|
||||
board_id: cyd-2432S024c
|
||||
board_id: cyd-2432s024c
|
||||
arch: esp32
|
||||
esp32s3:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
@ -1,41 +1,18 @@
|
||||
cmake_minimum_required(VERSION 3.20)
|
||||
|
||||
if (DEFINED ENV{ESP_IDF_VERSION})
|
||||
set(BOARD_COMPONENTS Tactility TactilityC)
|
||||
|
||||
if("${IDF_TARGET}" STREQUAL "esp32")
|
||||
list(APPEND BOARD_COMPONENTS
|
||||
CYD-2432S024C
|
||||
CYD-2432S032C
|
||||
CYD-JC2432W328C
|
||||
ElecrowCrowpanelBasic28
|
||||
ElecrowCrowpanelBasic35
|
||||
M5stackCore2
|
||||
)
|
||||
endif()
|
||||
|
||||
if("${IDF_TARGET}" STREQUAL "esp32s3")
|
||||
list(APPEND BOARD_COMPONENTS
|
||||
CYD-4848S040C
|
||||
CYD-8048S043C
|
||||
CYD-JC8048W550C
|
||||
ElecrowCrowpanelAdvance28
|
||||
ElecrowCrowpanelAdvance35
|
||||
ElecrowCrowpanelAdvance50
|
||||
ElecrowCrowpanelBasic50
|
||||
LilygoTdeck
|
||||
M5stackCoreS3
|
||||
UnPhone
|
||||
WaveshareS3Touch43
|
||||
)
|
||||
endif()
|
||||
# Read board id/project
|
||||
include("../Buildscripts/board.cmake")
|
||||
init_tactility_globals("../sdkconfig")
|
||||
get_property(TACTILITY_BOARD_PROJECT GLOBAL PROPERTY TACTILITY_BOARD_PROJECT)
|
||||
|
||||
idf_component_register(
|
||||
SRC_DIRS "Source"
|
||||
"Source/HelloWorld"
|
||||
REQUIRES ${BOARD_COMPONENTS}
|
||||
REQUIRES Tactility TactilityC ${TACTILITY_BOARD_PROJECT}
|
||||
)
|
||||
else()
|
||||
else ()
|
||||
|
||||
file(GLOB_RECURSE SOURCES "Source/*.c*")
|
||||
add_executable(AppSim ${SOURCES})
|
||||
@ -49,4 +26,4 @@ else()
|
||||
|
||||
add_definitions(-D_Nullable=)
|
||||
add_definitions(-D_Nonnull=)
|
||||
endif()
|
||||
endif ()
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
#define TT_BOARD_HARDWARE &lilygo_tdeck
|
||||
#elif defined(CONFIG_TT_BOARD_CYD_2432S024C)
|
||||
#include "CYD2432S024C.h"
|
||||
#define TT_BOARD_HARDWARE &cyd_2432S024c_config
|
||||
#define TT_BOARD_HARDWARE &cyd_2432s024c_config
|
||||
#elif defined(CONFIG_TT_BOARD_CYD_2432S032C)
|
||||
#include "CYD2432S032C.h"
|
||||
#define TT_BOARD_HARDWARE &cyd_2432S032c_config
|
||||
|
||||
@ -12,7 +12,7 @@ bool initBoot() {
|
||||
return driver::pwmbacklight::init(TWODOTFOUR_LCD_PIN_BACKLIGHT);
|
||||
}
|
||||
|
||||
const tt::hal::Configuration cyd_2432S024c_config = {
|
||||
const tt::hal::Configuration cyd_2432s024c_config = {
|
||||
.initBoot = initBoot,
|
||||
.createDisplay = createDisplay,
|
||||
.sdcard = createYellowSdCard(),
|
||||
|
||||
@ -3,4 +3,4 @@
|
||||
#include <Tactility/hal/Configuration.h>
|
||||
|
||||
// Capacitive touch version of the 2.4" yellow board
|
||||
extern const tt::hal::Configuration cyd_2432S024c_config;
|
||||
extern const tt::hal::Configuration cyd_2432s024c_config;
|
||||
|
||||
60
Buildscripts/board.cmake
Normal file
60
Buildscripts/board.cmake
Normal file
@ -0,0 +1,60 @@
|
||||
function(INIT_TACTILITY_GLOBALS SDKCONFIG_FILE)
|
||||
get_filename_component(SDKCONFIG_FILE_ABS ${SDKCONFIG_FILE} ABSOLUTE)
|
||||
# Find the board identifier in the sdkconfig file
|
||||
file(READ ${SDKCONFIG_FILE_ABS} sdkconfig_text)
|
||||
string(REGEX MATCH "(CONFIG_TT_BOARD_ID\=\"[a-z0-9_\-]*\")" sdkconfig_board_id "${sdkconfig_text}")
|
||||
if (sdkconfig_board_id STREQUAL "")
|
||||
message(FATAL_ERROR "CONFIG_TT_BOARD_ID not found in sdkconfig:\nMake sure you copied one of the sdkconfig.board.* files into sdkconfig")
|
||||
endif ()
|
||||
string(LENGTH ${sdkconfig_board_id} sdkconfig_board_id_length)
|
||||
set(id_length 0)
|
||||
math(EXPR id_length "${sdkconfig_board_id_length} - 21")
|
||||
string(SUBSTRING ${sdkconfig_board_id} 20 ${id_length} board_id)
|
||||
message("Building board ${board_id}")
|
||||
|
||||
if (board_id STREQUAL "cyd-2432s024c")
|
||||
set(TACTILITY_BOARD_PROJECT CYD-2432S024C)
|
||||
elseif (board_id STREQUAL "cyd-2432s032c")
|
||||
set(TACTILITY_BOARD_PROJECT CYD-2432S032C)
|
||||
elseif (board_id STREQUAL "cyd-4848s040c")
|
||||
set(TACTILITY_BOARD_PROJECT CYD-4848S040C)
|
||||
elseif (board_id STREQUAL "cyd-8048s043c")
|
||||
set(TACTILITY_BOARD_PROJECT CYD-8048S043C)
|
||||
elseif (board_id STREQUAL "cyd-jc2432w328c")
|
||||
set(TACTILITY_BOARD_PROJECT CYD-JC2432W328C)
|
||||
elseif (board_id STREQUAL "cyd-jc8048w550c")
|
||||
set(TACTILITY_BOARD_PROJECT CYD-JC8048W550C)
|
||||
elseif (board_id STREQUAL "elecrow-crowpanel-advance-28")
|
||||
set(TACTILITY_BOARD_PROJECT ElecrowCrowpanelAdvance28)
|
||||
elseif (board_id STREQUAL "elecrow-crowpanel-advance-35")
|
||||
set(TACTILITY_BOARD_PROJECT ElecrowCrowpanelAdvance35)
|
||||
elseif (board_id STREQUAL "elecrow-crowpanel-advance-50")
|
||||
set(TACTILITY_BOARD_PROJECT ElecrowCrowpanelAdvance50)
|
||||
elseif (board_id STREQUAL "elecrow-crowpanel-basic-28")
|
||||
set(TACTILITY_BOARD_PROJECT ElecrowCrowpanelBasic28)
|
||||
elseif (board_id STREQUAL "elecrow-crowpanel-basic-35")
|
||||
set(TACTILITY_BOARD_PROJECT ElecrowCrowpanelBasic35)
|
||||
elseif (board_id STREQUAL "elecrow-crowpanel-basic-50")
|
||||
set(TACTILITY_BOARD_PROJECT ElecrowCrowpanelBasic50)
|
||||
elseif (board_id STREQUAL "lilygo-tdeck")
|
||||
set(TACTILITY_BOARD_PROJECT LilygoTdeck)
|
||||
elseif (board_id STREQUAL "m5stack-core2")
|
||||
set(TACTILITY_BOARD_PROJECT M5stackCore2)
|
||||
elseif (board_id STREQUAL "m5stack-cores3")
|
||||
set(TACTILITY_BOARD_PROJECT M5stackCoreS3)
|
||||
elseif (board_id STREQUAL "unphone")
|
||||
set(TACTILITY_BOARD_PROJECT UnPhone)
|
||||
elseif (board_id STREQUAL "waveshare-s3-touch-43")
|
||||
set(TACTILITY_BOARD_PROJECT WaveshareS3Touch43)
|
||||
else ()
|
||||
set(TACTILITY_BOARD_PROJECT "")
|
||||
endif ()
|
||||
|
||||
if (TACTILITY_BOARD_PROJECT STREQUAL "")
|
||||
message(FATAL_ERROR "No subproject mapped to \"${TACTILITY_BOARD_ID}\" in root Buildscripts/board.cmake")
|
||||
else ()
|
||||
message("Board project: Boards/${TACTILITY_BOARD_PROJECT}")
|
||||
set_property(GLOBAL PROPERTY TACTILITY_BOARD_PROJECT ${TACTILITY_BOARD_PROJECT})
|
||||
set_property(GLOBAL PROPERTY TACTILITY_BOARD_ID ${board_id})
|
||||
endif ()
|
||||
endfunction()
|
||||
@ -15,10 +15,14 @@ if (DEFINED ENV{ESP_IDF_VERSION})
|
||||
message("Building with ESP-IDF v$ENV{ESP_IDF_VERSION}")
|
||||
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
||||
|
||||
include("Buildscripts/board.cmake")
|
||||
init_tactility_globals("sdkconfig")
|
||||
get_property(TACTILITY_BOARD_PROJECT GLOBAL PROPERTY TACTILITY_BOARD_PROJECT)
|
||||
|
||||
set(COMPONENTS App)
|
||||
set(EXTRA_COMPONENT_DIRS
|
||||
"App"
|
||||
"Boards"
|
||||
"Boards/${TACTILITY_BOARD_PROJECT}"
|
||||
"Drivers"
|
||||
"Tactility"
|
||||
"TactilityC"
|
||||
@ -34,31 +38,6 @@ if (DEFINED ENV{ESP_IDF_VERSION})
|
||||
|
||||
set(EXCLUDE_COMPONENTS "Simulator")
|
||||
|
||||
# ESP32 target should exclude ESP32-S3 boards
|
||||
if("${IDF_TARGET}" STREQUAL "esp32")
|
||||
set(EXCLUDE_COMPONENTS "CYD-8048S043C")
|
||||
set(EXCLUDE_COMPONENTS "CYD-JC8048W550C")
|
||||
set(EXCLUDE_COMPONENTS "CYD-4848S040C")
|
||||
set(EXCLUDE_COMPONENTS "ElecrowCrowpanelAdvance28")
|
||||
set(EXCLUDE_COMPONENTS "ElecrowCrowpanelAdvance35")
|
||||
set(EXCLUDE_COMPONENTS "ElecrowCrowpanelAdvance50")
|
||||
set(EXCLUDE_COMPONENTS "ElecrowCrowpanelBasic50")
|
||||
set(EXCLUDE_COMPONENTS "LilygoTdeck")
|
||||
set(EXCLUDE_COMPONENTS "M5stackCoreS3")
|
||||
set(EXCLUDE_COMPONENTS "WaveshareEsp32S3TouchLcd43")
|
||||
set(EXCLUDE_COMPONENTS "UnPhone")
|
||||
endif()
|
||||
|
||||
# ESP32-S3 target should exclude ESP32 boards
|
||||
if("${IDF_TARGET}" STREQUAL "esp32s3")
|
||||
set(EXCLUDE_COMPONENTS "CYD-2432S024C")
|
||||
set(EXCLUDE_COMPONENTS "CYD-2432S032C")
|
||||
set(EXCLUDE_COMPONENTS "CYD-JC2432W328C")
|
||||
set(EXCLUDE_COMPONENTS "ElecrowCrowpanelBasic28")
|
||||
set(EXCLUDE_COMPONENTS "ElecrowCrowpanelBasic35")
|
||||
set(EXCLUDE_COMPONENTS "M5stackCore2")
|
||||
endif()
|
||||
|
||||
# LVGL
|
||||
get_filename_component(
|
||||
LVGL_CONFIG_FULL_PATH Libraries/lvgl_conf ABSOLUTE
|
||||
|
||||
@ -30,7 +30,7 @@ CONFIG_FATFS_VOLUME_COUNT=3
|
||||
# Hardware: Main
|
||||
CONFIG_TT_BOARD_CYD_2432S024C=y
|
||||
CONFIG_TT_BOARD_NAME="CYD 2432S024C"
|
||||
CONFIG_TT_BOARD_ID="cyd-2432S024c"
|
||||
CONFIG_TT_BOARD_ID="cyd-2432s024c"
|
||||
CONFIG_IDF_TARGET="esp32"
|
||||
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y
|
||||
CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y
|
||||
@ -30,7 +30,7 @@ CONFIG_FATFS_VOLUME_COUNT=3
|
||||
# Hardware: Main
|
||||
CONFIG_TT_BOARD_CYD_2432S032C=y
|
||||
CONFIG_TT_BOARD_NAME="CYD 2432S032C"
|
||||
CONFIG_TT_BOARD_ID="cyd-2432S032c"
|
||||
CONFIG_TT_BOARD_ID="cyd-2432s032c"
|
||||
CONFIG_IDF_TARGET="esp32"
|
||||
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y
|
||||
CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y
|
||||
@ -30,7 +30,7 @@ CONFIG_FATFS_VOLUME_COUNT=3
|
||||
# Hardware: Main
|
||||
CONFIG_TT_BOARD_CYD_JC2432W328C=y
|
||||
CONFIG_TT_BOARD_NAME="CYD JC2432W328C"
|
||||
CONFIG_TT_BOARD_ID="cyd-jc2432W328c"
|
||||
CONFIG_TT_BOARD_ID="cyd-jc2432w328c"
|
||||
CONFIG_IDF_TARGET="esp32"
|
||||
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y
|
||||
CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y
|
||||
|
||||
@ -30,7 +30,7 @@ CONFIG_FATFS_VOLUME_COUNT=3
|
||||
# Hardware: Main
|
||||
CONFIG_TT_BOARD_ELECROW_CROWPANEL_ADVANCE_28=y
|
||||
CONFIG_TT_BOARD_NAME="CrowPanel Advance 2.8"
|
||||
CONFIG_TT_BOARD_ID="crowpanel-advance-28"
|
||||
CONFIG_TT_BOARD_ID="elecrow-crowpanel-advance-28"
|
||||
CONFIG_IDF_EXPERIMENTAL_FEATURES=y
|
||||
CONFIG_IDF_TARGET="esp32s3"
|
||||
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y
|
||||
|
||||
@ -30,7 +30,7 @@ CONFIG_FATFS_VOLUME_COUNT=3
|
||||
# Hardware: Main
|
||||
CONFIG_TT_BOARD_ELECROW_CROWPANEL_ADVANCE_35=y
|
||||
CONFIG_TT_BOARD_NAME="CrowPanel Advance 3.5"
|
||||
CONFIG_TT_BOARD_ID="crowpanel-advance-35"
|
||||
CONFIG_TT_BOARD_ID="elecrow-crowpanel-advance-35"
|
||||
CONFIG_IDF_EXPERIMENTAL_FEATURES=y
|
||||
CONFIG_IDF_TARGET="esp32s3"
|
||||
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y
|
||||
|
||||
@ -30,7 +30,7 @@ CONFIG_FATFS_VOLUME_COUNT=3
|
||||
# Hardware: Main
|
||||
CONFIG_TT_BOARD_ELECROW_CROWPANEL_ADVANCE_50=y
|
||||
CONFIG_TT_BOARD_NAME="CrowPanel Advance 5.0"
|
||||
CONFIG_TT_BOARD_ID="crowpanel-advance-50"
|
||||
CONFIG_TT_BOARD_ID="elecrow-crowpanel-advance-50"
|
||||
CONFIG_IDF_EXPERIMENTAL_FEATURES=y
|
||||
CONFIG_IDF_TARGET="esp32s3"
|
||||
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y
|
||||
|
||||
@ -30,7 +30,7 @@ CONFIG_FATFS_VOLUME_COUNT=3
|
||||
# Hardware: Main
|
||||
CONFIG_TT_BOARD_ELECROW_CROWPANEL_BASIC_28=y
|
||||
CONFIG_TT_BOARD_NAME="CrowPanel Basic 2.8"
|
||||
CONFIG_TT_BOARD_ID="crowpanel-basic-28"
|
||||
CONFIG_TT_BOARD_ID="elecrow-crowpanel-basic-28"
|
||||
CONFIG_IDF_TARGET="esp32"
|
||||
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y
|
||||
CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y
|
||||
|
||||
@ -30,7 +30,7 @@ CONFIG_FATFS_VOLUME_COUNT=3
|
||||
# Hardware: Main
|
||||
CONFIG_TT_BOARD_ELECROW_CROWPANEL_BASIC_35=y
|
||||
CONFIG_TT_BOARD_NAME="CrowPanel Basic 3.5"
|
||||
CONFIG_TT_BOARD_ID="crowpanel-basic-35"
|
||||
CONFIG_TT_BOARD_ID="elecrow-crowpanel-basic-35"
|
||||
CONFIG_IDF_TARGET="esp32"
|
||||
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y
|
||||
CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y
|
||||
|
||||
@ -30,7 +30,7 @@ CONFIG_FATFS_VOLUME_COUNT=3
|
||||
# Hardware: Main
|
||||
CONFIG_TT_BOARD_ELECROW_CROWPANEL_BASIC_50=y
|
||||
CONFIG_TT_BOARD_NAME="CrowPanel Basic 5.0"
|
||||
CONFIG_TT_BOARD_ID="crowpanel-basic-50"
|
||||
CONFIG_TT_BOARD_ID="elecrow-crowpanel-basic-50"
|
||||
CONFIG_IDF_EXPERIMENTAL_FEATURES=y
|
||||
CONFIG_IDF_TARGET="esp32s3"
|
||||
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user