diff --git a/pyasic/device/models.py b/pyasic/device/models.py index 8eab6655..24678d72 100644 --- a/pyasic/device/models.py +++ b/pyasic/device/models.py @@ -44,6 +44,7 @@ class AntminerModels(str, Enum): S19kProNoPIC = "S19k Pro No PIC" T19 = "T19" S21 = "S21" + S21Pro = "S21 Pro" T21 = "T21" def __str__(self): diff --git a/pyasic/miners/antminer/bmminer/X21/S21.py b/pyasic/miners/antminer/bmminer/X21/S21.py index 33b52f0e..26dcc2b7 100644 --- a/pyasic/miners/antminer/bmminer/X21/S21.py +++ b/pyasic/miners/antminer/bmminer/X21/S21.py @@ -15,8 +15,12 @@ # ------------------------------------------------------------------------------ from pyasic.miners.backends import AntminerModern -from pyasic.miners.device.models import S21 +from pyasic.miners.device.models import S21, S21Pro class BMMinerS21(AntminerModern, S21): pass + + +class BMMinerS21Pro(AntminerModern, S21Pro): + pass diff --git a/pyasic/miners/antminer/bmminer/X21/__init__.py b/pyasic/miners/antminer/bmminer/X21/__init__.py index 7662e46b..c9f78271 100644 --- a/pyasic/miners/antminer/bmminer/X21/__init__.py +++ b/pyasic/miners/antminer/bmminer/X21/__init__.py @@ -13,5 +13,5 @@ # See the License for the specific language governing permissions and - # limitations under the License. - # ------------------------------------------------------------------------------ -from .S21 import BMMinerS21 +from .S21 import BMMinerS21, BMMinerS21Pro from .T21 import BMMinerT21 diff --git a/pyasic/miners/antminer/epic/X21/S21.py b/pyasic/miners/antminer/epic/X21/S21.py index 1ffbec25..919dae92 100644 --- a/pyasic/miners/antminer/epic/X21/S21.py +++ b/pyasic/miners/antminer/epic/X21/S21.py @@ -15,8 +15,12 @@ # ------------------------------------------------------------------------------ from pyasic.miners.backends import ePIC -from pyasic.miners.device.models import S21 +from pyasic.miners.device.models import S21, S21Pro class ePICS21(ePIC, S21): pass + + +class ePICS21Pro(ePIC, S21Pro): + pass diff --git a/pyasic/miners/antminer/epic/X21/__init__.py b/pyasic/miners/antminer/epic/X21/__init__.py index 34fd9a0e..8d8aa07d 100644 --- a/pyasic/miners/antminer/epic/X21/__init__.py +++ b/pyasic/miners/antminer/epic/X21/__init__.py @@ -14,9 +14,7 @@ # limitations under the License. - # ------------------------------------------------------------------------------ -from .S21 import ( - ePICS21, -) +from .S21 import ePICS21, ePICS21Pro from .T21 import ( ePICT21, diff --git a/pyasic/miners/device/models/antminer/X21/S21.py b/pyasic/miners/device/models/antminer/X21/S21.py index bc0c57a7..a3c9bb02 100644 --- a/pyasic/miners/device/models/antminer/X21/S21.py +++ b/pyasic/miners/device/models/antminer/X21/S21.py @@ -22,3 +22,10 @@ class S21(AntMinerMake): expected_chips = 108 expected_fans = 4 + + +class S21Pro(AntMinerMake): + raw_model = MinerModel.ANTMINER.S21Pro + + expected_chips = 65 + expected_fans = 4 diff --git a/pyasic/miners/device/models/antminer/X21/__init__.py b/pyasic/miners/device/models/antminer/X21/__init__.py index d9c49a2e..ddf65ac8 100644 --- a/pyasic/miners/device/models/antminer/X21/__init__.py +++ b/pyasic/miners/device/models/antminer/X21/__init__.py @@ -14,5 +14,5 @@ # limitations under the License. - # ------------------------------------------------------------------------------ -from .S21 import S21 +from .S21 import S21, S21Pro from .T21 import T21 diff --git a/pyasic/miners/factory.py b/pyasic/miners/factory.py index 4679d11d..bf5d25b2 100644 --- a/pyasic/miners/factory.py +++ b/pyasic/miners/factory.py @@ -97,6 +97,7 @@ MINER_CLASSES = { "ANTMINER S19K PRO": BMMinerS19KPro, "ANTMINER T19": BMMinerT19, "ANTMINER S21": BMMinerS21, + "ANTMINER S21 PRO": BMMinerS21Pro, "ANTMINER T21": BMMinerT21, }, MinerTypes.WHATSMINER: { @@ -401,6 +402,7 @@ MINER_CLASSES = { "ANTMINER S19K PRO": ePICS19kPro, "ANTMINER S19 XP": ePICS19XP, "ANTMINER S21": ePICS21, + "ANTMINER S21 PRO": ePICS21Pro, "ANTMINER T21": ePICT21, "BLOCKMINER 520I": ePICBlockMiner520i, "BLOCKMINER 720I": ePICBlockMiner720i,