Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 0 additions & 26 deletions .github/workflows/build-sdk.yml

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,24 @@ on:
permissions: read-all

jobs:
Build:
BuildSdk:
strategy:
matrix:
board: [
{ id: generic-esp32, arch: esp32 },
{ id: generic-esp32c6, arch: esp32c6 },
{ id: generic-esp32p4, arch: esp32p4 },
{ id: generic-esp32s3, arch: esp32s3 },
]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: "Build SDK"
uses: ./.github/actions/build-sdk
with:
board_id: ${{ matrix.board.id }}
arch: ${{ matrix.board.arch }}
BuildFirmware:
strategy:
matrix:
board: [
Expand Down Expand Up @@ -52,44 +69,45 @@ jobs:
{ id: waveshare-s3-touch-lcd-43, arch: esp32s3 }
]
runs-on: ubuntu-latest
needs: [ BuildSdk ]
steps:
- uses: actions/checkout@v4
- name: "Build"
- name: "Build Firmware"
uses: ./.github/actions/build-firmware
with:
board_id: ${{ matrix.board.id }}
arch: ${{ matrix.board.arch }}
Bundle:
BundleFirmware:
runs-on: ubuntu-latest
needs: [ Build ]
needs: [ BuildFirmware ]
if: |
(github.event_name == 'push' && github.ref == 'refs/heads/main') ||
(github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v'))
steps:
- uses: actions/checkout@v4
- name: "Bundle"
- name: "Bundle Firmware"
uses: ./.github/actions/bundle-firmware
PublishSnapshot:
PublishFirmwareSnapshot:
runs-on: ubuntu-latest
needs: [ Bundle ]
needs: [ BundleFirmware ]
if: (github.event_name == 'push' && github.ref == 'refs/heads/main')
steps:
- uses: actions/checkout@v4
- name: "Publish Snapshot"
- name: "Publish Firmware Snapshot"
env:
CDN_ID: ${{ secrets.CDN_ID }}
CDN_TOKEN_NAME: ${{ secrets.CDN_TOKEN_NAME }}
CDN_TOKEN_VALUE: ${{ secrets.CDN_TOKEN_VALUE }}
uses: ./.github/actions/publish-firmware
with:
cdn_version: snapshot
PublishRelease:
PublishFirmwareStable:
runs-on: ubuntu-latest
needs: [ Bundle ]
needs: [ BundleFirmware ]
if: (github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v'))
steps:
- uses: actions/checkout@v4
- name: "Publish Stable"
- name: "Publish Firmware Stable"
env:
CDN_ID: ${{ secrets.CDN_ID }}
CDN_TOKEN_NAME: ${{ secrets.CDN_TOKEN_NAME }}
Expand Down
6 changes: 5 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,11 @@ if (DEFINED ENV{ESP_IDF_VERSION})

set(EXCLUDE_COMPONENTS "Simulator")

idf_build_set_property(LINK_OPTIONS "-Wl,--wrap=esp_panic_handler" APPEND)
# Panic handler wrapping is only available on Xtensa architecture
if (CONFIG_IDF_TARGET_ARCH_XTENSA)
idf_build_set_property(LINK_OPTIONS "-Wl,--wrap=esp_panic_handler" APPEND)
endif ()

idf_build_set_property(LINK_OPTIONS "-Wl,--wrap=lv_button_create" APPEND)
idf_build_set_property(LINK_OPTIONS "-Wl,--wrap=lv_dropdown_create" APPEND)
idf_build_set_property(LINK_OPTIONS "-Wl,--wrap=lv_list_create" APPEND)
Expand Down
7 changes: 7 additions & 0 deletions Devices/generic-esp32/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
file(GLOB_RECURSE SOURCE_FILES Source/*.c*)

idf_component_register(
SRCS ${SOURCE_FILES}
INCLUDE_DIRS "Source"
REQUIRES Tactility
)
3 changes: 3 additions & 0 deletions Devices/generic-esp32/Source/Configuration.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#include <Tactility/hal/Configuration.h>

extern const tt::hal::Configuration hardwareConfiguration = {};
9 changes: 9 additions & 0 deletions Devices/generic-esp32/device.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
[general]
vendor=Generic
name=ESP32

[hardware]
target=ESP32
flashSize=4MB
spiRam=false

7 changes: 7 additions & 0 deletions Devices/generic-esp32c6/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
file(GLOB_RECURSE SOURCE_FILES Source/*.c*)

idf_component_register(
SRCS ${SOURCE_FILES}
INCLUDE_DIRS "Source"
REQUIRES Tactility
)
3 changes: 3 additions & 0 deletions Devices/generic-esp32c6/Source/Configuration.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#include <Tactility/hal/Configuration.h>

extern const tt::hal::Configuration hardwareConfiguration = {};
9 changes: 9 additions & 0 deletions Devices/generic-esp32c6/device.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
[general]
vendor=Generic
name=ESP32-C6

[hardware]
target=ESP32C6
flashSize=4MB
spiRam=false

7 changes: 7 additions & 0 deletions Devices/generic-esp32p4/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
file(GLOB_RECURSE SOURCE_FILES Source/*.c*)

idf_component_register(
SRCS ${SOURCE_FILES}
INCLUDE_DIRS "Source"
REQUIRES Tactility
)
3 changes: 3 additions & 0 deletions Devices/generic-esp32p4/Source/Configuration.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#include <Tactility/hal/Configuration.h>

extern const tt::hal::Configuration hardwareConfiguration = {};
9 changes: 9 additions & 0 deletions Devices/generic-esp32p4/device.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
[general]
vendor=Generic
name=ESP32-P4

[hardware]
target=ESP32P4
flashSize=4MB
spiRam=false

7 changes: 7 additions & 0 deletions Devices/generic-esp32s3/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
file(GLOB_RECURSE SOURCE_FILES Source/*.c*)

idf_component_register(
SRCS ${SOURCE_FILES}
INCLUDE_DIRS "Source"
REQUIRES Tactility
)
3 changes: 3 additions & 0 deletions Devices/generic-esp32s3/Source/Configuration.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#include <Tactility/hal/Configuration.h>

extern const tt::hal::Configuration hardwareConfiguration = {};
9 changes: 9 additions & 0 deletions Devices/generic-esp32s3/device.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
[general]
vendor=Generic
name=ESP32-S3

[hardware]
target=ESP32S3
flashSize=4MB
spiRam=false

22 changes: 18 additions & 4 deletions Firmware/idf_component.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,21 @@
dependencies:
espressif/esp_lcd_ili9341: "2.0.1"
atanisoft/esp_lcd_ili9488: "1.0.10"
teriyakigod/esp_lcd_st7735: "0.0.1"
espressif/esp_lcd_ili9341:
version: "2.0.1"
rules:
- if: "target in [esp32, esp32s3]"
atanisoft/esp_lcd_ili9488:
version: "1.0.10"
rules:
- if: "target in [esp32, esp32s3]"
teriyakigod/esp_lcd_st7735:
version: "0.0.1"
rules:
- if: "target in [esp32, esp32s3]"
espressif/esp_lcd_touch: "1.1.2"
atanisoft/esp_lcd_touch_xpt2046: "1.0.5"
atanisoft/esp_lcd_touch_xpt2046:
version: "1.0.5"
rules:
- if: "target in [esp32, esp32s3]"
espressif/esp_lcd_touch_cst816s: "1.0.3"
espressif/esp_lcd_touch_gt911: "1.1.3"
espressif/esp_lcd_touch_ft5x06: "1.0.6~1"
Expand All @@ -15,6 +27,8 @@ dependencies:
- if: "target in [esp32s3, esp32p4]"
espressif/esp_lcd_st7796:
version: "1.3.4"
rules:
- if: "target in [esp32, esp32s3]"
espressif/esp_lcd_gc9a01: "2.0.3"
espressif/esp_lcd_panel_io_additions: "1.0.1"
espressif/esp_tinyusb:
Expand Down
5 changes: 5 additions & 0 deletions Tactility/Include/Tactility/service/espnow/EspNow.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
#pragma once

#ifdef ESP_PLATFORM
#include <sdkconfig.h>
#endif

#ifdef CONFIG_ESP_WIFI_ENABLED

#include <cstdint>
#include <cstring>
Expand Down
12 changes: 7 additions & 5 deletions Tactility/Private/Tactility/service/espnow/EspNowService.h
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
#pragma once

#ifdef ESP_PLATFORM
#include <sdkconfig.h>
#endif

#ifdef CONFIG_ESP_WIFI_ENABLED

#include "Tactility/MessageQueue.h"
#include "Tactility/service/Service.h"
#include "Tactility/service/espnow/EspNow.h"
#include <Tactility/service/Service.h>
#include <Tactility/service/espnow/EspNow.h>

#include <Tactility/Mutex.h>

Expand All @@ -13,8 +17,6 @@ namespace tt::service::espnow {

class EspNowService final : public Service {

private:

struct ReceiverSubscriptionData {
ReceiverSubscription id;
std::function<void(const esp_now_recv_info_t* receiveInfo, const uint8_t* data, int length)> onReceive;
Expand Down
8 changes: 8 additions & 0 deletions Tactility/Private/Tactility/service/espnow/EspNowWifi.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
#pragma once

#ifdef ESP_PLATFORM
#include <sdkconfig.h>
#endif

#ifdef CONFIG_ESP_WIFI_ENABLED

#include "Tactility/service/espnow/EspNow.h"

namespace tt::service::espnow {
Expand All @@ -9,3 +15,5 @@ bool initWifi(const EspNowConfig& config);
bool deinitWifi();

}

#endif
16 changes: 15 additions & 1 deletion Tactility/Source/Tactility.cpp
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
#ifdef ESP_PLATFORM
#include <sdkconfig.h>
#endif

#include <Tactility/Tactility.h>
#include <Tactility/TactilityConfig.h>

Expand Down Expand Up @@ -38,6 +42,8 @@ namespace service {
namespace sdcard { extern const ServiceManifest manifest; }
#ifdef ESP_PLATFORM
namespace development { extern const ServiceManifest manifest; }
#endif
#ifdef CONFIG_ESP_WIFI_ENABLED
namespace espnow { extern const ServiceManifest manifest; }
#endif
// Secondary (UI)
Expand All @@ -64,7 +70,9 @@ namespace app {
namespace applist { extern const AppManifest manifest; }
namespace appsettings { extern const AppManifest manifest; }
namespace boot { extern const AppManifest manifest; }
#ifdef CONFIG_ESP_WIFI_ENABLED
namespace chat { extern const AppManifest manifest; }
#endif
namespace development { extern const AppManifest manifest; }
namespace display { extern const AppManifest manifest; }
namespace files { extern const AppManifest manifest; }
Expand Down Expand Up @@ -135,8 +143,11 @@ static void registerInternalApps() {
addAppManifest(app::screenshot::manifest);
#endif

#ifdef ESP_PLATFORM
#ifdef CONFIG_ESP_WIFI_ENABLED
addAppManifest(app::chat::manifest);
#endif

#ifdef ESP_PLATFORM
addAppManifest(app::crashdiagnostics::manifest);
addAppManifest(app::development::manifest);
#endif
Expand Down Expand Up @@ -231,6 +242,9 @@ static void registerAndStartPrimaryServices() {
addService(service::wifi::manifest);
#ifdef ESP_PLATFORM
addService(service::development::manifest);
#endif

#ifdef CONFIG_ESP_WIFI_ENABLED
addService(service::espnow::manifest);
#endif
}
Expand Down
4 changes: 4 additions & 0 deletions Tactility/Source/app/chat/ChatApp.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
#ifdef ESP_PLATFORM
#include <sdkconfig.h>
#endif

#ifdef CONFIG_ESP_WIFI_ENABLED

#include <Tactility/app/AppManifest.h>
#include <Tactility/lvgl/Toolbar.h>
Expand Down
Loading