mirror of
https://github.com/troglobit/libuev.git
synced 2026-11-06 15:50:52 +00:00
Fix telnet close. Some port adjusments
This commit is contained in:
1 parent
0d14859775
commit
3ddf76fbca
1 file changed
+10
-9
@@ -86,11 +86,12 @@ end
|
|||||||
-- Override and embed in derived classes to read input
|
-- Override and embed in derived classes to read input
|
||||||
function NmeaNode:readClient(subscr, inp)
|
function NmeaNode:readClient(subscr, inp)
|
||||||
local res, err = posix.read(inp:getfd())
|
local res, err = posix.read(inp:getfd())
|
||||||
if not res then
|
if not res or res == "" then
|
||||||
log.notice(("PORT:%-15s Connection %d closed"):_(self.mName, inp:getfd()))
|
log.notice(("PORT:%-15s Connection %d closed"):_(self.mName, inp:getfd()))
|
||||||
self.mListeners[inp] = nil
|
self.mListeners[inp] = nil
|
||||||
self.mSubscriptions[subscr] = nil
|
self.mSubscriptions[subscr] = nil
|
||||||
subscr:clear()
|
subscr:clear()
|
||||||
|
inp:close()
|
||||||
return nil
|
return nil
|
||||||
end
|
end
|
||||||
return res
|
return res
|
||||||
@@ -188,12 +189,11 @@ function NmeaPort:start(str)
|
|||||||
return self:reOpen()
|
return self:reOpen()
|
||||||
end
|
end
|
||||||
|
|
||||||
local function nmeaReadPort(self, subscr)
|
local function nmeaReadPort(self, port, subscr)
|
||||||
local port = self.mSerialPort
|
|
||||||
local str, err = posix.read(port:getfd())
|
local str, err = posix.read(port:getfd())
|
||||||
if not str then
|
if not str or str == "" then
|
||||||
log.error(("PORT:%-15s REOPEN: Failed to read %s: %s"):_(self.mName, self.mPath, err))
|
log.error(("PORT:%-15s REOPEN: Failed to read %s: %s"):_(self.mName, self.mPath, err))
|
||||||
self.mSerialPort:close()
|
port:close()
|
||||||
self.mSerialPort = nil
|
self.mSerialPort = nil
|
||||||
subscr:clear()
|
subscr:clear()
|
||||||
self.mSubscriptions[subscr] = nil
|
self.mSubscriptions[subscr] = nil
|
||||||
@@ -236,7 +236,7 @@ function NmeaPort:reOpen()
|
|||||||
self.mSerialPort = port
|
self.mSerialPort = port
|
||||||
os.execute(("stty %d raw -parenb cs8 min 50 time 1 < %s"):_(self.mSpeed, self.mPath))
|
os.execute(("stty %d raw -parenb cs8 min 50 time 1 < %s"):_(self.mSpeed, self.mPath))
|
||||||
local subscr = appc.addFileIO(self.mSerialPort:getfd(), function(subscr)
|
local subscr = appc.addFileIO(self.mSerialPort:getfd(), function(subscr)
|
||||||
return nmeaReadPort(self, subscr)
|
return nmeaReadPort(self, port, subscr)
|
||||||
end)
|
end)
|
||||||
self.mSubscriptions[subscr] = true
|
self.mSubscriptions[subscr] = true
|
||||||
end
|
end
|
||||||
@@ -305,7 +305,7 @@ function NmeaFilter:processInput(str, ix)
|
|||||||
if self.mNegList then
|
if self.mNegList then
|
||||||
for _,p in ipairs(self.mNegList) do
|
for _,p in ipairs(self.mNegList) do
|
||||||
if str:find(p) then
|
if str:find(p) then
|
||||||
log.debug(||("NREJ:%-15s READ: %t"):_(self.mName, str))
|
log.debug(||("NREJ:%-15s NEG:%s: %t"):_(self.mName, p, str))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -463,13 +463,14 @@ local sampleConf = {
|
|||||||
p_gps = { path = "/dev/ttyusb/pl2303-067b-2303/bus_usb_001_004:00",
|
p_gps = { path = "/dev/ttyusb/pl2303-067b-2303/bus_usb_001_004:00",
|
||||||
speed=4800 , port=26004},
|
speed=4800 , port=26004},
|
||||||
p_ais = { path = "/dev/ttyusb/ftdi_sio-0403-6001/0", speed=38400 , port=25001},
|
p_ais = { path = "/dev/ttyusb/ftdi_sio-0403-6001/0", speed=38400 , port=25001},
|
||||||
p_bkhousemux = { path = "/dev/ttyusb/ftdi_sio-0403-6010/0", speed=38400 , port=25005},
|
p_bkhousemux = { path = "/dev/ttyusb/pl2303-067b-2303/bus_usb_001_011:00",
|
||||||
|
speed=38400 , port=25005},
|
||||||
},
|
},
|
||||||
rawports = {
|
rawports = {
|
||||||
p_pactor = { path = "/dev/ttyusb/ftdi_sio-0403-d010/0", speed=9600 , port=25002},
|
p_pactor = { path = "/dev/ttyusb/ftdi_sio-0403-d010/0", speed=9600 , port=25002},
|
||||||
p_garmin1 = { path = "/dev/ttyusb/mos7840-9710-7840/3", speed=9600 , port=25003},
|
p_garmin1 = { path = "/dev/ttyusb/mos7840-9710-7840/3", speed=9600 , port=25003},
|
||||||
p_garmin2 = { path = "/dev/ttyS0", speed=9600 , port=25004},
|
p_garmin2 = { path = "/dev/ttyS0", speed=9600 , port=25004},
|
||||||
p_navtex = { path = "/dev/ttyusb/pl2303-067b-2303/bus_usb_001_011:00",
|
p_navtex = { path = "/dev/ttyusb/pl2303-067b-2303/bus_usb_001_012:00",
|
||||||
speed=38400 , port=25006},
|
speed=38400 , port=25006},
|
||||||
},
|
},
|
||||||
filter = {
|
filter = {
|
||||||
|
|||||||
Reference in new issue
Block a user