LM92 Module¶
Since | Origin / Contributor | Maintainer | Source |
---|---|---|---|
2015-05-17 | Levente Tamas | Levente Tamas | lm92.lua |
This Lua module provides access to LM92 I²C ±0.33C 12bit+sign temperature sensor.
Note
This module requires i2c
C module built into firmware.
Require¶
lm92 = require("lm92")
Release¶
lm92 = nil
package.loaded["lm92"] = nil
lm92.setup()¶
Function used to setup the address for lm92.
Syntax¶
lm92.setup(address)
Parameters¶
address
: I²C address used by LM92. Depends on the connection ofA0
andA1
pins. Can be either0x48
,0x49
,0x4a
or0x4b
according to page 9 of LM92 datasheet
Returns¶
nil
Example¶
lm92 = require("lm92")
sda = 3 -- GPIO 0
scl = 4 -- GPIO 2
addr = 0x48
i2c.setup(0, sda, scl, i2c.SLOW) -- call i2c.setup() only once
lm92.setup(addr)
lm92.getTemperature()¶
Returns the temperature register's content.
Syntax¶
lm92.getTemperature()
Parameters¶
None
Returns¶
Temperature in degree Celsius.
lm92.shutdown()¶
Makes the chip enter the low power shutdown mode.
Syntax¶
lm92.shutdown()
Parameters¶
None
Returns¶
nil
lm92.wakeup()¶
Makes the chip exit the low power shutdown mode.
Syntax¶
lm92.wakeup()
Parameters¶
None
Returns¶
nil
lm92.setThyst()¶
Set hysteresis Temperature.
Syntax¶
lm92.setThyst(htemp)
Parameters¶
htemp
: Hysteresis temperature from 130 to -55 in ºC
Returns¶
nil
lm92.setTcrit()¶
Set Critical Temperature.
Syntax¶
lm92.setTcrit(ctemp)
Parameters¶
ctemp
: Critical temperature from 130 to -55 in ºC
Returns¶
nil
lm92.setTlow()¶
Set Low Window Temperature.
Syntax¶
lm92.setTlow(lwtemp)
Parameters¶
lwtemp
: Low window temperature from 130 to -55 in ºC
Returns¶
nil
lm92.setThigh()¶
Set High Window Temperature.
Syntax¶
lm92.setThigh(hwtemp)
Parameters¶
hwtemp
: High window temperature from 130 to -55 in ºC
Returns¶
nil
lm92.getThyst()¶
Get hysteresis Temperature.
Syntax¶
lm92.getThyst()
Parameters¶
None
Returns¶
Hysteresis Temperature in degree Celsius.
lm92.getTcrit()¶
Get Critical Temperature.
Syntax¶
lm92.getTcrit()
Parameters¶
None
Returns¶
Critical Temperature in degree Celsius.
lm92.getTlow()¶
Get Low Window Temperature.
Syntax¶
lm92.getTlow()
Parameters¶
None
Returns¶
Low Window Temperature in degree Celsius.
lm92.getThigh()¶
Get High Window Temperature.
Syntax¶
lm92.getThigh()
Parameters¶
None
Returns¶
High Window Temperature in degree Celsius.
Example¶
--node.compile("lm92.lua")
lm92 = require("lm92")
sda = 3 -- GPIO 0
scl = 4 -- GPIO 2
addr = 0x48
i2c.setup(0, sda, scl, i2c.SLOW) -- call i2c.setup() only once
lm92.setup(addr)
t = lm92.getTemperature()
print("Got temperature: "..t.." C")
--Seting comparison temperatures
lm92.setThyst(3)
lm92.setTcrit(40.75)
lm92.setTlow(28.5)
lm92.setThigh(31.625)
t = lm92.getThyst()
print("Got hyster: "..t.." C")
t = lm92.getTcrit()
print("Got Crit: "..t.." C")
t = lm92.getTlow()
print("Got Low: "..t.." C")
t = lm92.getThigh()
print("Got High: "..t.." C")
TODO:¶
- add full support of the features, including interrupt and critical alert support