#601 only reset on timeout once per unit per supervisor boot

This commit is contained in:
Mikayla Fischler
2025-02-09 12:10:13 -05:00
parent 4e31b33b09
commit cab3427c70
2 changed files with 10 additions and 7 deletions

View File

@@ -45,6 +45,7 @@ local self = {
fp_ok = false,
config = nil, ---@type svr_config
facility = nil, ---@type facility|nil
plc_ini_reset = {},
-- lists of connected sessions
---@diagnostic disable: missing-fields
sessions = {
@@ -392,6 +393,8 @@ function svsessions.init(nic, fp_ok, config, facility)
end
self.dev_dbg.connected.units[i] = conns
self.plc_ini_reset[i] = true
end
end
@@ -486,7 +489,7 @@ function svsessions.establish_plc_session(source_addr, i_seq_num, for_reactor, v
local id = self.next_ids.plc
plc_s.instance = plc.new_session(id, source_addr, i_seq_num, for_reactor, plc_s.in_queue, plc_s.out_queue, self.config.PLC_Timeout, self.fp_ok)
plc_s.instance = plc.new_session(id, source_addr, i_seq_num, for_reactor, plc_s.in_queue, plc_s.out_queue, self.config.PLC_Timeout, self.plc_ini_reset, self.fp_ok)
table.insert(self.sessions.plc, plc_s)
local units = self.facility.get_units()