diff --git a/bsp/stm32/stm32l475-atk-pandora/board/Kconfig b/bsp/stm32/stm32l475-atk-pandora/board/Kconfig index 54ee1707d390fd27fb34cef8f75ca865c9e76481..f167be8b1fb65c6c8eef9b4fc744851c25725d97 100644 --- a/bsp/stm32/stm32l475-atk-pandora/board/Kconfig +++ b/bsp/stm32/stm32l475-atk-pandora/board/Kconfig @@ -37,6 +37,15 @@ menu "Onboard Peripheral Drivers" select PKG_USING_MPU6XXX select PKG_USING_MPU6XXX_LATEST_VERSION default n + + config BSP_USING_AHT10 + bool "Enable aht10 (i2c4)" + select BSP_USING_I2C + select BSP_USING_I2C4 + select PKG_USING_SENSORS_DRIVERS + select PKG_USING_AHT10 + select PKG_USING_AHT10_LATEST_VERSION + default n endmenu diff --git a/bsp/stm32/stm32l475-atk-pandora/board/SConscript b/bsp/stm32/stm32l475-atk-pandora/board/SConscript index 05018ba3ab438394c02aaecc7af694f29c621bee..a525708b6516f3a46454f9b032dfb22081e496ea 100644 --- a/bsp/stm32/stm32l475-atk-pandora/board/SConscript +++ b/bsp/stm32/stm32l475-atk-pandora/board/SConscript @@ -18,7 +18,7 @@ if GetDepend(['BSP_USING_QSPI_FLASH']): if GetDepend(['BSP_USING_SDCARD']): src += Glob('ports/sdcard_port.c') -if GetDepend(['BSP_USING_ICM20608']): +if GetDepend(['BSP_USING_ICM20608']) or GetDepend(['BSP_USING_AHT10']): src += Glob('ports/sensor_port.c') path = [cwd] diff --git a/bsp/stm32/stm32l475-atk-pandora/board/ports/sensor_port.c b/bsp/stm32/stm32l475-atk-pandora/board/ports/sensor_port.c index e755e9ac9c92276edcde785bcf5c7eddfd72baec..d253cc179efe0eeb7f1a76488d31a093216fd809 100644 --- a/bsp/stm32/stm32l475-atk-pandora/board/ports/sensor_port.c +++ b/bsp/stm32/stm32l475-atk-pandora/board/ports/sensor_port.c @@ -19,7 +19,7 @@ int sensor_init(void) cfg.intf.type = RT_SENSOR_INTF_I2C; cfg.intf.dev_name = "i2c3"; - cfg.intf.user_data = (void*)MPU6XXX_ADDR_DEFAULT; + cfg.intf.user_data = (void *)MPU6XXX_ADDR_DEFAULT; cfg.irq_pin.pin = RT_PIN_NONE; rt_hw_mpu6xxx_init("icm", &cfg); @@ -29,3 +29,22 @@ int sensor_init(void) INIT_ENV_EXPORT(sensor_init); #endif + +#ifdef BSP_USING_AHT10 +#include "sensor_asair_aht10.h" + +#define AHT10_I2C_BUS "i2c4" + +int rt_hw_aht10_port(void) +{ + struct rt_sensor_config cfg; + + cfg.intf.dev_name = AHT10_I2C_BUS; + cfg.intf.user_data = (void *)AHT10_I2C_ADDR; + + rt_hw_aht10_init("aht10", &cfg); + + return RT_EOK; +} +INIT_ENV_EXPORT(rt_hw_aht10_port); +#endif