Explorar o código

极端情况下数据溢出导致的光照出现负值

Signed-off-by: 孟巍 <7897852+mei_gitee@user.noreply.gitee.com>
孟巍 %!s(int64=3) %!d(string=hai) anos
pai
achega
0ca954444d
Modificáronse 1 ficheiros con 2 adicións e 1 borrados
  1. 2 1
      script/libs/bh1750/bh1750.lua

+ 2 - 1
script/libs/bh1750/bh1750.lua

@@ -91,7 +91,8 @@ log.info("bh1750_read_light", bh1750_data)
 ]]
 function bh1750.read_light()
     bh1750_set_measure_mode(BH1750_CON_H_RES_MODE, 180)
-    local _,light = pack.unpack(i2c_recv(2),">h")
+    -- local _,light = pack.unpack(i2c_recv(2),">h") -- 极端情况下数据溢出导致的光照出现负值, 如string.toHex(i2c_recv(2)) == "FFFF"
+    local _,light = pack.unpack(i2c_recv(2),">H")
     return light / 1.2
 end