Implemented new driver projects (#210)

Moved drivers from the `Boards` projects to `Drivers` folder:
- BQ24295
- AW9523
- AXP2101

The I2C drivers are theoretically cross-platform, but for now they are only built for ESP32.
This commit is contained in:
Ken Van Hoeylandt 2025-02-08 21:08:23 +01:00 committed by GitHub
parent c74006f8b6
commit 5b375c21bb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
17 changed files with 39 additions and 10 deletions

View File

@ -1,5 +1,5 @@
idf_component_register( idf_component_register(
SRC_DIRS "Source" "Source/hal" "Source/Axp2101" "Source/Aw9523" SRC_DIRS "Source" "Source/hal"
INCLUDE_DIRS "Source" INCLUDE_DIRS "Source"
REQUIRES Tactility esp_lvgl_port esp_lcd esp_lcd_ili9341 ILI934x esp_lcd_touch_ft5x06 driver vfs fatfs REQUIRES Tactility esp_lvgl_port esp_lcd esp_lcd_ili9341 ILI934x AXP2101 AW9523 esp_lcd_touch_ft5x06 driver vfs fatfs
) )

View File

@ -1,9 +1,8 @@
#include "Axp2101/Axp2101.h" #include <Axp2101.h>
#include "Aw9523/Aw9523.h" #include <Aw9523.h>
#include <Tactility/Log.h> #include <Tactility/Log.h>
#include <Tactility/kernel/Kernel.h> #include <Tactility/kernel/Kernel.h>
#include <driver/i2c.h>
#define TAG "cores3" #define TAG "cores3"

View File

@ -1,7 +1,6 @@
#pragma once #pragma once
#include "Axp2101/Axp2101.h" #include <Axp2101.h>
#include <Tactility/hal/Power.h> #include <Tactility/hal/Power.h>
#include <memory> #include <memory>
#include <utility> #include <utility>

View File

@ -1,5 +1,5 @@
idf_component_register( idf_component_register(
SRC_DIRS "Source" "Source/hal" "Source/hx8357" "Source/bq24295" SRC_DIRS "Source" "Source/hal" "Source/hx8357"
INCLUDE_DIRS "Source" INCLUDE_DIRS "Source"
REQUIRES Tactility esp_lvgl_port esp_io_expander esp_io_expander_tca95xx_16bit esp_lcd_touch esp_lcd_touch_xpt2046 REQUIRES Tactility esp_lvgl_port esp_io_expander esp_io_expander_tca95xx_16bit BQ24295 esp_lcd_touch esp_lcd_touch_xpt2046
) )

View File

@ -1,6 +1,6 @@
#pragma once #pragma once
#include "bq24295/Bq24295.h" #include <Bq24295.h>
#include <Tactility/Thread.h> #include <Tactility/Thread.h>
#include <esp_io_expander_tca95xx_16bit.h> #include <esp_io_expander_tca95xx_16bit.h>

View File

@ -0,0 +1,5 @@
idf_component_register(
SRC_DIRS "Source"
INCLUDE_DIRS "Source"
REQUIRES Tactility
)

5
Drivers/AW9523/README.md Normal file
View File

@ -0,0 +1,5 @@
# AW9523
Multi-functional GPIO expander and LED driver with I2C interface.
[Datasheet](https://www.alldatasheet.com/datasheet-pdf/download/1148542/AWINIC/AW9523B.html)

View File

@ -0,0 +1,5 @@
idf_component_register(
SRC_DIRS "Source"
INCLUDE_DIRS "Source"
REQUIRES Tactility
)

View File

@ -0,0 +1,6 @@
# AXP2101
Power management with I2C interface: a single cell NVDC PMU with E-gauge.
- [Datasheet](http://file.whycan.com/files/members/6736/AXP2101_Datasheet_V1.0_en_3832.pdf)
- [M5Unified implementation](https://github.com/m5stack/M5Unified/blob/master/src/utility/AXP2101_Class.cpp)

View File

@ -0,0 +1,5 @@
idf_component_register(
SRC_DIRS "Source"
INCLUDE_DIRS "Source"
REQUIRES Tactility
)

View File

@ -0,0 +1,5 @@
# BQ24295
Power management: I2C-controlled 3A single cell USB charger with narrow VDC 4.5-5.5V adjustable voltage at 1.5A synchronous boost operation.
[Datasheet](https://www.ti.com/lit/ds/symlink/bq24295.pdf)