From c25ff6fcefd255baa366e16fe757e162aa81aacd Mon Sep 17 00:00:00 2001 From: John-Paul Compagnone Date: Sun, 11 Feb 2024 10:55:49 -0500 Subject: [PATCH] add ePIC Blockminer 520i support --- pyasic/miners/blockminer/__init__.py | 17 ++++++++++++++ pyasic/miners/blockminer/epic/__init__.py | 17 ++++++++++++++ .../blockminer/epic/blockminer/__init__.py | 19 ++++++++++++++++ .../blockminer/epic/blockminer/blockminer.py | 22 +++++++++++++++++++ pyasic/miners/factory.py | 2 ++ pyasic/miners/makes/__init__.py | 4 ++++ pyasic/miners/models/__init__.py | 1 + pyasic/miners/models/epic/__init__.py | 1 + .../miners/models/epic/blockminer/__init__.py | 1 + .../models/epic/blockminer/blockminer.py | 7 ++++++ 10 files changed, 91 insertions(+) create mode 100644 pyasic/miners/blockminer/__init__.py create mode 100644 pyasic/miners/blockminer/epic/__init__.py create mode 100644 pyasic/miners/blockminer/epic/blockminer/__init__.py create mode 100644 pyasic/miners/blockminer/epic/blockminer/blockminer.py create mode 100644 pyasic/miners/models/epic/__init__.py create mode 100644 pyasic/miners/models/epic/blockminer/__init__.py create mode 100644 pyasic/miners/models/epic/blockminer/blockminer.py diff --git a/pyasic/miners/blockminer/__init__.py b/pyasic/miners/blockminer/__init__.py new file mode 100644 index 00000000..4664d00a --- /dev/null +++ b/pyasic/miners/blockminer/__init__.py @@ -0,0 +1,17 @@ +# ------------------------------------------------------------------------------ +# 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 .epic import * diff --git a/pyasic/miners/blockminer/epic/__init__.py b/pyasic/miners/blockminer/epic/__init__.py new file mode 100644 index 00000000..b063d429 --- /dev/null +++ b/pyasic/miners/blockminer/epic/__init__.py @@ -0,0 +1,17 @@ +# ------------------------------------------------------------------------------ +# 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 .blockminer import * diff --git a/pyasic/miners/blockminer/epic/blockminer/__init__.py b/pyasic/miners/blockminer/epic/blockminer/__init__.py new file mode 100644 index 00000000..bba5e29f --- /dev/null +++ b/pyasic/miners/blockminer/epic/blockminer/__init__.py @@ -0,0 +1,19 @@ +# ------------------------------------------------------------------------------ +# 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 .blockminer import ( + ePICBlockMiner520, +) diff --git a/pyasic/miners/blockminer/epic/blockminer/blockminer.py b/pyasic/miners/blockminer/epic/blockminer/blockminer.py new file mode 100644 index 00000000..5ec0dea8 --- /dev/null +++ b/pyasic/miners/blockminer/epic/blockminer/blockminer.py @@ -0,0 +1,22 @@ +# ------------------------------------------------------------------------------ +# 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 ePIC +from pyasic.miners.models import Blockminer520 + + +class ePICBlockMiner520(ePIC, Blockminer520): + pass diff --git a/pyasic/miners/factory.py b/pyasic/miners/factory.py index 48dbaf91..3c37359b 100644 --- a/pyasic/miners/factory.py +++ b/pyasic/miners/factory.py @@ -29,6 +29,7 @@ from pyasic import settings from pyasic.logger import logger from pyasic.miners.antminer import * from pyasic.miners.auradine import * +from pyasic.miners.blockminer import * from pyasic.miners.avalonminer import * from pyasic.miners.backends import ( Auradine, @@ -393,6 +394,7 @@ MINER_CLASSES = { "ANTMINER S19K PRO": ePICS19kPro, "ANTMINER S19 XP": ePICS19XP, "ANTMINER S21": ePICS21, + "BLOCKMINER 520I": ePICBlockMiner520, }, MinerTypes.HIVEON: { None: Hiveon, diff --git a/pyasic/miners/makes/__init__.py b/pyasic/miners/makes/__init__.py index de86dfd2..8cbd72c0 100644 --- a/pyasic/miners/makes/__init__.py +++ b/pyasic/miners/makes/__init__.py @@ -39,3 +39,7 @@ class GoldshellMake(BaseMiner): class AuradineMake(BaseMiner): make = "Auradine" + + +class ePICMake(BaseMiner): + make = "ePIC" diff --git a/pyasic/miners/models/__init__.py b/pyasic/miners/models/__init__.py index e9f4f41b..00036809 100644 --- a/pyasic/miners/models/__init__.py +++ b/pyasic/miners/models/__init__.py @@ -20,3 +20,4 @@ from .avalonminer import * from .goldshell import * from .innosilicon import * from .whatsminer import * +from .epic import * diff --git a/pyasic/miners/models/epic/__init__.py b/pyasic/miners/models/epic/__init__.py new file mode 100644 index 00000000..f0b88835 --- /dev/null +++ b/pyasic/miners/models/epic/__init__.py @@ -0,0 +1 @@ +from .blockminer import * diff --git a/pyasic/miners/models/epic/blockminer/__init__.py b/pyasic/miners/models/epic/blockminer/__init__.py new file mode 100644 index 00000000..f0b88835 --- /dev/null +++ b/pyasic/miners/models/epic/blockminer/__init__.py @@ -0,0 +1 @@ +from .blockminer import * diff --git a/pyasic/miners/models/epic/blockminer/blockminer.py b/pyasic/miners/models/epic/blockminer/blockminer.py new file mode 100644 index 00000000..d7798bc7 --- /dev/null +++ b/pyasic/miners/models/epic/blockminer/blockminer.py @@ -0,0 +1,7 @@ +from pyasic.miners.makes import ePICMake + + +class Blockminer520(ePICMake): + raw_model = "Blockminer 520i" + expected_chips = 124 + expected_fans = 4