public async Task DevicesCrossReference(IEnumerable <BaseDevice> devices) { if (_mappedIDs.Count == 0) { return; } // TODO will block var miner = CreateMiner() as IBinAndCwdPathsGettter; if (miner == null) { return; } var minerBinPath = miner.GetBinAndCwdPaths().Item1; var output = await DevicesCrossReferenceHelpers.MinerOutput(minerBinPath, "-list"); var mappedDevs = DevicesListParser.ParsePhoenixOutput(output, devices); foreach (var kvp in mappedDevs) { var uuid = kvp.Key; var indexID = kvp.Value; _mappedIDs[uuid] = indexID; } }
private async Task MapDeviceCrossRefference(IEnumerable <BaseDevice> devices, string minerBinPath, string parameters) { var output = await DevicesCrossReferenceHelpers.MinerOutput(minerBinPath, parameters); var mappedDevs = DevicesListParser.ParsePhoenixOutput(output, devices); foreach (var kvp in mappedDevs) { var uuid = kvp.Key; var indexID = kvp.Value; _mappedIDs[uuid] = indexID; } }