private StartMiningReturnType StartMining(bool showWarnings) { if (textBoxBTCAddress.Text.Equals("")) { if (showWarnings) { DialogResult result = MessageBox.Show(International.GetText("Form_Main_DemoModeMsg"), International.GetText("Form_Main_DemoModeTitle"), MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (result == System.Windows.Forms.DialogResult.Yes) { DemoMode = true; labelDemoMode.Visible = true; labelDemoMode.Text = International.GetText("Form_Main_DemoModeLabel"); } else { return(StartMiningReturnType.IgnoreMsg); } } else { return(StartMiningReturnType.IgnoreMsg);; } } else if (!VerifyMiningAddress(true)) { return(StartMiningReturnType.IgnoreMsg); } if (Globals.NiceHashData == null) { if (showWarnings) { MessageBox.Show(International.GetText("Form_Main_msgbox_NullNiceHashDataMsg"), International.GetText("Error_with_Exclamation"), MessageBoxButtons.OK, MessageBoxIcon.Error); } return(StartMiningReturnType.IgnoreMsg); } // Check if there are unbenchmakred algorithms bool isBenchInit = true; bool hasAnyAlgoEnabled = false; foreach (var cdev in ComputeDeviceManager.Avaliable.AllAvaliableDevices) { if (cdev.Enabled) { foreach (var algo in cdev.GetAlgorithmSettings()) { if (algo.Enabled == true) { hasAnyAlgoEnabled = true; if (algo.BenchmarkSpeed == 0) { isBenchInit = false; break; } } } } } // Check if the user has run benchmark first if (!isBenchInit) { DialogResult result = DialogResult.No; if (showWarnings) { result = MessageBox.Show(International.GetText("EnabledUnbenchmarkedAlgorithmsWarning"), International.GetText("Warning_with_Exclamation"), MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning); } if (result == System.Windows.Forms.DialogResult.Yes) { BenchmarkForm = new Form_Benchmark( BenchmarkPerformanceType.Standard, true); SetChildFormCenter(BenchmarkForm); BenchmarkForm.ShowDialog(); BenchmarkForm = null; InitMainConfigGUIData(); } else if (result == System.Windows.Forms.DialogResult.No) { // check devices without benchmarks foreach (var cdev in ComputeDeviceManager.Avaliable.AllAvaliableDevices) { if (cdev.Enabled) { bool Enabled = false; foreach (var algo in cdev.GetAlgorithmSettings()) { if (algo.BenchmarkSpeed > 0) { Enabled = true; break; } } cdev.Enabled = Enabled; } } } else { return(StartMiningReturnType.IgnoreMsg); } } textBoxBTCAddress.Enabled = false; textBoxWorkerName.Enabled = false; comboBoxLocation.Enabled = false; buttonBenchmark.Enabled = false; buttonStartMining.Enabled = false; buttonSettings.Enabled = false; devicesListViewEnableControl1.IsMining = true; buttonStopMining.Enabled = true; // Disable profitable notification on start IsNotProfitable = false; ConfigManager.GeneralConfig.BitcoinAddress = textBoxBTCAddress.Text.Trim(); ConfigManager.GeneralConfig.WorkerName = textBoxWorkerName.Text.Trim(); ConfigManager.GeneralConfig.ServiceLocation = comboBoxLocation.SelectedIndex; InitFlowPanelStart(); ClearRatesALL(); var btcAdress = DemoMode ? Globals.DemoUser : textBoxBTCAddress.Text.Trim(); var isMining = MinersManager.StartInitialize(this, Globals.MiningLocation[comboBoxLocation.SelectedIndex], textBoxWorkerName.Text.Trim(), btcAdress); if (!DemoMode) { ConfigManager.GeneralConfigFileCommit(); } isSMAUpdated = true; // Always check profits on mining start SMAMinerCheck.Interval = 100; SMAMinerCheck.Start(); MinerStatsCheck.Start(); if (ConfigManager.GeneralConfig.RunScriptOnCUDA_GPU_Lost) { ComputeDevicesCheckTimer = new SystemTimer(); ComputeDevicesCheckTimer.Elapsed += ComputeDevicesCheckTimer_Tick; ComputeDevicesCheckTimer.Interval = 60000; ComputeDevicesCheckTimer.Start(); } return(isMining ? StartMiningReturnType.StartMining : StartMiningReturnType.ShowNoMining); }
private void buttonBenchmark_Click(object sender, EventArgs e) { var device = new List<ComputeDevice>(); device.Add(_computeDevice); var BenchmarkForm = new Form_Benchmark( BenchmarkPerformanceType.Standard, false, _currentlySelectedAlgorithm.NiceHashID); BenchmarkForm.ShowDialog(); fieldBoxBenchmarkSpeed.EntryText = _currentlySelectedAlgorithm.BenchmarkSpeed.ToString(); // update lvi speed if (_currentlySelectedLvi != null) { _currentlySelectedLvi.SubItems[2].Text = Helpers.FormatSpeedOutput(_currentlySelectedAlgorithm.BenchmarkSpeed); } }