public static dynamic Client(Objects.MiningRig rig, int id, string method, string[] param)
 {
     ;
     try
     {
         _tcpclient = new TcpClient();
         _tcpclient.Connect(rig.IPAddress, rig.Port);
         return(HandleCommunication(id, method, param));
     }
     catch (Exception ex)
     {
         return(null);
     }
 }
示例#2
0
        public static string GetGraphicsCardDetailsString(Objects.MiningRig rig, Objects.GraphicsCard card)
        {
            dynamic CardInfo = DataHelper.ExcavatorSocket.Client(rig, 0, "device.get", new string[] { card.ID.ToString() });

            return(string.Format("DeviceName:\t{0}" +
                                 "\tTemp:\t{1}" +
                                 "\tLoad:\t{2}" +
                                 "\tPower (Watts):" +
                                 "\t{3}",
                                 CardInfo.name,
                                 CardInfo.gpu_temp,
                                 CardInfo.gpu_load,
                                 CardInfo.gpu_power_usage));
        }
示例#3
0
        public static Objects.GraphicsCardMetrics GetGraphicsCardMetric(Objects.MiningRig rig, Objects.GraphicsCard card, double timeElapsed)
        {
            dynamic CardInfo = DataHelper.ExcavatorSocket.Client(rig, 0, "device.get", new string[] { card.ID.ToString() });

            Objects.GraphicsCardMetrics metric = new Objects.GraphicsCardMetrics();
            metric.card            = card;
            metric.FanSpeedPercent = CardInfo.gpu_fan_speed;
            metric.FanSpeedRPM     = CardInfo.gpu_fan_speed_rpm;
            metric.GPUUsage        = CardInfo.gpu_load;
            metric.Power           = CardInfo.gpu_power_usage;
            metric.Temprature      = CardInfo.gpu_temp;
            metric.TimeElapsed     = timeElapsed;
            metric.TimeRecorded    = rig.LastCheckTime;
            card.LastGPUMetric     = metric;
            return(metric);
        }
        public static void CreateOrGetRig(Objects.MiningRig rig)
        {
            MySqlConnection m_cn = new MySqlConnection(connectionstring);
            MySqlCommand    cmd  = new MySqlCommand("createOrGetMiningRig", m_cn);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("?Wallet_Address", rig.WalletAddress);
            cmd.Parameters["?Wallet_Address"].Direction = ParameterDirection.Input;
            cmd.Parameters.AddWithValue("?Worker_Name", rig.WorkerName);
            cmd.Parameters["?Worker_Name"].Direction = ParameterDirection.Input;
            cmd.Parameters.Add("?Rig_ID", MySqlDbType.Int16);
            cmd.Parameters["?Rig_ID"].Direction = ParameterDirection.Output;
            m_cn.Open();
            cmd.ExecuteNonQuery();
            rig.ID = long.Parse(cmd.Parameters["?Rig_ID"].Value.ToString());
            m_cn.Close();
        }
示例#5
0
        public static List <Objects.GraphicsCard> GetGraphicsCardDataForRig(Objects.MiningRig rig)
        {
            List <Objects.GraphicsCard> cards = new List <Objects.GraphicsCard>();
            dynamic deviceList = DataHelper.ExcavatorSocket.Client(rig, 0, "device.list", new string[0]);

            if (deviceList != null)
            {
                foreach (dynamic device in deviceList.devices)
                {
                    Objects.GraphicsCard card = new Objects.GraphicsCard();
                    card.ID         = device.device_id;
                    card.DeviceName = device.name;
                    FillExtraGCDetails(rig, card);
                    card.RigID = rig.ID;
                    cards.Add(card);
                }
            }
            return(cards);
        }
示例#6
0
        public static void FillExtraGCDetails(Objects.MiningRig rig, Objects.GraphicsCard card)
        {
            dynamic CardInfo = DataHelper.ExcavatorSocket.Client(rig, 0, "device.get", new string[] { card.ID.ToString() });

            card.GUID = CardInfo.uuid;
        }