From 97d202329807908ae1385c7f98681bdbc931c6db Mon Sep 17 00:00:00 2001 From: UpstreamData Date: Tue, 22 Nov 2022 18:27:35 -0700 Subject: [PATCH] feature: add support for whatsminer M31S V70 --- docs/miners/supported_types.md | 1 + docs/miners/whatsminer/M3X.md | 8 ++++++++ pyasic/miners/_types/whatsminer/M3X/M31S.py | 11 ++++++++++- pyasic/miners/_types/whatsminer/M3X/__init__.py | 2 +- pyasic/miners/miner_factory.py | 1 + pyasic/miners/whatsminer/btminer/M3X/M31S.py | 8 +++++++- pyasic/miners/whatsminer/btminer/M3X/__init__.py | 2 +- 7 files changed, 29 insertions(+), 4 deletions(-) diff --git a/docs/miners/supported_types.md b/docs/miners/supported_types.md index 27a35437..fdd2df28 100644 --- a/docs/miners/supported_types.md +++ b/docs/miners/supported_types.md @@ -90,6 +90,7 @@ details {
M31S + M31SV70
M31S+ diff --git a/docs/miners/whatsminer/M3X.md b/docs/miners/whatsminer/M3X.md index c8b72b7f..42cac1d5 100644 --- a/docs/miners/whatsminer/M3X.md +++ b/docs/miners/whatsminer/M3X.md @@ -108,6 +108,14 @@ ## M31S +::: pyasic.miners.whatsminer.btminer.M3X.M31S.BTMinerM31S + handler: python + options: + show_root_heading: false + heading_level: 4 + +## M31SV70 + ::: pyasic.miners.whatsminer.btminer.M3X.M31S.BTMinerM31S handler: python options: diff --git a/pyasic/miners/_types/whatsminer/M3X/M31S.py b/pyasic/miners/_types/whatsminer/M3X/M31S.py index 1ef75ebc..8933799f 100644 --- a/pyasic/miners/_types/whatsminer/M3X/M31S.py +++ b/pyasic/miners/_types/whatsminer/M3X/M31S.py @@ -20,5 +20,14 @@ class M31S(BaseMiner): # noqa - ignore ABC method implementation super().__init__() self.ip = ip self.model = "M31S" - # TODO: Add chip count for this miner (per board) - self.nominal_chips + self.nominal_chips = 111 + self.fan_count = 2 + + +class M31SV70(BaseMiner): # noqa - ignore ABC method implementation + def __init__(self, ip: str): + super().__init__() + self.ip = ip + self.model = "M31S V70" + self.nominal_chips = 111 self.fan_count = 2 diff --git a/pyasic/miners/_types/whatsminer/M3X/__init__.py b/pyasic/miners/_types/whatsminer/M3X/__init__.py index 0e42bb30..331ee054 100644 --- a/pyasic/miners/_types/whatsminer/M3X/__init__.py +++ b/pyasic/miners/_types/whatsminer/M3X/__init__.py @@ -20,7 +20,7 @@ from .M30S_Plus_Plus import ( M30SPlusPlusVG40, M30SPlusPlusVH60, ) -from .M31S import M31S +from .M31S import M31S, M31SV70 from .M31S_Plus import ( M31SPlus, M31SPlusV30, diff --git a/pyasic/miners/miner_factory.py b/pyasic/miners/miner_factory.py index 232c459c..523a0ac1 100644 --- a/pyasic/miners/miner_factory.py +++ b/pyasic/miners/miner_factory.py @@ -194,6 +194,7 @@ MINER_CLASSES = { "M31S": { "Default": BTMinerM31S, "BTMiner": BTMinerM31S, + "V70": BTMinerM31SV70, }, "M31S+": { "Default": BTMinerM31SPlus, diff --git a/pyasic/miners/whatsminer/btminer/M3X/M31S.py b/pyasic/miners/whatsminer/btminer/M3X/M31S.py index 6a1382bf..ac9a157d 100644 --- a/pyasic/miners/whatsminer/btminer/M3X/M31S.py +++ b/pyasic/miners/whatsminer/btminer/M3X/M31S.py @@ -13,10 +13,16 @@ # limitations under the License. from pyasic.miners._backends import BTMiner # noqa - Ignore access to _module -from pyasic.miners._types import M31S # noqa - Ignore access to _module +from pyasic.miners._types import M31S, M31SV70 # noqa - Ignore access to _module class BTMinerM31S(BTMiner, M31S): def __init__(self, ip: str) -> None: super().__init__(ip) self.ip = ip + + +class BTMinerM31SV70(BTMiner, M31SV70): + def __init__(self, ip: str) -> None: + super().__init__(ip) + self.ip = ip diff --git a/pyasic/miners/whatsminer/btminer/M3X/__init__.py b/pyasic/miners/whatsminer/btminer/M3X/__init__.py index 6204adbe..02b69e3e 100644 --- a/pyasic/miners/whatsminer/btminer/M3X/__init__.py +++ b/pyasic/miners/whatsminer/btminer/M3X/__init__.py @@ -31,7 +31,7 @@ from .M30S_Plus_Plus import ( BTMinerM30SPlusPlusVG40, BTMinerM30SPlusPlusVH60, ) -from .M31S import BTMinerM31S +from .M31S import BTMinerM31S, BTMinerM31SV70 from .M31S_Plus import ( BTMinerM31SPlus, BTMinerM31SPlusV30,