Commit a3e51872 authored by Javier Yáñez's avatar Javier Yáñez
Browse files

Support for versions of NodeMCU with float point

Read error is indicated with humidity = nil
parent 055c55a7
......@@ -77,15 +77,17 @@ function M.read(pin)
end
end
checksumTest=((humidity / 256) + (humidity % 256) + (temperature / 256) + (temperature % 256)) % 256
checksumTest = (bit.band(humidity, 0xFF) + bit.rshift(humidity, 8) + bit.band(temperature, 0xFF) + bit.rshift(temperature, 8))
checksumTest = bit.band(checksumTest, 0xFF)
if temperature > 0x8000 then
-- convert to negative format
temperature = -(temperature - 0x8000)
end
if checksum ~= checksumTest then
humidity = -1
-- conditions compatible con float point and integer
if (checksumTest - checksum >= 1) or (checksum - checksumTest >= 1) then
humidity = nil
end
end
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment