#55 correctly use device IDs vs unit IDs

This commit is contained in:
Mikayla Fischler
2022-05-18 13:49:04 -04:00
parent cc856d4d80
commit 790571b6fc
7 changed files with 48 additions and 23 deletions

View File

@@ -47,19 +47,21 @@ local PERIODICS = {
-- create a new redstone rtu session runner
---@param session_id integer
---@param unit_id integer
---@param advert rtu_advertisement
---@param out_queue mqueue
redstone.new = function (session_id, advert, out_queue)
redstone.new = function (session_id, unit_id, advert, out_queue)
-- type check
if advert.type ~= RTU_UNIT_TYPES.REDSTONE then
log.error("attempt to instantiate redstone RTU for type '" .. advert.type .. "'. this is a bug.")
return nil
end
local log_tag = "session.rtu(" .. session_id .. ").redstone(" .. advert.index .. "): "
-- for redstone, use unit ID not device index
local log_tag = "session.rtu(" .. session_id .. ").redstone(" .. unit_id .. "): "
local self = {
session = unit_session.new(log_tag, advert, out_queue, TXN_TAGS),
session = unit_session.new(unit_id, advert, out_queue, log_tag, TXN_TAGS),
has_di = false,
has_ai = false,
periodics = {