Compare commits

...

7 Commits

Author SHA1 Message Date
UpstreamData
4dbab75cf4 bump version number 2022-09-28 10:20:17 -06:00
UpstreamData
a90ad3ba6e fix incorrect chip count on M31S+ V30 2022-09-28 10:19:56 -06:00
UpstreamData
98a94ce4a6 bump version number 2022-09-28 10:06:53 -06:00
UpstreamData
f0a8b6e1c7 add support for whatsminer M31S+ V30 2022-09-28 10:05:28 -06:00
UpstreamData
e07bd3bffb bump version number 2022-09-26 13:08:27 -06:00
UpstreamData
dcce944390 Fix a bug where older version of bosminer return excessive hashboard error information 2022-09-26 12:27:37 -06:00
UpstreamData
03ecd118a3 add support for M31S+ V60 and V90 2022-09-26 11:51:47 -06:00
9 changed files with 94 additions and 5 deletions

View File

@@ -77,8 +77,11 @@ Supported miner types are here on this list. If your miner (or miner version) i
<summary><a href="/miners/whatsminer/M3X/#m31s_1">M31S+</a></summary>
<ul>
<li><a href="/miners/whatsminer/M3X/#m31sve20">VE20</a></li>
<li><a href="/miners/whatsminer/M3X/#m31sv30">V30</a></li>
<li><a href="/miners/whatsminer/M3X/#m31sv40">V40</a></li>
<li><a href="/miners/whatsminer/M3X/#m31sv60">V60</a></li>
<li><a href="/miners/whatsminer/M3X/#m31sv80">V80</a></li>
<li><a href="/miners/whatsminer/M3X/#m31sv90">V90</a></li>
</ul>
</details>
<details>

View File

@@ -130,6 +130,14 @@
show_root_heading: false
heading_level: 4
## M31S+V30
::: pyasic.miners.whatsminer.btminer.M3X.M31S_Plus.BTMinerM31SPlusV30
handler: python
options:
show_root_heading: false
heading_level: 4
## M31S+V40
::: pyasic.miners.whatsminer.btminer.M3X.M31S_Plus.BTMinerM31SPlusV40
@@ -138,6 +146,14 @@
show_root_heading: false
heading_level: 4
## M31S+V60
::: pyasic.miners.whatsminer.btminer.M3X.M31S_Plus.BTMinerM31SPlusV60
handler: python
options:
show_root_heading: false
heading_level: 4
## M31S+V80
::: pyasic.miners.whatsminer.btminer.M3X.M31S_Plus.BTMinerM31SPlusV80
@@ -146,6 +162,14 @@
show_root_heading: false
heading_level: 4
## M31S+V90
::: pyasic.miners.whatsminer.btminer.M3X.M31S_Plus.BTMinerM31SPlusV90
handler: python
options:
show_root_heading: false
heading_level: 4
## M32
::: pyasic.miners.whatsminer.btminer.M3X.M32.BTMinerM32

View File

