Exemple #1
0
        private void AntminerDetails_Load(object sender, System.EventArgs e)
        {
            ThemeResolutionService.ApplicationThemeName = "Windows8";

            var antminer = AntminerService.GetAntminerById(AntminerId);

            if (antminer == null)
            {
                Close();
                return;
            }

            var details = new UserControls.Antminer.AntminerDetails
            {
                Ip     = IPAddress.Parse(antminer.IpAddress),
                Dock   = DockStyle.Fill,
                Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right
            };

            pnlDetails.Controls.Add(details);
        }
Exemple #2
0
        void RefreshTimer_Elapsed(object sender, ElapsedEventArgs e)
        {
            _antminers = AntminerService.GetAntminers();

            _antminerStatuses = new List <AntminerStatus>();

            if (grdAntminers.Rows.Count == 0)
            {
                PopulateGrid(_antminers);
            }

            _statsTimer.Enabled = true;
            _statsTimer.Stop();

            _countdownTimer.Enabled = false;
            _countdownTimer.Stop();

            _dataDispatchedCount = 0;
            _inProgressCount     = 0;
            _startRefreshtTime   = DateTime.Now;
            _dataDispatchTimer.Start();
        }
Exemple #3
0
        private void ManageAntminers_Load(object sender, System.EventArgs e)
        {
            Antminers = AntminerService.GetAntminers();

            txtIpAddress.KeyPress += txtIpAddress_KeyPress;

            ddlScanIpRange.Items.Add(new RadListDataItem("192.168.1.*", 1));
            ddlScanIpRange.Items.Add(new RadListDataItem("192.168.2.*", 2));
            ddlScanIpRange.SelectedIndex = 0;

            PopulateAntminers();

            #region Scan

            _scanBackgroundWorker.WorkerReportsProgress = true;
            _scanBackgroundWorker.DoWork             += _scanBackgroundWorker_DoWork;
            _scanBackgroundWorker.RunWorkerCompleted += _scanBackgroundWorker_RunWorkerCompleted;
            _scanBackgroundWorker.ProgressChanged    += _scanBackgroundWorker_ProgressChanged;

            #endregion

            #region Antminer Grid

            var contextMenu    = new ContextMenu();
            var deleteMenuItem = new MenuItem("Delete");
            deleteMenuItem.Click += deleteMenuItem_Click;
            contextMenu.MenuItems.Add(deleteMenuItem);

            grdAntminers.AutoSizeColumnsMode  = GridViewAutoSizeColumnsMode.Fill;
            grdAntminers.AllowAddNewRow       = false;
            grdAntminers.EnableGrouping       = false;
            grdAntminers.AllowDeleteRow       = false;
            grdAntminers.AllowEditRow         = false;
            grdAntminers.AllowCellContextMenu = false;
            grdAntminers.ContextMenu          = contextMenu;

            #endregion
        }
Exemple #4
0
        void massRebootToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var result = new ConfirmDialog {
                ConfirmSubject = "Mass Restart", ConfirmMessage = "Are you sure you want to restart all miners?"
            }.ShowDialog();

            if (!result.Equals(DialogResult.OK))
            {
                return;
            }

            var errors = new List <string>();

            _antminers = AntminerService.GetAntminers();
            foreach (var ant in _antminers.Antminer)
            {
                try
                {
                    AntminerConnector.Restart(IPAddress.Parse(ant.IpAddress));
                }
                catch (Exception ex)
                {
                    errors.Add(string.Format("{0}: {1}", ant.IpAddress, ex.Message));
                }
            }

            if (errors.Count > 0)
            {
                new ErrorDialog
                {
                    ErrorSubject     = "Error restarting miner(s)",
                    ErrorMessage     = "Some miners error when trying to restart. Hover to see error messages.",
                    LongErrorMessage = errors.Aggregate((w, j) => string.Format("{0}\r\n{1}", w, j))
                }.ShowDialog();
            }
        }
