fixed a bug with some versions of whatsminer and improved logging

This commit is contained in:
UpstreamData
2022-06-03 09:35:55 -06:00
parent c7d73276c8
commit 7a5a0b287c
7 changed files with 49 additions and 19 deletions

View File

@@ -2,17 +2,23 @@ import logging
from settings import DEBUG
logging.basicConfig(
# filename="logfile.txt",
# filemode="a",
format="[%(levelname)s][%(asctime)s](%(name)s) - %(message)s",
datefmt="%x %X",
)
logger = logging.getLogger()
def init_logger():
logging.basicConfig(
# filename="logfile.txt",
# filemode="a",
format="%(pathname)s:%(lineno)d in %(funcName)s\n[%(levelname)s][%(asctime)s](%(name)s) - %(message)s",
datefmt="%x %X",
)
_logger = logging.getLogger()
if DEBUG:
logger.setLevel(logging.DEBUG)
logging.getLogger("asyncssh").setLevel(logging.DEBUG)
else:
logger.setLevel(logging.INFO)
logging.getLogger("asyncssh").setLevel(logging.WARNING)
if DEBUG:
_logger.setLevel(logging.DEBUG)
logging.getLogger("asyncssh").setLevel(logging.DEBUG)
else:
_logger.setLevel(logging.INFO)
logging.getLogger("asyncssh").setLevel(logging.WARNING)
return _logger
logger = init_logger()

View File

@@ -8,3 +8,12 @@ class M31SPlus(BaseMiner):
self.model = "M31S+"
self.nominal_chips = 78
self.fan_count = 2
class M31SPlusVE20(BaseMiner):
def __init__(self, ip: str):
super().__init__()
self.ip = ip
self.model = "M31S+VE20"
self.nominal_chips = 78
self.fan_count = 2

View File

@@ -3,6 +3,6 @@ from .M30S_Plus import M30SPlus
from .M30S_Plus_Plus import M30SPlusPlusVG30, M30SPlusPlusVG40
from .M31S import M31S
from .M31S_Plus import M31SPlus
from .M31S_Plus import M31SPlus, M31SPlusVE20
from .M32S import M32S

View File

@@ -161,6 +161,7 @@ MINER_CLASSES = {
"M31S+": {
"Default": BTMinerM31SPlus,
"BTMiner": BTMinerM31SPlus,
"20": BTMinerM31SPlusVE20,
},
"M32S": {
"Default": BTMinerM32S,
@@ -430,12 +431,16 @@ class MinerFactory(metaclass=Singleton):
if model:
# whatsminer have a V in their version string (M20SV41), remove everything after it
if "V" in model:
ver = model.split("VG")[1]
model = model.split("V")[0]
_ver = model.split("V")
if len(_ver) > 1:
if "VE" in model:
ver = model.split("VE")[1]
if "VG" in model:
ver = model.split("VG")[1]
model = model.split("V")[0]
# don't need "Bitmain", just "Antminer XX" as model
if "Bitmain " in model:
model = model.replace("Bitmain ", "")
return model, api, ver
@staticmethod

View File

@@ -1,8 +1,14 @@
from miners._backends import BTMiner # noqa - Ignore access to _module
from miners._types import M31SPlus # noqa - Ignore access to _module
from miners._types import M31SPlus, M31SPlusVE20 # noqa - Ignore access to _module
class BTMinerM31SPlus(BTMiner, M31SPlus):
def __init__(self, ip: str) -> None:
super().__init__(ip)
self.ip = ip
class BTMinerM31SPlusVE20(BTMiner, M31SPlusVE20):
def __init__(self, ip: str) -> None:
super().__init__(ip)
self.ip = ip

View File

@@ -3,6 +3,6 @@ from .M30S_Plus import BTMinerM30SPlus
from .M30S_Plus_Plus import BTMinerM30SPlusPlusVG40, BTMinerM30SPlusPlusVG30
from .M31S import BTMinerM31S
from .M31S_Plus import BTMinerM31SPlus
from .M31S_Plus import BTMinerM31SPlus, BTMinerM31SPlusVE20
from .M32S import BTMinerM32S

View File

@@ -13,6 +13,10 @@ if (
def main():
from logger import init_logger
init_logger()
asyncio.run(ui())