Esempio n. 1
0
 public static void Init()
 {
     ExtraLaunchParameters.InitializePackages();
     MinerPaths.InitializePackages();
     InitMinerReservedPortsFile();
     InitMinerSystemVariablesFile();
 }
Esempio n. 2
0
        public List <Algorithm> GetAlgorithmSettings()
        {
            // hello state
            var algos = GetAlgorithmSettingsThirdParty(ConfigManager.GeneralConfig.Use3rdPartyMiners);

            var retAlgos = MinerPaths.GetAndInitAlgorithmsMinerPaths(algos, this);

            ;

            // NVIDIA
            if (DeviceGroupType == DeviceGroupType.NVIDIA_5_x || DeviceGroupType == DeviceGroupType.NVIDIA_6_x)
            {
                retAlgos = retAlgos.FindAll(a => a.MinerBaseType != MinerBaseType.nheqminer);
            }
            else if (DeviceType == DeviceType.NVIDIA)
            {
                retAlgos = retAlgos.FindAll(a => a.MinerBaseType != MinerBaseType.eqm);
            }

            // sort by algo
            retAlgos.Sort((a_1, a_2) => (a_1.NiceHashID - a_2.NiceHashID) != 0
                ? (a_1.NiceHashID - a_2.NiceHashID)
                : ((a_1.MinerBaseType - a_2.MinerBaseType) != 0
                    ? (a_1.MinerBaseType - a_2.MinerBaseType)
                    : (a_1.SecondaryNiceHashID - a_2.SecondaryNiceHashID)));

            return(retAlgos);
        }
Esempio n. 3
0
        public List <Algorithm> GetAlgorithmSettings()
        {
            // hello state
            var algos = GetAlgorithmSettingsThirdParty(ConfigManager.GeneralConfig.Use3rdPartyMiners);

            var retAlgos = MinerPaths.GetAndInitAlgorithmsMinerPaths(algos, this);;

            // additional filters
            // CPU
            if (this.DeviceType == DeviceType.CPU && MinersManager.EquihashCPU_USE_eqm())
            {
                retAlgos = retAlgos.FindAll((a) => a.MinerBaseType != MinerBaseType.nheqminer);
            }
            else if (this.DeviceType == DeviceType.CPU)
            {
                retAlgos = retAlgos.FindAll((a) => a.MinerBaseType != MinerBaseType.eqm);
            }
            // NVIDIA
            if (this.DeviceGroupType == DeviceGroupType.NVIDIA_5_x || this.DeviceGroupType == DeviceGroupType.NVIDIA_6_x)
            {
                retAlgos = retAlgos.FindAll((a) => a.MinerBaseType != MinerBaseType.nheqminer);
            }
            else if (this.DeviceType == DeviceType.NVIDIA)
            {
                retAlgos = retAlgos.FindAll((a) => a.MinerBaseType != MinerBaseType.eqm);
            }

            // sort by miner and algo
            retAlgos.Sort((a_1, a_2) => (a_1.MinerBaseType - a_2.MinerBaseType) != 0 ? (a_1.MinerBaseType - a_2.MinerBaseType) : (a_1.NiceHashID - a_2.NiceHashID));

            return(retAlgos);
        }
Esempio n. 4
0
 public static string ParseForMiningPair(MiningPair miningPair, AlgorithmType algorithmType, DeviceType deviceType, bool showLog = true)
 {
     return(ParseForMiningPairs(
                new List <MiningPair>()
     {
         miningPair
     },
                algorithmType, deviceType,
                MinerPaths.GetOptimizedMinerPath(miningPair), showLog));
 }
        public List <Algorithm> GetAlgorithmSettings()
        {
            // hello state
            var algos = GetAlgorithmSettingsThirdParty(ConfigManager.GeneralConfig.Use3rdPartyMiners);

            var retAlgos = MinerPaths.GetAndInitAlgorithmsMinerPaths(algos, this);

            // sort by algo
            retAlgos.Sort((a_1, a_2) => (a_1.NiceHashID - a_2.NiceHashID) != 0
                ? (a_1.NiceHashID - a_2.NiceHashID)
                : ((a_1.MinerBaseType - a_2.MinerBaseType) != 0
                    ? (a_1.MinerBaseType - a_2.MinerBaseType)
                    : (a_1.SecondaryNiceHashID - a_2.SecondaryNiceHashID)));

            return(retAlgos);
        }
