Tab5 features, StackChan, fixes, drivers.... (#526)

This commit is contained in:
Shadowtrance
2026-05-29 07:31:25 +10:00
committed by GitHub
parent 5c78d55b04
commit a59fbf4ed5
140 changed files with 2500 additions and 835 deletions
@@ -0,0 +1,15 @@
// SPDX-License-Identifier: Apache-2.0
#pragma once
#include <tactility/bindings/bindings.h>
#include <drivers/py32ioexpander.h>
#ifdef __cplusplus
extern "C" {
#endif
DEFINE_DEVICETREE(py32ioexpander, struct Py32IoExpanderConfig)
#ifdef __cplusplus
}
#endif
@@ -0,0 +1,34 @@
// SPDX-License-Identifier: Apache-2.0
#pragma once
#include <stdbool.h>
#include <stdint.h>
#include <tactility/error.h>
struct Device;
#ifdef __cplusplus
extern "C" {
#endif
struct Py32IoExpanderConfig {
uint8_t address;
};
// ---------------------------------------------------------------------------
// GPIO (16 pins, index 015)
// ---------------------------------------------------------------------------
error_t py32_gpio_set_output(struct Device* device, uint8_t pin, bool value);
error_t py32_gpio_get_input(struct Device* device, uint8_t pin, bool* value);
// ---------------------------------------------------------------------------
// NeoPixel LED ring (up to 32 WS2812C LEDs)
// ---------------------------------------------------------------------------
error_t py32_led_set_count(struct Device* device, uint8_t count);
error_t py32_led_set_color(struct Device* device, uint8_t index, uint8_t r, uint8_t g, uint8_t b);
error_t py32_led_refresh(struct Device* device);
error_t py32_led_disable(struct Device* device);
#ifdef __cplusplus
}
#endif
@@ -0,0 +1,14 @@
// SPDX-License-Identifier: Apache-2.0
#pragma once
#include <tactility/module.h>
#ifdef __cplusplus
extern "C" {
#endif
extern struct Module py32ioexpander_module;
#ifdef __cplusplus
}
#endif