Compare commits

...

10 Commits

Author SHA1 Message Date
UpstreamData
46b7352769 version: bump version number. 2023-02-23 15:39:37 -07:00
UpstreamData
e218c5039d bug: fix wrong LPM mode number for X19. 2023-02-23 15:39:08 -07:00
UpstreamData
3bb392980e version: bump version number. 2023-02-23 15:22:49 -07:00
UpstreamData
92264619d2 bug: fix missing autotuning wattage. 2023-02-23 15:22:23 -07:00
UpstreamData
3e21829fae version: bump version number. 2023-02-23 15:16:23 -07:00
UpstreamData
d3619b0e48 bug: fix insane amount of warnings when getting config. 2023-02-23 15:15:58 -07:00
UpstreamData
0fbb05d62d version: bump version number. 2023-02-23 15:05:29 -07:00
UpstreamData
01fc2591ad bug: fix a missed check for missing pool info. 2023-02-23 15:03:54 -07:00
UpstreamData
c08d7fa5cd version: bump version number. 2023-02-23 14:47:30 -07:00
UpstreamData
91c0e1c125 feature: add low power mode ability for X19 possibly. 2023-02-23 14:44:43 -07:00
5 changed files with 20 additions and 4 deletions

View File

@@ -326,6 +326,8 @@ class MinerConfig:
if data[key]:
if data[key] == 1:
self.autotuning_wattage = 0
if data[key] == 2:
self.autotuning_wattage = 1200
elif key == "fan_control":
for _key in data[key].keys():
if _key == "min_fans":
@@ -459,8 +461,12 @@ class MinerConfig:
"bitmain-fan-pwn": 100,
"miner-mode": 0, # Normal Mode
}
if self.autotuning_wattage == 0:
cfg["miner-mode"] = 1 # Sleep Mode
if self.autotuning_wattage:
if self.autotuning_wattage == 0:
cfg["miner-mode"] = 1 # Sleep Mode
if self.autotuning_wattage < 1800:
cfg["miner-mode"] = 3 # LPM
if not self.temp_mode == "auto":
cfg["bitmain-fan-ctrl"] = True

View File

@@ -24,6 +24,8 @@ class APIError(Exception):
def __str__(self):
if self.message:
if self.message == "can't access write cmd":
return f"{self.message}, please make sure your miner has been unlocked."
return f"{self.message}"
else:
return "Incorrect API parameters."

View File

@@ -107,7 +107,7 @@ class X19(BMMiner):
async def resume_mining(self) -> bool:
cfg = await self.get_config()
cfg.autotuning_wattage = 1
cfg.autotuning_wattage = 3600
await self.send_config(cfg)
return True

View File

@@ -16,6 +16,7 @@
import ipaddress
import logging
import warnings
from collections import namedtuple
from typing import List, Optional, Tuple, Union
@@ -151,10 +152,17 @@ class BTMiner(BaseMiner):
summary = data["summary"][0]
except APIError as e:
logging.warning(e)
except LookupError:
pass
if pools:
if "POOLS" in pools:
cfg = cfg.from_api(pools["POOLS"])
else:
# somethings wrong with the miner
warnings.warn(
f"Failed to gather pool config for miner: {self}, miner did not return pool information."
)
if summary:
if "SUMMARY" in summary:
if wattage := summary["SUMMARY"][0].get("Power Limit"):

View File

@@ -1,6 +1,6 @@
[tool.poetry]
name = "pyasic"
version = "0.30.1"
version = "0.30.6"
description = "A set of modules for interfacing with many common types of ASIC bitcoin miners, using both their API and SSH."
authors = ["UpstreamData <brett@upstreamdata.ca>"]
repository = "https://github.com/UpstreamData/pyasic"