From 34584ab0985046a6b2ff96ae1bde20c14479aef0 Mon Sep 17 00:00:00 2001 From: b-rowan Date: Sat, 10 Feb 2024 13:56:00 -0700 Subject: [PATCH] feature: add support for KDBoxPro and KDBoxII. --- pyasic/miners/factory.py | 8 ++++- .../miners/goldshell/bfgminer/XBox/KDBox.py | 25 ++++++++++++++++ .../goldshell/bfgminer/XBox/__init__.py | 16 ++++++++++ pyasic/miners/goldshell/bfgminer/__init__.py | 1 + pyasic/miners/models/goldshell/XBox/KDBox.py | 30 +++++++++++++++++++ .../miners/models/goldshell/XBox/__init__.py | 1 + pyasic/miners/models/goldshell/__init__.py | 1 + 7 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 pyasic/miners/goldshell/bfgminer/XBox/KDBox.py create mode 100644 pyasic/miners/goldshell/bfgminer/XBox/__init__.py create mode 100644 pyasic/miners/models/goldshell/XBox/KDBox.py create mode 100644 pyasic/miners/models/goldshell/XBox/__init__.py diff --git a/pyasic/miners/factory.py b/pyasic/miners/factory.py index 66959c62..91fde5d6 100644 --- a/pyasic/miners/factory.py +++ b/pyasic/miners/factory.py @@ -342,6 +342,8 @@ MINER_CLASSES = { "GOLDSHELL HS5": GoldshellHS5, "GOLDSHELL KD5": GoldshellKD5, "GOLDSHELL KDMAX": GoldshellKDMax, + "GOLDSHELL KDBOXII": GoldshellKDBoxII, + "GOLDSHELL KDBOXPRO": GoldshellKDBoxPro, }, MinerTypes.BRAIINS_OS: { None: BOSMiner, @@ -668,7 +670,11 @@ class MinerFactory: return MinerTypes.LUX_OS if "ANTMINER" in upper_data and "DEVDETAILS" not in upper_data: return MinerTypes.ANTMINER - if "INTCHAINS_QOMO" in upper_data: + if ( + "INTCHAINS_QOMO" in upper_data + or "KDAMINER" in upper_data + or "BFGMINER" in upper_data + ): return MinerTypes.GOLDSHELL if "AVALON" in upper_data: return MinerTypes.AVALONMINER diff --git a/pyasic/miners/goldshell/bfgminer/XBox/KDBox.py b/pyasic/miners/goldshell/bfgminer/XBox/KDBox.py new file mode 100644 index 00000000..98ba4897 --- /dev/null +++ b/pyasic/miners/goldshell/bfgminer/XBox/KDBox.py @@ -0,0 +1,25 @@ +# ------------------------------------------------------------------------------ +# Copyright 2022 Upstream Data Inc - +# - +# Licensed under the Apache License, Version 2.0 (the "License"); - +# you may not use this file except in compliance with the License. - +# You may obtain a copy of the License at - +# - +# http://www.apache.org/licenses/LICENSE-2.0 - +# - +# Unless required by applicable law or agreed to in writing, software - +# distributed under the License is distributed on an "AS IS" BASIS, - +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - +# See the License for the specific language governing permissions and - +# limitations under the License. - +# ------------------------------------------------------------------------------ +from pyasic.miners.backends import GoldshellMiner +from pyasic.miners.models import KDBoxII, KDBoxPro + + +class GoldshellKDBoxII(GoldshellMiner, KDBoxII): + pass + + +class GoldshellKDBoxPro(GoldshellMiner, KDBoxPro): + pass diff --git a/pyasic/miners/goldshell/bfgminer/XBox/__init__.py b/pyasic/miners/goldshell/bfgminer/XBox/__init__.py new file mode 100644 index 00000000..2f1c6849 --- /dev/null +++ b/pyasic/miners/goldshell/bfgminer/XBox/__init__.py @@ -0,0 +1,16 @@ +# ------------------------------------------------------------------------------ +# Copyright 2022 Upstream Data Inc - +# - +# Licensed under the Apache License, Version 2.0 (the "License"); - +# you may not use this file except in compliance with the License. - +# You may obtain a copy of the License at - +# - +# http://www.apache.org/licenses/LICENSE-2.0 - +# - +# Unless required by applicable law or agreed to in writing, software - +# distributed under the License is distributed on an "AS IS" BASIS, - +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - +# See the License for the specific language governing permissions and - +# limitations under the License. - +# ------------------------------------------------------------------------------ +from .KDBox import GoldshellKDBoxII, GoldshellKDBoxPro diff --git a/pyasic/miners/goldshell/bfgminer/__init__.py b/pyasic/miners/goldshell/bfgminer/__init__.py index 2890f5d0..f970597c 100644 --- a/pyasic/miners/goldshell/bfgminer/__init__.py +++ b/pyasic/miners/goldshell/bfgminer/__init__.py @@ -14,4 +14,5 @@ # limitations under the License. - # ------------------------------------------------------------------------------ from .X5 import * +from .XBox import * from .XMax import * diff --git a/pyasic/miners/models/goldshell/XBox/KDBox.py b/pyasic/miners/models/goldshell/XBox/KDBox.py new file mode 100644 index 00000000..709dd40d --- /dev/null +++ b/pyasic/miners/models/goldshell/XBox/KDBox.py @@ -0,0 +1,30 @@ +# ------------------------------------------------------------------------------ +# Copyright 2022 Upstream Data Inc - +# - +# Licensed under the Apache License, Version 2.0 (the "License"); - +# you may not use this file except in compliance with the License. - +# You may obtain a copy of the License at - +# - +# http://www.apache.org/licenses/LICENSE-2.0 - +# - +# Unless required by applicable law or agreed to in writing, software - +# distributed under the License is distributed on an "AS IS" BASIS, - +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - +# See the License for the specific language governing permissions and - +# limitations under the License. - +# ------------------------------------------------------------------------------ +from pyasic.miners.makes import GoldshellMake + + +class KDBoxII(GoldshellMake): + raw_model = "KD Box II" + expected_chips = 36 + expected_fans = 2 + expected_hashboards = 1 + + +class KDBoxPro(GoldshellMake): + raw_model = "KD Box Pro" + expected_chips = 16 + expected_fans = 2 + expected_hashboards = 1 diff --git a/pyasic/miners/models/goldshell/XBox/__init__.py b/pyasic/miners/models/goldshell/XBox/__init__.py new file mode 100644 index 00000000..7dfb1f8f --- /dev/null +++ b/pyasic/miners/models/goldshell/XBox/__init__.py @@ -0,0 +1 @@ +from .KDBox import KDBoxII, KDBoxPro diff --git a/pyasic/miners/models/goldshell/__init__.py b/pyasic/miners/models/goldshell/__init__.py index 2890f5d0..f970597c 100644 --- a/pyasic/miners/models/goldshell/__init__.py +++ b/pyasic/miners/models/goldshell/__init__.py @@ -14,4 +14,5 @@ # limitations under the License. - # ------------------------------------------------------------------------------ from .X5 import * +from .XBox import * from .XMax import *