luat_lib_yhm27xx.c 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /*
  2. @module yhm27xx
  3. @summary yhm27xx充电芯片
  4. @version 1.0
  5. @date 2025.04.2
  6. @tag LUAT_USE_GPIO
  7. @demo yhm27xxx
  8. @usage
  9. -- 请查阅demo/yhm27xx
  10. */
  11. #include "luat_pm.h"
  12. #define LUAT_LOG_TAG "yhm27xx"
  13. #include "luat_log.h"
  14. static int l_yhm27xx_cmd(lua_State *L)
  15. {
  16. // 设置命令类型为读写寄存器
  17. lua_pushinteger(L, LUAT_PM_YHM27XX_CMD_READWRITE);
  18. lua_insert(L, 4); // 将命令类型插入到第四个参数位置
  19. return l_pm_chgcmd(L);
  20. }
  21. static int l_yhm27xx_reqinfo(lua_State *L)
  22. {
  23. // 设置命令类型为请求所有寄存器信息
  24. lua_pushinteger(L, LUAT_PM_YHM27XX_CMD_REQINFO);
  25. lua_insert(L, 3); // 将命令类型插入到第三个参数位置
  26. return l_pm_chgcmd(L);
  27. }
  28. #include "rotable2.h"
  29. static const rotable_Reg_t reg_yhm27xx[] = {
  30. {"cmd", ROREG_FUNC(l_yhm27xx_cmd)},
  31. {"reqinfo", ROREG_FUNC(l_yhm27xx_reqinfo)},
  32. {NULL, ROREG_INT(0)}
  33. };
  34. LUAMOD_API int luaopen_yhm27xx(lua_State *L)
  35. {
  36. luat_newlib2(L, reg_yhm27xx);
  37. return 1;
  38. }