main.lua 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. -- LuaTools需要PROJECT和VERSION这两个信息
  2. PROJECT = "charge"
  3. VERSION = "1.0.0"
  4. sys = require("sys")
  5. log.info("main", PROJECT, VERSION)
  6. --[[
  7. 充电IC的相关逻辑
  8. ]] local gpio_pin = 15 --
  9. -- gpio.setup(gpio_pin, 1, gpio.PULLUP)
  10. sys.taskInit(function()
  11. sys.wait(1000)
  12. local result, data = yhm27xx.cmd(gpio_pin, 0x04, 0x08)
  13. sys.wait(200)
  14. log.info("yhm27xxx", result, data)
  15. if result == true and data ~= nil then
  16. log.info("yhm27xxx", "yhm27xx存在--")
  17. sys.wait(200)
  18. result = yhm27xx.cmd(gpio_pin, 0x04, 0x01, 0x02)
  19. if result == true then
  20. result, data = yhm27xx.cmd(gpio_pin, 0x04, 0x01)
  21. if data ~= 2 then
  22. log.info("yhm27xxx", "写入失败", data)
  23. else
  24. log.info("yhm27xxx", "测试成功", data)
  25. end
  26. else
  27. log.info("yhm27xxx", "读取失败", result)
  28. end
  29. log.info("开始读所有寄存器的值")
  30. table_reg = {0x01, 0x02, 0x03, 0x04, 0x05, 0x05, 0x06, 0x07, 0x08}
  31. local result, data = yhm27xx.cmd(gpio_pin, 0x04, 0x00)
  32. if result then
  33. log.info("00寄存器的值", string.format("Value: 0x%02X", data))
  34. else
  35. log.info("00寄存器没读到")
  36. end
  37. local result, data = yhm27xx.cmd(gpio_pin, 0x04, 0x01)
  38. if result then
  39. log.info("01寄存器的值", string.format("Value: 0x%02X", data))
  40. else
  41. log.info("01寄存器没读到")
  42. end
  43. local result, data = yhm27xx.cmd(gpio_pin, 0x04, 0x02)
  44. if result then
  45. log.info("02寄存器的值", string.format("Value: 0x%02X", data))
  46. else
  47. log.info("02寄存器没读到")
  48. end
  49. local result, data = yhm27xx.cmd(gpio_pin, 0x04, 0x03)
  50. if result then
  51. log.info("03寄存器的值", string.format("Value: 0x%02X", data))
  52. else
  53. log.info("03寄存器没读到")
  54. end
  55. local result, data = yhm27xx.cmd(gpio_pin, 0x04, 0x04)
  56. if result then
  57. log.info("04寄存器的值", string.format("Value: 0x%02X", data))
  58. else
  59. log.info("04寄存器没读到")
  60. end
  61. local result, data = yhm27xx.cmd(gpio_pin, 0x04, 0x05)
  62. if result then
  63. log.info("05寄存器的值", string.format("Value: 0x%02X", data))
  64. else
  65. log.info("05寄存器没读到")
  66. end
  67. local result, data = yhm27xx.cmd(gpio_pin, 0x04, 0x06)
  68. if result then
  69. log.info("06寄存器的值", string.format("Value: 0x%02X", data))
  70. else
  71. log.info("06寄存器没读到")
  72. end
  73. local result, data = yhm27xx.cmd(gpio_pin, 0x04, 0x07)
  74. if result then
  75. log.info("07寄存器的值", string.format("Value: 0x%02X", data))
  76. else
  77. log.info("07寄存器没读到")
  78. end
  79. local result, data = yhm27xx.cmd(gpio_pin, 0x04, 0x08)
  80. if result then
  81. log.info("08寄存器的值", string.format("Value: 0x%02X", data))
  82. else
  83. log.info("08寄存器没读到")
  84. end
  85. log.info("等待10S后修改01寄存器的值为0x07<<5")
  86. sys.wait(10*1000)
  87. result = yhm27xx.cmd(gpio_pin, 0x04, 0x01, 0x07 << 5)
  88. if result == true then
  89. log.info("修改01寄存器成功")
  90. local result, data = yhm27xx.cmd(gpio_pin, 0x04, 0x01)
  91. log.info("让我看看现在01寄存器的值", string.format("Value: 0x%02X", data))
  92. else
  93. log.info("修改01寄存器失败")
  94. end
  95. log.info("等待10s后修改")
  96. sys.wait(10 * 1000)
  97. else
  98. log.warn("yhm27xx", "yhm27xx不存在")
  99. end
  100. end)
  101. -- result = yhm27xx.cmd(gpio_pin, 0x04, 0x00, 0x08)
  102. sys.run()