Example #1
0
 private static void LogMiningNonMiningStatuses(List <MiningDevice> enabledDevices, List <Tuple <ComputeDevice, DeviceMiningStatus> > disabledDevicesStatuses)
 {
     // print statuses
     if (disabledDevicesStatuses.Count > 0)
     {
         StringBuilder stringBuilder = new StringBuilder();
         stringBuilder.AppendLine("");
         stringBuilder.AppendLine("Disabled Devices:");
         foreach (var deviceStatus in disabledDevicesStatuses)
         {
             stringBuilder.AppendLine("\t" + GetDisabledDeviceStatusString(deviceStatus));
         }
         Helpers.ConsolePrint(TAG, stringBuilder.ToString());
     }
     if (enabledDevices.Count > 0)
     {
         // print enabled
         StringBuilder stringBuilder = new StringBuilder();
         stringBuilder.AppendLine("");
         stringBuilder.AppendLine("Enabled Devices for Mining session:");
         foreach (var miningDevice in enabledDevices)
         {
             var device = miningDevice.Device;
             stringBuilder.AppendLine(String.Format("\tENABLED ({0})", device.GetFullName()));
             foreach (var algo in device.GetAlgorithmSettings())
             {
                 var isEnabled = IsAlgoMiningCapable(algo) && MinerPaths.IsValidMinerPath(algo.MinerBinaryPath);
                 stringBuilder.AppendLine(String.Format("\t\tALGORITHM {0} ({1})",
                                                        isEnabled ? "ENABLED " : "DISABLED", // ENABLED/DISABLED
                                                        algo.AlgorithmStringID));
             }
         }
         Helpers.ConsolePrint(TAG, stringBuilder.ToString());
     }
 }
Example #2
0
        public static Tuple <ComputeDevice, DeviceMiningStatus> getDeviceMiningStatus(ComputeDevice device)
        {
            DeviceMiningStatus status = DeviceMiningStatus.CanMine;

            if (device == null)   // C# is null happy
            {
                status = DeviceMiningStatus.DeviceNull;
            }
            else if (device.Enabled == false)
            {
                status = DeviceMiningStatus.Disabled;
            }
            else
            {
                bool hasEnabledAlgo = false;
                foreach (Algorithm algo in device.GetAlgorithmSettings())
                {
                    hasEnabledAlgo |= IsAlgoMiningCapable(algo) && MinerPaths.IsValidMinerPath(algo.MinerBinaryPath);
                }
                if (hasEnabledAlgo == false)
                {
                    status = DeviceMiningStatus.NoEnabledAlgorithms;
                }
            }
            return(new Tuple <ComputeDevice, DeviceMiningStatus>(device, status));
        }
Example #3
0
 public MiningDevice(ComputeDevice device)
 {
     Device = device;
     foreach (var algo in Device.GetAlgorithmSettings())
     {
         bool isAlgoMiningCapable = GroupSetupUtils.IsAlgoMiningCapable(algo);
         bool isValidMinerPath    = MinerPaths.IsValidMinerPath(algo.MinerBinaryPath);
         if (isAlgoMiningCapable && isValidMinerPath)
         {
             Algorithms.Add(algo);
         }
     }
 }
Example #4
0
 public MiningSetup(List <MiningPair> miningPairs)
 {
     this.IsInit = false;
     this.CurrentAlgorithmType = AlgorithmType.NONE;
     if (miningPairs != null && miningPairs.Count > 0)
     {
         this.MiningPairs = miningPairs;
         this.MiningPairs.Sort((a, b) => a.Device.ID - b.Device.ID);
         this.MinerName            = miningPairs[0].Algorithm.MinerName;
         this.CurrentAlgorithmType = miningPairs[0].Algorithm.NiceHashID;
         this.MinerPath            = miningPairs[0].Algorithm.MinerBinaryPath;
         this.IsInit = MinerPaths.IsValidMinerPath(this.MinerPath);
     }
 }
 public MiningDevice(ComputeDevice device)
 {
     Device = device;
     foreach (var algo in Device.GetAlgorithmSettings())
     {
         var isAlgoMiningCapable = GroupSetupUtils.IsAlgoMiningCapable(algo);
         var isValidMinerPath    = MinerPaths.IsValidMinerPath(algo.MinerBinaryPath);
         if (isAlgoMiningCapable && isValidMinerPath)
         {
             Algorithms.Add(algo);
         }
     }
     MostProfitableAlgorithmType = AlgorithmType.NONE;
     MostProfitableMinerBaseType = MinerBaseType.NONE;
 }
Example #6
0
 public MiningSetup(List <MiningPair> miningPairs)
 {
     IsInit = false;
     CurrentAlgorithmType = AlgorithmType.NONE;
     if (miningPairs == null || miningPairs.Count <= 0)
     {
         return;
     }
     MiningPairs = miningPairs;
     MiningPairs.Sort((a, b) => a.Device.ID - b.Device.ID);
     MinerName                     = miningPairs[0].Algorithm.MinerName;
     CurrentAlgorithmType          = miningPairs[0].Algorithm.NiceHashID;
     CurrentSecondaryAlgorithmType = miningPairs[0].Algorithm.SecondaryNiceHashID;
     MinerPath                     = miningPairs[0].Algorithm.MinerBinaryPath;
     IsInit = MinerPaths.IsValidMinerPath(MinerPath);
 }
        public static Tuple <ComputeDevice, DeviceMiningStatus> GetDeviceMiningStatus(ComputeDevice device)
        {
            var status = DeviceMiningStatus.CanMine;

            if (device == null)
            {
                // C# is null happy
                status = DeviceMiningStatus.DeviceNull;
            }
            else if (device.Enabled == false)
            {
                status = DeviceMiningStatus.Disabled;
            }
            else
            {
                var hasEnabledAlgo = device.GetAlgorithmSettings().Aggregate(false,
                                                                             (current, algo) =>
                                                                             current | (IsAlgoMiningCapable(algo) && MinerPaths.IsValidMinerPath(algo.MinerBinaryPath)));
                if (hasEnabledAlgo == false)
                {
                    status = DeviceMiningStatus.NoEnabledAlgorithms;
                }
            }

            return(new Tuple <ComputeDevice, DeviceMiningStatus>(device, status));
        }