Kernel and TactilitySDK improvements (#479)

* **New Features**
  * Expanded public device and driver APIs (accessors, sync, lifecycle, binding) and a module construct+start helper.
  * Added kernel symbol registry and new exported symbols (lvgl, C++ nothrow, I2S APIs, additional math funcs).

* **Refactor**
  * Renamed device traversal APIs for consistency (device_for_each*).
  * Moved inline helpers to explicit public declarations.

* **Chores**
  * Replaced several shell release scripts with Python-based SDK release tooling.
* **Style**
  * Header naming consistency fixes.
This commit is contained in:
Ken Van Hoeylandt
2026-02-03 23:24:37 +01:00
committed by GitHub
parent 9cc96fd32b
commit 9a672a30ff
29 changed files with 684 additions and 217 deletions
@@ -62,7 +62,7 @@ void hal_device_for_each_of_type(HalDeviceType type, void* context, bool(*onDevi
.onDeviceParam = onDevice
};
for_each_device_of_type(&HAL_DEVICE_TYPE, &internal_context, [](Device* device, void* context){
device_for_each_of_type(&HAL_DEVICE_TYPE, &internal_context, [](Device* device, void* context){
auto* hal_device_private = GET_DATA(device);
auto* internal_context = static_cast<InternalContext*>(context);
auto hal_device_type = getHalDeviceType(hal_device_private->halDevice->getType());
@@ -122,7 +122,7 @@ std::vector<std::shared_ptr<Device>> findDevices(Device::Type type) {
std::vector<std::shared_ptr<Device>> getDevices() {
std::vector<std::shared_ptr<Device>> devices;
for_each_device_of_type(&HAL_DEVICE_TYPE, &devices ,[](auto* kernelDevice, auto* context) {
device_for_each_of_type(&HAL_DEVICE_TYPE, &devices ,[](auto* kernelDevice, auto* context) {
auto devices_ptr = static_cast<std::vector<std::shared_ptr<Device>>*>(context);
auto hal_device = hal_device_get_device(kernelDevice);
(*devices_ptr).push_back(hal_device);
+4
View File
@@ -162,7 +162,9 @@ const struct ModuleSymbol lvgl_module_symbols[] = {
DEFINE_MODULE_SYMBOL(lv_buttonmatrix_set_selected_button),
// lv_canvas
DEFINE_MODULE_SYMBOL(lv_canvas_create),
DEFINE_MODULE_SYMBOL(lv_canvas_fill_bg),
DEFINE_MODULE_SYMBOL(lv_canvas_set_draw_buf),
DEFINE_MODULE_SYMBOL(lv_canvas_set_buffer),
DEFINE_MODULE_SYMBOL(lv_canvas_set_px),
// lv_label
DEFINE_MODULE_SYMBOL(lv_label_create),
@@ -314,6 +316,8 @@ const struct ModuleSymbol lvgl_module_symbols[] = {
DEFINE_MODULE_SYMBOL(lv_line_create),
DEFINE_MODULE_SYMBOL(lv_line_set_points),
DEFINE_MODULE_SYMBOL(lv_line_set_points_mutable),
DEFINE_MODULE_SYMBOL(lv_tick_get),
DEFINE_MODULE_SYMBOL(lv_tick_elaps),
// lv_slider
DEFINE_MODULE_SYMBOL(lv_slider_create),
DEFINE_MODULE_SYMBOL(lv_slider_get_value),