1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
local device = _G
local SEN_DIG = string.char(0x03) -- consulta un sensor digital
local SEN_ANL = string.char(0x00) -- consulta un sensor analogico
local SEN_ I2C = string.char(0x02) -- consulta un sensor i2c
api={}
api.senanl = {}
api.senanl.parameters = {[1]={rname="idPin", rtype="int"}} -- -- el parĂ¡metro indica el pin que queremos leer de la arduino
api.senanl.returns = {[1]={rname="par1", rtype="int"}} --{[1]={rname="par1", rtype="int"}, [2]={rname="par2", rtype="int"}} --two return
api.senanl.call = function (idPin)
device:send(string.char(0x00, idPin)) -- codigo de operacion 0
local sen_anl_response = device:read(3)
local raw_val
if not sen_anl_response or string.byte(sen_anl_response or "00000000", 2) == nil or string.byte(sen_anl_response or "00000000", 3) == nil
then
raw_val = "nil value"
else
raw_val = string.byte(sen_anl_response or "00000000", 2)* 256 + string.byte(sen_anl_response or "00000000", 3)
end
--local raw_val2 = string.byte(set_anl_response or " ", 3)
return raw_val --string.char(raw_val ,raw_val2)
end
api.sendig = {}
api.sendig.parameters = {[1]={rname="idPin", rtype="int"}} -- el parĂ¡metro indica el pin que queremos leer de la arduino
api.sendig.returns = {[1]={rname="lecturaSensor", rtype="int"}}
api.sendig.call = function (idPin)
device:send(string.char(0x01, idPin)) -- codigo de operacion 1
local sen_dig_response = device:read(3)
local raw_val
--if not sen_dig_response
--then
-- raw_val = "nil value"
--else
raw_val = string.byte(sen_dig_response or "0000", 2)* 256 + string.byte(sen_dig_response or "0000", 3) + 0
--end
return raw_val
end
--api.seni2c = {}
--api.seni2c.parameters = {} -- no params
--api.seni2c.returns = {[1]={rname="par1", rtype="int"}, [2]={rname="par2", rtype="int"}} --two return
--api.seni2c.call = function ()
-- local get_sen_i2c = SET_I2C
-- device:send(get_sen_i2c)
-- local sen_i2c_response = device:read(2)
-- local raw_val = string.byte(set_i2c_response, 2)
-- return raw_val
--end
|