local serdat = {} function serdat.S1(sdin) if #sdin <= 2 then return end -- suspect just crlf ?? xdin=string.sub(sdin,1,4) ydin=string.sub(sdin,1,5) -- 000>cr vt.ESP = #sdin..","..ydin cx = string.find(sdin,"]") if string.sub(sdin,1,2)=="[c" and cx ~= nil then cx = string.find(sdin,"/") vt.cdeg0 = string.sub(sdin,3,cx-1) sdin = string.sub(sdin,cx+1,#sdin) cx = string.find(sdin,"/") vt.ppm0 = string.sub(sdin,1,cx-1) sdin = string.sub(sdin,cx+1,#sdin) cx = string.find(sdin,"/") vt.apc0 = string.sub(sdin,1,cx-1) sdin = string.sub(sdin,cx+1,#sdin) cx = string.find(sdin,"/") vt.ph = string.sub(sdin,1,cx-1) sdin = string.sub(sdin,cx+1,#sdin) cx = string.find(sdin,"]") vt.prb = string.sub(sdin,1,cx-1) --uart.write(0,"HB\r\n") - else vt.sbuf=vt.sbuf..sdin end local strt,endx,sz,xx for xx=1,10 do sz = #vt.sbuf if sz <= 1023 then break end strt,endx=string.find(vt.sbuf,"\r\n") vt.sbuf = string.sub(vt.sbuf,endx+1,sz) --RTRIM buffer end end return serdat