mirror of
https://github.com/ByteWelder/Tactility.git
synced 2026-04-18 09:25:06 +00:00
* **New Features** * BMI270 6-axis IMU driver added; new unified filesystem abstraction for mounted filesystems. * Public Wi‑Fi API surface (no implementation yet) * SDMMC driver added (kernel drive$) * expanded GPIO interrupt/callback support * **Improvements** * M5Stack Tab5: revamped GPIO/power initialization and IMU integration. * LVGL updates including device fontSize configuration. * Updated all code related to SD card device/fs handling * Rename LilyGO T-HMI S3 to LilyGO T-HMI * **Bug Fixes** * Simplified and consolidated SD card handling and mount discovery.
34 lines
911 B
C++
34 lines
911 B
C++
#pragma once
|
|
|
|
#include <string>
|
|
#include <esp_adc_cal.h>
|
|
#include <driver/gpio.h>
|
|
#include <ChargeFromVoltage.h>
|
|
#include <Tactility/hal/power/PowerDevice.h>
|
|
|
|
constexpr auto THMI_POWEREN_GPIO = GPIO_NUM_10;
|
|
constexpr auto THMI_POWERON_GPIO = GPIO_NUM_14;
|
|
|
|
using tt::hal::power::PowerDevice;
|
|
|
|
class Power final : public PowerDevice {
|
|
|
|
ChargeFromVoltage chargeFromAdcVoltage = ChargeFromVoltage(3.3f, 4.2f);
|
|
esp_adc_cal_characteristics_t adcCharacteristics;
|
|
bool initialized = false;
|
|
bool calibrated = false;
|
|
|
|
bool adcInitCalibration();
|
|
uint32_t adcReadValue() const;
|
|
|
|
bool ensureInitialized();
|
|
|
|
public:
|
|
|
|
std::string getName() const override { return "T-HMI Power"; }
|
|
std::string getDescription() const override { return "Power measurement via ADC"; }
|
|
|
|
bool supportsMetric(MetricType type) const override;
|
|
bool getMetric(MetricType type, MetricData& data) override;
|
|
};
|