Răsfoiți Sursa

fix: yhm27xx,air800g读不到充电ic

Wendal Chen 7 luni în urmă
părinte
comite
7ad3729d31

+ 6 - 1
components/drv/src/luat_drv_gpio.c

@@ -70,7 +70,12 @@ int luat_drv_gpio_get(int pin, int* val) {
 
 int luat_drv_gpio_driver_yhm27xx(uint32_t Pin, uint8_t ChipID, uint8_t RegAddress, uint8_t IsRead, uint8_t *Data) 
 {
-    return luat_airlink_drv_gpio_driver_yhm27xx(Pin, ChipID, RegAddress, IsRead, Data);
+    if (Pin >= 128) {
+        return luat_airlink_drv_gpio_driver_yhm27xx(Pin, ChipID, RegAddress, IsRead, Data);
+    }
+    else {
+        return luat_gpio_driver_yhm27xx(Pin, ChipID, RegAddress, IsRead, Data);
+    }
 }
 
 int luat_drv_gpio_driver_yhm27xx_reqinfo(uint8_t Pin, uint8_t ChipID) {

+ 6 - 5
components/yhm27xx/binding/luat_lib_yhm27xx.c

@@ -16,6 +16,10 @@
 #include "luat_gpio.h"
 #include "luat_zbuff.h"
 #include "luat_msgbus.h"
+#include "luat_gpio.h"
+#ifdef LUAT_USE_DRV_GPIO
+#include "luat/drv_gpio.h"
+#endif
 
 #define LUAT_LOG_TAG "yhm27xx"
 #include "luat_log.h"
@@ -51,12 +55,9 @@ static int l_yhm27xx_cmd(lua_State *L)
     data = luaL_checkinteger(L, 4);
   }
   #ifdef LUAT_USE_DRV_GPIO
-  if (pin >= 128) {
-    ret = luat_drv_gpio_driver_yhm27xx(pin, chip_id, reg, is_read, &data);
-  }
-  else
+  ret = luat_drv_gpio_driver_yhm27xx(pin, chip_id, reg, is_read, &data);
   #else
-    ret = luat_gpio_driver_yhm27xx(pin, chip_id, reg, is_read, &data);
+  ret = luat_gpio_driver_yhm27xx(pin, chip_id, reg, is_read, &data);
   #endif
   if (ret != 0)
   {