From dc26aece93f65aa97f8166fc37e15ac7c8848caa Mon Sep 17 00:00:00 2001 From: Gabriel Moreira Minossi Date: Fri, 1 Jan 2021 19:13:38 -0300 Subject: [PATCH 1/4] Adding getStatusUsecase --- .../domain/multiblock/get-status-usecase.lua | 12 ++++++++++++ Programs/monitor-system/init.lua | 13 +++++++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/Programs/monitor-system/domain/multiblock/get-status-usecase.lua b/Programs/monitor-system/domain/multiblock/get-status-usecase.lua index e69de29..c4e115a 100755 --- a/Programs/monitor-system/domain/multiblock/get-status-usecase.lua +++ b/Programs/monitor-system/domain/multiblock/get-status-usecase.lua @@ -0,0 +1,12 @@ +local function exec(multiblocks) + local statuses = {} + for _, multiblock in ipairs(multiblocks) do + statuses[multiblock.name] = { + problems = multiblock:getNumberOfProblems(), + efficiencyPercentage = multiblock:getEfficiencyPercentage() + } + end + return statuses +end + +return exec diff --git a/Programs/monitor-system/init.lua b/Programs/monitor-system/init.lua index 79b24b9..64ed417 100755 --- a/Programs/monitor-system/init.lua +++ b/Programs/monitor-system/init.lua @@ -15,25 +15,34 @@ local getEnergyStatus = require("domain.energy.get-energy-status-usecase") -- local cleanroom = MultiBlock:new(multiBlockAddresses.cleanroom) +cleanroom.name = "cleanroom" local cleanroomMachines = {} for _, address in pairs(cleanroomAddresses) do table.insert(cleanroomMachines, SingleBlock:new(address)) end local EBF11 = MultiBlock:new(multiBlockAddresses.EBF11) +EBF11.name = "EBF11" local multiblocks = {cleanroom, EBF11} local energyBuffer = EnergyProvider:new(energyBufferAddress.batteryBuffer1) local energyProducers = {} +local multiblockStatuses = {} for i = 0, 100 do print(i) protectCleanroomRecipes(cleanroom, cleanroomMachines) - -- local multiblockStatuses = getMultiblockStatuses(multiblocks) + multiblockStatuses = getMultiblockStatuses(multiblocks) local energyStatus = getEnergyStatus(energyProducers, energyBuffer) os.sleep(0) i = i + 1 end -require('resources.sound.zelda-secret')() + +for multiblock, status in pairs(multiblockStatuses) do + print(multiblock .. ": \ + problems: " .. status.problems .. "\ + efficiency: " .. status.efficiencyPercentage) +end +require("resources.sound.zelda-secret")() From b38f8297fd89a792743181210274cb8abf48ec95 Mon Sep 17 00:00:00 2001 From: Gabriel Moreira Minossi Date: Sun, 3 Jan 2021 13:49:12 -0300 Subject: [PATCH 2/4] Renaming multiblock status usecase --- .../{get-status-usecase.lua => get-multiblock-status-usecase.lua} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Programs/monitor-system/domain/multiblock/{get-status-usecase.lua => get-multiblock-status-usecase.lua} (100%) diff --git a/Programs/monitor-system/domain/multiblock/get-status-usecase.lua b/Programs/monitor-system/domain/multiblock/get-multiblock-status-usecase.lua similarity index 100% rename from Programs/monitor-system/domain/multiblock/get-status-usecase.lua rename to Programs/monitor-system/domain/multiblock/get-multiblock-status-usecase.lua From fb4c96a7ff3e99c68d9903f577aa9162dc77a050 Mon Sep 17 00:00:00 2001 From: Gabriel Moreira Minossi Date: Sun, 3 Jan 2021 14:49:37 -0300 Subject: [PATCH 3/4] Adding listMiners usecase --- .../monitor-system/data/datasource/miner.lua | 6 ++--- .../data/mock/{miner.lua => mock-miner.lua} | 0 .../domain/miner/list-miners-usecase.lua | 25 +++++++++++++++++++ 3 files changed, 28 insertions(+), 3 deletions(-) rename Programs/monitor-system/data/mock/{miner.lua => mock-miner.lua} (100%) create mode 100644 Programs/monitor-system/domain/miner/list-miners-usecase.lua diff --git a/Programs/monitor-system/data/datasource/miner.lua b/Programs/monitor-system/data/datasource/miner.lua index 342705d..3ae01f5 100755 --- a/Programs/monitor-system/data/datasource/miner.lua +++ b/Programs/monitor-system/data/datasource/miner.lua @@ -2,7 +2,7 @@ parser = require("utils.parser") inherits = require("utils.inherits") SingleBlock = require("data.datasource.single-block") -local mock = require("data.mock.mock-multi-block") +local mock = require("data.mock.mock-miner") -- local Miner = @@ -16,10 +16,10 @@ local Miner = function Miner:getName() local sensorInformation = self:getSensorInformation() - return parser.parseProblems(sensorInformation[1]) + return parser.parseName(sensorInformation[1]) end -function Miner:getWoarkArea() +function Miner:getWorkArea() local sensorInformation = self:getSensorInformation() return parser.parseWorkArea(sensorInformation[2]) end diff --git a/Programs/monitor-system/data/mock/miner.lua b/Programs/monitor-system/data/mock/mock-miner.lua similarity index 100% rename from Programs/monitor-system/data/mock/miner.lua rename to Programs/monitor-system/data/mock/mock-miner.lua diff --git a/Programs/monitor-system/domain/miner/list-miners-usecase.lua b/Programs/monitor-system/domain/miner/list-miners-usecase.lua new file mode 100644 index 0000000..9727185 --- /dev/null +++ b/Programs/monitor-system/domain/miner/list-miners-usecase.lua @@ -0,0 +1,25 @@ +-- Import section +event = require("event") +local minerDatasource = require("data.datasource.miner") +-- +local minerList = {} +local newMiners = {} + +local function addToMinerList(_, address, machine) + if minerDatasource.getName(machine.getSensorInformation()) == "Multiblock Miner" then + if minerList[address] == nil then + newMiners[address] = machine + else + newMiners[address] = nil + end + minerList[address] = machine + end +end + +event.listen("component_added", addToMinerList) + +local function exec() + return minerList, newMiners +end + +return exec From 2e0acda587f2910e12f9a53e0a89692a1feb0f84 Mon Sep 17 00:00:00 2001 From: Gabriel Moreira Minossi Date: Sun, 3 Jan 2021 15:26:08 -0300 Subject: [PATCH 4/4] Adding getMinerStatus Usecase --- .../monitor-system/domain/miner/get-miner-status-usecase.lua | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 Programs/monitor-system/domain/miner/get-miner-status-usecase.lua diff --git a/Programs/monitor-system/domain/miner/get-miner-status-usecase.lua b/Programs/monitor-system/domain/miner/get-miner-status-usecase.lua new file mode 100644 index 0000000..51c7377 --- /dev/null +++ b/Programs/monitor-system/domain/miner/get-miner-status-usecase.lua @@ -0,0 +1,5 @@ +local function exec(miner) + return miner.isMachineActive() and miner.hasWork() -- TODO: differenciate cases +end + +return exec