From 45befb569bd1bc931e82410481489bd751f5a517 Mon Sep 17 00:00:00 2001 From: UpstreamData Date: Mon, 16 May 2022 08:42:26 -0600 Subject: [PATCH] updated a bunch of miner chip counts, added S19a, and fixed a bug with whatsminer M30S++ --- miners/_backends/btminer.py | 8 ++++++-- miners/_types/antminer/X17/S17.py | 2 +- miners/_types/antminer/X17/S17_Pro.py | 2 +- miners/_types/antminer/X17/S17e.py | 2 +- miners/_types/antminer/X17/T17.py | 2 +- miners/_types/antminer/X17/T17_Plus.py | 2 +- miners/_types/antminer/X17/T17e.py | 2 +- miners/_types/antminer/X19/S19.py | 2 +- miners/_types/antminer/X19/S19a.py | 9 +++++++++ miners/_types/antminer/X19/S19j_Pro.py | 2 +- miners/_types/antminer/X19/T19.py | 2 +- miners/_types/antminer/X19/__init__.py | 2 ++ miners/_types/antminer/X9/T9.py | 2 +- miners/_types/whatsminer/M3X/M30S_Plus.py | 1 + miners/_types/whatsminer/M3X/M30S_Plus_Plus.py | 4 ++++ miners/antminer/bmminer/X19/S19a.py | 8 ++++++++ miners/antminer/bmminer/X19/__init__.py | 2 ++ miners/miner_factory.py | 4 ++++ tools/cfg_util/ui.py | 1 - 19 files changed, 46 insertions(+), 13 deletions(-) create mode 100644 miners/_types/antminer/X19/S19a.py create mode 100644 miners/antminer/bmminer/X19/S19a.py diff --git a/miners/_backends/btminer.py b/miners/_backends/btminer.py index ba8de007..c76436de 100644 --- a/miners/_backends/btminer.py +++ b/miners/_backends/btminer.py @@ -140,9 +140,13 @@ class BTMiner(BaseMiner): if boards: if len(boards) > 0: board_map = {0: "Left Board", 1: "Center Board", 2: "Right Board"} - offset = boards[0]["ID"] + if "ID" in boards[0].keys(): + id_key = "ID" + else: + id_key = "ASC" + offset = boards[0][id_key] for board in boards: - id = board["ID"] - offset + id = board[id_key] - offset chips = board["Effective Chips"] data["Total"] += chips data[board_map[id]] = chips diff --git a/miners/_types/antminer/X17/S17.py b/miners/_types/antminer/X17/S17.py index 3394951a..d5ecfc39 100644 --- a/miners/_types/antminer/X17/S17.py +++ b/miners/_types/antminer/X17/S17.py @@ -6,4 +6,4 @@ class S17(BaseMiner): super().__init__() self.ip = ip self.model = "S17" - self.nominal_chips = 65 + self.nominal_chips = 48 diff --git a/miners/_types/antminer/X17/S17_Pro.py b/miners/_types/antminer/X17/S17_Pro.py index 71568dbb..3d69e2bf 100644 --- a/miners/_types/antminer/X17/S17_Pro.py +++ b/miners/_types/antminer/X17/S17_Pro.py @@ -6,4 +6,4 @@ class S17Pro(BaseMiner): super().__init__() self.ip = ip self.model = "S17 Pro" - self.nominal_chips = 65 + self.nominal_chips = 48 diff --git a/miners/_types/antminer/X17/S17e.py b/miners/_types/antminer/X17/S17e.py index 2e9e9b43..0ab54a3f 100644 --- a/miners/_types/antminer/X17/S17e.py +++ b/miners/_types/antminer/X17/S17e.py @@ -6,4 +6,4 @@ class S17e(BaseMiner): super().__init__() self.ip = ip self.model = "S17e" - self.nominal_chips = 65 + self.nominal_chips = 135 diff --git a/miners/_types/antminer/X17/T17.py b/miners/_types/antminer/X17/T17.py index b52790d4..4dbe99dc 100644 --- a/miners/_types/antminer/X17/T17.py +++ b/miners/_types/antminer/X17/T17.py @@ -6,4 +6,4 @@ class T17(BaseMiner): super().__init__() self.ip = ip self.model = "T17" - self.nominal_chips = 65 + self.nominal_chips = 30 diff --git a/miners/_types/antminer/X17/T17_Plus.py b/miners/_types/antminer/X17/T17_Plus.py index 3f95418b..2173ab77 100644 --- a/miners/_types/antminer/X17/T17_Plus.py +++ b/miners/_types/antminer/X17/T17_Plus.py @@ -6,4 +6,4 @@ class T17Plus(BaseMiner): super().__init__() self.ip = ip self.model = "T17+" - self.nominal_chips = 65 + self.nominal_chips = 44 diff --git a/miners/_types/antminer/X17/T17e.py b/miners/_types/antminer/X17/T17e.py index f4a2aa5a..7b2158a3 100644 --- a/miners/_types/antminer/X17/T17e.py +++ b/miners/_types/antminer/X17/T17e.py @@ -6,4 +6,4 @@ class T17e(BaseMiner): super().__init__() self.ip = ip self.model = "T17e" - self.nominal_chips = 65 + self.nominal_chips = 78 diff --git a/miners/_types/antminer/X19/S19.py b/miners/_types/antminer/X19/S19.py index 061a194e..7628657a 100644 --- a/miners/_types/antminer/X19/S19.py +++ b/miners/_types/antminer/X19/S19.py @@ -6,4 +6,4 @@ class S19(BaseMiner): super().__init__() self.ip = ip self.model = "S19" - self.nominal_chips = 114 + self.nominal_chips = 76 diff --git a/miners/_types/antminer/X19/S19a.py b/miners/_types/antminer/X19/S19a.py new file mode 100644 index 00000000..901fabbe --- /dev/null +++ b/miners/_types/antminer/X19/S19a.py @@ -0,0 +1,9 @@ +from miners import BaseMiner + + +class S19a(BaseMiner): + def __init__(self, ip: str): + super().__init__() + self.ip = ip + self.model = "S19a" + self.nominal_chips = 72 diff --git a/miners/_types/antminer/X19/S19j_Pro.py b/miners/_types/antminer/X19/S19j_Pro.py index e75daadf..bacba1a6 100644 --- a/miners/_types/antminer/X19/S19j_Pro.py +++ b/miners/_types/antminer/X19/S19j_Pro.py @@ -6,4 +6,4 @@ class S19jPro(BaseMiner): super().__init__() self.ip = ip self.model = "S19j Pro" - self.nominal_chips = 114 + self.nominal_chips = 126 diff --git a/miners/_types/antminer/X19/T19.py b/miners/_types/antminer/X19/T19.py index 728d43e4..a6944304 100644 --- a/miners/_types/antminer/X19/T19.py +++ b/miners/_types/antminer/X19/T19.py @@ -6,4 +6,4 @@ class T19(BaseMiner): super().__init__() self.ip = ip self.model = "T19" - self.nominal_chips = 114 + self.nominal_chips = 76 diff --git a/miners/_types/antminer/X19/__init__.py b/miners/_types/antminer/X19/__init__.py index 9f1cec2a..e6dbb9c2 100644 --- a/miners/_types/antminer/X19/__init__.py +++ b/miners/_types/antminer/X19/__init__.py @@ -4,4 +4,6 @@ from .S19_Pro import S19Pro from .S19j import S19j from .S19j_Pro import S19jPro +from .S19a import S19a + from .T19 import T19 diff --git a/miners/_types/antminer/X9/T9.py b/miners/_types/antminer/X9/T9.py index d1d9681c..c7b7d0db 100644 --- a/miners/_types/antminer/X9/T9.py +++ b/miners/_types/antminer/X9/T9.py @@ -6,4 +6,4 @@ class T9(BaseMiner): super().__init__() self.ip = ip self.model = "T9" - self.nominal_chips = 1 + self.nominal_chips = 57 diff --git a/miners/_types/whatsminer/M3X/M30S_Plus.py b/miners/_types/whatsminer/M3X/M30S_Plus.py index a1391dfb..ded70aca 100644 --- a/miners/_types/whatsminer/M3X/M30S_Plus.py +++ b/miners/_types/whatsminer/M3X/M30S_Plus.py @@ -6,3 +6,4 @@ class M30SPlus(BaseMiner): super().__init__() self.ip = ip self.model = "M30S+" + self.nominal_chips = 156 diff --git a/miners/_types/whatsminer/M3X/M30S_Plus_Plus.py b/miners/_types/whatsminer/M3X/M30S_Plus_Plus.py index 78ea87f3..7a7f2119 100644 --- a/miners/_types/whatsminer/M3X/M30S_Plus_Plus.py +++ b/miners/_types/whatsminer/M3X/M30S_Plus_Plus.py @@ -6,3 +6,7 @@ class M30SPlusPlus(BaseMiner): super().__init__() self.ip = ip self.model = "M30S++" + self.nominal_chips = 117 + + +# TODO: handle different chip counts, 111, 117,(128) diff --git a/miners/antminer/bmminer/X19/S19a.py b/miners/antminer/bmminer/X19/S19a.py new file mode 100644 index 00000000..7afffe3b --- /dev/null +++ b/miners/antminer/bmminer/X19/S19a.py @@ -0,0 +1,8 @@ +from miners._backends import BMMiner +from miners._types import S19a + + +class BMMinerS19a(BMMiner, S19a): + def __init__(self, ip: str) -> None: + super().__init__(ip) + self.ip = ip diff --git a/miners/antminer/bmminer/X19/__init__.py b/miners/antminer/bmminer/X19/__init__.py index 7ecfc42a..5e1ec80c 100644 --- a/miners/antminer/bmminer/X19/__init__.py +++ b/miners/antminer/bmminer/X19/__init__.py @@ -4,4 +4,6 @@ from .S19_Pro import BMMinerS19Pro from .S19j import BMMinerS19j from .S19j_Pro import BMMinerS19jPro +from .S19a import BMMinerS19a + from .T19 import BMMinerT19 diff --git a/miners/miner_factory.py b/miners/miner_factory.py index ac9e274d..aea4d5bc 100644 --- a/miners/miner_factory.py +++ b/miners/miner_factory.py @@ -93,6 +93,10 @@ MINER_CLASSES = { "BMMiner": BMMinerS19jPro, "CGMiner": CGMinerS19jPro, }, + "Antminer S19a": { + "Default": BMMinerS19a, + "BMMiner": BMMinerS19a, + }, "Antminer T19": { "Default": BMMinerT19, "BOSMiner": BOSMinerT19, diff --git a/tools/cfg_util/ui.py b/tools/cfg_util/ui.py index c3b135b4..2ace57d4 100644 --- a/tools/cfg_util/ui.py +++ b/tools/cfg_util/ui.py @@ -134,7 +134,6 @@ async def ui(): _table = "boards_table" asyncio.create_task(btn_refresh(_table, value[_table])) if event == "boards_report_file": - print(value["boards_report_file"]) if not value["boards_report_file"] == "": asyncio.create_task(boards_report(value["boards_report_file"])) window["boards_report_file"].update("")