Esempio n. 6
0
        /// <summary>
        /// The GetAlgorithmSettings
        /// </summary>
        /// <returns>The <see cref="List{Algorithm}"/></returns>
        public List <Algorithm> GetAlgorithmSettings()
        {
            // hello state
            var algos = GetAlgorithmSettingsThirdParty(ConfigManager.GeneralConfig.Use3rdPartyMiners);

            var retAlgos = MinerPaths.GetAndInitAlgorithmsMinerPaths(algos, this);;

            // NVIDIA
            if (DeviceGroupType == DeviceGroupType.NVIDIA_5_x || DeviceGroupType == DeviceGroupType.NVIDIA_6_x)
            {
            }
            else if (DeviceType == DeviceType.NVIDIA)
            {
            }

            // sort by algo
            retAlgos.Sort((a_1, a_2) => (a_1.CryptoMiner937ID - a_2.CryptoMiner937ID) != 0 ? (a_1.CryptoMiner937ID - a_2.CryptoMiner937ID) : (a_1.MinerBaseType - a_2.MinerBaseType));

            return(retAlgos);
        }
Esempio n. 7
0
        private async void FormShown(object sender, EventArgs e)
        {
            MinerPaths.InitializePackages();
            ConfigManager.GeneralConfig.Use3rdPartyMiners = Use3rdPartyMiners.YES;
            await ComputeDeviceManager.QueryDevicesAsync();

            var devices = AvailableDevices.Devices;

            foreach (var device in devices)
            {
                dgv_devices.Rows.Add(GetDeviceRowData(device));

                var newRow = dgv_devices.Rows[dgv_devices.Rows.Count - 1];
                newRow.Tag = device;
            }
            // disable/enable all by default
            foreach (var device in devices)
            {
                foreach (var algo in device.GetAlgorithmSettings())
                {
                    algo.Enabled = true;
                }
            }
        }
Esempio n. 8
0
 // TODO remove somehow
 /// <summary>
 /// GetOptimizedMinerPath returns optimized miner path based on algorithm type and device codename.
 /// Device codename is a quickfix for sgminer, other miners don't use it
 /// </summary>
 /// <param name="algorithmType">determines what miner path to return</param>
 /// <param name="devCodename">sgminer extra</param>
 /// <param name="isOptimized">sgminer extra</param>
 /// <returns></returns>
 protected string GetOptimizedMinerPath(AlgorithmType algorithmType, string devCodename = "", bool isOptimized = true)
 {
     return(MinerPaths.GetOptimizedMinerPath(algorithmType, DeviceType, DeviceGroupType, devCodename, isOptimized));
 }
Esempio n. 9
0
        public static void InitMinerReservedPortsFile()
        {
            MinerReservedPortsFile file = new MinerReservedPortsFile();

            MinerReservedPorts = new Dictionary <MinerBaseType, Dictionary <string, Dictionary <AlgorithmType, List <int> > > >();
            if (file.IsFileExists())
            {
                var read = file.ReadFile();
                if (read != null)
                {
                    MinerReservedPorts = read;
                }
            }
            try {
                for (MinerBaseType type = (MinerBaseType.NONE + 1); type < MinerBaseType.END; ++type)
                {
                    if (MinerReservedPorts.ContainsKey(type) == false)
                    {
                        MinerReservedPorts[type] = new Dictionary <string, Dictionary <AlgorithmType, List <int> > >();
                    }
                }
                for (DeviceGroupType devGroupType = (DeviceGroupType.NONE + 1); devGroupType < DeviceGroupType.LAST; ++devGroupType)
                {
                    var minerAlgosForGroup = GroupAlgorithms.CreateDefaultsForGroup(devGroupType);
                    if (minerAlgosForGroup != null)
                    {
                        foreach (var mbaseKvp in minerAlgosForGroup)
                        {
                            MinerBaseType minerBaseType = mbaseKvp.Key;
                            if (MinerReservedPorts.ContainsKey(minerBaseType))
                            {
                                var algos = mbaseKvp.Value;
                                foreach (var algo in algos)
                                {
                                    var algoType    = algo.NiceHashID;
                                    var path        = MinerPaths.GetPathFor(minerBaseType, algoType, devGroupType);
                                    var isPathValid = path != MinerPaths.Data.NONE;
                                    if (isPathValid && MinerReservedPorts[minerBaseType].ContainsKey(path) == false)
                                    {
                                        MinerReservedPorts[minerBaseType][path] = new Dictionary <AlgorithmType, List <int> >();
                                    }
                                    if (isPathValid && MinerReservedPorts[minerBaseType][path] != null && MinerReservedPorts[minerBaseType][path].ContainsKey(algoType) == false)
                                    {
                                        MinerReservedPorts[minerBaseType][path][algoType] = new List <int>();
                                    }
                                }
                            }
                        }
                    }
                }
                file.Commit(MinerReservedPorts);
                // set all reserved
                foreach (var paths in MinerReservedPorts.Values)
                {
                    foreach (var algos in paths.Values)
                    {
                        foreach (var ports in algos.Values)
                        {
                            foreach (int port in ports)
                            {
                                AllReservedPorts.Add(port);
                            }
                        }
                    }
                }
            } catch {
            }
        }