Compare commits
25 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
730caca23f | ||
|
|
dc126b2953 | ||
|
|
51abdf0b2d | ||
|
|
b367b2d293 | ||
|
|
96f52a4b35 | ||
|
|
5236e02af2 | ||
|
|
9ee52f77f9 | ||
|
|
26389f8ba0 | ||
|
|
8a0605bd3b | ||
|
|
fe9894919e | ||
|
|
bb399fe362 | ||
|
|
7ca7fe3e7e | ||
|
|
748279c25d | ||
|
|
23890fa10a | ||
|
|
8ab7df516e | ||
|
|
f7a0188104 | ||
|
|
66a8932ea3 | ||
|
|
56536fd258 | ||
|
|
1b4e6d4da0 | ||
|
|
2019bdaff2 | ||
|
|
b903cc6e5f | ||
|
|
c1a01b5f7b | ||
|
|
3427a8d15a | ||
|
|
25c08b9bc0 | ||
|
|
01263da52b |
@@ -55,6 +55,8 @@ def backend_str(backend: MinerTypes) -> str:
|
||||
return "Stock Firmware IceRiver Miners"
|
||||
case MinerTypes.HAMMER:
|
||||
return "Stock Firmware Hammer Miners"
|
||||
case MinerTypes.VOLCMINER:
|
||||
return "Stock Firmware Volcminers"
|
||||
|
||||
|
||||
def create_url_str(mtype: str):
|
||||
@@ -69,11 +71,17 @@ def create_url_str(mtype: str):
|
||||
|
||||
HEADER_FORMAT = "# pyasic\n## {} Models\n\n"
|
||||
MINER_HEADER_FORMAT = "## {}\n"
|
||||
DATA_FORMAT = """::: {}
|
||||
DATA_FORMAT = """
|
||||
- [{}] Shutdowns
|
||||
- [{}] Power Modes
|
||||
- [{}] Setpoints
|
||||
- [{}] Presets
|
||||
|
||||
::: {}
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
"""
|
||||
SUPPORTED_TYPES_HEADER = """# pyasic
|
||||
@@ -81,6 +89,8 @@ SUPPORTED_TYPES_HEADER = """# pyasic
|
||||
|
||||
Supported miner types are here on this list. If your miner (or miner version) is not on this list, please feel free to [open an issue on GitHub](https://github.com/UpstreamData/pyasic/issues) to get it added.
|
||||
|
||||
Keep in mind that some functionality is only supported for specific miners or firmwares, please check the page for your miner to make sure the functionality you need is supported.
|
||||
|
||||
##### pyasic currently supports the following miners and subtypes:
|
||||
<style>
|
||||
details {
|
||||
@@ -138,9 +148,18 @@ async def create_directory_structure(directory, data):
|
||||
with open(file_path, "w") as file:
|
||||
file.write(HEADER_FORMAT.format(key))
|
||||
for item in value:
|
||||
header = await item("1.1.1.1").get_model()
|
||||
obj = item("1.1.1.1")
|
||||
header = obj.model
|
||||
file.write(MINER_HEADER_FORMAT.format(header))
|
||||
file.write(DATA_FORMAT.format(path(item)))
|
||||
file.write(
|
||||
DATA_FORMAT.format(
|
||||
"x" if obj.supports_shutdown else " ",
|
||||
"x" if obj.supports_power_modes else " ",
|
||||
"x" if obj.supports_autotuning else " ",
|
||||
"x" if obj.supports_presets else " ",
|
||||
path(item),
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
async def create_supported_types(directory):
|
||||
|
||||
@@ -2,16 +2,28 @@
|
||||
## X15 Models
|
||||
|
||||
## Z15 (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.cgminer.X15.Z15.CGMinerZ15
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## Z15 Pro (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X15.Z15.BMMinerZ15Pro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
|
||||
@@ -2,114 +2,210 @@
|
||||
## X17 Models
|
||||
|
||||
## S17 (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X17.S17.BMMinerS17
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S17+ (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X17.S17.BMMinerS17Plus
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S17 Pro (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X17.S17.BMMinerS17Pro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S17e (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X17.S17.BMMinerS17e
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## T17 (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X17.T17.BMMinerT17
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## T17+ (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X17.T17.BMMinerT17Plus
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## T17e (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X17.T17.BMMinerT17e
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S17 (BOS+)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bosminer.X17.S17.BOSMinerS17
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S17+ (BOS+)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bosminer.X17.S17.BOSMinerS17Plus
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S17 Pro (BOS+)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bosminer.X17.S17.BOSMinerS17Pro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S17e (BOS+)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bosminer.X17.S17.BOSMinerS17e
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## T17 (BOS+)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bosminer.X17.T17.BOSMinerT17
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## T17+ (BOS+)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bosminer.X17.T17.BOSMinerT17Plus
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## T17e (BOS+)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bosminer.X17.T17.BOSMinerT17e
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S17+ (VNish)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [x] Presets
|
||||
|
||||
::: pyasic.miners.antminer.vnish.X17.S17.VNishS17Plus
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S17 Pro (VNish)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [x] Presets
|
||||
|
||||
::: pyasic.miners.antminer.vnish.X17.S17.VNishS17Pro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
|
||||
@@ -2,485 +2,912 @@
|
||||
## X19 Models
|
||||
|
||||
## S19 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X19.S19.BMMinerS19
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19L (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X19.S19.BMMinerS19L
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19 Pro (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X19.S19.BMMinerS19Pro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19j (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X19.S19.BMMinerS19j
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19i (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X19.S19.BMMinerS19i
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19+ (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X19.S19.BMMinerS19Plus
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19j No PIC (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X19.S19.BMMinerS19jNoPIC
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19 Pro+ (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X19.S19.BMMinerS19ProPlus
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19j Pro (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X19.S19.BMMinerS19jPro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19 XP (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X19.S19.BMMinerS19XP
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19a (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X19.S19.BMMinerS19a
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19a Pro (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X19.S19.BMMinerS19aPro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19 Hydro (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X19.S19.BMMinerS19Hydro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19 Pro Hydro (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X19.S19.BMMinerS19ProHydro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19 Pro+ Hydro (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X19.S19.BMMinerS19ProPlusHydro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19K Pro (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X19.S19.BMMinerS19KPro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19j XP (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X19.S19.BMMinerS19jXP
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## T19 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X19.T19.BMMinerT19
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19 (BOS+)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bosminer.X19.S19.BOSMinerS19
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19+ (BOS+)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bosminer.X19.S19.BOSMinerS19Plus
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19 Pro (BOS+)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bosminer.X19.S19.BOSMinerS19Pro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19a (BOS+)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bosminer.X19.S19.BOSMinerS19a
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19a Pro (BOS+)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bosminer.X19.S19.BOSMinerS19aPro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19j (BOS+)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bosminer.X19.S19.BOSMinerS19j
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19j No PIC (BOS+)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bosminer.X19.S19.BOSMinerS19jNoPIC
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19j Pro (BOS+)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bosminer.X19.S19.BOSMinerS19jPro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19j Pro No PIC (BOS+)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bosminer.X19.S19.BOSMinerS19jProNoPIC
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19j Pro+ (BOS+)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bosminer.X19.S19.BOSMinerS19jProPlus
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19j Pro+ (BOS+)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bosminer.X19.S19.BOSMinerS19jProPlus
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19j Pro+ No PIC (BOS+)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bosminer.X19.S19.BOSMinerS19jProPlusNoPIC
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19k Pro No PIC (BOS+)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bosminer.X19.S19.BOSMinerS19kProNoPIC
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19k Pro No PIC (BOS+)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bosminer.X19.S19.BOSMinerS19kProNoPIC
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19 XP (BOS+)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bosminer.X19.S19.BOSMinerS19XP
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19 Pro+ Hydro (BOS+)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bosminer.X19.S19.BOSMinerS19ProPlusHydro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## T19 (BOS+)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bosminer.X19.T19.BOSMinerT19
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19 (VNish)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [x] Presets
|
||||
|
||||
::: pyasic.miners.antminer.vnish.X19.S19.VNishS19
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19 No PIC (VNish)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [x] Presets
|
||||
|
||||
::: pyasic.miners.antminer.vnish.X19.S19.VNishS19NoPIC
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19 Pro (VNish)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [x] Presets
|
||||
|
||||
::: pyasic.miners.antminer.vnish.X19.S19.VNishS19Pro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19j (VNish)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [x] Presets
|
||||
|
||||
::: pyasic.miners.antminer.vnish.X19.S19.VNishS19j
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19j Pro (VNish)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [x] Presets
|
||||
|
||||
::: pyasic.miners.antminer.vnish.X19.S19.VNishS19jPro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19j Pro (VNish)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [x] Presets
|
||||
|
||||
::: pyasic.miners.antminer.vnish.X19.S19.VNishS19jPro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19a (VNish)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [x] Presets
|
||||
|
||||
::: pyasic.miners.antminer.vnish.X19.S19.VNishS19a
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19a Pro (VNish)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [x] Presets
|
||||
|
||||
::: pyasic.miners.antminer.vnish.X19.S19.VNishS19aPro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19 Pro Hydro (VNish)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [x] Presets
|
||||
|
||||
::: pyasic.miners.antminer.vnish.X19.S19.VNishS19ProHydro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19k Pro (VNish)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [x] Presets
|
||||
|
||||
::: pyasic.miners.antminer.vnish.X19.S19.VNishS19kPro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## T19 (VNish)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [x] Presets
|
||||
|
||||
::: pyasic.miners.antminer.vnish.X19.T19.VNishT19
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19 (ePIC)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.epic.X19.S19.ePICS19
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19 Pro (ePIC)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.epic.X19.S19.ePICS19Pro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19j (ePIC)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.epic.X19.S19.ePICS19j
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19j Pro (ePIC)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.epic.X19.S19.ePICS19jPro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19j Pro+ (ePIC)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.epic.X19.S19.ePICS19jProPlus
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19k Pro (ePIC)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.epic.X19.S19.ePICS19kPro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19 XP (ePIC)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.epic.X19.S19.ePICS19XP
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19j Pro Dual (ePIC)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.epic.X19.S19.ePICS19jProDual
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 0
|
||||
|
||||
## S19j Pro (Hive)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.hiveon.X19.S19.HiveonS19jPro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19 (Hive)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.hiveon.X19.S19.HiveonS19
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19 (LuxOS)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [x] Presets
|
||||
|
||||
::: pyasic.miners.antminer.luxos.X19.S19.LUXMinerS19
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19 Pro (LuxOS)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [x] Presets
|
||||
|
||||
::: pyasic.miners.antminer.luxos.X19.S19.LUXMinerS19Pro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19j Pro (LuxOS)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [x] Presets
|
||||
|
||||
::: pyasic.miners.antminer.luxos.X19.S19.LUXMinerS19jPro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19j Pro+ (LuxOS)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [x] Presets
|
||||
|
||||
::: pyasic.miners.antminer.luxos.X19.S19.LUXMinerS19jProPlus
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19k Pro (LuxOS)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [x] Presets
|
||||
|
||||
::: pyasic.miners.antminer.luxos.X19.S19.LUXMinerS19kPro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19 XP (LuxOS)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [x] Presets
|
||||
|
||||
::: pyasic.miners.antminer.luxos.X19.S19.LUXMinerS19XP
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## T19 (LuxOS)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [x] Presets
|
||||
|
||||
::: pyasic.miners.antminer.luxos.X19.T19.LUXMinerT19
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19 (MaraFW)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.marathon.X19.S19.MaraS19
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19 Pro (MaraFW)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.marathon.X19.S19.MaraS19Pro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19j (MaraFW)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.marathon.X19.S19.MaraS19j
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19j No PIC (MaraFW)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.marathon.X19.S19.MaraS19jNoPIC
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19j Pro (MaraFW)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.marathon.X19.S19.MaraS19jPro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19 XP (MaraFW)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.marathon.X19.S19.MaraS19XP
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S19K Pro (MaraFW)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.marathon.X19.S19.MaraS19KPro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
|
||||
@@ -2,86 +2,158 @@
|
||||
## X21 Models
|
||||
|
||||
## S21 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X21.S21.BMMinerS21
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S21 Pro (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X21.S21.BMMinerS21Pro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## T21 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X21.T21.BMMinerT21
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S21 (BOS+)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bosminer.X21.S21.BOSMinerS21
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## T21 (BOS+)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bosminer.X21.T21.BOSMinerT21
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S21 (VNish)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [x] Presets
|
||||
|
||||
::: pyasic.miners.antminer.vnish.X21.S21.VNishS21
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S21 (ePIC)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.epic.X21.S21.ePICS21
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S21 Pro (ePIC)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.epic.X21.S21.ePICS21Pro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## T21 (ePIC)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.epic.X21.T21.ePICT21
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S21 (LuxOS)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [x] Presets
|
||||
|
||||
::: pyasic.miners.antminer.luxos.X21.S21.LUXMinerS21
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S21 (MaraFW)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.marathon.X21.S21.MaraS21
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## T21 (MaraFW)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.marathon.X21.T21.MaraT21
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
|
||||
@@ -2,51 +2,93 @@
|
||||
## X3 Models
|
||||
|
||||
## D3 (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.cgminer.X3.D3.CGMinerD3
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## HS3 (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X3.HS3.BMMinerHS3
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## L3+ (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X3.L3.BMMinerL3Plus
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## KA3 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X3.KA3.BMMinerKA3
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## KS3 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X3.KS3.BMMinerKS3
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## L3+ (VNish)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [x] Presets
|
||||
|
||||
::: pyasic.miners.antminer.vnish.X3.L3.VnishL3Plus
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## L3+ (VNish)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [x] Presets
|
||||
|
||||
::: pyasic.miners.antminer.vnish.X3.L3.VnishL3Plus
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
|
||||
@@ -2,16 +2,28 @@
|
||||
## X5 Models
|
||||
|
||||
## DR5 (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.cgminer.X5.DR5.CGMinerDR5
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## KS5 (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X5.KS5.BMMinerKS5
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
|
||||
@@ -2,30 +2,54 @@
|
||||
## X7 Models
|
||||
|
||||
## L7 (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X7.L7.BMMinerL7
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## K7 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X7.K7.BMMinerK7
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## D7 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X7.D7.BMMinerD7
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## L7 (VNish)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [x] Presets
|
||||
|
||||
::: pyasic.miners.antminer.vnish.X7.L7.VnishL7
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
|
||||
@@ -2,72 +2,132 @@
|
||||
## X9 Models
|
||||
|
||||
## E9Pro (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X9.E9.BMMinerE9Pro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## D9 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X9.D9.BMMinerD9
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S9 (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X9.S9.BMMinerS9
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S9i (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X9.S9.BMMinerS9i
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S9j (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X9.S9.BMMinerS9j
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## T9 (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X9.T9.BMMinerT9
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## L9 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bmminer.X9.L9.BMMinerL9
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S9 (BOS+)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.bosminer.X9.S9.BOSMinerS9
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## T9 (Hive)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.antminer.hiveon.X9.T9.HiveonT9
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## S9 (LuxOS)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [x] Presets
|
||||
|
||||
::: pyasic.miners.antminer.luxos.X9.S9.LUXMinerS9
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
|
||||
@@ -2,23 +2,41 @@
|
||||
## AD Models
|
||||
|
||||
## AT1500 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.auradine.flux.AD.AT1.AuradineFluxAT1500
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## AT2860 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.auradine.flux.AD.AT2.AuradineFluxAT2860
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## AT2880 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.auradine.flux.AD.AT2.AuradineFluxAT2880
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
|
||||
@@ -2,16 +2,28 @@
|
||||
## AI Models
|
||||
|
||||
## AI2500 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.auradine.flux.AI.AI2.AuradineFluxAI2500
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## AI3680 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.auradine.flux.AI.AI3.AuradineFluxAI3680
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
|
||||
@@ -2,16 +2,28 @@
|
||||
## AT Models
|
||||
|
||||
## AD2500 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.auradine.flux.AT.AD2.AuradineFluxAD2500
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## AD3500 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.auradine.flux.AT.AD3.AuradineFluxAD3500
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
|
||||
@@ -2,23 +2,41 @@
|
||||
## A10X Models
|
||||
|
||||
## Avalon 1026 (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.avalonminer.cgminer.A10X.A1026.CGMinerAvalon1026
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## Avalon 1047 (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.avalonminer.cgminer.A10X.A1047.CGMinerAvalon1047
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## Avalon 1066 (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.avalonminer.cgminer.A10X.A1066.CGMinerAvalon1066
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
|
||||
@@ -2,16 +2,28 @@
|
||||
## A11X Models
|
||||
|
||||
## Avalon 1126 Pro (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.avalonminer.cgminer.A11X.A1126.CGMinerAvalon1126Pro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## Avalon 1166 Pro (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.avalonminer.cgminer.A11X.A1166.CGMinerAvalon1166Pro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
|
||||
@@ -2,9 +2,15 @@
|
||||
## A12X Models
|
||||
|
||||
## Avalon 1246 (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.avalonminer.cgminer.A12X.A1246.CGMinerAvalon1246
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
|
||||
@@ -2,23 +2,41 @@
|
||||
## A7X Models
|
||||
|
||||
## Avalon 721 (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.avalonminer.cgminer.A7X.A721.CGMinerAvalon721
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## Avalon 741 (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.avalonminer.cgminer.A7X.A741.CGMinerAvalon741
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## Avalon 761 (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.avalonminer.cgminer.A7X.A761.CGMinerAvalon761
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
|
||||
@@ -2,23 +2,41 @@
|
||||
## A8X Models
|
||||
|
||||
## Avalon 821 (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.avalonminer.cgminer.A8X.A821.CGMinerAvalon821
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## Avalon 841 (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.avalonminer.cgminer.A8X.A841.CGMinerAvalon841
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## Avalon 851 (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.avalonminer.cgminer.A8X.A851.CGMinerAvalon851
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
|
||||
@@ -2,9 +2,15 @@
|
||||
## A9X Models
|
||||
|
||||
## Avalon 921 (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.avalonminer.cgminer.A9X.A921.CGMinerAvalon921
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
|
||||
@@ -2,9 +2,15 @@
|
||||
## nano Models
|
||||
|
||||
## Avalon Nano 3 (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.avalonminer.cgminer.nano.nano3.CGMinerAvalonNano3
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
# pyasic
|
||||
## Hiveon Backend
|
||||
## Modern Hiveon Backend
|
||||
|
||||
::: pyasic.miners.backends.hiveon.Hiveon
|
||||
::: pyasic.miners.backends.hiveon.HiveonModern
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
|
||||
## Old Hiveon Backend
|
||||
::: pyasic.miners.backends.hiveon.HiveonOld
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
|
||||
@@ -2,30 +2,54 @@
|
||||
## BM Models
|
||||
|
||||
## Supra (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.bitaxe.espminer.BM.BM1368.BitAxeSupra
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## Ultra (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.bitaxe.espminer.BM.BM1366.BitAxeUltra
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## Max (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.bitaxe.espminer.BM.BM1397.BitAxeMax
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## Gamma (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.bitaxe.espminer.BM.BM1370.BitAxeGamma
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
|
||||
@@ -2,16 +2,28 @@
|
||||
## blockminer Models
|
||||
|
||||
## BlockMiner 520i (ePIC)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.blockminer.epic.blockminer.blockminer.ePICBlockMiner520i
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## BlockMiner 720i (ePIC)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.blockminer.epic.blockminer.blockminer.ePICBlockMiner720i
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
|
||||
@@ -2,16 +2,28 @@
|
||||
## BMM Models
|
||||
|
||||
## BMM100 (BOS+)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.braiins.braiins.BMM.BMM.BraiinsBMM100
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## BMM101 (BOS+)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.braiins.braiins.BMM.BMM.BraiinsBMM101
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
|
||||
@@ -2,23 +2,41 @@
|
||||
## X5 Models
|
||||
|
||||
## CK5 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.goldshell.bfgminer.X5.CK5.GoldshellCK5
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## HS5 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.goldshell.bfgminer.X5.HS5.GoldshellHS5
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## KD5 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.goldshell.bfgminer.X5.KD5.GoldshellKD5
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
|
||||
@@ -2,16 +2,28 @@
|
||||
## XBox Models
|
||||
|
||||
## KD Box II (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.goldshell.bfgminer.XBox.KDBox.GoldshellKDBoxII
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## KD Box Pro (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.goldshell.bfgminer.XBox.KDBox.GoldshellKDBoxPro
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
|
||||
@@ -2,9 +2,15 @@
|
||||
## XMax Models
|
||||
|
||||
## KD Max (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.goldshell.bfgminer.XMax.KDMax.GoldshellKDMax
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
|
||||
@@ -2,9 +2,15 @@
|
||||
## DX Models
|
||||
|
||||
## D10 (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.hammer.blackminer.DX.D10.HammerD10
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
|
||||
@@ -2,65 +2,119 @@
|
||||
## KSX Models
|
||||
|
||||
## KS0 (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.iceriver.iceminer.KSX.KS0.IceRiverKS0
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## KS1 (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.iceriver.iceminer.KSX.KS1.IceRiverKS1
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## KS2 (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.iceriver.iceminer.KSX.KS2.IceRiverKS2
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## KS3 (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.iceriver.iceminer.KSX.KS3.IceRiverKS3
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## KS3L (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.iceriver.iceminer.KSX.KS3.IceRiverKS3L
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## KS3M (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.iceriver.iceminer.KSX.KS3.IceRiverKS3M
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## KS5 (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.iceriver.iceminer.KSX.KS5.IceRiverKS5
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## KS5L (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.iceriver.iceminer.KSX.KS5.IceRiverKS5L
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## KS5M (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.iceriver.iceminer.KSX.KS5.IceRiverKS5M
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
|
||||
@@ -2,9 +2,15 @@
|
||||
## A10X Models
|
||||
|
||||
## A10X (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.innosilicon.cgminer.A10X.A10X.InnosiliconA10X
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
|
||||
@@ -2,16 +2,28 @@
|
||||
## A11X Models
|
||||
|
||||
## A11 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.innosilicon.cgminer.A11X.A11.InnosiliconA11
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## A11MX (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.innosilicon.cgminer.A11X.A11M.InnosiliconA11MX
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
|
||||
@@ -2,9 +2,15 @@
|
||||
## T3X Models
|
||||
|
||||
## T3H+ (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.innosilicon.cgminer.T3X.T3H.InnosiliconT3HPlus
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
|
||||
Supported miner types are here on this list. If your miner (or miner version) is not on this list, please feel free to [open an issue on GitHub](https://github.com/UpstreamData/pyasic/issues) to get it added.
|
||||
|
||||
Keep in mind that some functionality is only supported for specific miners or firmwares, please check the page for your miner to make sure the functionality you need is supported.
|
||||
|
||||
##### pyasic currently supports the following miners and subtypes:
|
||||
<style>
|
||||
details {
|
||||
@@ -110,28 +112,89 @@ details {
|
||||
<details>
|
||||
<summary>M2X Series:</summary>
|
||||
<ul>
|
||||
<li><a href="../whatsminer/M2X#m20-v10-stock">M20 V10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M2X#m20s-v10-stock">M20S V10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M2X#m20s-v20-stock">M20S V20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M2X#m20s-v30-stock">M20S V30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M2X#m20p-v10-stock">M20P V10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M2X#m20p-v30-stock">M20P V30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M2X#m20s_1-v30-stock">M20S+ V30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M2X#m21-v10-stock">M21 V10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M2X#m20s-v10-stock">M20S V10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M2X#m20s-v20-stock">M20S V20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M2X#m20s-v30-stock">M20S V30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M2X#m20-v10-stock">M20 V10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M2X#m21s_1-v20-stock">M21S+ V20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M2X#m21s-v20-stock">M21S V20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M2X#m21s-v60-stock">M21S V60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M2X#m21s-v70-stock">M21S V70 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M2X#m21s_1-v20-stock">M21S+ V20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M2X#m21-v10-stock">M21 V10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M2X#m29-v10-stock">M29 V10 (Stock)</a></li>
|
||||
</ul>
|
||||
</details>
|
||||
<details>
|
||||
<summary>M3X Series:</summary>
|
||||
<ul>
|
||||
<li><a href="../whatsminer/M3X#m30-v10-stock">M30 V10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30-v20-stock">M30 V20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30k-v10-stock">M30K V10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30l-v10-stock">M30L V10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-v10-stock">M30S++ V10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-v20-stock">M30S++ V20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-ve30-stock">M30S++ VE30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-ve40-stock">M30S++ VE40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-ve50-stock">M30S++ VE50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vf40-stock">M30S++ VF40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vg30-stock">M30S++ VG30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vg40-stock">M30S++ VG40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vg50-stock">M30S++ VG50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vh10-stock">M30S++ VH10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vh100-stock">M30S++ VH100 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vh110-stock">M30S++ VH110 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vh20-stock">M30S++ VH20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vh30-stock">M30S++ VH30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vh40-stock">M30S++ VH40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vh50-stock">M30S++ VH50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vh60-stock">M30S++ VH60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vh70-stock">M30S++ VH70 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vh80-stock">M30S++ VH80 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vh90-stock">M30S++ VH90 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vi30-stock">M30S++ VI30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vj20-stock">M30S++ VJ20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vj30-stock">M30S++ VJ30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vj50-stock">M30S++ VJ50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vj60-stock">M30S++ VJ60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vj70-stock">M30S++ VJ70 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vk30-stock">M30S++ VK30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vk40-stock">M30S++ VK40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-v10-stock">M30S+ V10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-v100-stock">M30S+ V100 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-v20-stock">M30S+ V20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-v30-stock">M30S+ V30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-v40-stock">M30S+ V40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-v50-stock">M30S+ V50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-v60-stock">M30S+ V60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-v70-stock">M30S+ V70 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-v80-stock">M30S+ V80 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-v90-stock">M30S+ V90 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-ve100-stock">M30S+ VE100 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-ve30-stock">M30S+ VE30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-ve40-stock">M30S+ VE40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-ve50-stock">M30S+ VE50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-ve60-stock">M30S+ VE60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-ve70-stock">M30S+ VE70 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-ve80-stock">M30S+ VE80 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-ve90-stock">M30S+ VE90 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-vf20-stock">M30S+ VF20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-vf30-stock">M30S+ VF30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-vg20-stock">M30S+ VG20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-vg30-stock">M30S+ VG30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-vg40-stock">M30S+ VG40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-vg50-stock">M30S+ VG50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-vg60-stock">M30S+ VG60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-vh10-stock">M30S+ VH10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-vh20-stock">M30S+ VH20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-vh30-stock">M30S+ VH30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-vh40-stock">M30S+ VH40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-vh50-stock">M30S+ VH50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-vh60-stock">M30S+ VH60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-vh70-stock">M30S+ VH70 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-vi30-stock">M30S+ VI30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-vj30-stock">M30S+ VJ30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-vj40-stock">M30S+ VJ40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s-v10-stock">M30S V10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s-v20-stock">M30S V20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s-v30-stock">M30S V30 (Stock)</a></li>
|
||||
@@ -161,63 +224,35 @@ details {
|
||||
<li><a href="../whatsminer/M3X#m30s-vh50-stock">M30S VH50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s-vh60-stock">M30S VH60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s-vi20-stock">M30S VI20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-v10-stock">M30S+ V10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-v20-stock">M30S+ V20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-v30-stock">M30S+ V30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-v40-stock">M30S+ V40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-v50-stock">M30S+ V50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-v60-stock">M30S+ V60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-v70-stock">M30S+ V70 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-v80-stock">M30S+ V80 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-v90-stock">M30S+ V90 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-v100-stock">M30S+ V100 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-ve30-stock">M30S+ VE30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-ve40-stock">M30S+ VE40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-ve50-stock">M30S+ VE50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-ve60-stock">M30S+ VE60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-ve70-stock">M30S+ VE70 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-ve80-stock">M30S+ VE80 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-ve90-stock">M30S+ VE90 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-ve100-stock">M30S+ VE100 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-vf20-stock">M30S+ VF20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-vf30-stock">M30S+ VF30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-vg20-stock">M30S+ VG20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-vg30-stock">M30S+ VG30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-vg40-stock">M30S+ VG40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-vg50-stock">M30S+ VG50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-vg60-stock">M30S+ VG60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-vh10-stock">M30S+ VH10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-vh20-stock">M30S+ VH20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-vh30-stock">M30S+ VH30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-vh40-stock">M30S+ VH40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-vh50-stock">M30S+ VH50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1-vh60-stock">M30S+ VH60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-v10-stock">M30S++ V10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-v20-stock">M30S++ V20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-ve30-stock">M30S++ VE30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-ve40-stock">M30S++ VE40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-ve50-stock">M30S++ VE50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vf40-stock">M30S++ VF40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vg30-stock">M30S++ VG30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vg40-stock">M30S++ VG40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vg50-stock">M30S++ VG50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vh10-stock">M30S++ VH10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vh20-stock">M30S++ VH20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vh30-stock">M30S++ VH30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vh40-stock">M30S++ VH40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vh50-stock">M30S++ VH50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vh60-stock">M30S++ VH60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vh70-stock">M30S++ VH70 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vh80-stock">M30S++ VH80 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vh90-stock">M30S++ VH90 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vh100-stock">M30S++ VH100 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vj20-stock">M30S++ VJ20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s_1_1-vj30-stock">M30S++ VJ30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31-v10-stock">M31 V10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31-v20-stock">M31 V20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30s-vj30-stock">M30S VJ30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30-v10-stock">M30 V10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30-v20-stock">M30 V20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31h-v10-stock">M31H V10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31h-v40-stock">M31H V40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m30l-v10-stock">M30L V10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31l-v10-stock">M31L V10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-v10-stock">M31S+ V10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-v100-stock">M31S+ V100 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-v20-stock">M31S+ V20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-v30-stock">M31S+ V30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-v40-stock">M31S+ V40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-v50-stock">M31S+ V50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-v60-stock">M31S+ V60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-v80-stock">M31S+ V80 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-v90-stock">M31S+ V90 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-ve10-stock">M31S+ VE10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-ve20-stock">M31S+ VE20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-ve30-stock">M31S+ VE30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-ve40-stock">M31S+ VE40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-ve50-stock">M31S+ VE50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-ve60-stock">M31S+ VE60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-ve80-stock">M31S+ VE80 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-vf20-stock">M31S+ VF20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-vf30-stock">M31S+ VF30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-vg20-stock">M31S+ VG20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-vg30-stock">M31S+ VG30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31se-v10-stock">M31SE V10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31se-v20-stock">M31SE V20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31se-v30-stock">M31SE V30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s-v10-stock">M31S V10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s-v20-stock">M31S V20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s-v30-stock">M31S V30 (Stock)</a></li>
|
||||
@@ -230,45 +265,25 @@ details {
|
||||
<li><a href="../whatsminer/M3X#m31s-ve10-stock">M31S VE10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s-ve20-stock">M31S VE20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s-ve30-stock">M31S VE30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31se-v10-stock">M31SE V10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31se-v20-stock">M31SE V20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31se-v30-stock">M31SE V30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-v10-stock">M31S+ V10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-v20-stock">M31S+ V20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-v30-stock">M31S+ V30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-v40-stock">M31S+ V40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-v50-stock">M31S+ V50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-v60-stock">M31S+ V60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-v80-stock">M31S+ V80 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-v90-stock">M31S+ V90 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-v100-stock">M31S+ V100 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-ve10-stock">M31S+ VE10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-ve20-stock">M31S+ VE20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-ve30-stock">M31S+ VE30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-ve40-stock">M31S+ VE40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-ve50-stock">M31S+ VE50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-ve60-stock">M31S+ VE60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-ve80-stock">M31S+ VE80 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-vf20-stock">M31S+ VF20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-vf30-stock">M31S+ VF30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-vg20-stock">M31S+ VG20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31s_1-vg30-stock">M31S+ VG30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31-v10-stock">M31 V10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m31-v20-stock">M31 V20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m32-v10-stock">M32 V10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m32-v20-stock">M32 V20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m33s_1_1-vg40-stock">M33S++ VG40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m33s_1_1-vh20-stock">M33S++ VH20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m33s_1_1-vh30-stock">M33S++ VH30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m33s_1-vg20-stock">M33S+ VG20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m33s_1-vg30-stock">M33S+ VG30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m33s_1-vh20-stock">M33S+ VH20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m33s_1-vh30-stock">M33S+ VH30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m33s-vg30-stock">M33S VG30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m33-v10-stock">M33 V10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m33-v20-stock">M33 V20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m33-v30-stock">M33 V30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m33s-vg30-stock">M33S VG30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m33s_1-vg20-stock">M33S+ VG20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m33s_1-vh20-stock">M33S+ VH20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m33s_1-vh30-stock">M33S+ VH30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m33s_1_1-vh20-stock">M33S++ VH20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m33s_1_1-vh30-stock">M33S++ VH30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m33s_1_1-vg40-stock">M33S++ VG40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m34s_1-ve10-stock">M34S+ VE10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m36s-ve10-stock">M36S VE10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m36s_1-vg30-stock">M36S+ VG30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m36s_1_1-vh30-stock">M36S++ VH30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m36s_1-vg30-stock">M36S+ VG30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m36s-ve10-stock">M36S VE10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m39-v10-stock">M39 V10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m39-v20-stock">M39 V20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M3X#m39-v30-stock">M39 V30 (Stock)</a></li>
|
||||
@@ -277,6 +292,47 @@ details {
|
||||
<details>
|
||||
<summary>M5X Series:</summary>
|
||||
<ul>
|
||||
<li><a href="../whatsminer/M5X#m50s_1_1-vk10-stock">M50S++ VK10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s_1_1-vk20-stock">M50S++ VK20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s_1_1-vk30-stock">M50S++ VK30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s_1_1-vk40-stock">M50S++ VK40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s_1_1-vk50-stock">M50S++ VK50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s_1_1-vk60-stock">M50S++ VK60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s_1_1-vl20-stock">M50S++ VL20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s_1_1-vl30-stock">M50S++ VL30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s_1_1-vl40-stock">M50S++ VL40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s_1_1-vl50-stock">M50S++ VL50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s_1_1-vl60-stock">M50S++ VL60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s_1-vh30-stock">M50S+ VH30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s_1-vh40-stock">M50S+ VH40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s_1-vj30-stock">M50S+ VJ30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s_1-vj40-stock">M50S+ VJ40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s_1-vj60-stock">M50S+ VJ60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s_1-vk10-stock">M50S+ VK10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s_1-vk20-stock">M50S+ VK20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s_1-vk30-stock">M50S+ VK30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s_1-vl10-stock">M50S+ VL10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s_1-vl20-stock">M50S+ VL20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s_1-vl30-stock">M50S+ VL30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s-vh10-stock">M50S VH10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s-vh20-stock">M50S VH20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s-vh30-stock">M50S VH30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s-vh40-stock">M50S VH40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s-vh50-stock">M50S VH50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s-vj10-stock">M50S VJ10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s-vj20-stock">M50S VJ20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s-vj30-stock">M50S VJ30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s-vj40-stock">M50S VJ40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s-vj50-stock">M50S VJ50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s-vk10-stock">M50S VK10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s-vk20-stock">M50S VK20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s-vk30-stock">M50S VK30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s-vk50-stock">M50S VK50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s-vk60-stock">M50S VK60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s-vk70-stock">M50S VK70 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s-vk80-stock">M50S VK80 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s-vl20-stock">M50S VL20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s-vl30-stock">M50S VL30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50-ve30-stock">M50 VE30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50-vg30-stock">M50 VG30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50-vh10-stock">M50 VH10 (Stock)</a></li>
|
||||
@@ -291,54 +347,153 @@ details {
|
||||
<li><a href="../whatsminer/M5X#m50-vj10-stock">M50 VJ10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50-vj20-stock">M50 VJ20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50-vj30-stock">M50 VJ30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s-vj10-stock">M50S VJ10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s-vj20-stock">M50S VJ20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s-vj30-stock">M50S VJ30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s-vh10-stock">M50S VH10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s-vh20-stock">M50S VH20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s-vh30-stock">M50S VH30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s-vh40-stock">M50S VH40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s-vh50-stock">M50S VH50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s_1-vh30-stock">M50S+ VH30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s_1-vh40-stock">M50S+ VH40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s_1-vj30-stock">M50S+ VJ30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s_1-vk20-stock">M50S+ VK20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s_1_1-vk10-stock">M50S++ VK10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s_1_1-vk20-stock">M50S++ VK20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50s_1_1-vk30-stock">M50S++ VK30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m53-vh30-stock">M53 VH30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m53s-vh30-stock">M53S VH30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m53s-vj40-stock">M53S VJ40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m53s_1-vj30-stock">M53S+ VJ30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50-vj40-stock">M50 VJ40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50-vj60-stock">M50 VJ60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50-vk40-stock">M50 VK40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m50-vk50-stock">M50 VK50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m52s_1_1-vl10-stock">M52S++ VL10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m52s-vk30-stock">M52S VK30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m53h-vh10-stock">M53H VH10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m53s_1_1-vk10-stock">M53S++ VK10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m56-vh30-stock">M56 VH30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m56s-vh30-stock">M56S VH30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m53s_1_1-vk20-stock">M53S++ VK20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m53s_1_1-vk30-stock">M53S++ VK30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m53s_1_1-vk50-stock">M53S++ VK50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m53s_1_1-vl10-stock">M53S++ VL10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m53s_1_1-vl30-stock">M53S++ VL30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m53s_1-vj30-stock">M53S+ VJ30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m53s_1-vj40-stock">M53S+ VJ40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m53s_1-vj50-stock">M53S+ VJ50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m53s_1-vk30-stock">M53S+ VK30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m53s-vh20-stock">M53S VH20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m53s-vh30-stock">M53S VH30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m53s-vj30-stock">M53S VJ30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m53s-vj40-stock">M53S VJ40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m53s-vk30-stock">M53S VK30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m53-vh30-stock">M53 VH30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m53-vh40-stock">M53 VH40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m53-vh50-stock">M53 VH50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m53-vk30-stock">M53 VK30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m53-vk60-stock">M53 VK60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m54s_1_1-vk30-stock">M54S++ VK30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m54s_1_1-vl30-stock">M54S++ VL30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m54s_1_1-vl40-stock">M54S++ VL40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m56s_1_1-vk10-stock">M56S++ VK10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m56s_1_1-vk30-stock">M56S++ VK30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m56s_1_1-vk40-stock">M56S++ VK40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m56s_1_1-vk50-stock">M56S++ VK50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m56s_1-vj30-stock">M56S+ VJ30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m56s_1-vk30-stock">M56S+ VK30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m56s_1-vk40-stock">M56S+ VK40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m56s_1-vk50-stock">M56S+ VK50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m56s-vh30-stock">M56S VH30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m56s-vj30-stock">M56S VJ30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m56s-vj40-stock">M56S VJ40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m56-vh30-stock">M56 VH30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M5X#m59-vh30-stock">M59 VH30 (Stock)</a></li>
|
||||
</ul>
|
||||
</details>
|
||||
<details>
|
||||
<summary>M6X Series:</summary>
|
||||
<ul>
|
||||
<li><a href="../whatsminer/M6X#m60-vk10-stock">M60 VK10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60-vk20-stock">M60 VK20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60-vk30-stock">M60 VK30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60-vk40-stock">M60 VK40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60s_1_1-vl30-stock">M60S++ VL30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60s_1_1-vl40-stock">M60S++ VL40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60s_1-vk30-stock">M60S+ VK30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60s_1-vk40-stock">M60S+ VK40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60s_1-vk50-stock">M60S+ VK50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60s_1-vk60-stock">M60S+ VK60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60s_1-vk70-stock">M60S+ VK70 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60s_1-vl10-stock">M60S+ VL10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60s_1-vl30-stock">M60S+ VL30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60s_1-vl40-stock">M60S+ VL40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60s_1-vl50-stock">M60S+ VL50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60s_1-vl60-stock">M60S+ VL60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60s-vk10-stock">M60S VK10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60s-vk20-stock">M60S VK20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60s-vk30-stock">M60S VK30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60s-vk40-stock">M60S VK40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m63-vk10-stock">M63 VK10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m63-vk20-stock">M63 VK20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m63-vk30-stock">M63 VK30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60s-vl10-stock">M60S VL10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60s-vl20-stock">M60S VL20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60s-vl30-stock">M60S VL30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60s-vl40-stock">M60S VL40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60s-vl50-stock">M60S VL50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60s-vl60-stock">M60S VL60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60s-vl70-stock">M60S VL70 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60-vk10-stock">M60 VK10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60-vk20-stock">M60 VK20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60-vk30-stock">M60 VK30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60-vk40-stock">M60 VK40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60-vk6a-stock">M60 VK6A (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60-vl10-stock">M60 VL10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60-vl20-stock">M60 VL20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60-vl30-stock">M60 VL30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60-vl40-stock">M60 VL40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m60-vl50-stock">M60 VL50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m61s_1-vl30-stock">M61S+ VL30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m61s-vl10-stock">M61S VL10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m61s-vl20-stock">M61S VL20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m61s-vl30-stock">M61S VL30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m61-vk10-stock">M61 VK10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m61-vk20-stock">M61 VK20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m61-vk30-stock">M61 VK30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m61-vk40-stock">M61 VK40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m61-vl10-stock">M61 VL10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m61-vl30-stock">M61 VL30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m61-vl40-stock">M61 VL40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m61-vl50-stock">M61 VL50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m61-vl60-stock">M61 VL60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m62s_1-vk30-stock">M62S+ VK30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m63s_1_1-vl20-stock">M63S++ VL20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m63s_1-vk30-stock">M63S+ VK30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m63s_1-vl10-stock">M63S+ VL10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m63s_1-vl20-stock">M63S+ VL20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m63s_1-vl30-stock">M63S+ VL30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m63s_1-vl50-stock">M63S+ VL50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m63s-vk10-stock">M63S VK10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m63s-vk20-stock">M63S VK20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m63s-vk30-stock">M63S VK30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m66-vk20-stock">M66 VK20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m66-vk30-stock">M66 VK30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m63s-vk60-stock">M63S VK60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m63s-vl10-stock">M63S VL10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m63s-vl50-stock">M63S VL50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m63s-vl60-stock">M63S VL60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m63-vk10-stock">M63 VK10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m63-vk20-stock">M63 VK20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m63-vk30-stock">M63 VK30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m63-vl10-stock">M63 VL10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m63-vl30-stock">M63 VL30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m64s-vl30-stock">M64S VL30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m64-vl30-stock">M64 VL30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m64-vl40-stock">M64 VL40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m65s_1-vk30-stock">M65S+ VK30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m65s-vk20-stock">M65S VK20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m65s-vl60-stock">M65S VL60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m66s_1_1-vl20-stock">M66S++ VL20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m66s_1-vk30-stock">M66S+ VK30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m66s_1-vl10-stock">M66S+ VL10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m66s_1-vl20-stock">M66S+ VL20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m66s_1-vl30-stock">M66S+ VL30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m66s_1-vl40-stock">M66S+ VL40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m66s_1-vl60-stock">M66S+ VL60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m66s-vk20-stock">M66S VK20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m66s-vk30-stock">M66S VK30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m66s-vk40-stock">M66S VK40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m66s-vk50-stock">M66S VK50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m66s-vk60-stock">M66S VK60 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m66s-vl10-stock">M66S VL10 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m66s-vl20-stock">M66S VL20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m66s-vl30-stock">M66S VL30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m66s-vl40-stock">M66S VL40 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m66s-vl50-stock">M66S VL50 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m66-vk20-stock">M66 VK20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m66-vk30-stock">M66 VK30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m66-vl20-stock">M66 VL20 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m66-vl30-stock">M66 VL30 (Stock)</a></li>
|
||||
<li><a href="../whatsminer/M6X#m67s-vk30-stock">M67S VK30 (Stock)</a></li>
|
||||
</ul>
|
||||
</details>
|
||||
<details>
|
||||
<summary>M7X Series:</summary>
|
||||
<ul>
|
||||
<li><a href="../whatsminer/M7X#m70-vm30-stock">M70 VM30 (Stock)</a></li>
|
||||
</ul>
|
||||
</details>
|
||||
</ul>
|
||||
@@ -566,6 +721,7 @@ details {
|
||||
<li><a href="../antminer/X19#s19j-pro_1-epic">S19j 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#s19j-pro-dual-epic">S19j Pro Dual (ePIC)</a></li>
|
||||
</ul>
|
||||
</details>
|
||||
<details>
|
||||
@@ -727,3 +883,14 @@ details {
|
||||
</details>
|
||||
</ul>
|
||||
</details>
|
||||
<details>
|
||||
<summary>Stock Firmware Volcminers:</summary>
|
||||
<ul>
|
||||
<details>
|
||||
<summary>DX Series:</summary>
|
||||
<ul>
|
||||
<li><a href="../volcminer/DX#d1-stock">D1 (Stock)</a></li>
|
||||
</ul>
|
||||
</details>
|
||||
</ul>
|
||||
</details>
|
||||
16
docs/miners/volcminer/DX.md
Normal file
16
docs/miners/volcminer/DX.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# pyasic
|
||||
## DX Models
|
||||
|
||||
## D1 (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.volcminer.blackminer.DX.D1.VolcMinerD1
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 0
|
||||
|
||||
@@ -1,94 +1,172 @@
|
||||
# pyasic
|
||||
## M2X Models
|
||||
|
||||
## M20 V10 (Stock)
|
||||
::: pyasic.miners.whatsminer.btminer.M2X.M20.BTMinerM20V10
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
|
||||
## M20S V10 (Stock)
|
||||
::: pyasic.miners.whatsminer.btminer.M2X.M20S.BTMinerM20SV10
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
|
||||
## M20S V20 (Stock)
|
||||
::: pyasic.miners.whatsminer.btminer.M2X.M20S.BTMinerM20SV20
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
|
||||
## M20S V30 (Stock)
|
||||
::: pyasic.miners.whatsminer.btminer.M2X.M20S.BTMinerM20SV30
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
|
||||
## M20P V10 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.whatsminer.btminer.M2X.M20P.BTMinerM20PV10
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## M20P V30 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.whatsminer.btminer.M2X.M20P.BTMinerM20PV30
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## M20S+ V30 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.whatsminer.btminer.M2X.M20S_Plus.BTMinerM20SPlusV30
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## M21 V10 (Stock)
|
||||
::: pyasic.miners.whatsminer.btminer.M2X.M21.BTMinerM21V10
|
||||
## M20S V10 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.whatsminer.btminer.M2X.M20S.BTMinerM20SV10
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## M21S V20 (Stock)
|
||||
::: pyasic.miners.whatsminer.btminer.M2X.M21S.BTMinerM21SV20
|
||||
## M20S V20 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.whatsminer.btminer.M2X.M20S.BTMinerM20SV20
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## M21S V60 (Stock)
|
||||
::: pyasic.miners.whatsminer.btminer.M2X.M21S.BTMinerM21SV60
|
||||
## M20S V30 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.whatsminer.btminer.M2X.M20S.BTMinerM20SV30
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## M21S V70 (Stock)
|
||||
::: pyasic.miners.whatsminer.btminer.M2X.M21S.BTMinerM21SV70
|
||||
## M20 V10 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.whatsminer.btminer.M2X.M20.BTMinerM20V10
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## M21S+ V20 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.whatsminer.btminer.M2X.M21S_Plus.BTMinerM21SPlusV20
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
## M21S V20 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.whatsminer.btminer.M2X.M21S.BTMinerM21SV20
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 0
|
||||
|
||||
## M21S V60 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.whatsminer.btminer.M2X.M21S.BTMinerM21SV60
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 0
|
||||
|
||||
## M21S V70 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.whatsminer.btminer.M2X.M21S.BTMinerM21SV70
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 0
|
||||
|
||||
## M21 V10 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.whatsminer.btminer.M2X.M21.BTMinerM21V10
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 0
|
||||
|
||||
## M29 V10 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.whatsminer.btminer.M2X.M29.BTMinerM29V10
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 4
|
||||
heading_level: 0
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
16
docs/miners/whatsminer/M7X.md
Normal file
16
docs/miners/whatsminer/M7X.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# pyasic
|
||||
## M7X Models
|
||||
|
||||
## M70 VM30 (Stock)
|
||||
|
||||
- [x] Shutdowns
|
||||
- [x] Power Modes
|
||||
- [x] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.whatsminer.btminer.M7X.M70.BTMinerM70VM30
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 0
|
||||
|
||||
@@ -26,6 +26,8 @@ markdown_extensions:
|
||||
anchor_linenums: true
|
||||
line_spans: __span
|
||||
pygments_lang_class: true
|
||||
- pymdownx.tasklist:
|
||||
custom_checkbox: true
|
||||
- pymdownx.inlinehilite
|
||||
- pymdownx.snippets
|
||||
- pymdownx.superfences
|
||||
@@ -79,6 +81,7 @@ nav:
|
||||
- Antminer X17: "miners/antminer/X17.md"
|
||||
- Antminer X19: "miners/antminer/X19.md"
|
||||
- Antminer X21: "miners/antminer/X21.md"
|
||||
- Braiins Mini Miners: "miners/braiins/BMM.md"
|
||||
- Avalon Nano: "miners/avalonminer/nano.md"
|
||||
- Avalon 7X: "miners/avalonminer/A7X.md"
|
||||
- Avalon 8X: "miners/avalonminer/A8X.md"
|
||||
@@ -90,6 +93,7 @@ nav:
|
||||
- Whatsminer M3X: "miners/whatsminer/M3X.md"
|
||||
- Whatsminer M5X: "miners/whatsminer/M5X.md"
|
||||
- Whatsminer M6X: "miners/whatsminer/M6X.md"
|
||||
- Whatsminer M7X: "miners/whatsminer/M7X.md"
|
||||
- Innosilicon T3X: "miners/innosilicon/T3X.md"
|
||||
- Innosilicon A10X: "miners/innosilicon/A10X.md"
|
||||
- Innosilicon A11X: "miners/innosilicon/A11X.md"
|
||||
@@ -103,6 +107,7 @@ nav:
|
||||
- BitAxe BM: "miners/bitaxe/BM.md"
|
||||
- Hammer DX: "miners/hammer/DX.md"
|
||||
- Iceriver KSX: "miners/iceriver/KSX.md"
|
||||
- Volcminer DX: "miners/volcminer/DX.md"
|
||||
- Base Miner: "miners/base_miner.md"
|
||||
- Settings:
|
||||
- Settings: "settings/settings.md"
|
||||
|
||||
255
poetry.lock
generated
255
poetry.lock
generated
@@ -1,4 +1,4 @@
|
||||
# This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand.
|
||||
# This file is automatically @generated by Poetry 1.8.5 and should not be changed by hand.
|
||||
|
||||
[[package]]
|
||||
name = "aiofiles"
|
||||
@@ -24,13 +24,13 @@ files = [
|
||||
|
||||
[[package]]
|
||||
name = "anyio"
|
||||
version = "4.7.0"
|
||||
version = "4.8.0"
|
||||
description = "High level compatibility layer for multiple asynchronous event loop implementations"
|
||||
optional = false
|
||||
python-versions = ">=3.9"
|
||||
files = [
|
||||
{file = "anyio-4.7.0-py3-none-any.whl", hash = "sha256:ea60c3723ab42ba6fff7e8ccb0488c898ec538ff4df1f1d5e642c3601d07e352"},
|
||||
{file = "anyio-4.7.0.tar.gz", hash = "sha256:2f834749c602966b7d456a7567cafcb309f96482b5081d14ac93ccd457f9dd48"},
|
||||
{file = "anyio-4.8.0-py3-none-any.whl", hash = "sha256:b5011f270ab5eb0abf13385f851315585cc37ef330dd88e27ec3d34d651fd47a"},
|
||||
{file = "anyio-4.8.0.tar.gz", hash = "sha256:1d9fe889df5212298c0c0723fa20479d1b94883a2df44bd3897aa91083316f7a"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
@@ -41,7 +41,7 @@ typing_extensions = {version = ">=4.5", markers = "python_version < \"3.13\""}
|
||||
|
||||
[package.extras]
|
||||
doc = ["Sphinx (>=7.4,<8.0)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx_rtd_theme"]
|
||||
test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "truststore (>=0.9.1)", "uvloop (>=0.21)"]
|
||||
test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "trustme", "truststore (>=0.9.1)", "uvloop (>=0.21)"]
|
||||
trio = ["trio (>=0.26.1)"]
|
||||
|
||||
[[package]]
|
||||
@@ -205,116 +205,103 @@ files = [
|
||||
|
||||
[[package]]
|
||||
name = "charset-normalizer"
|
||||
version = "3.4.0"
|
||||
version = "3.4.1"
|
||||
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
|
||||
optional = false
|
||||
python-versions = ">=3.7.0"
|
||||
python-versions = ">=3.7"
|
||||
files = [
|
||||
{file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4f9fc98dad6c2eaa32fc3af1417d95b5e3d08aff968df0cd320066def971f9a6"},
|
||||
{file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0de7b687289d3c1b3e8660d0741874abe7888100efe14bd0f9fd7141bcbda92b"},
|
||||
{file = "charset_normalizer-3.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5ed2e36c3e9b4f21dd9422f6893dec0abf2cca553af509b10cd630f878d3eb99"},
|
||||
{file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d3ff7fc90b98c637bda91c89d51264a3dcf210cade3a2c6f838c7268d7a4ca"},
|
||||
{file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1110e22af8ca26b90bd6364fe4c763329b0ebf1ee213ba32b68c73de5752323d"},
|
||||
{file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:86f4e8cca779080f66ff4f191a685ced73d2f72d50216f7112185dc02b90b9b7"},
|
||||
{file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f683ddc7eedd742e2889d2bfb96d69573fde1d92fcb811979cdb7165bb9c7d3"},
|
||||
{file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:27623ba66c183eca01bf9ff833875b459cad267aeeb044477fedac35e19ba907"},
|
||||
{file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f606a1881d2663630ea5b8ce2efe2111740df4b687bd78b34a8131baa007f79b"},
|
||||
{file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0b309d1747110feb25d7ed6b01afdec269c647d382c857ef4663bbe6ad95a912"},
|
||||
{file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:136815f06a3ae311fae551c3df1f998a1ebd01ddd424aa5603a4336997629e95"},
|
||||
{file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:14215b71a762336254351b00ec720a8e85cada43b987da5a042e4ce3e82bd68e"},
|
||||
{file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:79983512b108e4a164b9c8d34de3992f76d48cadc9554c9e60b43f308988aabe"},
|
||||
{file = "charset_normalizer-3.4.0-cp310-cp310-win32.whl", hash = "sha256:c94057af19bc953643a33581844649a7fdab902624d2eb739738a30e2b3e60fc"},
|
||||
{file = "charset_normalizer-3.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:55f56e2ebd4e3bc50442fbc0888c9d8c94e4e06a933804e2af3e89e2f9c1c749"},
|
||||
{file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0d99dd8ff461990f12d6e42c7347fd9ab2532fb70e9621ba520f9e8637161d7c"},
|
||||
{file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c57516e58fd17d03ebe67e181a4e4e2ccab1168f8c2976c6a334d4f819fe5944"},
|
||||
{file = "charset_normalizer-3.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6dba5d19c4dfab08e58d5b36304b3f92f3bd5d42c1a3fa37b5ba5cdf6dfcbcee"},
|
||||
{file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf4475b82be41b07cc5e5ff94810e6a01f276e37c2d55571e3fe175e467a1a1c"},
|
||||
{file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce031db0408e487fd2775d745ce30a7cd2923667cf3b69d48d219f1d8f5ddeb6"},
|
||||
{file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ff4e7cdfdb1ab5698e675ca622e72d58a6fa2a8aa58195de0c0061288e6e3ea"},
|
||||
{file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3710a9751938947e6327ea9f3ea6332a09bf0ba0c09cae9cb1f250bd1f1549bc"},
|
||||
{file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82357d85de703176b5587dbe6ade8ff67f9f69a41c0733cf2425378b49954de5"},
|
||||
{file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47334db71978b23ebcf3c0f9f5ee98b8d65992b65c9c4f2d34c2eaf5bcaf0594"},
|
||||
{file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8ce7fd6767a1cc5a92a639b391891bf1c268b03ec7e021c7d6d902285259685c"},
|
||||
{file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f1a2f519ae173b5b6a2c9d5fa3116ce16e48b3462c8b96dfdded11055e3d6365"},
|
||||
{file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:63bc5c4ae26e4bc6be6469943b8253c0fd4e4186c43ad46e713ea61a0ba49129"},
|
||||
{file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bcb4f8ea87d03bc51ad04add8ceaf9b0f085ac045ab4d74e73bbc2dc033f0236"},
|
||||
{file = "charset_normalizer-3.4.0-cp311-cp311-win32.whl", hash = "sha256:9ae4ef0b3f6b41bad6366fb0ea4fc1d7ed051528e113a60fa2a65a9abb5b1d99"},
|
||||
{file = "charset_normalizer-3.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cee4373f4d3ad28f1ab6290684d8e2ebdb9e7a1b74fdc39e4c211995f77bec27"},
|
||||
{file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0713f3adb9d03d49d365b70b84775d0a0d18e4ab08d12bc46baa6132ba78aaf6"},
|
||||
{file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:de7376c29d95d6719048c194a9cf1a1b0393fbe8488a22008610b0361d834ecf"},
|
||||
{file = "charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db"},
|
||||
{file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b295729485b06c1a0683af02a9e42d2caa9db04a373dc38a6a58cdd1e8abddf1"},
|
||||
{file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee803480535c44e7f5ad00788526da7d85525cfefaf8acf8ab9a310000be4b03"},
|
||||
{file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d59d125ffbd6d552765510e3f31ed75ebac2c7470c7274195b9161a32350284"},
|
||||
{file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cda06946eac330cbe6598f77bb54e690b4ca93f593dee1568ad22b04f347c15"},
|
||||
{file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07afec21bbbbf8a5cc3651aa96b980afe2526e7f048fdfb7f1014d84acc8b6d8"},
|
||||
{file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6b40e8d38afe634559e398cc32b1472f376a4099c75fe6299ae607e404c033b2"},
|
||||
{file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b8dcd239c743aa2f9c22ce674a145e0a25cb1566c495928440a181ca1ccf6719"},
|
||||
{file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:84450ba661fb96e9fd67629b93d2941c871ca86fc38d835d19d4225ff946a631"},
|
||||
{file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:44aeb140295a2f0659e113b31cfe92c9061622cadbc9e2a2f7b8ef6b1e29ef4b"},
|
||||
{file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1db4e7fefefd0f548d73e2e2e041f9df5c59e178b4c72fbac4cc6f535cfb1565"},
|
||||
{file = "charset_normalizer-3.4.0-cp312-cp312-win32.whl", hash = "sha256:5726cf76c982532c1863fb64d8c6dd0e4c90b6ece9feb06c9f202417a31f7dd7"},
|
||||
{file = "charset_normalizer-3.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:b197e7094f232959f8f20541ead1d9862ac5ebea1d58e9849c1bf979255dfac9"},
|
||||
{file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:dd4eda173a9fcccb5f2e2bd2a9f423d180194b1bf17cf59e3269899235b2a114"},
|
||||
{file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e9e3c4c9e1ed40ea53acf11e2a386383c3304212c965773704e4603d589343ed"},
|
||||
{file = "charset_normalizer-3.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92a7e36b000bf022ef3dbb9c46bfe2d52c047d5e3f3343f43204263c5addc250"},
|
||||
{file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54b6a92d009cbe2fb11054ba694bc9e284dad30a26757b1e372a1fdddaf21920"},
|
||||
{file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ffd9493de4c922f2a38c2bf62b831dcec90ac673ed1ca182fe11b4d8e9f2a64"},
|
||||
{file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35c404d74c2926d0287fbd63ed5d27eb911eb9e4a3bb2c6d294f3cfd4a9e0c23"},
|
||||
{file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4796efc4faf6b53a18e3d46343535caed491776a22af773f366534056c4e1fbc"},
|
||||
{file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7fdd52961feb4c96507aa649550ec2a0d527c086d284749b2f582f2d40a2e0d"},
|
||||
{file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:92db3c28b5b2a273346bebb24857fda45601aef6ae1c011c0a997106581e8a88"},
|
||||
{file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ab973df98fc99ab39080bfb0eb3a925181454d7c3ac8a1e695fddfae696d9e90"},
|
||||
{file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4b67fdab07fdd3c10bb21edab3cbfe8cf5696f453afce75d815d9d7223fbe88b"},
|
||||
{file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:aa41e526a5d4a9dfcfbab0716c7e8a1b215abd3f3df5a45cf18a12721d31cb5d"},
|
||||
{file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ffc519621dce0c767e96b9c53f09c5d215578e10b02c285809f76509a3931482"},
|
||||
{file = "charset_normalizer-3.4.0-cp313-cp313-win32.whl", hash = "sha256:f19c1585933c82098c2a520f8ec1227f20e339e33aca8fa6f956f6691b784e67"},
|
||||
{file = "charset_normalizer-3.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:707b82d19e65c9bd28b81dde95249b07bf9f5b90ebe1ef17d9b57473f8a64b7b"},
|
||||
{file = "charset_normalizer-3.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dbe03226baf438ac4fda9e2d0715022fd579cb641c4cf639fa40d53b2fe6f3e2"},
|
||||
{file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd9a8bd8900e65504a305bf8ae6fa9fbc66de94178c420791d0293702fce2df7"},
|
||||
{file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8831399554b92b72af5932cdbbd4ddc55c55f631bb13ff8fe4e6536a06c5c51"},
|
||||
{file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a14969b8691f7998e74663b77b4c36c0337cb1df552da83d5c9004a93afdb574"},
|
||||
{file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcaf7c1524c0542ee2fc82cc8ec337f7a9f7edee2532421ab200d2b920fc97cf"},
|
||||
{file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425c5f215d0eecee9a56cdb703203dda90423247421bf0d67125add85d0c4455"},
|
||||
{file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:d5b054862739d276e09928de37c79ddeec42a6e1bfc55863be96a36ba22926f6"},
|
||||
{file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:f3e73a4255342d4eb26ef6df01e3962e73aa29baa3124a8e824c5d3364a65748"},
|
||||
{file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:2f6c34da58ea9c1a9515621f4d9ac379871a8f21168ba1b5e09d74250de5ad62"},
|
||||
{file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:f09cb5a7bbe1ecae6e87901a2eb23e0256bb524a79ccc53eb0b7629fbe7677c4"},
|
||||
{file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:0099d79bdfcf5c1f0c2c72f91516702ebf8b0b8ddd8905f97a8aecf49712c621"},
|
||||
{file = "charset_normalizer-3.4.0-cp37-cp37m-win32.whl", hash = "sha256:9c98230f5042f4945f957d006edccc2af1e03ed5e37ce7c373f00a5a4daa6149"},
|
||||
{file = "charset_normalizer-3.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:62f60aebecfc7f4b82e3f639a7d1433a20ec32824db2199a11ad4f5e146ef5ee"},
|
||||
{file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:af73657b7a68211996527dbfeffbb0864e043d270580c5aef06dc4b659a4b578"},
|
||||
{file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cab5d0b79d987c67f3b9e9c53f54a61360422a5a0bc075f43cab5621d530c3b6"},
|
||||
{file = "charset_normalizer-3.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9289fd5dddcf57bab41d044f1756550f9e7cf0c8e373b8cdf0ce8773dc4bd417"},
|
||||
{file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b493a043635eb376e50eedf7818f2f322eabbaa974e948bd8bdd29eb7ef2a51"},
|
||||
{file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fa2566ca27d67c86569e8c85297aaf413ffab85a8960500f12ea34ff98e4c41"},
|
||||
{file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8e538f46104c815be19c975572d74afb53f29650ea2025bbfaef359d2de2f7f"},
|
||||
{file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fd30dc99682dc2c603c2b315bded2799019cea829f8bf57dc6b61efde6611c8"},
|
||||
{file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2006769bd1640bdf4d5641c69a3d63b71b81445473cac5ded39740a226fa88ab"},
|
||||
{file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:dc15e99b2d8a656f8e666854404f1ba54765871104e50c8e9813af8a7db07f12"},
|
||||
{file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ab2e5bef076f5a235c3774b4f4028a680432cded7cad37bba0fd90d64b187d19"},
|
||||
{file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:4ec9dd88a5b71abfc74e9df5ebe7921c35cbb3b641181a531ca65cdb5e8e4dea"},
|
||||
{file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:43193c5cda5d612f247172016c4bb71251c784d7a4d9314677186a838ad34858"},
|
||||
{file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:aa693779a8b50cd97570e5a0f343538a8dbd3e496fa5dcb87e29406ad0299654"},
|
||||
{file = "charset_normalizer-3.4.0-cp38-cp38-win32.whl", hash = "sha256:7706f5850360ac01d80c89bcef1640683cc12ed87f42579dab6c5d3ed6888613"},
|
||||
{file = "charset_normalizer-3.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:c3e446d253bd88f6377260d07c895816ebf33ffffd56c1c792b13bff9c3e1ade"},
|
||||
{file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:980b4f289d1d90ca5efcf07958d3eb38ed9c0b7676bf2831a54d4f66f9c27dfa"},
|
||||
{file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f28f891ccd15c514a0981f3b9db9aa23d62fe1a99997512b0491d2ed323d229a"},
|
||||
{file = "charset_normalizer-3.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8aacce6e2e1edcb6ac625fb0f8c3a9570ccc7bfba1f63419b3769ccf6a00ed0"},
|
||||
{file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd7af3717683bea4c87acd8c0d3d5b44d56120b26fd3f8a692bdd2d5260c620a"},
|
||||
{file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ff2ed8194587faf56555927b3aa10e6fb69d931e33953943bc4f837dfee2242"},
|
||||
{file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e91f541a85298cf35433bf66f3fab2a4a2cff05c127eeca4af174f6d497f0d4b"},
|
||||
{file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:309a7de0a0ff3040acaebb35ec45d18db4b28232f21998851cfa709eeff49d62"},
|
||||
{file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:285e96d9d53422efc0d7a17c60e59f37fbf3dfa942073f666db4ac71e8d726d0"},
|
||||
{file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5d447056e2ca60382d460a604b6302d8db69476fd2015c81e7c35417cfabe4cd"},
|
||||
{file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:20587d20f557fe189b7947d8e7ec5afa110ccf72a3128d61a2a387c3313f46be"},
|
||||
{file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:130272c698667a982a5d0e626851ceff662565379baf0ff2cc58067b81d4f11d"},
|
||||
{file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ab22fbd9765e6954bc0bcff24c25ff71dcbfdb185fcdaca49e81bac68fe724d3"},
|
||||
{file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7782afc9b6b42200f7362858f9e73b1f8316afb276d316336c0ec3bd73312742"},
|
||||
{file = "charset_normalizer-3.4.0-cp39-cp39-win32.whl", hash = "sha256:2de62e8801ddfff069cd5c504ce3bc9672b23266597d4e4f50eda28846c322f2"},
|
||||
{file = "charset_normalizer-3.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:95c3c157765b031331dd4db3c775e58deaee050a3042fcad72cbc4189d7c8dca"},
|
||||
{file = "charset_normalizer-3.4.0-py3-none-any.whl", hash = "sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079"},
|
||||
{file = "charset_normalizer-3.4.0.tar.gz", hash = "sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e"},
|
||||
{file = "charset_normalizer-3.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de"},
|
||||
{file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176"},
|
||||
{file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037"},
|
||||
{file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f"},
|
||||
{file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a"},
|
||||
{file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a"},
|
||||
{file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247"},
|
||||
{file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408"},
|
||||
{file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb"},
|
||||
{file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d"},
|
||||
{file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807"},
|
||||
{file = "charset_normalizer-3.4.1-cp310-cp310-win32.whl", hash = "sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f"},
|
||||
{file = "charset_normalizer-3.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f"},
|
||||
{file = "charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125"},
|
||||
{file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1"},
|
||||
{file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3"},
|
||||
{file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd"},
|
||||
{file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00"},
|
||||
{file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12"},
|
||||
{file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77"},
|
||||
{file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146"},
|
||||
{file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd"},
|
||||
{file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6"},
|
||||
{file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8"},
|
||||
{file = "charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b"},
|
||||
{file = "charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76"},
|
||||
{file = "charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545"},
|
||||
{file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7"},
|
||||
{file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757"},
|
||||
{file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa"},
|
||||
{file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d"},
|
||||
{file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616"},
|
||||
{file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b"},
|
||||
{file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d"},
|
||||
{file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a"},
|
||||
{file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9"},
|
||||
{file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1"},
|
||||
{file = "charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35"},
|
||||
{file = "charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f"},
|
||||
{file = "charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda"},
|
||||
{file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313"},
|
||||
{file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9"},
|
||||
{file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b"},
|
||||
{file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11"},
|
||||
{file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f"},
|
||||
{file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd"},
|
||||
{file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2"},
|
||||
{file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886"},
|
||||
{file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601"},
|
||||
{file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd"},
|
||||
{file = "charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407"},
|
||||
{file = "charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971"},
|
||||
{file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f30bf9fd9be89ecb2360c7d94a711f00c09b976258846efe40db3d05828e8089"},
|
||||
{file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:97f68b8d6831127e4787ad15e6757232e14e12060bec17091b85eb1486b91d8d"},
|
||||
{file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7974a0b5ecd505609e3b19742b60cee7aa2aa2fb3151bc917e6e2646d7667dcf"},
|
||||
{file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc54db6c8593ef7d4b2a331b58653356cf04f67c960f584edb7c3d8c97e8f39e"},
|
||||
{file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:311f30128d7d333eebd7896965bfcfbd0065f1716ec92bd5638d7748eb6f936a"},
|
||||
{file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:7d053096f67cd1241601111b698f5cad775f97ab25d81567d3f59219b5f1adbd"},
|
||||
{file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:807f52c1f798eef6cf26beb819eeb8819b1622ddfeef9d0977a8502d4db6d534"},
|
||||
{file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:dccbe65bd2f7f7ec22c4ff99ed56faa1e9f785482b9bbd7c717e26fd723a1d1e"},
|
||||
{file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:2fb9bd477fdea8684f78791a6de97a953c51831ee2981f8e4f583ff3b9d9687e"},
|
||||
{file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:01732659ba9b5b873fc117534143e4feefecf3b2078b0a6a2e925271bb6f4cfa"},
|
||||
{file = "charset_normalizer-3.4.1-cp37-cp37m-win32.whl", hash = "sha256:7a4f97a081603d2050bfaffdefa5b02a9ec823f8348a572e39032caa8404a487"},
|
||||
{file = "charset_normalizer-3.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:7b1bef6280950ee6c177b326508f86cad7ad4dff12454483b51d8b7d673a2c5d"},
|
||||
{file = "charset_normalizer-3.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ecddf25bee22fe4fe3737a399d0d177d72bc22be6913acfab364b40bce1ba83c"},
|
||||
{file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c60ca7339acd497a55b0ea5d506b2a2612afb2826560416f6894e8b5770d4a9"},
|
||||
{file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b7b2d86dd06bfc2ade3312a83a5c364c7ec2e3498f8734282c6c3d4b07b346b8"},
|
||||
{file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd78cfcda14a1ef52584dbb008f7ac81c1328c0f58184bf9a84c49c605002da6"},
|
||||
{file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e27f48bcd0957c6d4cb9d6fa6b61d192d0b13d5ef563e5f2ae35feafc0d179c"},
|
||||
{file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01ad647cdd609225c5350561d084b42ddf732f4eeefe6e678765636791e78b9a"},
|
||||
{file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:619a609aa74ae43d90ed2e89bdd784765de0a25ca761b93e196d938b8fd1dbbd"},
|
||||
{file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:89149166622f4db9b4b6a449256291dc87a99ee53151c74cbd82a53c8c2f6ccd"},
|
||||
{file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:7709f51f5f7c853f0fb938bcd3bc59cdfdc5203635ffd18bf354f6967ea0f824"},
|
||||
{file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:345b0426edd4e18138d6528aed636de7a9ed169b4aaf9d61a8c19e39d26838ca"},
|
||||
{file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0907f11d019260cdc3f94fbdb23ff9125f6b5d1039b76003b5b0ac9d6a6c9d5b"},
|
||||
{file = "charset_normalizer-3.4.1-cp38-cp38-win32.whl", hash = "sha256:ea0d8d539afa5eb2728aa1932a988a9a7af94f18582ffae4bc10b3fbdad0626e"},
|
||||
{file = "charset_normalizer-3.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:329ce159e82018d646c7ac45b01a430369d526569ec08516081727a20e9e4af4"},
|
||||
{file = "charset_normalizer-3.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41"},
|
||||
{file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f"},
|
||||
{file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2"},
|
||||
{file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770"},
|
||||
{file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4"},
|
||||
{file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537"},
|
||||
{file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496"},
|
||||
{file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78"},
|
||||
{file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7"},
|
||||
{file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6"},
|
||||
{file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294"},
|
||||
{file = "charset_normalizer-3.4.1-cp39-cp39-win32.whl", hash = "sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5"},
|
||||
{file = "charset_normalizer-3.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765"},
|
||||
{file = "charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85"},
|
||||
{file = "charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -451,13 +438,13 @@ dev = ["flake8", "markdown", "twine", "wheel"]
|
||||
|
||||
[[package]]
|
||||
name = "griffe"
|
||||
version = "1.5.1"
|
||||
version = "1.5.4"
|
||||
description = "Signatures for entire Python programs. Extract the structure, the frame, the skeleton of your project, to generate API documentation or find breaking changes in your API."
|
||||
optional = false
|
||||
python-versions = ">=3.9"
|
||||
files = [
|
||||
{file = "griffe-1.5.1-py3-none-any.whl", hash = "sha256:ad6a7980f8c424c9102160aafa3bcdf799df0e75f7829d75af9ee5aef656f860"},
|
||||
{file = "griffe-1.5.1.tar.gz", hash = "sha256:72964f93e08c553257706d6cd2c42d1c172213feb48b2be386f243380b405d4b"},
|
||||
{file = "griffe-1.5.4-py3-none-any.whl", hash = "sha256:ed33af890586a5bebc842fcb919fc694b3dc1bc55b7d9e0228de41ce566b4a1d"},
|
||||
{file = "griffe-1.5.4.tar.gz", hash = "sha256:073e78ad3e10c8378c2f798bd4ef87b92d8411e9916e157fd366a17cc4fd4e52"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
@@ -575,13 +562,13 @@ files = [
|
||||
|
||||
[[package]]
|
||||
name = "identify"
|
||||
version = "2.6.3"
|
||||
version = "2.6.5"
|
||||
description = "File identification library for Python"
|
||||
optional = false
|
||||
python-versions = ">=3.9"
|
||||
files = [
|
||||
{file = "identify-2.6.3-py2.py3-none-any.whl", hash = "sha256:9edba65473324c2ea9684b1f944fe3191db3345e50b6d04571d10ed164f8d7bd"},
|
||||
{file = "identify-2.6.3.tar.gz", hash = "sha256:62f5dae9b5fef52c84cc188514e9ea4f3f636b1d8799ab5ebc475471f9e47a02"},
|
||||
{file = "identify-2.6.5-py2.py3-none-any.whl", hash = "sha256:14181a47091eb75b337af4c23078c9d09225cd4c48929f521f3bf16b09d02566"},
|
||||
{file = "identify-2.6.5.tar.gz", hash = "sha256:c10b33f250e5bba374fae86fb57f3adcebf1161bce7cdf92031915fd480c13bc"},
|
||||
]
|
||||
|
||||
[package.extras]
|
||||
@@ -889,13 +876,13 @@ python-legacy = ["mkdocstrings-python-legacy (>=0.2.1)"]
|
||||
|
||||
[[package]]
|
||||
name = "mkdocstrings-python"
|
||||
version = "1.12.2"
|
||||
version = "1.13.0"
|
||||
description = "A Python handler for mkdocstrings."
|
||||
optional = false
|
||||
python-versions = ">=3.9"
|
||||
files = [
|
||||
{file = "mkdocstrings_python-1.12.2-py3-none-any.whl", hash = "sha256:7f7d40d6db3cb1f5d19dbcd80e3efe4d0ba32b073272c0c0de9de2e604eda62a"},
|
||||
{file = "mkdocstrings_python-1.12.2.tar.gz", hash = "sha256:7a1760941c0b52a2cd87b960a9e21112ffe52e7df9d0b9583d04d47ed2e186f3"},
|
||||
{file = "mkdocstrings_python-1.13.0-py3-none-any.whl", hash = "sha256:b88bbb207bab4086434743849f8e796788b373bd32e7bfefbf8560ac45d88f97"},
|
||||
{file = "mkdocstrings_python-1.13.0.tar.gz", hash = "sha256:2dbd5757e8375b9720e81db16f52f1856bf59905428fd7ef88005d1370e2f64c"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
@@ -1108,13 +1095,13 @@ virtualenv = ">=20.10.0"
|
||||
|
||||
[[package]]
|
||||
name = "pyaml"
|
||||
version = "24.12.1"
|
||||
version = "25.1.0"
|
||||
description = "PyYAML-based module to produce a bit more pretty and readable YAML-serialized data"
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
files = [
|
||||
{file = "pyaml-24.12.1-py3-none-any.whl", hash = "sha256:97ed4d31ecc1d7bb93f3d2a66e53548c53d6f572d75d166957abc64a06033b76"},
|
||||
{file = "pyaml-24.12.1.tar.gz", hash = "sha256:3938c2b47924ed74524f844961a011852f7968fb8cc7b3933276087c5d1e45b3"},
|
||||
{file = "pyaml-25.1.0-py3-none-any.whl", hash = "sha256:f7b40629d2dae88035657c860f539db3525ddd0120a11e0bcb44d47d5968b3bc"},
|
||||
{file = "pyaml-25.1.0.tar.gz", hash = "sha256:33a93ac49218f57e020b81e280d2706cea554ac5a76445ac79add760d019c709"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
@@ -1268,13 +1255,13 @@ typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0"
|
||||
|
||||
[[package]]
|
||||
name = "pygments"
|
||||
version = "2.18.0"
|
||||
version = "2.19.1"
|
||||
description = "Pygments is a syntax highlighting package written in Python."
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
files = [
|
||||
{file = "pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a"},
|
||||
{file = "pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199"},
|
||||
{file = "pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c"},
|
||||
{file = "pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f"},
|
||||
]
|
||||
|
||||
[package.extras]
|
||||
@@ -1282,13 +1269,13 @@ windows-terminal = ["colorama (>=0.4.6)"]
|
||||
|
||||
[[package]]
|
||||
name = "pymdown-extensions"
|
||||
version = "10.13"
|
||||
version = "10.14"
|
||||
description = "Extension pack for Python Markdown."
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
files = [
|
||||
{file = "pymdown_extensions-10.13-py3-none-any.whl", hash = "sha256:80bc33d715eec68e683e04298946d47d78c7739e79d808203df278ee8ef89428"},
|
||||
{file = "pymdown_extensions-10.13.tar.gz", hash = "sha256:e0b351494dc0d8d14a1f52b39b1499a00ef1566b4ba23dc74f1eba75c736f5dd"},
|
||||
{file = "pymdown_extensions-10.14-py3-none-any.whl", hash = "sha256:202481f716cc8250e4be8fce997781ebf7917701b59652458ee47f2401f818b5"},
|
||||
{file = "pymdown_extensions-10.14.tar.gz", hash = "sha256:741bd7c4ff961ba40b7528d32284c53bc436b8b1645e8e37c3e57770b8700a34"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
@@ -1296,7 +1283,7 @@ markdown = ">=3.6"
|
||||
pyyaml = "*"
|
||||
|
||||
[package.extras]
|
||||
extra = ["pygments (>=2.12)"]
|
||||
extra = ["pygments (>=2.19.1)"]
|
||||
|
||||
[[package]]
|
||||
name = "python-dateutil"
|
||||
@@ -1616,13 +1603,13 @@ zstd = ["zstandard (>=0.18.0)"]
|
||||
|
||||
[[package]]
|
||||
name = "virtualenv"
|
||||
version = "20.28.0"
|
||||
version = "20.28.1"
|
||||
description = "Virtual Python Environment builder"
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
files = [
|
||||
{file = "virtualenv-20.28.0-py3-none-any.whl", hash = "sha256:23eae1b4516ecd610481eda647f3a7c09aea295055337331bb4e6892ecce47b0"},
|
||||
{file = "virtualenv-20.28.0.tar.gz", hash = "sha256:2c9c3262bb8e7b87ea801d715fae4495e6032450c71d2309be9550e7364049aa"},
|
||||
{file = "virtualenv-20.28.1-py3-none-any.whl", hash = "sha256:412773c85d4dab0409b83ec36f7a6499e72eaf08c80e81e9576bca61831c71cb"},
|
||||
{file = "virtualenv-20.28.1.tar.gz", hash = "sha256:5d34ab240fdb5d21549b76f9e8ff3af28252f5499fb6d6f031adac4e5a8c5329"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
|
||||
@@ -286,7 +286,13 @@ class MinerConfig(BaseModel):
|
||||
|
||||
@classmethod
|
||||
def from_luxos(
|
||||
cls, rpc_tempctrl: dict, rpc_fans: dict, rpc_pools: dict, rpc_groups: dict
|
||||
cls,
|
||||
rpc_tempctrl: dict,
|
||||
rpc_fans: dict,
|
||||
rpc_pools: dict,
|
||||
rpc_groups: dict,
|
||||
rpc_config: dict,
|
||||
rpc_profiles: dict,
|
||||
) -> "MinerConfig":
|
||||
return cls(
|
||||
temperature=TemperatureConfig.from_luxos(rpc_tempctrl=rpc_tempctrl),
|
||||
@@ -294,6 +300,9 @@ class MinerConfig(BaseModel):
|
||||
rpc_tempctrl=rpc_tempctrl, rpc_fans=rpc_fans
|
||||
),
|
||||
pools=PoolConfig.from_luxos(rpc_pools=rpc_pools, rpc_groups=rpc_groups),
|
||||
mining_mode=MiningModeConfig.from_luxos(
|
||||
rpc_config=rpc_config, rpc_profiles=rpc_profiles
|
||||
),
|
||||
)
|
||||
|
||||
@classmethod
|
||||
|
||||
@@ -308,6 +308,12 @@ class FanModeConfig(MinerConfigOption):
|
||||
if "minimumRequiredFans" in keys:
|
||||
conf["minimum_fans"] = int(temperature_conf["minimumRequiredFans"])
|
||||
return cls.manual(**conf)
|
||||
if "disabled" in keys:
|
||||
conf = {}
|
||||
if "fanSpeedRatio" in temperature_conf["disabled"].keys():
|
||||
conf["speed"] = int(temperature_conf["disabled"]["fanSpeedRatio"])
|
||||
return cls.manual(**conf)
|
||||
return cls.default()
|
||||
|
||||
@classmethod
|
||||
def from_auradine(cls, web_fan: dict):
|
||||
|
||||
@@ -367,6 +367,22 @@ class MiningModePreset(MinerConfigValue):
|
||||
available_presets=[MiningPreset.from_vnish(p) for p in web_presets],
|
||||
)
|
||||
|
||||
@classmethod
|
||||
def from_luxos(
|
||||
cls, rpc_config: dict, rpc_profiles: list[dict]
|
||||
) -> "MiningModePreset":
|
||||
active_preset = None
|
||||
active_profile = rpc_config["CONFIG"][0]["Profile"]
|
||||
for profile in rpc_profiles["PROFILES"]:
|
||||
if profile["Profile Name"] == active_profile:
|
||||
active_preset = profile
|
||||
return cls(
|
||||
active_preset=MiningPreset.from_luxos(active_preset),
|
||||
available_presets=[
|
||||
MiningPreset.from_luxos(p) for p in rpc_profiles["PROFILES"]
|
||||
],
|
||||
)
|
||||
|
||||
|
||||
class ManualBoardSettings(MinerConfigValue):
|
||||
freq: float
|
||||
@@ -687,6 +703,10 @@ class MiningModeConfig(MinerConfigOption):
|
||||
pass
|
||||
return cls.default()
|
||||
|
||||
@classmethod
|
||||
def from_luxos(cls, rpc_config: dict, rpc_profiles: dict):
|
||||
return MiningModePreset.from_luxos(rpc_config, rpc_profiles)
|
||||
|
||||
|
||||
MiningMode = TypeVar(
|
||||
"MiningMode",
|
||||
|
||||
@@ -6,7 +6,9 @@ class MiningPreset(MinerConfigValue):
|
||||
power: int | None = None
|
||||
hashrate: int | None = None
|
||||
tuned: bool | None = None
|
||||
modded_psu: bool = False
|
||||
modded_psu: bool | None = None
|
||||
frequency: int | None = None
|
||||
voltage: float | None = None
|
||||
|
||||
def as_vnish(self) -> dict:
|
||||
if self.name is not None:
|
||||
@@ -32,3 +34,14 @@ class MiningPreset(MinerConfigValue):
|
||||
tuned=tuned,
|
||||
modded_psu=modded_psu,
|
||||
)
|
||||
|
||||
@classmethod
|
||||
def from_luxos(cls, profile: dict):
|
||||
return cls(
|
||||
name=profile["Profile Name"],
|
||||
power=profile["Watts"],
|
||||
hashrate=round(profile["Hashrate"]),
|
||||
tuned=profile["IsTuned"],
|
||||
frequency=profile["Frequency"],
|
||||
voltage=profile["Voltage"],
|
||||
)
|
||||
|
||||
@@ -364,7 +364,7 @@ class PoolGroup(MinerConfigValue):
|
||||
if toml_group_conf.get("pool") is not None:
|
||||
return cls(
|
||||
name=toml_group_conf["name"],
|
||||
quota=toml_group_conf.get("quota"),
|
||||
quota=toml_group_conf.get("quota", 1),
|
||||
pools=[Pool.from_bosminer(p) for p in toml_group_conf["pool"]],
|
||||
)
|
||||
return cls()
|
||||
|
||||
@@ -51,6 +51,7 @@ class MinerData(BaseModel):
|
||||
hostname: The network hostname of the miner as a str.
|
||||
hashrate: The hashrate of the miner in TH/s as a float. Calculated automatically.
|
||||
expected_hashrate: The factory nominal hashrate of the miner in TH/s as a float.
|
||||
sticker_hashrate: The factory sticker hashrate of the miner as a float.
|
||||
hashboards: A list of [`HashBoard`][pyasic.data.HashBoard]s on the miner with their statistics.
|
||||
temperature_avg: The average temperature across the boards. Calculated automatically.
|
||||
env_temp: The environment temps as a float.
|
||||
@@ -90,6 +91,9 @@ class MinerData(BaseModel):
|
||||
# hashrate
|
||||
raw_hashrate: AlgoHashRateType = Field(exclude=True, default=None, repr=False)
|
||||
|
||||
# sticker
|
||||
sticker_hashrate: AlgoHashRateType | None = None
|
||||
|
||||
# expected
|
||||
expected_hashrate: AlgoHashRateType | None = None
|
||||
expected_hashboards: int | None = None
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from .hashrate.base import AlgoHashRateType
|
||||
from .hashrate.unit.base import AlgoHashRateUnitType
|
||||
from .hashrate.base import AlgoHashRateType, GenericHashrate
|
||||
from .hashrate.unit.base import AlgoHashRateUnitType, GenericUnit
|
||||
|
||||
|
||||
class MinerAlgoMeta(type):
|
||||
@@ -14,3 +14,10 @@ class MinerAlgoMeta(type):
|
||||
class MinerAlgoType(metaclass=MinerAlgoMeta):
|
||||
hashrate: type[AlgoHashRateType]
|
||||
unit: type[AlgoHashRateUnitType]
|
||||
|
||||
|
||||
class GenericAlgo(MinerAlgoType):
|
||||
hashrate: type[GenericHashrate] = GenericHashrate
|
||||
unit: type[GenericUnit] = GenericUnit
|
||||
|
||||
name = "Generic (Unknown)"
|
||||
|
||||
@@ -28,6 +28,7 @@ class MinerMake(str, Enum):
|
||||
BITAXE = "BitAxe"
|
||||
ICERIVER = "IceRiver"
|
||||
HAMMER = "Hammer"
|
||||
VOLCMINER = "VolcMiner"
|
||||
BRAIINS = "Braiins"
|
||||
|
||||
def __str__(self):
|
||||
|
||||
@@ -65,23 +65,84 @@ class AntminerModels(MinerModelType):
|
||||
|
||||
|
||||
class WhatsminerModels(MinerModelType):
|
||||
M20V10 = "M20 V10"
|
||||
M20SV10 = "M20S V10"
|
||||
M20SV20 = "M20S V20"
|
||||
M20SV30 = "M20S V30"
|
||||
M20PV10 = "M20P V10"
|
||||
M20PV30 = "M20P V30"
|
||||
M20SPlusV30 = "M20S+ V30"
|
||||
M21V10 = "M21 V10"
|
||||
M20SV10 = "M20S V10"
|
||||
M20SV20 = "M20S V20"
|
||||
M20SV30 = "M20S V30"
|
||||
M20V10 = "M20 V10"
|
||||
M21SPlusV20 = "M21S+ V20"
|
||||
M21SV20 = "M21S V20"
|
||||
M21SV60 = "M21S V60"
|
||||
M21SV70 = "M21S V70"
|
||||
M21SPlusV20 = "M21S+ V20"
|
||||
M21V10 = "M21 V10"
|
||||
M29V10 = "M29 V10"
|
||||
M30V10 = "M30 V10"
|
||||
M30V20 = "M30 V20"
|
||||
M30KV10 = "M30K V10"
|
||||
M30LV10 = "M30L V10"
|
||||
M30SPlusPlusV10 = "M30S++ V10"
|
||||
M30SPlusPlusV20 = "M30S++ V20"
|
||||
M30SPlusPlusVE30 = "M30S++ VE30"
|
||||
M30SPlusPlusVE40 = "M30S++ VE40"
|
||||
M30SPlusPlusVE50 = "M30S++ VE50"
|
||||
M30SPlusPlusVF40 = "M30S++ VF40"
|
||||
M30SPlusPlusVG30 = "M30S++ VG30"
|
||||
M30SPlusPlusVG40 = "M30S++ VG40"
|
||||
M30SPlusPlusVG50 = "M30S++ VG50"
|
||||
M30SPlusPlusVH10 = "M30S++ VH10"
|
||||
M30SPlusPlusVH100 = "M30S++ VH100"
|
||||
M30SPlusPlusVH110 = "M30S++ VH110"
|
||||
M30SPlusPlusVH20 = "M30S++ VH20"
|
||||
M30SPlusPlusVH30 = "M30S++ VH30"
|
||||
M30SPlusPlusVH40 = "M30S++ VH40"
|
||||
M30SPlusPlusVH50 = "M30S++ VH50"
|
||||
M30SPlusPlusVH60 = "M30S++ VH60"
|
||||
M30SPlusPlusVH70 = "M30S++ VH70"
|
||||
M30SPlusPlusVH80 = "M30S++ VH80"
|
||||
M30SPlusPlusVH90 = "M30S++ VH90"
|
||||
M30SPlusPlusVI30 = "M30S++ VI30"
|
||||
M30SPlusPlusVJ20 = "M30S++ VJ20"
|
||||
M30SPlusPlusVJ30 = "M30S++ VJ30"
|
||||
M30SPlusPlusVJ50 = "M30S++ VJ50"
|
||||
M30SPlusPlusVJ60 = "M30S++ VJ60"
|
||||
M30SPlusPlusVJ70 = "M30S++ VJ70"
|
||||
M30SPlusPlusVK30 = "M30S++ VK30"
|
||||
M30SPlusPlusVK40 = "M30S++ VK40"
|
||||
M30SPlusV10 = "M30S+ V10"
|
||||
M30SPlusV100 = "M30S+ V100"
|
||||
M30SPlusV20 = "M30S+ V20"
|
||||
M30SPlusV30 = "M30S+ V30"
|
||||
M30SPlusV40 = "M30S+ V40"
|
||||
M30SPlusV50 = "M30S+ V50"
|
||||
M30SPlusV60 = "M30S+ V60"
|
||||
M30SPlusV70 = "M30S+ V70"
|
||||
M30SPlusV80 = "M30S+ V80"
|
||||
M30SPlusV90 = "M30S+ V90"
|
||||
M30SPlusVE100 = "M30S+ VE100"
|
||||
M30SPlusVE30 = "M30S+ VE30"
|
||||
M30SPlusVE40 = "M30S+ VE40"
|
||||
M30SPlusVE50 = "M30S+ VE50"
|
||||
M30SPlusVE60 = "M30S+ VE60"
|
||||
M30SPlusVE70 = "M30S+ VE70"
|
||||
M30SPlusVE80 = "M30S+ VE80"
|
||||
M30SPlusVE90 = "M30S+ VE90"
|
||||
M30SPlusVF20 = "M30S+ VF20"
|
||||
M30SPlusVF30 = "M30S+ VF30"
|
||||
M30SPlusVG20 = "M30S+ VG20"
|
||||
M30SPlusVG30 = "M30S+ VG30"
|
||||
M30SPlusVG40 = "M30S+ VG40"
|
||||
M30SPlusVG50 = "M30S+ VG50"
|
||||
M30SPlusVG60 = "M30S+ VG60"
|
||||
M30SPlusVH10 = "M30S+ VH10"
|
||||
M30SPlusVH20 = "M30S+ VH20"
|
||||
M30SPlusVH30 = "M30S+ VH30"
|
||||
M30SPlusVH40 = "M30S+ VH40"
|
||||
M30SPlusVH50 = "M30S+ VH50"
|
||||
M30SPlusVH60 = "M30S+ VH60"
|
||||
M30SPlusVH70 = "M30S+ VH70"
|
||||
M30SPlusVI30 = "M30S+ VI30"
|
||||
M30SPlusVJ30 = "M30S+ VJ30"
|
||||
M30SPlusVJ40 = "M30S+ VJ40"
|
||||
M30SV10 = "M30S V10"
|
||||
M30SV20 = "M30S V20"
|
||||
M30SV30 = "M30S V30"
|
||||
@@ -111,63 +172,35 @@ class WhatsminerModels(MinerModelType):
|
||||
M30SVH50 = "M30S VH50"
|
||||
M30SVH60 = "M30S VH60"
|
||||
M30SVI20 = "M30S VI20"
|
||||
M30SPlusV10 = "M30S+ V10"
|
||||
M30SPlusV20 = "M30S+ V20"
|
||||
M30SPlusV30 = "M30S+ V30"
|
||||
M30SPlusV40 = "M30S+ V40"
|
||||
M30SPlusV50 = "M30S+ V50"
|
||||
M30SPlusV60 = "M30S+ V60"
|
||||
M30SPlusV70 = "M30S+ V70"
|
||||
M30SPlusV80 = "M30S+ V80"
|
||||
M30SPlusV90 = "M30S+ V90"
|
||||
M30SPlusV100 = "M30S+ V100"
|
||||
M30SPlusVE30 = "M30S+ VE30"
|
||||
M30SPlusVE40 = "M30S+ VE40"
|
||||
M30SPlusVE50 = "M30S+ VE50"
|
||||
M30SPlusVE60 = "M30S+ VE60"
|
||||
M30SPlusVE70 = "M30S+ VE70"
|
||||
M30SPlusVE80 = "M30S+ VE80"
|
||||
M30SPlusVE90 = "M30S+ VE90"
|
||||
M30SPlusVE100 = "M30S+ VE100"
|
||||
M30SPlusVF20 = "M30S+ VF20"
|
||||
M30SPlusVF30 = "M30S+ VF30"
|
||||
M30SPlusVG20 = "M30S+ VG20"
|
||||
M30SPlusVG30 = "M30S+ VG30"
|
||||
M30SPlusVG40 = "M30S+ VG40"
|
||||
M30SPlusVG50 = "M30S+ VG50"
|
||||
M30SPlusVG60 = "M30S+ VG60"
|
||||
M30SPlusVH10 = "M30S+ VH10"
|
||||
M30SPlusVH20 = "M30S+ VH20"
|
||||
M30SPlusVH30 = "M30S+ VH30"
|
||||
M30SPlusVH40 = "M30S+ VH40"
|
||||
M30SPlusVH50 = "M30S+ VH50"
|
||||
M30SPlusVH60 = "M30S+ VH60"
|
||||
M30SPlusPlusV10 = "M30S++ V10"
|
||||
M30SPlusPlusV20 = "M30S++ V20"
|
||||
M30SPlusPlusVE30 = "M30S++ VE30"
|
||||
M30SPlusPlusVE40 = "M30S++ VE40"
|
||||
M30SPlusPlusVE50 = "M30S++ VE50"
|
||||
M30SPlusPlusVF40 = "M30S++ VF40"
|
||||
M30SPlusPlusVG30 = "M30S++ VG30"
|
||||
M30SPlusPlusVG40 = "M30S++ VG40"
|
||||
M30SPlusPlusVG50 = "M30S++ VG50"
|
||||
M30SPlusPlusVH10 = "M30S++ VH10"
|
||||
M30SPlusPlusVH20 = "M30S++ VH20"
|
||||
M30SPlusPlusVH30 = "M30S++ VH30"
|
||||
M30SPlusPlusVH40 = "M30S++ VH40"
|
||||
M30SPlusPlusVH50 = "M30S++ VH50"
|
||||
M30SPlusPlusVH60 = "M30S++ VH60"
|
||||
M30SPlusPlusVH70 = "M30S++ VH70"
|
||||
M30SPlusPlusVH80 = "M30S++ VH80"
|
||||
M30SPlusPlusVH90 = "M30S++ VH90"
|
||||
M30SPlusPlusVH100 = "M30S++ VH100"
|
||||
M30SPlusPlusVJ20 = "M30S++ VJ20"
|
||||
M30SPlusPlusVJ30 = "M30S++ VJ30"
|
||||
M31V10 = "M31 V10"
|
||||
M31V20 = "M31 V20"
|
||||
M30SVJ30 = "M30S VJ30"
|
||||
M30V10 = "M30 V10"
|
||||
M30V20 = "M30 V20"
|
||||
M31HV10 = "M31H V10"
|
||||
M31HV40 = "M31H V40"
|
||||
M31LV10 = "M30L V10"
|
||||
M31LV10 = "M31L V10"
|
||||
M31SPlusV10 = "M31S+ V10"
|
||||
M31SPlusV100 = "M31S+ V100"
|
||||
M31SPlusV20 = "M31S+ V20"
|
||||
M31SPlusV30 = "M31S+ V30"
|
||||
M31SPlusV40 = "M31S+ V40"
|
||||
M31SPlusV50 = "M31S+ V50"
|
||||
M31SPlusV60 = "M31S+ V60"
|
||||
M31SPlusV80 = "M31S+ V80"
|
||||
M31SPlusV90 = "M31S+ V90"
|
||||
M31SPlusVE10 = "M31S+ VE10"
|
||||
M31SPlusVE20 = "M31S+ VE20"
|
||||
M31SPlusVE30 = "M31S+ VE30"
|
||||
M31SPlusVE40 = "M31S+ VE40"
|
||||
M31SPlusVE50 = "M31S+ VE50"
|
||||
M31SPlusVE60 = "M31S+ VE60"
|
||||
M31SPlusVE80 = "M31S+ VE80"
|
||||
M31SPlusVF20 = "M31S+ VF20"
|
||||
M31SPlusVF30 = "M31S+ VF30"
|
||||
M31SPlusVG20 = "M31S+ VG20"
|
||||
M31SPlusVG30 = "M31S+ VG30"
|
||||
M31SEV10 = "M31SE V10"
|
||||
M31SEV20 = "M31SE V20"
|
||||
M31SEV30 = "M31SE V30"
|
||||
M31SV10 = "M31S V10"
|
||||
M31SV20 = "M31S V20"
|
||||
M31SV30 = "M31S V30"
|
||||
@@ -180,49 +213,69 @@ class WhatsminerModels(MinerModelType):
|
||||
M31SVE10 = "M31S VE10"
|
||||
M31SVE20 = "M31S VE20"
|
||||
M31SVE30 = "M31S VE30"
|
||||
M31SEV10 = "M31SE V10"
|
||||
M31SEV20 = "M31SE V20"
|
||||
M31SEV30 = "M31SE V30"
|
||||
M31SPlusV10 = "M31S+ V10"
|
||||
M31SPlusV20 = "M31S+ V20"
|
||||
M31SPlusV30 = "M31S+ V30"
|
||||
M31SPlusV40 = "M31S+ V40"
|
||||
M31SPlusV50 = "M31S+ V50"
|
||||
M31SPlusV60 = "M31S+ V60"
|
||||
M31SPlusV80 = "M31S+ V80"
|
||||
M31SPlusV90 = "M31S+ V90"
|
||||
M31SPlusV100 = "M31S+ V100"
|
||||
M31SPlusVE10 = "M31S+ VE10"
|
||||
M31SPlusVE20 = "M31S+ VE20"
|
||||
M31SPlusVE30 = "M31S+ VE30"
|
||||
M31SPlusVE40 = "M31S+ VE40"
|
||||
M31SPlusVE50 = "M31S+ VE50"
|
||||
M31SPlusVE60 = "M31S+ VE60"
|
||||
M31SPlusVE80 = "M31S+ VE80"
|
||||
M31SPlusVF20 = "M31S+ VF20"
|
||||
M31SPlusVF30 = "M31S+ VF30"
|
||||
M31SPlusVG20 = "M31S+ VG20"
|
||||
M31SPlusVG30 = "M31S+ VG30"
|
||||
M31V10 = "M31 V10"
|
||||
M31V20 = "M31 V20"
|
||||
M32V10 = "M32 V10"
|
||||
M32V20 = "M32 V20"
|
||||
M32S = "M32S"
|
||||
M33SPlusPlusVG40 = "M33S++ VG40"
|
||||
M33SPlusPlusVH20 = "M33S++ VH20"
|
||||
M33SPlusPlusVH30 = "M33S++ VH30"
|
||||
M33SPlusVG20 = "M33S+ VG20"
|
||||
M33SPlusVG30 = "M33S+ VG30"
|
||||
M33SPlusVH20 = "M33S+ VH20"
|
||||
M33SPlusVH30 = "M33S+ VH30"
|
||||
M33SVG30 = "M33S VG30"
|
||||
M33V10 = "M33 V10"
|
||||
M33V20 = "M33 V20"
|
||||
M33V30 = "M33 V30"
|
||||
M33SVG30 = "M33S VG30"
|
||||
M33SPlusVG20 = "M33S+ VG20"
|
||||
M33SPlusVH20 = "M33S+ VH20"
|
||||
M33SPlusVH30 = "M33S+ VH30"
|
||||
M33SPlusPlusVH20 = "M33S++ VH20"
|
||||
M33SPlusPlusVH30 = "M33S++ VH30"
|
||||
M33SPlusPlusVG40 = "M33S++ VG40"
|
||||
M34SPlusVE10 = "M34S+ VE10"
|
||||
M36SVE10 = "M36S VE10"
|
||||
M36SPlusVG30 = "M36S+ VG30"
|
||||
M36SPlusPlusVH30 = "M36S++ VH30"
|
||||
M36SPlusVG30 = "M36S+ VG30"
|
||||
M36SVE10 = "M36S VE10"
|
||||
M39V10 = "M39 V10"
|
||||
M39V20 = "M39 V20"
|
||||
M39V30 = "M39 V30"
|
||||
M50SPlusPlusVK10 = "M50S++ VK10"
|
||||
M50SPlusPlusVK20 = "M50S++ VK20"
|
||||
M50SPlusPlusVK30 = "M50S++ VK30"
|
||||
M50SPlusPlusVK40 = "M50S++ VK40"
|
||||
M50SPlusPlusVK50 = "M50S++ VK50"
|
||||
M50SPlusPlusVK60 = "M50S++ VK60"
|
||||
M50SPlusPlusVL20 = "M50S++ VL20"
|
||||
M50SPlusPlusVL30 = "M50S++ VL30"
|
||||
M50SPlusPlusVL40 = "M50S++ VL40"
|
||||
M50SPlusPlusVL50 = "M50S++ VL50"
|
||||
M50SPlusPlusVL60 = "M50S++ VL60"
|
||||
M50SPlusVH30 = "M50S+ VH30"
|
||||
M50SPlusVH40 = "M50S+ VH40"
|
||||
M50SPlusVJ30 = "M50S+ VJ30"
|
||||
M50SPlusVJ40 = "M50S+ VJ40"
|
||||
M50SPlusVJ60 = "M50S+ VJ60"
|
||||
M50SPlusVK10 = "M50S+ VK10"
|
||||
M50SPlusVK20 = "M50S+ VK20"
|
||||
M50SPlusVK30 = "M50S+ VK30"
|
||||
M50SPlusVL10 = "M50S+ VL10"
|
||||
M50SPlusVL20 = "M50S+ VL20"
|
||||
M50SPlusVL30 = "M50S+ VL30"
|
||||
M50SVH10 = "M50S VH10"
|
||||
M50SVH20 = "M50S VH20"
|
||||
M50SVH30 = "M50S VH30"
|
||||
M50SVH40 = "M50S VH40"
|
||||
M50SVH50 = "M50S VH50"
|
||||
M50SVJ10 = "M50S VJ10"
|
||||
M50SVJ20 = "M50S VJ20"
|
||||
M50SVJ30 = "M50S VJ30"
|
||||
M50SVJ40 = "M50S VJ40"
|
||||
M50SVJ50 = "M50S VJ50"
|
||||
M50SVK10 = "M50S VK10"
|
||||
M50SVK20 = "M50S VK20"
|
||||
M50SVK30 = "M50S VK30"
|
||||
M50SVK50 = "M50S VK50"
|
||||
M50SVK60 = "M50S VK60"
|
||||
M50SVK70 = "M50S VK70"
|
||||
M50SVK80 = "M50S VK80"
|
||||
M50SVL20 = "M50S VL20"
|
||||
M50SVL30 = "M50S VL30"
|
||||
M50VE30 = "M50 VE30"
|
||||
M50VG30 = "M50 VG30"
|
||||
M50VH10 = "M50 VH10"
|
||||
@@ -237,49 +290,143 @@ class WhatsminerModels(MinerModelType):
|
||||
M50VJ10 = "M50 VJ10"
|
||||
M50VJ20 = "M50 VJ20"
|
||||
M50VJ30 = "M50 VJ30"
|
||||
M50SVJ10 = "M50S VJ10"
|
||||
M50SVJ20 = "M50S VJ20"
|
||||
M50SVJ30 = "M50S VJ30"
|
||||
M50SVH10 = "M50S VH10"
|
||||
M50SVH20 = "M50S VH20"
|
||||
M50SVH30 = "M50S VH30"
|
||||
M50SVH40 = "M50S VH40"
|
||||
M50SVH50 = "M50S VH50"
|
||||
M50SPlusVH30 = "M50S+ VH30"
|
||||
M50SPlusVH40 = "M50S+ VH40"
|
||||
M50SPlusVJ30 = "M50S+ VJ30"
|
||||
M50SPlusVK20 = "M50S+ VK20"
|
||||
M50SPlusPlusVK10 = "M50S++ VK10"
|
||||
M50SPlusPlusVK20 = "M50S++ VK20"
|
||||
M50SPlusPlusVK30 = "M50S++ VK30"
|
||||
M53VH30 = "M53 VH30"
|
||||
M53SVH30 = "M53S VH30"
|
||||
M53SVJ40 = "M53S VJ40"
|
||||
M53SPlusVJ30 = "M53S+ VJ30"
|
||||
M50VJ40 = "M50 VJ40"
|
||||
M50VJ60 = "M50 VJ60"
|
||||
M50VK40 = "M50 VK40"
|
||||
M50VK50 = "M50 VK50"
|
||||
M52SPlusPlusVL10 = "M52S++ VL10"
|
||||
M52SVK30 = "M52S VK30"
|
||||
M53HVH10 = "M53H VH10"
|
||||
M53SPlusPlusVK10 = "M53S++ VK10"
|
||||
M56VH30 = "M56 VH30"
|
||||
M56SVH30 = "M56S VH30"
|
||||
M53SPlusPlusVK20 = "M53S++ VK20"
|
||||
M53SPlusPlusVK30 = "M53S++ VK30"
|
||||
M53SPlusPlusVK50 = "M53S++ VK50"
|
||||
M53SPlusPlusVL10 = "M53S++ VL10"
|
||||
M53SPlusPlusVL30 = "M53S++ VL30"
|
||||
M53SPlusVJ30 = "M53S+ VJ30"
|
||||
M53SPlusVJ40 = "M53S+ VJ40"
|
||||
M53SPlusVJ50 = "M53S+ VJ50"
|
||||
M53SPlusVK30 = "M53S+ VK30"
|
||||
M53SVH20 = "M53S VH20"
|
||||
M53SVH30 = "M53S VH30"
|
||||
M53SVJ30 = "M53S VJ30"
|
||||
M53SVJ40 = "M53S VJ40"
|
||||
M53SVK30 = "M53S VK30"
|
||||
M53VH30 = "M53 VH30"
|
||||
M53VH40 = "M53 VH40"
|
||||
M53VH50 = "M53 VH50"
|
||||
M53VK30 = "M53 VK30"
|
||||
M53VK60 = "M53 VK60"
|
||||
M54SPlusPlusVK30 = "M54S++ VK30"
|
||||
M54SPlusPlusVL30 = "M54S++ VL30"
|
||||
M54SPlusPlusVL40 = "M54S++ VL40"
|
||||
M56SPlusPlusVK10 = "M56S++ VK10"
|
||||
M56SPlusPlusVK30 = "M56S++ VK30"
|
||||
M56SPlusPlusVK40 = "M56S++ VK40"
|
||||
M56SPlusPlusVK50 = "M56S++ VK50"
|
||||
M56SPlusVJ30 = "M56S+ VJ30"
|
||||
M56SPlusVK30 = "M56S+ VK30"
|
||||
M56SPlusVK40 = "M56S+ VK40"
|
||||
M56SPlusVK50 = "M56S+ VK50"
|
||||
M56SVH30 = "M56S VH30"
|
||||
M56SVJ30 = "M56S VJ30"
|
||||
M56SVJ40 = "M56S VJ40"
|
||||
M56VH30 = "M56 VH30"
|
||||
M59VH30 = "M59 VH30"
|
||||
M60VK10 = "M60 VK10"
|
||||
M60VK20 = "M60 VK20"
|
||||
M60VK30 = "M60 VK30"
|
||||
M60VK40 = "M60 VK40"
|
||||
M60SPlusPlusVL30 = "M60S++ VL30"
|
||||
M60SPlusPlusVL40 = "M60S++ VL40"
|
||||
M60SPlusVK30 = "M60S+ VK30"
|
||||
M60SPlusVK40 = "M60S+ VK40"
|
||||
M60SPlusVK50 = "M60S+ VK50"
|
||||
M60SPlusVK60 = "M60S+ VK60"
|
||||
M60SPlusVK70 = "M60S+ VK70"
|
||||
M60SPlusVL10 = "M60S+ VL10"
|
||||
M60SPlusVL30 = "M60S+ VL30"
|
||||
M60SPlusVL40 = "M60S+ VL40"
|
||||
M60SPlusVL50 = "M60S+ VL50"
|
||||
M60SPlusVL60 = "M60S+ VL60"
|
||||
M60SVK10 = "M60S VK10"
|
||||
M60SVK20 = "M60S VK20"
|
||||
M60SVK30 = "M60S VK30"
|
||||
M60SVK40 = "M60S VK40"
|
||||
M63VK10 = "M63 VK10"
|
||||
M63VK20 = "M63 VK20"
|
||||
M63VK30 = "M63 VK30"
|
||||
M60SVL10 = "M60S VL10"
|
||||
M60SVL20 = "M60S VL20"
|
||||
M60SVL30 = "M60S VL30"
|
||||
M60SVL40 = "M60S VL40"
|
||||
M60SVL50 = "M60S VL50"
|
||||
M60SVL60 = "M60S VL60"
|
||||
M60SVL70 = "M60S VL70"
|
||||
M60VK10 = "M60 VK10"
|
||||
M60VK20 = "M60 VK20"
|
||||
M60VK30 = "M60 VK30"
|
||||
M60VK40 = "M60 VK40"
|
||||
M60VK6A = "M60 VK6A"
|
||||
M60VL10 = "M60 VL10"
|
||||
M60VL20 = "M60 VL20"
|
||||
M60VL30 = "M60 VL30"
|
||||
M60VL40 = "M60 VL40"
|
||||
M60VL50 = "M60 VL50"
|
||||
M61SPlusVL30 = "M61S+ VL30"
|
||||
M61SVL10 = "M61S VL10"
|
||||
M61SVL20 = "M61S VL20"
|
||||
M61SVL30 = "M61S VL30"
|
||||
M61VK10 = "M61 VK10"
|
||||
M61VK20 = "M61 VK20"
|
||||
M61VK30 = "M61 VK30"
|
||||
M61VK40 = "M61 VK40"
|
||||
M61VL10 = "M61 VL10"
|
||||
M61VL30 = "M61 VL30"
|
||||
M61VL40 = "M61 VL40"
|
||||
M61VL50 = "M61 VL50"
|
||||
M61VL60 = "M61 VL60"
|
||||
M62SPlusVK30 = "M62S+ VK30"
|
||||
M63SPlusPlusVL20 = "M63S++ VL20"
|
||||
M63SPlusVK30 = "M63S+ VK30"
|
||||
M63SPlusVL10 = "M63S+ VL10"
|
||||
M63SPlusVL20 = "M63S+ VL20"
|
||||
M63SPlusVL30 = "M63S+ VL30"
|
||||
M63SPlusVL50 = "M63S+ VL50"
|
||||
M63SVK10 = "M63S VK10"
|
||||
M63SVK20 = "M63S VK20"
|
||||
M63SVK30 = "M63S VK30"
|
||||
M66VK20 = "M66 VK20"
|
||||
M66VK30 = "M66 VK30"
|
||||
M63SVK60 = "M63S VK60"
|
||||
M63SVL10 = "M63S VL10"
|
||||
M63SVL50 = "M63S VL50"
|
||||
M63SVL60 = "M63S VL60"
|
||||
M63VK10 = "M63 VK10"
|
||||
M63VK20 = "M63 VK20"
|
||||
M63VK30 = "M63 VK30"
|
||||
M63VL10 = "M63 VL10"
|
||||
M63VL30 = "M63 VL30"
|
||||
M64SVL30 = "M64S VL30"
|
||||
M64VL30 = "M64 VL30"
|
||||
M64VL40 = "M64 VL40"
|
||||
M65SPlusVK30 = "M65S+ VK30"
|
||||
M65SVK20 = "M65S VK20"
|
||||
M65SVL60 = "M65S VL60"
|
||||
M66SPlusPlusVL20 = "M66S++ VL20"
|
||||
M66SPlusVK30 = "M66S+ VK30"
|
||||
M66SPlusVL10 = "M66S+ VL10"
|
||||
M66SPlusVL20 = "M66S+ VL20"
|
||||
M66SPlusVL30 = "M66S+ VL30"
|
||||
M66SPlusVL40 = "M66S+ VL40"
|
||||
M66SPlusVL60 = "M66S+ VL60"
|
||||
M66SVK20 = "M66S VK20"
|
||||
M66SVK30 = "M66S VK30"
|
||||
M66SVK40 = "M66S VK40"
|
||||
M66SVK50 = "M66S VK50"
|
||||
M66SVK60 = "M66S VK60"
|
||||
M66SVL10 = "M66S VL10"
|
||||
M66SVL20 = "M66S VL20"
|
||||
M66SVL30 = "M66S VL30"
|
||||
M66SVL40 = "M66S VL40"
|
||||
M66SVL50 = "M66S VL50"
|
||||
M66VK20 = "M66 VK20"
|
||||
M66VK30 = "M66 VK30"
|
||||
M66VL20 = "M66 VL20"
|
||||
M66VL30 = "M66 VL30"
|
||||
M67SVK30 = "M67S VK30"
|
||||
M70VM30 = "M70 VM30"
|
||||
|
||||
def __str__(self):
|
||||
return self.value
|
||||
@@ -330,6 +477,7 @@ class GoldshellModels(MinerModelType):
|
||||
class ePICModels(MinerModelType):
|
||||
BM520i = "BlockMiner 520i"
|
||||
BM720i = "BlockMiner 720i"
|
||||
S19jProDual = "S19j Pro Dual"
|
||||
|
||||
def __str__(self):
|
||||
return self.value
|
||||
@@ -380,6 +528,13 @@ class HammerModels(MinerModelType):
|
||||
return self.value
|
||||
|
||||
|
||||
class VolcMinerModels(MinerModelType):
|
||||
D1 = "D1"
|
||||
|
||||
def __str__(self):
|
||||
return self.value
|
||||
|
||||
|
||||
class BraiinsModels(MinerModelType):
|
||||
BMM100 = "BMM100"
|
||||
BMM101 = "BMM101"
|
||||
@@ -396,4 +551,5 @@ class MinerModel:
|
||||
BITAXE = BitAxeModels
|
||||
ICERIVER = IceRiverModels
|
||||
HAMMER = HammerModels
|
||||
VOLCMINER = VolcMinerModels
|
||||
BRAIINS = BraiinsModels
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.backends import ePIC
|
||||
from pyasic.miners.device.models import (
|
||||
S19,
|
||||
@@ -52,3 +53,9 @@ class ePICS19kPro(ePIC, S19kPro):
|
||||
|
||||
class ePICS19XP(ePIC, S19XP):
|
||||
pass
|
||||
|
||||
|
||||
class ePICS19jProDual(ePIC, S19jPro):
|
||||
raw_model = MinerModel.EPIC.S19jProDual
|
||||
expected_fans = S19jPro.expected_fans * 2
|
||||
expected_hashboards = S19jPro.expected_hashboards * 2
|
||||
|
||||
@@ -18,6 +18,7 @@ from .S19 import (
|
||||
ePICS19,
|
||||
ePICS19j,
|
||||
ePICS19jPro,
|
||||
ePICS19jProDual,
|
||||
ePICS19jProPlus,
|
||||
ePICS19kPro,
|
||||
ePICS19Pro,
|
||||
|
||||
@@ -32,4 +32,4 @@ from .luxminer import LUXMiner
|
||||
from .marathon import MaraMiner
|
||||
from .unknown import UnknownMiner
|
||||
from .vnish import VNish
|
||||
from .whatsminer import M2X, M3X, M5X, M6X
|
||||
from .whatsminer import M2X, M3X, M5X, M6X, M7X
|
||||
|
||||
@@ -426,21 +426,22 @@ class BTMiner(StockFirmware):
|
||||
if rpc_devs is not None:
|
||||
try:
|
||||
for board in rpc_devs["DEVS"]:
|
||||
if len(hashboards) < board["ASC"] + 1:
|
||||
asc = board.get("ASC")
|
||||
if asc is None:
|
||||
asc = board["Slot"]
|
||||
if len(hashboards) < asc + 1:
|
||||
hashboards.append(
|
||||
HashBoard(
|
||||
slot=board["ASC"], expected_chips=self.expected_chips
|
||||
)
|
||||
HashBoard(slot=asc, expected_chips=self.expected_chips)
|
||||
)
|
||||
self.expected_hashboards += 1
|
||||
hashboards[board["ASC"]].chip_temp = round(board["Chip Temp Avg"])
|
||||
hashboards[board["ASC"]].temp = round(board["Temperature"])
|
||||
hashboards[board["ASC"]].hashrate = self.algo.hashrate(
|
||||
hashboards[asc].chip_temp = round(board["Chip Temp Avg"])
|
||||
hashboards[asc].temp = round(board["Temperature"])
|
||||
hashboards[asc].hashrate = self.algo.hashrate(
|
||||
rate=float(board["MHS 1m"]), unit=self.algo.unit.MH
|
||||
).into(self.algo.unit.default)
|
||||
hashboards[board["ASC"]].chips = board["Effective Chips"]
|
||||
hashboards[board["ASC"]].serial_number = board["PCB SN"]
|
||||
hashboards[board["ASC"]].missing = False
|
||||
hashboards[asc].chips = board["Effective Chips"]
|
||||
hashboards[asc].serial_number = board["PCB SN"]
|
||||
hashboards[asc].missing = False
|
||||
except LookupError:
|
||||
pass
|
||||
|
||||
|
||||
@@ -173,8 +173,8 @@ class BlackMiner(StockFirmware):
|
||||
if rpc_summary is not None:
|
||||
try:
|
||||
return self.algo.hashrate(
|
||||
rate=float(rpc_summary["SUMMARY"][0]["GHS 5s"]),
|
||||
unit=self.algo.unit.GH,
|
||||
rate=float(rpc_summary["SUMMARY"][0]["MHS 5s"]),
|
||||
unit=self.algo.unit.MH,
|
||||
).into(self.algo.unit.default)
|
||||
except (LookupError, ValueError, TypeError):
|
||||
pass
|
||||
@@ -221,19 +221,15 @@ class BlackMiner(StockFirmware):
|
||||
hashboard = HashBoard(
|
||||
slot=i - board_offset, expected_chips=self.expected_chips
|
||||
)
|
||||
|
||||
chip_temp = boards[1].get(f"temp{i}")
|
||||
if chip_temp:
|
||||
hashboard.chip_temp = round(chip_temp)
|
||||
|
||||
temp = boards[1].get(f"temp2_{i}")
|
||||
temp = boards[1].get(f"temp{i}")
|
||||
if temp:
|
||||
hashboard.chip_temp = round(temp)
|
||||
hashboard.temp = round(temp)
|
||||
|
||||
hashrate = boards[1].get(f"chain_rate{i}")
|
||||
if hashrate:
|
||||
hashboard.hashrate = self.algo.hashrate(
|
||||
rate=float(hashrate), unit=self.algo.unit.GH
|
||||
rate=float(hashrate), unit=self.algo.unit.MH
|
||||
).into(self.algo.unit.default)
|
||||
|
||||
chips = boards[1].get(f"chain_acn{i}")
|
||||
@@ -360,11 +356,13 @@ class BlackMiner(StockFirmware):
|
||||
|
||||
if rpc_stats is not None:
|
||||
try:
|
||||
expected_rate = rpc_stats["STATS"][1]["total_rateideal"]
|
||||
expected_rate = rpc_stats["STATS"][1].get("total_rateideal")
|
||||
if expected_rate is None:
|
||||
return self.sticker_hashrate.into(self.algo.unit.default)
|
||||
try:
|
||||
rate_unit = rpc_stats["STATS"][1]["rate_unit"]
|
||||
except KeyError:
|
||||
rate_unit = "GH"
|
||||
rate_unit = "MH"
|
||||
return self.algo.hashrate(
|
||||
rate=float(expected_rate), unit=self.algo.unit.from_str(rate_unit)
|
||||
).into(self.algo.unit.default)
|
||||
|
||||
@@ -77,6 +77,7 @@ class LUXMiner(LuxOSFirmware):
|
||||
rpc: LUXMinerRPCAPI
|
||||
|
||||
supports_shutdown = True
|
||||
supports_presets = True
|
||||
|
||||
data_locations = LUXMINER_DATA_LOC
|
||||
|
||||
@@ -131,12 +132,16 @@ class LUXMiner(LuxOSFirmware):
|
||||
return False
|
||||
|
||||
async def get_config(self) -> MinerConfig:
|
||||
data = await self.rpc.multicommand("tempctrl", "fans", "pools", "groups")
|
||||
data = await self.rpc.multicommand(
|
||||
"tempctrl", "fans", "pools", "groups", "config", "profiles"
|
||||
)
|
||||
return MinerConfig.from_luxos(
|
||||
rpc_tempctrl=data.get("tempctrl", [{}])[0],
|
||||
rpc_fans=data.get("fans", [{}])[0],
|
||||
rpc_pools=data.get("pools", [{}])[0],
|
||||
rpc_groups=data.get("groups", [{}])[0],
|
||||
rpc_config=data.get("config", [{}])[0],
|
||||
rpc_profiles=data.get("profiles", [{}])[0],
|
||||
)
|
||||
|
||||
async def upgrade_firmware(self) -> bool:
|
||||
|
||||
@@ -16,6 +16,10 @@
|
||||
from pyasic.miners.backends.btminer import BTMiner
|
||||
|
||||
|
||||
class M7X(BTMiner):
|
||||
supports_autotuning = True
|
||||
|
||||
|
||||
class M6X(BTMiner):
|
||||
supports_autotuning = True
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@ from pyasic.data.device import DeviceInfo
|
||||
from pyasic.data.error_codes import MinerErrorData
|
||||
from pyasic.data.pools import PoolMetrics
|
||||
from pyasic.device.algorithm import MinerAlgoType
|
||||
from pyasic.device.algorithm.base import GenericAlgo
|
||||
from pyasic.device.algorithm.hashrate import AlgoHashRate
|
||||
from pyasic.device.firmware import MinerFirmware
|
||||
from pyasic.device.makes import MinerMake
|
||||
@@ -46,7 +47,7 @@ class MinerProtocol(Protocol):
|
||||
make: MinerMake = None
|
||||
raw_model: MinerModelType = None
|
||||
firmware: MinerFirmware = None
|
||||
algo: type[MinerAlgoType] = None
|
||||
algo: type[MinerAlgoType] = GenericAlgo
|
||||
|
||||
expected_hashboards: int = None
|
||||
expected_chips: int = None
|
||||
|
||||
@@ -58,5 +58,9 @@ class HammerMake(BaseMiner):
|
||||
make = MinerMake.HAMMER
|
||||
|
||||
|
||||
class VolcMinerMake(BaseMiner):
|
||||
make = MinerMake.VOLCMINER
|
||||
|
||||
|
||||
class BraiinsMake(BaseMiner):
|
||||
make = MinerMake.BRAIINS
|
||||
|
||||
@@ -23,4 +23,5 @@ from .goldshell import *
|
||||
from .hammer import *
|
||||
from .iceriver import *
|
||||
from .innosilicon import *
|
||||
from .volcminer import *
|
||||
from .whatsminer import *
|
||||
|
||||
27
pyasic/miners/device/models/volcminer/DX/D1.py
Normal file
27
pyasic/miners/device/models/volcminer/DX/D1.py
Normal file
@@ -0,0 +1,27 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# Copyright 2024 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import VolcMinerMake
|
||||
|
||||
|
||||
class D1(VolcMinerMake):
|
||||
raw_model = MinerModel.VOLCMINER.D1
|
||||
|
||||
expected_chips = 105
|
||||
expected_hashboards = 3
|
||||
expected_fans = 4
|
||||
algo = MinerAlgo.SCRYPT
|
||||
1
pyasic/miners/device/models/volcminer/DX/__init__.py
Normal file
1
pyasic/miners/device/models/volcminer/DX/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
from .D1 import D1
|
||||
1
pyasic/miners/device/models/volcminer/__init__.py
Normal file
1
pyasic/miners/device/models/volcminer/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
from .DX import *
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
@@ -21,6 +6,7 @@ from pyasic.miners.device.makes import WhatsMinerMake
|
||||
class M20SPlusV30(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M20SPlusV30
|
||||
|
||||
expected_chips = None
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
@@ -21,6 +6,7 @@ from pyasic.miners.device.makes import WhatsMinerMake
|
||||
class M21SPlusV20(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M21SPlusV20
|
||||
|
||||
expected_chips = None
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
@@ -1,19 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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 .M20 import M20V10
|
||||
from .M20P import M20PV10, M20PV30
|
||||
from .M20S import M20SV10, M20SV20, M20SV30
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
@@ -21,7 +6,7 @@ from pyasic.miners.device.makes import WhatsMinerMake
|
||||
class M30KV10(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30KV10
|
||||
|
||||
expected_hashboards = 4
|
||||
expected_chips = 240
|
||||
expected_fans = 2
|
||||
expected_hashboards = 4
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
@@ -75,6 +60,7 @@ class M30SV60(WhatsMinerMake):
|
||||
class M30SV70(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SV70
|
||||
|
||||
expected_chips = None
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
@@ -137,6 +123,7 @@ class M30SVE50(WhatsMinerMake):
|
||||
class M30SVE60(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SVE60
|
||||
|
||||
expected_chips = None
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
@@ -145,6 +132,7 @@ class M30SVE60(WhatsMinerMake):
|
||||
class M30SVE70(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SVE70
|
||||
|
||||
expected_chips = None
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
@@ -234,6 +222,7 @@ class M30SVH20(WhatsMinerMake):
|
||||
class M30SVH30(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SVH30
|
||||
|
||||
expected_chips = None
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
@@ -260,6 +249,7 @@ class M30SVH50(WhatsMinerMake):
|
||||
class M30SVH60(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SVH60
|
||||
|
||||
expected_chips = 70
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
@@ -272,3 +262,12 @@ class M30SVI20(WhatsMinerMake):
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M30SVJ30(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SVJ30
|
||||
|
||||
expected_chips = 105
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
@@ -27,6 +12,15 @@ class M30SPlusV10(WhatsMinerMake):
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M30SPlusV100(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SPlusV100
|
||||
|
||||
expected_chips = 215
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M30SPlusV20(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SPlusV20
|
||||
|
||||
@@ -39,6 +33,7 @@ class M30SPlusV20(WhatsMinerMake):
|
||||
class M30SPlusV30(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SPlusV30
|
||||
|
||||
expected_chips = None
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
@@ -98,10 +93,10 @@ class M30SPlusV90(WhatsMinerMake):
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M30SPlusV100(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SPlusV100
|
||||
class M30SPlusVE100(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SPlusVE100
|
||||
|
||||
expected_chips = 215
|
||||
expected_chips = None
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
@@ -146,6 +141,7 @@ class M30SPlusVE60(WhatsMinerMake):
|
||||
class M30SPlusVE70(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SPlusVE70
|
||||
|
||||
expected_chips = None
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
@@ -154,6 +150,7 @@ class M30SPlusVE70(WhatsMinerMake):
|
||||
class M30SPlusVE80(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SPlusVE80
|
||||
|
||||
expected_chips = None
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
@@ -162,14 +159,7 @@ class M30SPlusVE80(WhatsMinerMake):
|
||||
class M30SPlusVE90(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SPlusVE90
|
||||
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M30SPlusVE100(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SPlusVE100
|
||||
|
||||
expected_chips = None
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
@@ -290,3 +280,39 @@ class M30SPlusVH60(WhatsMinerMake):
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M30SPlusVH70(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SPlusVH70
|
||||
|
||||
expected_chips = 70
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M30SPlusVI30(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SPlusVI30
|
||||
|
||||
expected_chips = 86
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M30SPlusVJ30(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SPlusVJ30
|
||||
|
||||
expected_chips = 105
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M30SPlusVJ40(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SPlusVJ40
|
||||
|
||||
expected_chips = 117
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
@@ -21,18 +6,18 @@ from pyasic.miners.device.makes import WhatsMinerMake
|
||||
class M30SPlusPlusV10(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SPlusPlusV10
|
||||
|
||||
expected_hashboards = 4
|
||||
expected_chips = 255
|
||||
expected_fans = 2
|
||||
expected_hashboards = 4
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M30SPlusPlusV20(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SPlusPlusV20
|
||||
|
||||
expected_hashboards = 4
|
||||
expected_chips = 255
|
||||
expected_fans = 2
|
||||
expected_hashboards = 4
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
@@ -93,6 +78,7 @@ class M30SPlusPlusVG40(WhatsMinerMake):
|
||||
class M30SPlusPlusVG50(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVG50
|
||||
|
||||
expected_chips = 123
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
@@ -107,6 +93,24 @@ class M30SPlusPlusVH10(WhatsMinerMake):
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M30SPlusPlusVH100(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVH100
|
||||
|
||||
expected_chips = 82
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M30SPlusPlusVH110(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVH110
|
||||
|
||||
expected_chips = 105
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M30SPlusPlusVH20(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVH20
|
||||
|
||||
@@ -179,10 +183,10 @@ class M30SPlusPlusVH90(WhatsMinerMake):
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M30SPlusPlusVH100(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVH100
|
||||
class M30SPlusPlusVI30(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVI30
|
||||
|
||||
expected_chips = 82
|
||||
expected_chips = 111
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
@@ -191,6 +195,7 @@ class M30SPlusPlusVH100(WhatsMinerMake):
|
||||
class M30SPlusPlusVJ20(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVJ20
|
||||
|
||||
expected_chips = 70
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
@@ -199,6 +204,52 @@ class M30SPlusPlusVJ20(WhatsMinerMake):
|
||||
class M30SPlusPlusVJ30(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVJ30
|
||||
|
||||
expected_chips = 74
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M30SPlusPlusVJ50(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVJ50
|
||||
|
||||
expected_chips = 82
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M30SPlusPlusVJ60(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVJ60
|
||||
|
||||
expected_chips = 111
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M30SPlusPlusVJ70(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVJ70
|
||||
|
||||
expected_chips = 117
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M30SPlusPlusVK30(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVK30
|
||||
|
||||
expected_chips = 74
|
||||
expected_fans = 2
|
||||
expected_hashboards = 2
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M30SPlusPlusVK40(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVK40
|
||||
|
||||
expected_chips = 105
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
@@ -22,7 +7,7 @@ class M31HV10(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M31HV10
|
||||
|
||||
expected_chips = 114
|
||||
expected_fans = 0
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
@@ -30,7 +15,7 @@ class M31HV10(WhatsMinerMake):
|
||||
class M31HV40(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M31HV40
|
||||
|
||||
expected_hashboards = 4
|
||||
expected_chips = 136
|
||||
expected_fans = 0
|
||||
expected_fans = 2
|
||||
expected_hashboards = 4
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
@@ -21,7 +6,7 @@ from pyasic.miners.device.makes import WhatsMinerMake
|
||||
class M31LV10(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M31LV10
|
||||
|
||||
expected_chips = 114
|
||||
expected_chips = 144
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
expected_hashboards = 4
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
@@ -84,6 +69,7 @@ class M31SV70(WhatsMinerMake):
|
||||
class M31SV80(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M31SV80
|
||||
|
||||
expected_chips = None
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
@@ -119,6 +105,7 @@ class M31SVE20(WhatsMinerMake):
|
||||
class M31SVE30(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M31SVE30
|
||||
|
||||
expected_chips = None
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
@@ -27,6 +12,15 @@ class M31SPlusV10(WhatsMinerMake):
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M31SPlusV100(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M31SPlusV100
|
||||
|
||||
expected_chips = 111
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M31SPlusV20(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M31SPlusV20
|
||||
|
||||
@@ -90,15 +84,6 @@ class M31SPlusV90(WhatsMinerMake):
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M31SPlusV100(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M31SPlusV100
|
||||
|
||||
expected_chips = 111
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M31SPlusVE10(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M31SPlusVE10
|
||||
|
||||
@@ -147,6 +132,7 @@ class M31SPlusVE50(WhatsMinerMake):
|
||||
class M31SPlusVE60(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M31SPlusVE60
|
||||
|
||||
expected_chips = None
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
@@ -155,6 +141,7 @@ class M31SPlusVE60(WhatsMinerMake):
|
||||
class M31SPlusVE80(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M31SPlusVE80
|
||||
|
||||
expected_chips = None
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
@@ -172,6 +159,7 @@ class M31SPlusVF20(WhatsMinerMake):
|
||||
class M31SPlusVF30(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M31SPlusVF30
|
||||
|
||||
expected_chips = None
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
@@ -21,7 +6,7 @@ from pyasic.miners.device.makes import WhatsMinerMake
|
||||
class M33SVG30(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M33SVG30
|
||||
|
||||
expected_hashboards = 4
|
||||
expected_chips = 116
|
||||
expected_fans = 0
|
||||
expected_hashboards = 4
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
@@ -21,24 +6,34 @@ from pyasic.miners.device.makes import WhatsMinerMake
|
||||
class M33SPlusVG20(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M33SPlusVG20
|
||||
|
||||
expected_hashboards = 4
|
||||
expected_chips = 112
|
||||
expected_fans = 0
|
||||
expected_hashboards = 4
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M33SPlusVG30(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M33SPlusVG30
|
||||
|
||||
expected_chips = 162
|
||||
expected_fans = 0
|
||||
expected_hashboards = 4
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M33SPlusVH20(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M33SPlusVH20
|
||||
|
||||
expected_hashboards = 4
|
||||
expected_chips = 100
|
||||
expected_fans = 0
|
||||
expected_hashboards = 4
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M33SPlusVH30(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M33SPlusVH30
|
||||
|
||||
expected_hashboards = 4
|
||||
expected_chips = None
|
||||
expected_fans = 0
|
||||
expected_hashboards = 4
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
@@ -1,44 +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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M33SPlusPlusVG40(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M33SPlusPlusVG40
|
||||
|
||||
expected_chips = 174
|
||||
expected_fans = 0
|
||||
expected_hashboards = 4
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M33SPlusPlusVH20(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M33SPlusPlusVH20
|
||||
|
||||
expected_hashboards = 4
|
||||
expected_chips = 112
|
||||
expected_fans = 0
|
||||
expected_hashboards = 4
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M33SPlusPlusVH30(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M33SPlusPlusVH30
|
||||
|
||||
expected_hashboards = 4
|
||||
expected_chips = None
|
||||
expected_fans = 0
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M33SPlusPlusVG40(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M33SPlusPlusVG40
|
||||
|
||||
expected_hashboards = 4
|
||||
expected_chips = 174
|
||||
expected_fans = 0
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
@@ -21,7 +6,7 @@ from pyasic.miners.device.makes import WhatsMinerMake
|
||||
class M34SPlusVE10(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M34SPlusVE10
|
||||
|
||||
expected_hashboards = 4
|
||||
expected_chips = 116
|
||||
expected_fans = 0
|
||||
expected_hashboards = 4
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
@@ -21,7 +6,7 @@ from pyasic.miners.device.makes import WhatsMinerMake
|
||||
class M36SVE10(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M36SVE10
|
||||
|
||||
expected_hashboards = 4
|
||||
expected_chips = 114
|
||||
expected_fans = 0
|
||||
expected_hashboards = 4
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
@@ -21,7 +6,7 @@ from pyasic.miners.device.makes import WhatsMinerMake
|
||||
class M36SPlusVG30(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M36SPlusVG30
|
||||
|
||||
expected_hashboards = 4
|
||||
expected_chips = 108
|
||||
expected_fans = 0
|
||||
expected_hashboards = 4
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
@@ -21,7 +6,7 @@ from pyasic.miners.device.makes import WhatsMinerMake
|
||||
class M36SPlusPlusVH30(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M36SPlusPlusVH30
|
||||
|
||||
expected_hashboards = 4
|
||||
expected_chips = 80
|
||||
expected_fans = 0
|
||||
expected_hashboards = 4
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
@@ -1,19 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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 .M30 import M30V10, M30V20
|
||||
from .M30K import M30KV10
|
||||
from .M30L import M30LV10
|
||||
@@ -47,6 +31,7 @@ from .M30S import (
|
||||
M30SVH50,
|
||||
M30SVH60,
|
||||
M30SVI20,
|
||||
M30SVJ30,
|
||||
)
|
||||
from .M30S_Plus import (
|
||||
M30SPlusV10,
|
||||
@@ -80,6 +65,10 @@ from .M30S_Plus import (
|
||||
M30SPlusVH40,
|
||||
M30SPlusVH50,
|
||||
M30SPlusVH60,
|
||||
M30SPlusVH70,
|
||||
M30SPlusVI30,
|
||||
M30SPlusVJ30,
|
||||
M30SPlusVJ40,
|
||||
)
|
||||
from .M30S_Plus_Plus import (
|
||||
M30SPlusPlusV10,
|
||||
@@ -101,8 +90,15 @@ from .M30S_Plus_Plus import (
|
||||
M30SPlusPlusVH80,
|
||||
M30SPlusPlusVH90,
|
||||
M30SPlusPlusVH100,
|
||||
M30SPlusPlusVH110,
|
||||
M30SPlusPlusVI30,
|
||||
M30SPlusPlusVJ20,
|
||||
M30SPlusPlusVJ30,
|
||||
M30SPlusPlusVJ50,
|
||||
M30SPlusPlusVJ60,
|
||||
M30SPlusPlusVJ70,
|
||||
M30SPlusPlusVK30,
|
||||
M30SPlusPlusVK40,
|
||||
)
|
||||
from .M31 import M31V10, M31V20
|
||||
from .M31H import M31HV10, M31HV40
|
||||
@@ -145,10 +141,9 @@ from .M31S_Plus import (
|
||||
)
|
||||
from .M31SE import M31SEV10, M31SEV20, M31SEV30
|
||||
from .M32 import M32V10, M32V20
|
||||
from .M32S import M32S
|
||||
from .M33 import M33V10, M33V20, M33V30
|
||||
from .M33S import M33SVG30
|
||||
from .M33S_Plus import M33SPlusVG20, M33SPlusVH20, M33SPlusVH30
|
||||
from .M33S_Plus import M33SPlusVG20, M33SPlusVG30, M33SPlusVH20, M33SPlusVH30
|
||||
from .M33S_Plus_Plus import M33SPlusPlusVG40, M33SPlusPlusVH20, M33SPlusPlusVH30
|
||||
from .M34S_Plus import M34SPlusVE10
|
||||
from .M36S import M36SVE10
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
@@ -21,9 +6,9 @@ from pyasic.miners.device.makes import WhatsMinerMake
|
||||
class M50VE30(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50VE30
|
||||
|
||||
expected_hashboards = 4
|
||||
expected_chips = 255
|
||||
expected_fans = 2
|
||||
expected_hashboards = 4
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
@@ -120,6 +105,7 @@ class M50VH90(WhatsMinerMake):
|
||||
class M50VJ10(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50VJ10
|
||||
|
||||
expected_chips = 86
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
@@ -141,3 +127,39 @@ class M50VJ30(WhatsMinerMake):
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50VJ40(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50VJ40
|
||||
|
||||
expected_chips = 123
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50VJ60(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50VJ60
|
||||
|
||||
expected_chips = 164
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50VK40(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50VK40
|
||||
|
||||
expected_chips = 111
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50VK50(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50VK50
|
||||
|
||||
expected_chips = 117
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
@@ -1,50 +1,12 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M50SVJ10(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SVJ10
|
||||
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SVJ20(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SVJ20
|
||||
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SVJ30(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SVJ30
|
||||
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SVH10(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SVH10
|
||||
|
||||
expected_chips = None
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
@@ -71,6 +33,7 @@ class M50SVH30(WhatsMinerMake):
|
||||
class M50SVH40(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SVH40
|
||||
|
||||
expected_chips = 148
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
@@ -83,3 +46,129 @@ class M50SVH50(WhatsMinerMake):
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SVJ10(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SVJ10
|
||||
|
||||
expected_chips = 111
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SVJ20(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SVJ20
|
||||
|
||||
expected_chips = 117
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SVJ30(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SVJ30
|
||||
|
||||
expected_chips = 123
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SVJ40(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SVJ40
|
||||
|
||||
expected_chips = 129
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SVJ50(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SVJ50
|
||||
|
||||
expected_chips = 135
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SVK10(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SVK10
|
||||
|
||||
expected_chips = 78
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SVK20(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SVK20
|
||||
|
||||
expected_chips = 111
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SVK30(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SVK30
|
||||
|
||||
expected_chips = 117
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SVK50(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SVK50
|
||||
|
||||
expected_chips = 105
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SVK60(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SVK60
|
||||
|
||||
expected_chips = 111
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SVK70(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SVK70
|
||||
|
||||
expected_chips = 123
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SVK80(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SVK80
|
||||
|
||||
expected_chips = 86
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SVL20(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SVL20
|
||||
|
||||
expected_chips = 78
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SVL30(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SVL30
|
||||
|
||||
expected_chips = 82
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
@@ -21,6 +6,7 @@ from pyasic.miners.device.makes import WhatsMinerMake
|
||||
class M50SPlusVH30(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SPlusVH30
|
||||
|
||||
expected_chips = 172
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
@@ -29,6 +15,7 @@ class M50SPlusVH30(WhatsMinerMake):
|
||||
class M50SPlusVH40(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SPlusVH40
|
||||
|
||||
expected_chips = 180
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
@@ -37,6 +24,34 @@ class M50SPlusVH40(WhatsMinerMake):
|
||||
class M50SPlusVJ30(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SPlusVJ30
|
||||
|
||||
expected_chips = 156
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SPlusVJ40(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SPlusVJ40
|
||||
|
||||
expected_chips = 164
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SPlusVJ60(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SPlusVJ60
|
||||
|
||||
expected_chips = 164
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SPlusVK10(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SPlusVK10
|
||||
|
||||
expected_chips = 111
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
@@ -49,3 +64,39 @@ class M50SPlusVK20(WhatsMinerMake):
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SPlusVK30(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SPlusVK30
|
||||
|
||||
expected_chips = 123
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SPlusVL10(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SPlusVL10
|
||||
|
||||
expected_chips = 82
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SPlusVL20(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SPlusVL20
|
||||
|
||||
expected_chips = 86
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SPlusVL30(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SPlusVL30
|
||||
|
||||
expected_chips = 105
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
@@ -30,6 +15,7 @@ class M50SPlusPlusVK10(WhatsMinerMake):
|
||||
class M50SPlusPlusVK20(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SPlusPlusVK20
|
||||
|
||||
expected_chips = 123
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
@@ -38,7 +24,79 @@ class M50SPlusPlusVK20(WhatsMinerMake):
|
||||
class M50SPlusPlusVK30(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SPlusPlusVK30
|
||||
|
||||
expected_chips = 76
|
||||
expected_chips = 156
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SPlusPlusVK40(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SPlusPlusVK40
|
||||
|
||||
expected_chips = 129
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SPlusPlusVK50(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SPlusPlusVK50
|
||||
|
||||
expected_chips = 135
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SPlusPlusVK60(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SPlusPlusVK60
|
||||
|
||||
expected_chips = 111
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SPlusPlusVL20(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SPlusPlusVL20
|
||||
|
||||
expected_chips = 86
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SPlusPlusVL30(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SPlusPlusVL30
|
||||
|
||||
expected_chips = 111
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SPlusPlusVL40(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SPlusPlusVL40
|
||||
|
||||
expected_chips = 117
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SPlusPlusVL50(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SPlusPlusVL50
|
||||
|
||||
expected_chips = 105
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class M50SPlusPlusVL60(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M50SPlusPlusVL60
|
||||
|
||||
expected_chips = 111
|
||||
expected_fans = 2
|
||||
expected_hashboards = 3
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
12
pyasic/miners/device/models/whatsminer/M5X/M52S.py
Normal file
12
pyasic/miners/device/models/whatsminer/M5X/M52S.py
Normal file
@@ -0,0 +1,12 @@
|
||||
from pyasic.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M52SVK30(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M52SVK30
|
||||
|
||||
expected_chips = 62
|
||||
expected_fans = 0
|
||||
expected_hashboards = 4
|
||||
algo = MinerAlgo.SHA256
|
||||
12
pyasic/miners/device/models/whatsminer/M5X/M52S_Plus_Plus.py
Normal file
12
pyasic/miners/device/models/whatsminer/M5X/M52S_Plus_Plus.py
Normal file
@@ -0,0 +1,12 @@
|
||||
from pyasic.device.algorithm import MinerAlgo
|
||||
from pyasic.device.models import MinerModel
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M52SPlusPlusVL10(WhatsMinerMake):
|
||||
raw_model = MinerModel.WHATSMINER.M52SPlusPlusVL10
|
||||
|
||||
expected_chips = 87
|
||||
expected_fans = 0
|
||||
expected_hashboards = 4
|
||||
algo = MinerAlgo.SHA256
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user