@@ -287,7 +287,7 @@ class BOSMiner(BaseMiner):
"Stable",
"Testing performance profile",
]:
_error = board["Status"]
_error = board["Status"].split(" {")[0]
_error = _error[0].lower() + _error[1:]
errors.append(
BraiinsOSError(f"{board_map[_id]} {_error}")
@@ -451,7 +451,7 @@ class BOSMiner(BaseMiner):
"Stable",
"Testing performance profile",
]:
_error = board["Status"]
_error = board["Status"].split(" {")[0]
_error = _error[0].lower() + _error[1:]
data.errors.append(
BraiinsOSError(f"{board_map[_id]} {_error}")

View File

@@ -33,6 +33,15 @@ class M31SPlusVE20(BaseMiner):
self.fan_count = 2
class M31SPlusV30(BaseMiner):
def __init__(self, ip: str):
super().__init__()
self.ip = ip
self.model = "M31S+ V30"
self.nominal_chips = 117
self.fan_count = 2
class M31SPlusV40(BaseMiner):
def __init__(self, ip: str):
super().__init__()
@@ -42,10 +51,28 @@ class M31SPlusV40(BaseMiner):
self.fan_count = 2
class M31SPlusV60(BaseMiner):
def __init__(self, ip: str):
super().__init__()
self.ip = ip
self.model = "M31S+ V60"
self.nominal_chips = 156
self.fan_count = 2
class M31SPlusV80(BaseMiner):
def __init__(self, ip: str):
super().__init__()
self.ip = ip
self.model = "M31S+ V40"
self.model = "M31S+ V80"
self.nominal_chips = 129
self.fan_count = 2
class M31SPlusV90(BaseMiner):
def __init__(self, ip: str):
super().__init__()
self.ip = ip
self.model = "M31S+ V90"
self.nominal_chips = 117
self.fan_count = 2

View File

@@ -22,7 +22,15 @@ from .M30S_Plus_Plus import (
)
from .M31S import M31S
from .M31S_Plus import M31SPlus, M31SPlusVE20, M31SPlusV40, M31SPlusV80
from .M31S_Plus import (
M31SPlus,
M31SPlusVE20,
M31SPlusV30,
M31SPlusV40,
M31SPlusV80,
M31SPlusV60,
M31SPlusV90,
)
from .M32 import M32, M32V20
from .M32S import M32S

View File

@@ -197,8 +197,11 @@ MINER_CLASSES = {
"Default": BTMinerM31SPlus,
"BTMiner": BTMinerM31SPlus,
"E20": BTMinerM31SPlusVE20,
"30": BTMinerM31SPlusV30,
"40": BTMinerM31SPlusV40,
"60": BTMinerM31SPlusV60,
"80": BTMinerM31SPlusV80,
"90": BTMinerM31SPlusV90,
},
"M32S": {
"Default": BTMinerM32S,

View File

@@ -16,8 +16,11 @@ from pyasic.miners._backends import BTMiner # noqa - Ignore access to _module
from pyasic.miners._types import (
M31SPlus,
M31SPlusVE20,
M31SPlusV30,
M31SPlusV40,
M31SPlusV60,
M31SPlusV80,
M31SPlusV90,
) # noqa - Ignore access to _module
@@ -33,13 +36,31 @@ class BTMinerM31SPlusVE20(BTMiner, M31SPlusVE20):
self.ip = ip
class BTMinerM31SPlusV30(BTMiner, M31SPlusV30):
def __init__(self, ip: str) -> None:
super().__init__(ip)
self.ip = ip
class BTMinerM31SPlusV40(BTMiner, M31SPlusV40):
def __init__(self, ip: str) -> None:
super().__init__(ip)
self.ip = ip
class BTMinerM31SPlusV60(BTMiner, M31SPlusV60):
def __init__(self, ip: str) -> None:
super().__init__(ip)
self.ip = ip
class BTMinerM31SPlusV80(BTMiner, M31SPlusV80):
def __init__(self, ip: str) -> None:
super().__init__(ip)
self.ip = ip
class BTMinerM31SPlusV90(BTMiner, M31SPlusV90):
def __init__(self, ip: str) -> None:
super().__init__(ip)
self.ip = ip

View File

@@ -36,8 +36,11 @@ from .M31S import BTMinerM31S
from .M31S_Plus import (
BTMinerM31SPlus,
BTMinerM31SPlusVE20,
BTMinerM31SPlusV30,
BTMinerM31SPlusV40,
BTMinerM31SPlusV60,
BTMinerM31SPlusV80,
BTMinerM31SPlusV90,
)
from .M32 import BTMinerM32, BTMinerM32V20

View File

@@ -1,6 +1,6 @@
[tool.poetry]
name = "pyasic"
version = "0.17.7"
version = "0.17.10"
description = "A set of modules for interfacing with many common types of ASIC bitcoin miners, using both their API and SSH."
authors = ["UpstreamData <brett@upstreamdata.ca>"]
repository = "https://github.com/UpstreamData/pyasic"