|
|
@@ -44,43 +44,43 @@ local set_4V5 = 0xC0 --4.5V
|
|
|
local set_4V525 = 0xD0 --4.525V
|
|
|
|
|
|
--充电电流常用参数,默认充电电流为250mA,即0.5倍*500=250mA
|
|
|
-local set_0I2 = 0x20 --0.2倍,0.2*500=100mA
|
|
|
-local set_0I5 = 0x00 --0.5倍,0.5*500=250mA
|
|
|
-local set_0I7 = 0x40 --0.7倍,0.7*500=350mA
|
|
|
-local set_0I9 = 0x60 --0.9倍,0.9*500=450mA
|
|
|
-local set_I = 0x80 -- 1倍,1.0*500=500mA
|
|
|
-local set_1I5 = 0xA0 --1.5倍,1.5*500=750mA
|
|
|
-local set_2I = 0xC0 -- 2倍,2.0*500=1000mA
|
|
|
-local set_3I = 0xE0 -- 3倍,3.0*500=1500mA
|
|
|
+local set_0I2 = 0x22 --0.2倍,0.2*500=100mA
|
|
|
+local set_0I5 = 0x02 --0.5倍,0.5*500=250mA
|
|
|
+local set_0I7 = 0x42 --0.7倍,0.7*500=350mA
|
|
|
+local set_0I9 = 0x62 --0.9倍,0.9*500=450mA
|
|
|
+local set_I = 0x82 -- 1倍,1.0*500=500mA
|
|
|
+local set_1I5 = 0xA2 --1.5倍,1.5*500=750mA
|
|
|
+local set_2I = 0xC2 -- 2倍,2.0*500=1000mA
|
|
|
+local set_3I = 0xE2 -- 3倍,3.0*500=1500mA
|
|
|
|
|
|
local V_table={
|
|
|
- ["224"] = "4.0V",
|
|
|
- ["240"] = "4.1V",
|
|
|
+ ["14"] = "4.0V",
|
|
|
+ ["15"] = "4.1V",
|
|
|
["0"] = "4.2V",
|
|
|
- ["16"] = "4.225V",
|
|
|
- ["32"] = "4.25V",
|
|
|
- ["48"] = "4.275V",
|
|
|
- ["64"] = "4.3V",
|
|
|
- ["80"] = "4.325V",
|
|
|
- ["96"] = "4.35V",
|
|
|
- ["112"] = "4.375V",
|
|
|
- ["128"] = "4.4V",
|
|
|
- ["144"] = "4.425V",
|
|
|
- ["160"] = "4.45V",
|
|
|
- ["176"] = "4.475V",
|
|
|
- ["192"] = "4.5V",
|
|
|
- ["208"] = "4.525V",
|
|
|
+ ["1"] = "4.225V",
|
|
|
+ ["2"] = "4.25V",
|
|
|
+ ["3"] = "4.275V",
|
|
|
+ ["4"] = "4.3V",
|
|
|
+ ["5"] = "4.325V",
|
|
|
+ ["6"] = "4.35V",
|
|
|
+ ["7"] = "4.375V",
|
|
|
+ ["8"] = "4.4V",
|
|
|
+ ["9"] = "4.425V",
|
|
|
+ ["10"] = "4.45V",
|
|
|
+ ["11"] = "4.475V",
|
|
|
+ ["12"] = "4.5V",
|
|
|
+ ["13"] = "4.525V",
|
|
|
}
|
|
|
|
|
|
local I_table={
|
|
|
- ["32"] = "100mA",
|
|
|
+ ["1"] = "100mA",
|
|
|
["0"] = "250mA",
|
|
|
- ["64"] = "350mA",
|
|
|
- ["96"] = "450mA",
|
|
|
- ["128"] = "500mA",
|
|
|
- ["160"] = "750mA",
|
|
|
- ["192"] = "1000mA",
|
|
|
- ["224"] = "1500mA",
|
|
|
+ ["2"] = "350mA",
|
|
|
+ ["3"] = "450mA",
|
|
|
+ ["4"] = "500mA",
|
|
|
+ ["5"] = "750mA",
|
|
|
+ ["6"] = "1000mA",
|
|
|
+ ["7"] = "1500mA",
|
|
|
}
|
|
|
|
|
|
local charge_status_table={
|
|
|
@@ -99,7 +99,7 @@ sys.taskInit(function()
|
|
|
local result, data = yhm27xx.cmd(gpio_pin, sensor_addr, id_register)
|
|
|
sys.wait(200)
|
|
|
--设置充电电压为4V
|
|
|
- result,data = sensor.yhm27xx(gpio_pin, sensor_addr, V_ctrl_register, set_4V)
|
|
|
+ result,data = yhm27xx.cmd(gpio_pin, sensor_addr, V_ctrl_register, set_4V)
|
|
|
if result == true then
|
|
|
log.info("yhm27xxx 设置电压成功")
|
|
|
else
|
|
|
@@ -107,30 +107,31 @@ sys.taskInit(function()
|
|
|
end
|
|
|
sys.wait(200)
|
|
|
--充电电流设置为1倍
|
|
|
- result,data = yhm27xx.cmd(gpio_pin, sensor_addr, I_ctrl_register, set_0I5)
|
|
|
+ result,data = yhm27xx.cmd(gpio_pin, sensor_addr, I_ctrl_register, set_0I7)
|
|
|
|
|
|
if result == true then
|
|
|
log.info("yhm27xxx 设置电流成功")
|
|
|
else
|
|
|
log.info("yhm27xxx 设置电流失败")
|
|
|
end
|
|
|
-
|
|
|
log.info("读寄存器的值...")
|
|
|
- sys.wait(200)
|
|
|
- yhm27xx.reqinfo(gpio_pin, sensor_addr)
|
|
|
- local result, data = sys.waitUntil("YHM27XX_REG", 200)
|
|
|
- local Data_reg={}
|
|
|
-
|
|
|
- if result then
|
|
|
- for i=1,9 do
|
|
|
- Data_reg[i] = data:byte(i)
|
|
|
+ adc.open(adc.CH_VBAT)
|
|
|
+ while true do
|
|
|
+ sys.wait(3000)
|
|
|
+ yhm27xx.reqinfo(gpio_pin, sensor_addr)
|
|
|
+ local result, data = sys.waitUntil("YHM27XX_REG", 500)
|
|
|
+ local Data_reg={}
|
|
|
+ -- log.info("result", result, "data", data)
|
|
|
+ if result then
|
|
|
+ for i=1,9 do
|
|
|
+ Data_reg[i] = data:byte(i)
|
|
|
+ end
|
|
|
+ log.info("当前电池电压", "VBAT", adc.get(adc.CH_VBAT))
|
|
|
+ log.info("yhm27xxx 寄存器0x00 功能:设置充电电压, 读取数据为:", V_table[tostring((Data_reg[1] & 0xF0)>>4)])
|
|
|
+ log.info("yhm27xxx 寄存器0x01 功能:设置充电电流, 读取数据为:", I_table[tostring((Data_reg[2] & 0xE0)>>5)])
|
|
|
+ log.info("yhm27xxx 寄存器0x05 功能:充电状态寄存器(只读),充电状态为:" , charge_status_table[tostring((Data_reg[6] & 0xE0)>>5)])
|
|
|
end
|
|
|
-
|
|
|
- log.info("yhm27xxx 寄存器0x00 功能:设置充电电压, 读取数据为:", V_table[tostring(Data_reg[1])])
|
|
|
- log.info("yhm27xxx 寄存器0x00 功能:设置充电电流, 读取数据为:", I_table[tostring(Data_reg[2])])
|
|
|
- log.info("yhm27xxx 寄存器0x05 功能:充电状态寄存器(只读),读取数据为:" , charge_status_table[tostring((Data_reg[6] & 0xE0)>>5)])
|
|
|
end
|
|
|
-
|
|
|
end)
|
|
|
|
|
|
sys.run()
|