Fix float version, auto-detect int/float, OO tmr (#1866)
This commit is contained in:
parent
46f651cccb
commit
925991715f
|
@ -25,7 +25,7 @@ return({
|
||||||
if s.parasite == 1 then break end -- parasite sensor blocks bus during conversion
|
if s.parasite == 1 then break end -- parasite sensor blocks bus during conversion
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
tmr.alarm(tmr.create(), 750, tmr.ALARM_SINGLE, function() self:readout() end)
|
tmr.create():alarm(750, tmr.ALARM_SINGLE, function() self:readout() end)
|
||||||
end,
|
end,
|
||||||
|
|
||||||
readTemp = function(self, cb, lpin)
|
readTemp = function(self, cb, lpin)
|
||||||
|
@ -83,25 +83,28 @@ return({
|
||||||
t = t * 5000 -- DS18S20, 1 fractional bit
|
t = t * 5000 -- DS18S20, 1 fractional bit
|
||||||
end
|
end
|
||||||
|
|
||||||
-- integer version
|
if 1/2 == 0 then
|
||||||
local sgn = t<0 and -1 or 1
|
-- integer version
|
||||||
local tA = sgn*t
|
local sgn = t<0 and -1 or 1
|
||||||
local tH=tA/10000
|
local tA = sgn*t
|
||||||
local tL=(tA%10000)/1000 + ((tA%1000)/100 >= 5 and 1 or 0)
|
local tH=tA/10000
|
||||||
|
local tL=(tA%10000)/1000 + ((tA%1000)/100 >= 5 and 1 or 0)
|
||||||
|
|
||||||
if tH and (tH~=85) then
|
if tH and (tH~=85) then
|
||||||
self.temp[s.addr]=(sgn<0 and "-" or "")..tH.."."..tL
|
self.temp[s.addr]=(sgn<0 and "-" or "")..tH.."."..tL
|
||||||
print(encoder.toHex(s.addr),(sgn<0 and "-" or "")..tH.."."..tL)
|
print(encoder.toHex(s.addr),(sgn<0 and "-" or "")..tH.."."..tL)
|
||||||
s.status = 2
|
s.status = 2
|
||||||
|
end
|
||||||
|
-- end integer version
|
||||||
|
else
|
||||||
|
-- float version
|
||||||
|
if t and (math.floor(t/10000)~=85) then
|
||||||
|
self.temp[s.addr]=t/10000
|
||||||
|
print(encoder.toHex(s.addr), t)
|
||||||
|
s.status = 2
|
||||||
|
end
|
||||||
|
-- end float version
|
||||||
end
|
end
|
||||||
-- end integer version
|
|
||||||
-- -- float version
|
|
||||||
-- if t and (math.floor(t/10000)~=85) then
|
|
||||||
-- self.temp[s.addr]=t
|
|
||||||
-- print(encoder.toHex(s.addr), t)
|
|
||||||
-- s.status = 2
|
|
||||||
-- end
|
|
||||||
-- -- end float version
|
|
||||||
end
|
end
|
||||||
next = next or s.status == 0
|
next = next or s.status == 0
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue