Compare commits

...

3 Commits

Author SHA1 Message Date
Ken Van Hoeylandt
48145deb3a Fix for code generation 2026-01-22 00:40:14 +01:00
Ken Van Hoeylandt
9ca29b7fef Debug commands 2026-01-22 00:24:48 +01:00
Ken Van Hoeylandt
a3d7a2745d WIP 2026-01-22 00:15:53 +01:00
90 changed files with 478 additions and 19 deletions

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,10 @@
#include <Tactility/Driver.h>
extern "C" {
extern void register_device_drivers() {
extern Driver tlora_pager_driver;
driver_construct(&tlora_pager_driver);
}
}

View File

@ -0,0 +1,10 @@
#include <Tactility/Driver.h>
extern "C" {
extern void register_device_drivers() {
extern Driver tlora_pager_driver;
driver_construct(&tlora_pager_driver);
}
}

View File

@ -14,7 +14,7 @@ static int stop(Device* device) {
return 0;
}
Driver tlora_pager_driver = {
extern Driver tlora_pager_driver = {
.name = "T-Lora Pager",
.compatible = (const char*[]) { "lilygo,tlora-pager", nullptr },
.start_device = start,

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

8
Devices/placeholder.dts Normal file
View File

@ -0,0 +1,8 @@
/dts-v1/;
#include <Tactility/bindings/root.h>
/ {
compatible = "root";
model = "Placeholder";
};

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -1,4 +1,3 @@
dependencies:
- core
bindings: ./
dts: simulator.dts
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,7 @@
extern "C" {
extern void register_device_drivers() {
/* NO-OP */
}
}

View File

@ -0,0 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts

View File

@ -0,0 +1,12 @@
#include <Tactility/Driver.h>
extern "C" {
extern void register_platform_drivers() {
extern Driver esp32_gpio_driver;
driver_construct(&esp32_gpio_driver);
extern Driver esp32_i2c_driver;
driver_construct(&esp32_i2c_driver);
}
}

View File

@ -44,13 +44,17 @@ else ()
endif ()
# Generate devicetree code and attach to Firmware component
add_custom_target(Generated
COMMAND mkdir -p ${CMAKE_SOURCE_DIR}/Firmware/Generated | echo Firmware/Generated exists
add_custom_command(
OUTPUT "${CMAKE_SOURCE_DIR}/Firmware/Generated/devicetree.c"
"${CMAKE_SOURCE_DIR}/Firmware/Generated/devicetree.h"
COMMAND mkdir -p "${CMAKE_SOURCE_DIR}/Firmware/Generated"
COMMAND pip install lark pyyaml
COMMAND python Buildscripts/devicetree-compiler/compile.py ${DEVICETREE_LOCATION} Firmware/Generated
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND python "${CMAKE_SOURCE_DIR}/Buildscripts/devicetree-compiler/compile.py"
"${DEVICETREE_LOCATION}" "Firmware/Generated"
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
DEPENDS "${DEVICETREE_LOCATION}/devicetree.yaml" # Optional: trigger rebuild if source changes
COMMENT "Generating devicetree source files..."
)
set_property(DIRECTORY "${CMAKE_SOURCE_DIR}" APPEND PROPERTY ADDITIONAL_CLEAN_FILES "Firmware/Generated/devicetree.c" "/Firmware/Generated/devicetree.h")
set_source_files_properties("${CMAKE_SOURCE_DIR}/Firmware/Generated/devicetree.c" PROPERTIES GENERATED TRUE)
add_custom_target(Generated DEPENDS "${CMAKE_SOURCE_DIR}/Firmware/Generated/devicetree.c")
target_sources(${COMPONENT_LIB} PRIVATE "${CMAKE_SOURCE_DIR}/Firmware/Generated/devicetree.c")
target_include_directories(${COMPONENT_LIB} PRIVATE ${CMAKE_SOURCE_DIR}/Firmware/Generated)
add_dependencies(${COMPONENT_LIB} Generated)

View File

@ -14,6 +14,10 @@ extern const tt::hal::Configuration hardwareConfiguration;
extern "C" {
extern void register_kernel_drivers();
extern void register_platform_drivers();
extern void register_device_drivers();
void app_main() {
static const tt::Configuration config = {
/**
@ -27,14 +31,9 @@ void app_main() {
tt_init_tactility_c(); // ELF bindings for side-loading on ESP32
#endif
extern Driver root_driver;
extern Driver tlora_pager_driver;
extern Driver esp32_gpio_driver;
extern Driver esp32_i2c_driver;
driver_construct(&root_driver);
driver_construct(&tlora_pager_driver);
driver_construct(&esp32_gpio_driver);
driver_construct(&esp32_i2c_driver);
register_kernel_drivers();
register_platform_drivers();
register_device_drivers();
devices_builtin_init();
tt::run(config);

View File

@ -0,0 +1,10 @@
#include <Tactility/Driver.h>
extern "C" {
extern void register_kernel_drivers() {
extern Driver root_driver;
driver_construct(&root_driver);
}
}