Improve module configuration (#661)

DTS modules (device modules) often have a single source file with an empty `struct Module`.
The module's yaml file now allows a `dts-only` boolean to be set, so the source file becomes optional.
`devicetree.yaml` is renamed everywhere to `module.yaml`
This commit is contained in:
Ken Van Hoeylandt 2026-09-25 21:56:37 +02:00 committed by GitHub
parent e42545d284
commit 85b61e1e43
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
229 changed files with 75 additions and 898 deletions

View File

@ -7,4 +7,4 @@ The kernel uses a Linux-inspired device model:
- **Device** (`struct Device`): represents hardware. Lifecycle: `device_construct` → `device_add` → `device_start`. Has a parent-child tree, driver binding, and locking.
- **DeviceType** (`struct DeviceType`): enables discovering devices by category (e.g. `DISPLAY_TYPE`, `TOUCH_TYPE`, `UART_CONTROLLER_TYPE`).
Devices are defined via **devicetree** `.dts` files in each `Devices/<id>/` folder. A custom devicetree compiler (`Buildscripts/DevicetreeCompiler/compile.py`) generates C code from these files. Each device folder also has a `devicetree.yaml` specifying dependencies and the `.dts` file.
Devices are defined via **devicetree** `.dts` files in each `Devices/<id>/` folder. A custom devicetree compiler (`Buildscripts/DevicetreeCompiler/compile.py`) generates C code from these files. Each device folder also has a `module.yaml` specifying dependencies and the `.dts` file.

View File

@ -30,7 +30,7 @@ Kernel module names are lower case and postfixed with `-module`.
Projects that are kernel modules:
1. Declare a `struct Module`
2. Contain a `devicetree.yaml` file that declares a list of dependencies (for parsing the devicetree) and specifies the bindings folder that contains the drivers' YAML definitions. For example:
2. Contain a `module.yaml` file that declares a list of dependencies (for parsing the devicetree) and specifies the bindings folder that contains the drivers' YAML definitions. For example:
```yaml
dependencies:
- TactilityKernel

View File

@ -5,7 +5,7 @@ from source.main import main
def print_help():
print("Usage: python compile.py [in_file] [out_path] [arguments]\n")
print(f"\t[in_path] the path where the root devicetree.yaml file is")
print(f"\t[in_path] the path where the root module.yaml file is")
print(f"\t[out_path] output folder for C file output")
print("")
print("Optional arguments:\n")

View File

@ -6,7 +6,7 @@ from source.config import parse_config
def print_help():
print("Usage: python dependencies.py [path]\n")
print("\t[in_file] the path where the root devicetree.yaml file is")
print("\t[in_file] the path where the root module.yaml file is")
if __name__ == "__main__":
if "--help" in sys.argv:
@ -28,6 +28,8 @@ if __name__ == "__main__":
# Device module is added first because it's started first:
# It creates the root device, so it must exist before its children.
# Skipped for dts-only devices: they have no CMakeLists.txt, so there's no component to require.
if not config.dts_only:
device_dependency = os.path.basename(os.path.normpath(yaml_directory))
print(device_dependency)
for dependency in config.dependencies:

View File

@ -2,15 +2,18 @@ from dataclasses import dataclass, field
import yaml
import os
from .exception import DevicetreeException
@dataclass
class DeviceTreeConfig:
dependencies: list[str] = field(default_factory=list)
bindings: list[str] = field(default_factory=list)
dts: str = ""
dts_only: bool = False
def parse_config(file_path: str, project_root: str) -> DeviceTreeConfig:
"""
Parses devicetree.yaml and recursively finds dependencies.
Parses module.yaml and recursively finds dependencies.
Returns a list of DeviceTreeConfig objects in post-order (dependencies first).
"""
config = DeviceTreeConfig([], [], "")
@ -22,9 +25,9 @@ def parse_config(file_path: str, project_root: str) -> DeviceTreeConfig:
return
visited.add(abs_path)
# Try to see if it's a directory and contains devicetree.yaml
# Try to see if it's a directory and contains module.yaml
if os.path.isdir(abs_path):
abs_path = os.path.join(abs_path, "devicetree.yaml")
abs_path = os.path.join(abs_path, "module.yaml")
with open(abs_path, 'r') as f:
data = yaml.safe_load(f) or {}
@ -40,6 +43,10 @@ def parse_config(file_path: str, project_root: str) -> DeviceTreeConfig:
config.dependencies += deps
dts_path = data.get("dts", "")
config.dts = os.path.join(current_path, dts_path)
dts_only = data.get("dts-only", False)
if not isinstance(dts_only, bool):
raise DevicetreeException(f"'dts-only' must be a boolean, got {dts_only!r}")
config.dts_only = dts_only
bindings = data.get("bindings", "")
if bindings:

View File

@ -359,7 +359,7 @@ def generate_devicetree_c(filename: str, items: list[object], bindings: list[Bin
# Gather module symbols
module_symbol_names = []
# Device's own module goes first (started before its dependency modules)
if config.dts:
if config.dts and not config.dts_only:
device_dir = os.path.dirname(os.path.normpath(config.dts))
device_name = os.path.basename(device_dir)
if device_name:

View File

@ -59,7 +59,7 @@ def test_compile_invalid_dts():
output_dir = os.path.join(tmp_dir, "output")
os.makedirs(output_dir)
with open(os.path.join(bad_data_dir, "devicetree.yaml"), "w") as f:
with open(os.path.join(bad_data_dir, "module.yaml"), "w") as f:
f.write("dts: bad.dts\nbindings: bindings")
with open(os.path.join(bad_data_dir, "bad.dts"), "w") as f:
@ -81,7 +81,7 @@ def write_minmax_config(tmp_dir, device_property_line, binding_min=0, binding_ma
bindings_dir = os.path.join(config_dir, "bindings")
os.makedirs(bindings_dir)
with open(os.path.join(config_dir, "devicetree.yaml"), "w") as f:
with open(os.path.join(config_dir, "module.yaml"), "w") as f:
f.write("dts: test.dts\nbindings: bindings")
with open(os.path.join(config_dir, "test.dts"), "w") as f:
@ -214,7 +214,7 @@ def write_array_config(tmp_dir, device_property_line):
bindings_dir = os.path.join(config_dir, "bindings")
os.makedirs(bindings_dir)
with open(os.path.join(config_dir, "devicetree.yaml"), "w") as f:
with open(os.path.join(config_dir, "module.yaml"), "w") as f:
f.write("dts: test.dts\nbindings: bindings")
with open(os.path.join(config_dir, "test.dts"), "w") as f:

View File

@ -1,7 +0,0 @@
file(GLOB_RECURSE SOURCE_FILES source/*.c*)
idf_component_register(
SRCS ${SOURCE_FILES}
INCLUDE_DIRS "source"
REQUIRES TactilityKernel
)

View File

@ -3,3 +3,4 @@ dependencies:
- Drivers/rgb-display-module
- Drivers/gt911-module
dts: bigtreetech,panda-touch.dts
dts-only: true

View File

@ -1,14 +0,0 @@
#include <tactility/module.h>
extern "C" {
Module btt_panda_touch_module = {
.name = "btt-panda-touch",
.start = nullptr,
.stop = nullptr,
.drivers = nullptr,
.symbols = nullptr,
.internal = nullptr
};
}

View File

@ -1,6 +0,0 @@
file(GLOB_RECURSE SOURCE_FILES source/*.c*)
idf_component_register(
SRCS ${SOURCE_FILES}
REQUIRES TactilityKernel
)

View File

@ -5,3 +5,4 @@ dependencies:
- Drivers/esp32-dac-speaker-module
- Drivers/audio-stream-module
dts: cyd,2432s022c.dts
dts-only: true

View File

@ -1,14 +0,0 @@
#include <tactility/module.h>
extern "C" {
Module cyd_2432s022c_module = {
.name = "cyd-2432s022c",
.start = nullptr,
.stop = nullptr,
.drivers = nullptr,
.symbols = nullptr,
.internal = nullptr
};
}

View File

@ -1,6 +0,0 @@
file(GLOB_RECURSE SOURCE_FILES source/*.c*)
idf_component_register(
SRCS ${SOURCE_FILES}
REQUIRES TactilityKernel
)

View File

@ -3,3 +3,4 @@ dependencies:
- Drivers/ili9341-module
- Drivers/cst816s-module
dts: cyd,2432s024c.dts
dts-only: true

View File

@ -1,14 +0,0 @@
#include <tactility/module.h>
extern "C" {
Module cyd_2432s024c_module = {
.name = "cyd-2432s024c",
.start = nullptr,
.stop = nullptr,
.drivers = nullptr,
.symbols = nullptr,
.internal = nullptr
};
}

View File

@ -1,6 +0,0 @@
file(GLOB_RECURSE SOURCE_FILES source/*.c*)
idf_component_register(
SRCS ${SOURCE_FILES}
REQUIRES TactilityKernel
)

View File

@ -3,3 +3,4 @@ dependencies:
- Drivers/ili9341-module
- Drivers/xpt2046-module
dts: cyd,2432s024r.dts
dts-only: true

View File

@ -1,14 +0,0 @@
#include <tactility/module.h>
extern "C" {
Module cyd_2432s024r_module = {
.name = "cyd-2432s024r",
.start = nullptr,
.stop = nullptr,
.drivers = nullptr,
.symbols = nullptr,
.internal = nullptr
};
}

View File

@ -1,6 +0,0 @@
file(GLOB_RECURSE SOURCE_FILES source/*.c*)
idf_component_register(
SRCS ${SOURCE_FILES}
REQUIRES TactilityKernel
)

View File

@ -3,3 +3,4 @@ dependencies:
- Drivers/ili9341-module
- Drivers/xpt2046-softspi-module
dts: cyd,2432s028r.dts
dts-only: true

View File

@ -1,14 +0,0 @@
#include <tactility/module.h>
extern "C" {
Module cyd_2432s028r_module = {
.name = "cyd-2432s028r",
.start = nullptr,
.stop = nullptr,
.drivers = nullptr,
.symbols = nullptr,
.internal = nullptr
};
}

View File

@ -1,6 +0,0 @@
file(GLOB_RECURSE SOURCE_FILES source/*.c*)
idf_component_register(
SRCS ${SOURCE_FILES}
REQUIRES TactilityKernel
)

View File

@ -3,3 +3,4 @@ dependencies:
- Drivers/st7789-module
- Drivers/xpt2046-softspi-module
dts: cyd,2432s028rv3.dts
dts-only: true

View File

@ -1,14 +0,0 @@
#include <tactility/module.h>
extern "C" {
Module cyd_2432s028rv3_module = {
.name = "cyd-2432s028rv3",
.start = nullptr,
.stop = nullptr,
.drivers = nullptr,
.symbols = nullptr,
.internal = nullptr
};
}

View File

@ -1,6 +0,0 @@
file(GLOB_RECURSE SOURCE_FILES source/*.c*)
idf_component_register(
SRCS ${SOURCE_FILES}
REQUIRES TactilityKernel
)

View File

@ -3,3 +3,4 @@ dependencies:
- Drivers/ili9341-module
- Drivers/gt911-module
dts: cyd,2432s032c.dts
dts-only: true

View File

@ -1,14 +0,0 @@
#include <tactility/module.h>
extern "C" {
Module cyd_2432s032c_module = {
.name = "cyd-2432s032c",
.start = nullptr,
.stop = nullptr,
.drivers = nullptr,
.symbols = nullptr,
.internal = nullptr
};
}

View File

@ -1,6 +0,0 @@
file(GLOB_RECURSE SOURCE_FILES source/*.c*)
idf_component_register(
SRCS ${SOURCE_FILES}
REQUIRES TactilityKernel
)

View File

@ -3,3 +3,4 @@ dependencies:
- Drivers/st7796-module
- Drivers/gt911-module
dts: cyd,3248s035c.dts
dts-only: true

View File

@ -1,14 +0,0 @@
#include <tactility/module.h>
extern "C" {
Module cyd_3248s035c_module = {
.name = "cyd-3248s035c",
.start = nullptr,
.stop = nullptr,
.drivers = nullptr,
.symbols = nullptr,
.internal = nullptr
};
}

View File

@ -1,6 +0,0 @@
file(GLOB_RECURSE SOURCE_FILES source/*.c*)
idf_component_register(
SRCS ${SOURCE_FILES}
REQUIRES TactilityKernel
)

View File

@ -3,3 +3,4 @@ dependencies:
- Drivers/st7701-module
- Drivers/gt911-module
dts: cyd,4848s040c.dts
dts-only: true

View File

@ -1,14 +0,0 @@
#include <tactility/module.h>
extern "C" {
Module cyd_4848s040c_module = {
.name = "cyd-4848s040c",
.start = nullptr,
.stop = nullptr,
.drivers = nullptr,
.symbols = nullptr,
.internal = nullptr
};
}

View File

@ -1,6 +0,0 @@
file(GLOB_RECURSE SOURCE_FILES source/*.c*)
idf_component_register(
SRCS ${SOURCE_FILES}
REQUIRES TactilityKernel
)

View File

@ -3,3 +3,4 @@ dependencies:
- Drivers/rgb-display-module
- Drivers/gt911-module
dts: cyd,8048s043c.dts
dts-only: true

View File

@ -1,14 +0,0 @@
#include <tactility/module.h>
extern "C" {
Module cyd_8048s043c_module = {
.name = "cyd-8048s043c",
.start = nullptr,
.stop = nullptr,
.drivers = nullptr,
.symbols = nullptr,
.internal = nullptr
};
}

View File

@ -1,6 +0,0 @@
file(GLOB_RECURSE SOURCE_FILES source/*.c*)
idf_component_register(
SRCS ${SOURCE_FILES}
REQUIRES TactilityKernel
)

View File

@ -3,3 +3,4 @@ dependencies:
- Drivers/ili9341-module
- Drivers/xpt2046-softspi-module
dts: cyd,e32r28t.dts
dts-only: true

View File

@ -1,14 +0,0 @@
#include <tactility/module.h>
extern "C" {
Module cyd_e32r28t_module = {
.name = "cyd-e32r28t",
.start = nullptr,
.stop = nullptr,
.drivers = nullptr,
.symbols = nullptr,
.internal = nullptr
};
}

View File

@ -1,6 +0,0 @@
file(GLOB_RECURSE SOURCE_FILES source/*.c*)
idf_component_register(
SRCS ${SOURCE_FILES}
REQUIRES TactilityKernel
)

View File

@ -3,3 +3,4 @@ dependencies:
- Drivers/st7789-module
- Drivers/xpt2046-module
dts: cyd,e32r32p.dts
dts-only: true

View File

@ -1,14 +0,0 @@
#include <tactility/module.h>
extern "C" {
Module cyd_e32r32p_module = {
.name = "cyd-e32r32p",
.start = nullptr,
.stop = nullptr,
.drivers = nullptr,
.symbols = nullptr,
.internal = nullptr
};
}

View File

@ -1,6 +0,0 @@
file(GLOB_RECURSE SOURCE_FILES source/*.c*)
idf_component_register(
SRCS ${SOURCE_FILES}
REQUIRES TactilityKernel
)

View File

@ -3,3 +3,4 @@ dependencies:
- Drivers/st7789-module
- Drivers/ft5x06-module
dts: elecrow,crowpanel-advance-28.dts
dts-only: true

View File

@ -1,14 +0,0 @@
#include <tactility/module.h>
extern "C" {
Module elecrow_crowpanel_advance_28_module = {
.name = "elecrow-crowpanel-advance-28",
.start = nullptr,
.stop = nullptr,
.drivers = nullptr,
.symbols = nullptr,
.internal = nullptr
};
}

View File

@ -1,6 +0,0 @@
file(GLOB_RECURSE SOURCE_FILES source/*.c*)
idf_component_register(
SRCS ${SOURCE_FILES}
REQUIRES TactilityKernel
)

View File

@ -3,3 +3,4 @@ dependencies:
- Drivers/ili9488-module
- Drivers/gt911-module
dts: elecrow,crowpanel-advance-35.dts
dts-only: true

View File

@ -1,14 +0,0 @@
#include <tactility/module.h>
extern "C" {
Module elecrow_crowpanel_advance_35_module = {
.name = "elecrow-crowpanel-advance-35",
.start = nullptr,
.stop = nullptr,
.drivers = nullptr,
.symbols = nullptr,
.internal = nullptr
};
}

View File

@ -1,7 +0,0 @@
file(GLOB_RECURSE SOURCE_FILES source/*.c*)
idf_component_register(
SRCS ${SOURCE_FILES}
INCLUDE_DIRS "source"
REQUIRES TactilityKernel
)

View File

@ -4,3 +4,4 @@ dependencies:
- Drivers/gt911-module
- Drivers/tca9534-module
dts: elecrow,crowpanel-advance-50.dts
dts-only: true

View File

@ -1,14 +0,0 @@
#include <tactility/module.h>
extern "C" {
Module elecrow_crowpanel_advance_50_module = {
.name = "elecrow-crowpanel-advance-50",
.start = nullptr,
.stop = nullptr,
.drivers = nullptr,
.symbols = nullptr,
.internal = nullptr
};
}

View File

@ -1,6 +0,0 @@
file(GLOB_RECURSE SOURCE_FILES source/*.c*)
idf_component_register(
SRCS ${SOURCE_FILES}
REQUIRES TactilityKernel
)

View File

@ -3,3 +3,4 @@ dependencies:
- Drivers/ili9341-module
- Drivers/xpt2046-module
dts: elecrow,crowpanel-basic-28.dts
dts-only: true

View File

@ -1,14 +0,0 @@
#include <tactility/module.h>
extern "C" {
Module elecrow_crowpanel_basic_28_module = {
.name = "elecrow-crowpanel-basic-28",
.start = nullptr,
.stop = nullptr,
.drivers = nullptr,
.symbols = nullptr,
.internal = nullptr
};
}

View File

@ -1,6 +0,0 @@
file(GLOB_RECURSE SOURCE_FILES source/*.c*)
idf_component_register(
SRCS ${SOURCE_FILES}
REQUIRES TactilityKernel
)

View File

@ -3,3 +3,4 @@ dependencies:
- Drivers/ili9488-module
- Drivers/xpt2046-module
dts: elecrow,crowpanel-basic-35.dts
dts-only: true

View File

@ -1,14 +0,0 @@
#include <tactility/module.h>
extern "C" {
Module elecrow_crowpanel_basic_35_module = {
.name = "elecrow-crowpanel-basic-35",
.start = nullptr,
.stop = nullptr,
.drivers = nullptr,
.symbols = nullptr,
.internal = nullptr
};
}

View File

@ -1,7 +0,0 @@
file(GLOB_RECURSE SOURCE_FILES source/*.c*)
idf_component_register(
SRCS ${SOURCE_FILES}
INCLUDE_DIRS "source"
REQUIRES TactilityKernel
)

View File

@ -3,3 +3,4 @@ dependencies:
- Drivers/rgb-display-module
- Drivers/gt911-module
dts: elecrow,crowpanel-basic-50.dts
dts-only: true

View File

@ -1,14 +0,0 @@
#include <tactility/module.h>
extern "C" {
Module elecrow_crowpanel_basic_50_module = {
.name = "elecrow-crowpanel-basic-50",
.start = nullptr,
.stop = nullptr,
.drivers = nullptr,
.symbols = nullptr,
.internal = nullptr
};
}

View File

@ -1,4 +0,0 @@
idf_component_register(
SRCS "source/module.cpp"
REQUIRES TactilityKernel
)

View File

@ -5,3 +5,4 @@ dependencies:
- Drivers/es8311-module
- Drivers/audio-stream-module
dts: es3c28p.dts
dts-only: true

View File

@ -1,14 +0,0 @@
#include <tactility/module.h>
extern "C" {
Module es3c28p_module = {
.name = "es3c28p",
.start = nullptr,
.stop = nullptr,
.drivers = nullptr,
.symbols = nullptr,
.internal = nullptr
};
}

View File

@ -1,6 +0,0 @@
file(GLOB_RECURSE SOURCE_FILES source/*.c*)
idf_component_register(
SRCS ${SOURCE_FILES}
REQUIRES TactilityKernel
)

View File

@ -1,3 +1,4 @@
dependencies:
- Platforms/platform-esp32
dts: generic,esp32.dts
dts-only: true

View File

@ -1,14 +0,0 @@
#include <tactility/module.h>
extern "C" {
Module generic_esp32_module = {
.name = "generic-esp32",
.start = nullptr,
.stop = nullptr,
.drivers = nullptr,
.symbols = nullptr,
.internal = nullptr
};
}

View File

@ -1,6 +0,0 @@
file(GLOB_RECURSE SOURCE_FILES source/*.c*)
idf_component_register(
SRCS ${SOURCE_FILES}
REQUIRES TactilityKernel
)

View File

@ -1,3 +1,4 @@
dependencies:
- Platforms/platform-esp32
dts: generic,esp32c6.dts
dts-only: true

View File

@ -1,14 +0,0 @@
#include <tactility/module.h>
extern "C" {
Module generic_esp32c6_module = {
.name = "generic-esp32c6",
.start = nullptr,
.stop = nullptr,
.drivers = nullptr,
.symbols = nullptr,
.internal = nullptr
};
}

View File

@ -1,6 +0,0 @@
file(GLOB_RECURSE SOURCE_FILES source/*.c*)
idf_component_register(
SRCS ${SOURCE_FILES}
REQUIRES TactilityKernel
)

View File

@ -1,3 +1,4 @@
dependencies:
- Platforms/platform-esp32
dts: generic,esp32p4.dts
dts-only: true

View File

@ -1,14 +0,0 @@
#include <tactility/module.h>
extern "C" {
Module generic_esp32p4_module = {
.name = "generic-esp32p4",
.start = nullptr,
.stop = nullptr,
.drivers = nullptr,
.symbols = nullptr,
.internal = nullptr
};
}

View File

@ -1,6 +0,0 @@
file(GLOB_RECURSE SOURCE_FILES source/*.c*)
idf_component_register(
SRCS ${SOURCE_FILES}
REQUIRES TactilityKernel
)

View File

@ -1,3 +1,4 @@
dependencies:
- Platforms/platform-esp32
dts: generic,esp32s3.dts
dts-only: true

View File

@ -1,14 +0,0 @@
#include <tactility/module.h>
extern "C" {
Module generic_esp32s3_module = {
.name = "generic-esp32s3",
.start = nullptr,
.stop = nullptr,
.drivers = nullptr,
.symbols = nullptr,
.internal = nullptr
};
}

View File

@ -1,6 +0,0 @@
file(GLOB_RECURSE SOURCE_FILES source/*.c*)
idf_component_register(
SRCS ${SOURCE_FILES}
REQUIRES TactilityKernel
)

View File

@ -3,3 +3,4 @@ dependencies:
- Drivers/jd9165-module
- Drivers/gt911-module
dts: guition,jc1060p470ciwy.dts
dts-only: true

View File

@ -1,14 +0,0 @@
#include <tactility/module.h>
extern "C" {
Module guition_jc1060p470ciwy_module = {
.name = "guition-jc1060p470ciwy",
.start = nullptr,
.stop = nullptr,
.drivers = nullptr,
.symbols = nullptr,
.internal = nullptr
};
}

View File

@ -1,6 +0,0 @@
file(GLOB_RECURSE SOURCE_FILES source/*.c*)
idf_component_register(
SRCS ${SOURCE_FILES}
REQUIRES TactilityKernel
)

View File

@ -3,3 +3,4 @@ dependencies:
- Drivers/st7789-module
- Drivers/cst816s-module
dts: guition,jc2432w328c.dts
dts-only: true

View File

@ -1,14 +0,0 @@
#include <tactility/module.h>
extern "C" {
Module guition_jc2432w328c_module = {
.name = "guition-jc2432w328c",
.start = nullptr,
.stop = nullptr,
.drivers = nullptr,
.symbols = nullptr,
.internal = nullptr
};
}

View File

@ -1,6 +0,0 @@
file(GLOB_RECURSE SOURCE_FILES source/*.c*)
idf_component_register(
SRCS ${SOURCE_FILES}
REQUIRES TactilityKernel
)

View File

@ -5,3 +5,4 @@ dependencies:
- Drivers/rgb-display-module
- Drivers/gt911-module
dts: guition,jc8048w550c.dts
dts-only: true

View File

@ -1,14 +0,0 @@
#include <tactility/module.h>
extern "C" {
Module guition_jc8048w550c_module = {
.name = "guition-jc8048w550c",
.start = nullptr,
.stop = nullptr,
.drivers = nullptr,
.symbols = nullptr,
.internal = nullptr
};
}

View File

@ -1,6 +0,0 @@
file(GLOB_RECURSE SOURCE_FILES source/*.c*)
idf_component_register(
SRCS ${SOURCE_FILES}
REQUIRES TactilityKernel
)

View File

@ -3,3 +3,4 @@ dependencies:
- Drivers/ssd1306-module
- Drivers/button-control-module
dts: heltec,wifi-lora-32-v3.dts
dts-only: true

View File

@ -1,14 +0,0 @@
#include <tactility/module.h>
extern "C" {
Module heltec_wifi_lora_32_v3_module = {
.name = "heltec-wifi-lora-32-v3",
.start = nullptr,
.stop = nullptr,
.drivers = nullptr,
.symbols = nullptr,
.internal = nullptr
};
}

View File

@ -1,7 +0,0 @@
file(GLOB_RECURSE SOURCE_FILES source/*.c*)
idf_component_register(
SRCS ${SOURCE_FILES}
INCLUDE_DIRS "source"
REQUIRES TactilityKernel
)

View File

@ -10,3 +10,4 @@ dependencies:
- Drivers/drv2605-module
- Drivers/gps-generic-module
dts: lilygo,tdeck-max.dts
dts-only: true

View File

@ -1,14 +0,0 @@
#include <tactility/module.h>
extern "C" {
Module lilygo_tdeck_max_module = {
.name = "lilygo-tdeck-max",
.start = nullptr,
.stop = nullptr,
.drivers = nullptr,
.symbols = nullptr,
.internal = nullptr
};
}

View File

@ -1,6 +0,0 @@
file(GLOB_RECURSE SOURCE_FILES source/*.c*)
idf_component_register(
SRCS ${SOURCE_FILES}
REQUIRES TactilityKernel
)

View File

@ -3,3 +3,4 @@ dependencies:
- Drivers/st7789-module
- Drivers/button-control-module
dts: lilygo,tdisplay.dts
dts-only: true

View File

@ -1,14 +0,0 @@
#include <tactility/module.h>
extern "C" {
Module lilygo_tdisplay_module = {
.name = "lilygo-tdisplay",
.start = nullptr,
.stop = nullptr,
.drivers = nullptr,
.symbols = nullptr,
.internal = nullptr
};
}

Some files were not shown because too many files have changed in this diff Show More