浏览代码

[bsp][stm32/stm32l475-atk-pandora]添加 sensor 框架下 aht10 的支持

yangjie 6 年之前
父节点
当前提交
9c246173c6

+ 9 - 0
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
 

+ 1 - 1
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]

+ 20 - 1
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