Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/lib/support/drivers/temp_lubot.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lib/support/drivers/temp_lubot.lua')
-rw-r--r--lib/support/drivers/temp_lubot.lua20
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/support/drivers/temp_lubot.lua b/lib/support/drivers/temp_lubot.lua
new file mode 100644
index 0000000..dd22fc4
--- /dev/null
+++ b/lib/support/drivers/temp_lubot.lua
@@ -0,0 +1,20 @@
+local device = _G
+local RD_TEMP = string.char(0x34, 0x02)
+local char000 = string.char(0,0,0)
+
+
+api={}
+api.get_temperature = {}
+api.get_temperature.parameters = {} --no parameters
+api.get_temperature.returns = {[1]={rname="temperature", rtype="number"}} --one return
+api.get_temperature.call = function ()
+ local get_temp_payload = RD_TEMP
+ device:send(get_temp_payload)
+ local temperature_response = device:read(3) or char000
+ local raw_val = string.byte(temperature_response, 2) + (string.byte(temperature_response, 3) * 256)
+ local raw_temp = raw_val / 8
+ local deg_temp = raw_temp * 0.0625
+ --print("rawval, deg_temp: ", raw_val, deg_temp)
+ return deg_temp
+end
+