Implemented TactilityKernel and DevicetreeCompiler, updated licenses & copyrights (#452)

**New features**

- Created a devicetree DTS and YAML parser in Python
- Created new modules:
  - TactilityKernel (LGPL v3.0 license)
  - Platforms/PlatformEsp32 (LGPL v3.0 license) 
  - Platforms/PlatformPosix (LGPL v3.0 license)
  - Tests/TactilityKernelTests

Most boards have a placeholder DTS file, while T-Lora Pager has a few devices attached.

**Licenses**

Clarified licenses and copyrights better.

- Add explanation about the intent behind them.
- Added explanation about licenses for past and future subprojects
- Added more details explanations with regards to the logo usage
- Copied licenses to subprojects to make it more explicit
This commit is contained in:
Ken Van Hoeylandt
2026-01-24 15:47:11 +01:00
committed by GitHub
parent 0d16eb606f
commit 4b6ed871a9
194 changed files with 7807 additions and 741 deletions
+1 -1
View File
@@ -3,5 +3,5 @@ file(GLOB_RECURSE SOURCE_FILES Source/*.c*)
idf_component_register(
SRCS ${SOURCE_FILES}
INCLUDE_DIRS "Source"
REQUIRES Tactility esp_lcd ST7796 BQ25896 BQ27220 TCA8418 DRV2605 PwmBacklight driver esp_adc
REQUIRES Tactility esp_lcd ST7796 BQ25896 BQ27220 TCA8418 DRV2605 PwmBacklight driver esp_adc PlatformEsp32
)
@@ -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);
}
}
@@ -0,0 +1,15 @@
#pragma once
#ifdef __cplusplus
extern "C" {
#endif
#include <Tactility/bindings/bindings.h>
#include <Tactility/drivers/Root.h>
#include <drivers/TloraPager.h>
DEFINE_DEVICETREE(tlora_pager, struct RootConfig)
#ifdef __cplusplus
}
#endif
@@ -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);
}
}
@@ -0,0 +1,27 @@
#include "TloraPager.h"
#include <Tactility/Driver.h>
#include <esp_log.h>
extern "C" {
static int start(Device* device) {
return 0;
}
static int stop(Device* device) {
return 0;
}
Driver tlora_pager_driver = {
.name = "T-Lora Pager",
.compatible = (const char*[]) { "lilygo,tlora-pager", nullptr },
.start_device = start,
.stop_device = stop,
.api = nullptr,
.device_type = nullptr,
.internal = { 0 }
};
}
@@ -0,0 +1,11 @@
#pragma once
#ifdef __cplusplus
extern "C" {
#endif
#include <Tactility/drivers/Root.h>
#ifdef __cplusplus
}
#endif
@@ -0,0 +1,4 @@
dependencies:
- Platforms/PlatformEsp32
bindings: ./
dts: lilygo,tlora-pager.dts
@@ -0,0 +1,23 @@
/dts-v1/;
#include <bindings/tlora_pager.h>
#include <Tactility/bindings/esp32_gpio.h>
#include <Tactility/bindings/esp32_i2c.h>
/ {
compatible = "lilygo,tlora-pager";
model = "LilyGO T-Lora Pager";
gpio0 {
compatible = "espressif,esp32-gpio";
gpio-count = <49>;
};
i2c0 {
compatible = "espressif,esp32-i2c";
clock-frequency = <100000>;
pin-sda = <&gpio0 3 GPIO_ACTIVE_HIGH>;
pin-scl = <&gpio0 2 GPIO_ACTIVE_HIGH>;
port = <I2C_NUM_0>;
};
};
@@ -0,0 +1,5 @@
description: LilyGO T-Lora Pager
include: ["root.yaml"]
compatible: "lilygo,tlora-pager"