diff --git a/NiceHashMiner/Algorithm.cs b/NiceHashMiner/Algorithm.cs index 9818d26..4d2f396 100644 --- a/NiceHashMiner/Algorithm.cs +++ b/NiceHashMiner/Algorithm.cs @@ -132,14 +132,14 @@ public AlgorithmType DualNiceHashID() { return AlgorithmType.DaggerLbry; case AlgorithmType.Pascal: return AlgorithmType.DaggerPascal; + case AlgorithmType.Sia: + return AlgorithmType.DaggerSia; } } return NiceHashID; } public bool IsDual() { - return (DualNiceHashID() == AlgorithmType.DaggerDecred || - DualNiceHashID() == AlgorithmType.DaggerLbry || - DualNiceHashID() == AlgorithmType.DaggerPascal); + return (AlgorithmType.DaggerSia <= DualNiceHashID() && DualNiceHashID() <= AlgorithmType.DaggerPascal); } } } diff --git a/NiceHashMiner/Devices/GroupAlgorithms.cs b/NiceHashMiner/Devices/GroupAlgorithms.cs index 51c8214..bad051b 100644 --- a/NiceHashMiner/Devices/GroupAlgorithms.cs +++ b/NiceHashMiner/Devices/GroupAlgorithms.cs @@ -191,7 +191,8 @@ public static Dictionary> CreateDefaultsForGroup( new Algorithm(MinerBaseType.ClaymoreAMD, AlgorithmType.DaggerHashimoto, ""), new Algorithm(MinerBaseType.ClaymoreAMD, AlgorithmType.DaggerHashimoto, "", AlgorithmType.Decred), new Algorithm(MinerBaseType.ClaymoreAMD, AlgorithmType.DaggerHashimoto, "", AlgorithmType.Lbry), - new Algorithm(MinerBaseType.ClaymoreAMD, AlgorithmType.DaggerHashimoto, "", AlgorithmType.Pascal) + new Algorithm(MinerBaseType.ClaymoreAMD, AlgorithmType.DaggerHashimoto, "", AlgorithmType.Pascal), + new Algorithm(MinerBaseType.ClaymoreAMD, AlgorithmType.DaggerHashimoto, "", AlgorithmType.Sia) } }, { MinerBaseType.OptiminerAMD, @@ -242,6 +243,15 @@ public static Dictionary> CreateDefaultsForGroup( new Algorithm(MinerBaseType.experimental, AlgorithmType.NeoScrypt, "neoscrypt") } }, + { MinerBaseType.ClaymoreAMD, + new List() { + new Algorithm(MinerBaseType.ClaymoreAMD, AlgorithmType.DaggerHashimoto, ""), + new Algorithm(MinerBaseType.ClaymoreAMD, AlgorithmType.DaggerHashimoto, "", AlgorithmType.Decred), + new Algorithm(MinerBaseType.ClaymoreAMD, AlgorithmType.DaggerHashimoto, "", AlgorithmType.Lbry), + new Algorithm(MinerBaseType.ClaymoreAMD, AlgorithmType.DaggerHashimoto, "", AlgorithmType.Pascal), + new Algorithm(MinerBaseType.ClaymoreAMD, AlgorithmType.DaggerHashimoto, "", AlgorithmType.Sia) + } + }, }; if (DeviceGroupType.NVIDIA_6_x == deviceGroupType) { ToRemoveAlgoTypes.AddRange(new AlgorithmType[] { @@ -275,6 +285,9 @@ public static Dictionary> CreateDefaultsForGroup( AlgorithmType.Pascal, AlgorithmType.X11Gost }); + ToRemoveMinerTypes.AddRange(new MinerBaseType[] { + MinerBaseType.ClaymoreAMD + }); } // filter unused diff --git a/NiceHashMiner/Enums/AlgorithmType.cs b/NiceHashMiner/Enums/AlgorithmType.cs index 12c7ee1..4a4ea03 100644 --- a/NiceHashMiner/Enums/AlgorithmType.cs +++ b/NiceHashMiner/Enums/AlgorithmType.cs @@ -11,6 +11,7 @@ namespace NiceHashMiner.Enums public enum AlgorithmType : int { // dual algos for grouping + DaggerSia = -6, DaggerDecred = -5, DaggerLbry = -4, DaggerPascal = -3, diff --git a/NiceHashMiner/Miners/ClaymoreDual.cs b/NiceHashMiner/Miners/ClaymoreDual.cs index 738e81a..02a47b3 100644 --- a/NiceHashMiner/Miners/ClaymoreDual.cs +++ b/NiceHashMiner/Miners/ClaymoreDual.cs @@ -31,6 +31,8 @@ public string SecondaryShortName() { return "lbc"; case AlgorithmType.Pascal: return "pasc"; + case AlgorithmType.Sia: + return "sc"; } return ""; } @@ -79,7 +81,7 @@ private string GetStartCommand(string url, string btcAdress, string worker) { } } else { string urlSecond = Globals.GetLocationURL(SecondaryAlgorithmType, Globals.MiningLocation[ConfigManager.GeneralConfig.ServiceLocation], this.ConectionType); - dualModeParams = String.Format(" -dcoin {0} -dpool {1} -dwal {2}", SecondaryShortName(), urlSecond, username); + dualModeParams = String.Format(" -dcoin {0} -dpool {1} -dwal {2} -dpsw x", SecondaryShortName(), urlSecond, username); } return " " @@ -110,7 +112,7 @@ protected override string BenchmarkCreateCommandLine(Algorithm algorithm, int ti benchmarkTimeWait = time; return ret + " -benchmark 1"; } else { - benchmarkTimeWait = Math.Max(120, time); // dual seems to stop mining after this time if redirect output is true + benchmarkTimeWait = Math.Min(120, time); // dual seems to stop mining after this time if redirect output is true return ret; // benchmark 1 does not output secondary speeds } } diff --git a/NiceHashMiner/Miners/Miner.cs b/NiceHashMiner/Miners/Miner.cs index fe6349f..aec4eaf 100644 --- a/NiceHashMiner/Miners/Miner.cs +++ b/NiceHashMiner/Miners/Miner.cs @@ -45,6 +45,8 @@ public AlgorithmType DualAlgorithmID() { return AlgorithmType.DaggerLbry; case AlgorithmType.Pascal: return AlgorithmType.DaggerPascal; + case AlgorithmType.Sia: + return AlgorithmType.DaggerSia; } } return AlgorithmID; diff --git a/NiceHashMiner/Utils/AlgorithmNiceHashNames.cs b/NiceHashMiner/Utils/AlgorithmNiceHashNames.cs index 2600b68..f8c8cba 100644 --- a/NiceHashMiner/Utils/AlgorithmNiceHashNames.cs +++ b/NiceHashMiner/Utils/AlgorithmNiceHashNames.cs @@ -11,7 +11,7 @@ namespace NiceHashMiner public static class AlgorithmNiceHashNames { public static string GetName(AlgorithmType type) { - if ((AlgorithmType.INVALID <= type && type <= AlgorithmType.X11Gost) || (AlgorithmType.DaggerDecred <= type && type <= AlgorithmType.DaggerPascal)) { + if ((AlgorithmType.INVALID <= type && type <= AlgorithmType.X11Gost) || (AlgorithmType.DaggerSia <= type && type <= AlgorithmType.DaggerPascal)) { return Enum.GetName(typeof(AlgorithmType), type); } return "NameNotFound type not supported";