Exemple #5
0
        private void AntViewer_Load(object sender, System.EventArgs e)
        {
            Text = string.Format("Spiceminer's Ant Viewer - v{0}", FileVersionInfo.GetVersionInfo(typeof(AntViewer).Assembly.Location).FileVersion);

            ThemeResolutionService.ApplicationThemeName = "Windows8";

            WindowState = FormWindowState.Maximized;

            _settings = SettingsService.GetSettings();

            #region Data Dispatch Timer

            _dataDispatchTimer.Enabled   = false;
            _dataDispatchTimer.AutoReset = true;
            _dataDispatchTimer.Elapsed  += _dataDispatchTimer_Elapsed;

            #endregion

            #region BTC Timer

            _btcTimer.Enabled   = true;
            _btcTimer.AutoReset = true;
            _btcTimer.Elapsed  += _btcTimer_Elapsed;
            _btcTimer.Start();

            #endregion

            #region Notify Icon

            _notifyIcon.Icon            = Icon;
            _notifyIcon.BalloonTipTitle = "SAntViewer Minimized to tray";
            _notifyIcon.BalloonTipText  = "SAntViewer has been minimized to tray, click to open.";
            _notifyIcon.DoubleClick    += _notifyIcon_DoubleClick;
            _notifyIcon.Click          += _notifyIcon_DoubleClick;

            #endregion

            #region Antminers Grid

            #region Context Menu

            var contextMenu = new ContextMenu();

            var details = new MenuItem("View Details");
            details.Click += details_Click;
            contextMenu.MenuItems.Add(details);

            var restart = new MenuItem("Restart");
            restart.Click += restart_Click;
            contextMenu.MenuItems.Add(restart);

            var openInBrowser = new MenuItem("Open in browser");
            openInBrowser.Click += openInBrowser_Click;
            contextMenu.MenuItems.Add(openInBrowser);

            #endregion

            grdAntminers.AutoGenerateColumns  = false;
            grdAntminers.AutoSizeColumnsMode  = GridViewAutoSizeColumnsMode.Fill;
            grdAntminers.AllowAddNewRow       = false;
            grdAntminers.EnableGrouping       = true;
            grdAntminers.AllowCellContextMenu = false;
            grdAntminers.AllowAutoSizeColumns = true;
            grdAntminers.ContextMenu          = contextMenu;

            grdAntminers.Columns.Add("Id", "Id", "Id");
            grdAntminers.Columns.Add("Number", "#", "Number");
            grdAntminers.Columns.Add("LastUpdated", "Last Updated", "LastUpdated");
            grdAntminers.Columns.Add("IpAddress", "Ip Address", "IpAddress");
            grdAntminers.Columns.Add("Name", "Name", "Name");
            grdAntminers.Columns.Add("Status", "Status", "Status");
            grdAntminers.Columns.Add("Ghs5s", "GH/S (5s)", "Ghs5s");
            grdAntminers.Columns.Add("GhsAv", "GH/S Av", "GhsAv");
            grdAntminers.Columns.Add("Block", "Blocks", "Blocks");
            grdAntminers.Columns.Add("HardwareErrorPercentage", "Hardware Error %", "HardwareErrorPercentage");
            grdAntminers.Columns.Add("RejectPercentage", "Reject %", "RejectPercentage");
            grdAntminers.Columns.Add("StalePercentage", "Stale %", "StalePercentage");
            grdAntminers.Columns.Add("BestShare", "Best Share", "BestShare");
            grdAntminers.Columns.Add("Fans", "Fans", "Fans");
            grdAntminers.Columns.Add("Temps", "Temps", "Temps");
            grdAntminers.Columns.Add("Freq", "Freq", "Freq");
            grdAntminers.Columns.Add("AsicStatus", "ASIC Status", "Asic Status");

            grdAntminers.Columns[0].IsVisible = false;
            grdAntminers.Columns[1].Width     = 25;
            grdAntminers.Columns[2].Width     = 100;
            grdAntminers.Columns[3].Width     = 100;
            grdAntminers.Columns[4].Width     = 100;
            grdAntminers.Columns[5].Width     = 50;
            grdAntminers.Columns[6].Width     = 50;
            grdAntminers.Columns[7].Width     = 50;
            grdAntminers.Columns[8].Width     = 50;
            grdAntminers.Columns[9].Width     = 100;
            grdAntminers.Columns[10].Width    = 100;
            grdAntminers.Columns[11].Width    = 100;
            grdAntminers.Columns[12].Width    = 75;
            grdAntminers.Columns[13].Width    = 60;
            grdAntminers.Columns[14].Width    = 60;
            grdAntminers.Columns[15].Width    = 60;
            grdAntminers.Columns[16].Width    = 350;

            #endregion

            _antminers = AntminerService.GetAntminers();

            if (grdAntminers.Rows.Count == 0)
            {
                PopulateGrid(_antminers);
                BeginMonitoring();
            }
            else
            {
                BeginMonitoring();
            }
        }
Exemple #6
0
 private void SaveAntminers()
 {
     AntminerService.SaveAntminers(Antminers);
 }