epic: add BlockMiner eLITE, S19k Pro Dualie
This commit is contained in:
committed by
Brett Rowan
parent
640dc6d8c2
commit
655cf6d0ac
@@ -677,6 +677,19 @@
|
|||||||
show_root_heading: false
|
show_root_heading: false
|
||||||
heading_level: 0
|
heading_level: 0
|
||||||
|
|
||||||
|
## S19k Pro Dual (ePIC)
|
||||||
|
|
||||||
|
- [x] Shutdowns
|
||||||
|
- [ ] Power Modes
|
||||||
|
- [ ] Setpoints
|
||||||
|
- [ ] Presets
|
||||||
|
|
||||||
|
::: pyasic.miners.antminer.epic.X19.S19.ePICS19kProDual
|
||||||
|
handler: python
|
||||||
|
options:
|
||||||
|
show_root_heading: false
|
||||||
|
heading_level: 0
|
||||||
|
|
||||||
## S19 (Hive)
|
## S19 (Hive)
|
||||||
|
|
||||||
- [ ] Shutdowns
|
- [ ] Shutdowns
|
||||||
|
|||||||
@@ -27,3 +27,16 @@
|
|||||||
show_root_heading: false
|
show_root_heading: false
|
||||||
heading_level: 0
|
heading_level: 0
|
||||||
|
|
||||||
|
## BlockMiner eLITE 1.0 (ePIC)
|
||||||
|
|
||||||
|
- [x] Shutdowns
|
||||||
|
- [ ] Power Modes
|
||||||
|
- [ ] Setpoints
|
||||||
|
- [ ] Presets
|
||||||
|
|
||||||
|
::: pyasic.miners.blockminer.epic.blockminer.blockminer.ePICBlockMinerELITEv1
|
||||||
|
handler: python
|
||||||
|
options:
|
||||||
|
show_root_heading: false
|
||||||
|
heading_level: 0
|
||||||
|
|
||||||
|
|||||||
@@ -736,6 +736,7 @@ details {
|
|||||||
<li><a href="../antminer/X19#s19k-pro-epic">S19k Pro (ePIC)</a></li>
|
<li><a href="../antminer/X19#s19k-pro-epic">S19k Pro (ePIC)</a></li>
|
||||||
<li><a href="../antminer/X19#s19-xp-epic">S19 XP (ePIC)</a></li>
|
<li><a href="../antminer/X19#s19-xp-epic">S19 XP (ePIC)</a></li>
|
||||||
<li><a href="../antminer/X19#s19j-pro-dual-epic">S19j Pro Dual (ePIC)</a></li>
|
<li><a href="../antminer/X19#s19j-pro-dual-epic">S19j Pro Dual (ePIC)</a></li>
|
||||||
|
<li><a href="../antminer/X19#s19k-pro-dual-epic">S19k Pro Dual (ePIC)</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</details>
|
</details>
|
||||||
<details>
|
<details>
|
||||||
@@ -751,6 +752,7 @@ details {
|
|||||||
<ul>
|
<ul>
|
||||||
<li><a href="../blockminer/blockminer#blockminer-520i-epic">BlockMiner 520i (ePIC)</a></li>
|
<li><a href="../blockminer/blockminer#blockminer-520i-epic">BlockMiner 520i (ePIC)</a></li>
|
||||||
<li><a href="../blockminer/blockminer#blockminer-720i-epic">BlockMiner 720i (ePIC)</a></li>
|
<li><a href="../blockminer/blockminer#blockminer-720i-epic">BlockMiner 720i (ePIC)</a></li>
|
||||||
|
<li><a href="../blockminer/blockminer#blockminer-elite-1.0-epic">BlockMiner eLITE 1.0 (ePIC)</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</details>
|
</details>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@@ -480,7 +480,9 @@ class GoldshellModels(MinerModelType):
|
|||||||
class ePICModels(MinerModelType):
|
class ePICModels(MinerModelType):
|
||||||
BM520i = "BlockMiner 520i"
|
BM520i = "BlockMiner 520i"
|
||||||
BM720i = "BlockMiner 720i"
|
BM720i = "BlockMiner 720i"
|
||||||
|
eLITEv1 = "BlockMiner eLITE 1.0"
|
||||||
S19jProDual = "S19j Pro Dual"
|
S19jProDual = "S19j Pro Dual"
|
||||||
|
S19kProDual = "S19k Pro Dual"
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.value
|
return self.value
|
||||||
|
|||||||
@@ -59,3 +59,9 @@ class ePICS19jProDual(ePIC, S19jPro):
|
|||||||
raw_model = MinerModel.EPIC.S19jProDual
|
raw_model = MinerModel.EPIC.S19jProDual
|
||||||
expected_fans = S19jPro.expected_fans * 2
|
expected_fans = S19jPro.expected_fans * 2
|
||||||
expected_hashboards = S19jPro.expected_hashboards * 2
|
expected_hashboards = S19jPro.expected_hashboards * 2
|
||||||
|
|
||||||
|
|
||||||
|
class ePICS19kProDual(ePIC, S19kPro):
|
||||||
|
raw_model = MinerModel.EPIC.S19kProDual
|
||||||
|
expected_fans = S19kPro.expected_fans * 2
|
||||||
|
expected_hashboards = S19kPro.expected_hashboards * 2
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ from .S19 import (
|
|||||||
ePICS19jProDual,
|
ePICS19jProDual,
|
||||||
ePICS19jProPlus,
|
ePICS19jProPlus,
|
||||||
ePICS19kPro,
|
ePICS19kPro,
|
||||||
|
ePICS19kProDual,
|
||||||
ePICS19Pro,
|
ePICS19Pro,
|
||||||
ePICS19XP,
|
ePICS19XP,
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ from pyasic.config import MinerConfig
|
|||||||
from pyasic.data import Fan, HashBoard
|
from pyasic.data import Fan, HashBoard
|
||||||
from pyasic.data.error_codes import MinerErrorData, X19Error
|
from pyasic.data.error_codes import MinerErrorData, X19Error
|
||||||
from pyasic.data.pools import PoolMetrics, PoolUrl
|
from pyasic.data.pools import PoolMetrics, PoolUrl
|
||||||
from pyasic.device.algorithm import AlgoHashRate
|
from pyasic.device.algorithm import AlgoHashRate, ScryptAlgo
|
||||||
from pyasic.errors import APIError
|
from pyasic.errors import APIError
|
||||||
from pyasic.logger import logger
|
from pyasic.logger import logger
|
||||||
from pyasic.miners.data import DataFunction, DataLocations, DataOptions, WebAPICommand
|
from pyasic.miners.data import DataFunction, DataLocations, DataOptions, WebAPICommand
|
||||||
@@ -138,6 +138,8 @@ class ePIC(ePICFirmware):
|
|||||||
await self.web.set_ptune_algo(conf["ptune"])
|
await self.web.set_ptune_algo(conf["ptune"])
|
||||||
|
|
||||||
## Pools
|
## Pools
|
||||||
|
if self.algo == ScryptAlgo:
|
||||||
|
conf["pools"]["coin"] = "Ltc"
|
||||||
await self.web.set_pools(conf["pools"])
|
await self.web.set_pools(conf["pools"])
|
||||||
except APIError:
|
except APIError:
|
||||||
pass
|
pass
|
||||||
@@ -338,6 +340,9 @@ class ePIC(ePICFirmware):
|
|||||||
tuned = tuned and web_summary["Status"]["Operating State"] == "Mining"
|
tuned = tuned and web_summary["Status"]["Operating State"] == "Mining"
|
||||||
active = active and web_summary["Status"]["Operating State"] == "Mining"
|
active = active and web_summary["Status"]["Operating State"] == "Mining"
|
||||||
|
|
||||||
|
if web_capabilities is not None and self.expected_hashboards is None:
|
||||||
|
self.expected_hashboards = web_capabilities.get("Max HBs", 3)
|
||||||
|
|
||||||
hb_list = [
|
hb_list = [
|
||||||
HashBoard(slot=i, expected_chips=self.expected_chips)
|
HashBoard(slot=i, expected_chips=self.expected_chips)
|
||||||
for i in range(self.expected_hashboards)
|
for i in range(self.expected_hashboards)
|
||||||
|
|||||||
@@ -14,4 +14,4 @@
|
|||||||
# limitations under the License. -
|
# limitations under the License. -
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
from .blockminer import ePICBlockMiner520i, ePICBlockMiner720i
|
from .blockminer import *
|
||||||
|
|||||||
@@ -15,7 +15,11 @@
|
|||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
from pyasic.miners.backends import ePIC
|
from pyasic.miners.backends import ePIC
|
||||||
from pyasic.miners.device.models import BlockMiner520i, BlockMiner720i
|
from pyasic.miners.device.models import (
|
||||||
|
BlockMiner520i,
|
||||||
|
BlockMiner720i,
|
||||||
|
BlockMinerELITEv1,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class ePICBlockMiner520i(ePIC, BlockMiner520i):
|
class ePICBlockMiner520i(ePIC, BlockMiner520i):
|
||||||
@@ -24,3 +28,7 @@ class ePICBlockMiner520i(ePIC, BlockMiner520i):
|
|||||||
|
|
||||||
class ePICBlockMiner720i(ePIC, BlockMiner720i):
|
class ePICBlockMiner720i(ePIC, BlockMiner720i):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class ePICBlockMinerELITEv1(ePIC, BlockMinerELITEv1):
|
||||||
|
pass
|
||||||
|
|||||||
@@ -19,3 +19,12 @@ class BlockMiner720i(ePICMake):
|
|||||||
expected_fans = 4
|
expected_fans = 4
|
||||||
expected_hashboards = 3
|
expected_hashboards = 3
|
||||||
algo = MinerAlgo.SHA256
|
algo = MinerAlgo.SHA256
|
||||||
|
|
||||||
|
|
||||||
|
class BlockMinerELITEv1(ePICMake):
|
||||||
|
raw_model = MinerModel.EPIC.eLITEv1
|
||||||
|
|
||||||
|
expected_chips = 105
|
||||||
|
expected_fans = 4
|
||||||
|
expected_hashboards = 3
|
||||||
|
algo = MinerAlgo.SCRYPT
|
||||||
|
|||||||
@@ -592,8 +592,10 @@ MINER_CLASSES = {
|
|||||||
"ANTMINER S21 PRO": ePICS21Pro,
|
"ANTMINER S21 PRO": ePICS21Pro,
|
||||||
"ANTMINER T21": ePICT21,
|
"ANTMINER T21": ePICT21,
|
||||||
"ANTMINER S19J PRO DUAL": ePICS19jProDual,
|
"ANTMINER S19J PRO DUAL": ePICS19jProDual,
|
||||||
|
"ANTMINER S19K PRO DUAL": ePICS19kProDual,
|
||||||
"BLOCKMINER 520I": ePICBlockMiner520i,
|
"BLOCKMINER 520I": ePICBlockMiner520i,
|
||||||
"BLOCKMINER 720I": ePICBlockMiner720i,
|
"BLOCKMINER 720I": ePICBlockMiner720i,
|
||||||
|
"BLOCKMINER ELITE V1.0": ePICBlockMinerELITEv1,
|
||||||
},
|
},
|
||||||
MinerTypes.HIVEON: {
|
MinerTypes.HIVEON: {
|
||||||
None: HiveonModern,
|
None: HiveonModern,
|
||||||
|
|||||||
Reference in New Issue
Block a user