Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
83035a869b | ||
|
|
4c104a59ff | ||
|
|
e708ae3728 | ||
|
|
a4352816ee | ||
|
|
336bd9c002 | ||
|
|
e3c917efde | ||
|
|
4d71012ed6 | ||
|
|
1acdba8ae0 |
@@ -14,3 +14,16 @@
|
||||
show_root_heading: false
|
||||
heading_level: 0
|
||||
|
||||
## Avalon Nano 3s (Stock)
|
||||
|
||||
- [ ] Shutdowns
|
||||
- [ ] Power Modes
|
||||
- [ ] Setpoints
|
||||
- [ ] Presets
|
||||
|
||||
::: pyasic.miners.avalonminer.cgminer.nano.nano3.CGMinerAvalonNano3s
|
||||
handler: python
|
||||
options:
|
||||
show_root_heading: false
|
||||
heading_level: 0
|
||||
|
||||
|
||||
@@ -554,6 +554,9 @@ details {
|
||||
<ul>
|
||||
<li><a href="../avalonminer/nano#avalon-nano-3-stock">Avalon Nano 3 (Stock)</a></li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li><a href="../avalonminer/nano#avalon-nano-3s-stock">Avalon Nano 3s (Stock)</a></li>
|
||||
</ul>
|
||||
</details>
|
||||
<details>
|
||||
<summary>A15X Series:</summary>
|
||||
|
||||
@@ -258,15 +258,16 @@ class MiningModePowerTune(MinerConfigValue):
|
||||
sd_cfg = {}
|
||||
if self.scaling.shutdown is not None:
|
||||
sd_cfg = self.scaling.shutdown.as_boser()
|
||||
power_target_kwargs = {}
|
||||
if self.scaling.step is not None:
|
||||
power_target_kwargs["power_step"] = Power(self.scaling.step)
|
||||
if self.scaling.minimum is not None:
|
||||
power_target_kwargs["min_power_target"] = Power(self.scaling.minimum)
|
||||
cfg["set_dps"] = SetDpsRequest(
|
||||
save_action=SaveAction.SAVE_AND_APPLY,
|
||||
enable=True,
|
||||
**sd_cfg,
|
||||
target=DpsTarget(
|
||||
power_target=DpsPowerTarget(
|
||||
power_step=Power(self.scaling.step),
|
||||
min_power_target=Power(self.scaling.minimum),
|
||||
)
|
||||
),
|
||||
target=DpsTarget(power_target=DpsPowerTarget(**power_target_kwargs)),
|
||||
)
|
||||
|
||||
return cfg
|
||||
@@ -329,7 +330,6 @@ class MiningModeHashrateTune(MinerConfigValue):
|
||||
conf["hashrate_target"] = self.hashrate
|
||||
return {"autotuning": conf}
|
||||
|
||||
@property
|
||||
def as_boser(self) -> dict:
|
||||
cfg = {
|
||||
"set_performance_mode": SetPerformanceModeRequest(
|
||||
@@ -349,14 +349,21 @@ class MiningModeHashrateTune(MinerConfigValue):
|
||||
sd_cfg = {}
|
||||
if self.scaling.shutdown is not None:
|
||||
sd_cfg = self.scaling.shutdown.as_boser()
|
||||
hashrate_target_kwargs = {}
|
||||
if self.scaling.step is not None:
|
||||
hashrate_target_kwargs["hashrate_step"] = TeraHashrate(
|
||||
self.scaling.step
|
||||
)
|
||||
if self.scaling.minimum is not None:
|
||||
hashrate_target_kwargs["min_hashrate_target"] = TeraHashrate(
|
||||
self.scaling.minimum
|
||||
)
|
||||
cfg["set_dps"] = SetDpsRequest(
|
||||
save_action=SaveAction.SAVE_AND_APPLY,
|
||||
enable=True,
|
||||
**sd_cfg,
|
||||
target=DpsTarget(
|
||||
hashrate_target=DpsHashrateTarget(
|
||||
hashrate_step=TeraHashrate(self.scaling.step),
|
||||
min_hashrate_target=TeraHashrate(self.scaling.minimum),
|
||||
)
|
||||
hashrate_target=DpsHashrateTarget(**hashrate_target_kwargs)
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -451,6 +451,7 @@ class AvalonminerModels(MinerModelType):
|
||||
Avalon1246 = "Avalon 1246"
|
||||
Avalon1566 = "Avalon 1566"
|
||||
AvalonNano3 = "Avalon Nano 3"
|
||||
AvalonNano3s = "Avalon Nano 3s"
|
||||
|
||||
def __str__(self):
|
||||
return self.value
|
||||
|
||||
@@ -14,4 +14,4 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from .nano3 import CGMinerAvalonNano3
|
||||
from .nano3 import CGMinerAvalonNano3, CGMinerAvalonNano3s
|
||||
|
||||
@@ -24,7 +24,7 @@ from pyasic.miners.data import (
|
||||
RPCAPICommand,
|
||||
WebAPICommand,
|
||||
)
|
||||
from pyasic.miners.device.models import AvalonNano3
|
||||
from pyasic.miners.device.models import AvalonNano3, AvalonNano3s
|
||||
from pyasic.web.avalonminer import AvalonMinerWebAPI
|
||||
|
||||
AVALON_NANO_DATA_LOC = DataLocations(
|
||||
@@ -105,3 +105,7 @@ class CGMinerAvalonNano3(AvalonMiner, AvalonNano3):
|
||||
return mac.upper()
|
||||
except (KeyError, ValueError):
|
||||
pass
|
||||
|
||||
|
||||
class CGMinerAvalonNano3s(AvalonMiner, AvalonNano3s):
|
||||
pass
|
||||
|
||||
@@ -86,6 +86,7 @@ class LUXMiner(LuxOSFirmware):
|
||||
|
||||
supports_shutdown = True
|
||||
supports_presets = True
|
||||
supports_autotuning = True
|
||||
|
||||
data_locations = LUXMINER_DATA_LOC
|
||||
|
||||
@@ -191,10 +192,10 @@ class LUXMiner(LuxOSFirmware):
|
||||
try:
|
||||
if await self.atm_enabled():
|
||||
re_enable_atm = True
|
||||
await self.rpc.atmset("enabled=false")
|
||||
await self.rpc.atmset(enabled=False)
|
||||
result = await self.rpc.profileset(new_preset)
|
||||
if re_enable_atm:
|
||||
await self.rpc.atmset("enabled=true")
|
||||
await self.rpc.atmset(enabled=True)
|
||||
except APIError:
|
||||
raise
|
||||
except Exception as e:
|
||||
|
||||
@@ -1 +1 @@
|
||||
from .nano3 import AvalonNano3
|
||||
from .nano3 import AvalonNano3, AvalonNano3s
|
||||
|
||||
@@ -10,3 +10,12 @@ class AvalonNano3(AvalonMinerMake):
|
||||
expected_chips = 10
|
||||
expected_fans = 1
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
|
||||
class AvalonNano3s(AvalonMinerMake):
|
||||
raw_model = MinerModel.AVALONMINER.AvalonNano3s
|
||||
|
||||
expected_hashboards = 1
|
||||
expected_chips = 12
|
||||
expected_fans = 1
|
||||
algo = MinerAlgo.SHA256
|
||||
|
||||
@@ -506,6 +506,7 @@ MINER_CLASSES = {
|
||||
"AVALONMINER 1166PRO": CGMinerAvalon1166Pro,
|
||||
"AVALONMINER 1246": CGMinerAvalon1246,
|
||||
"AVALONMINER NANO3": CGMinerAvalonNano3,
|
||||
"AVALON NANO3S": CGMinerAvalonNano3s,
|
||||
"AVALONMINER 15-194": CGMinerAvalon1566,
|
||||
},
|
||||
MinerTypes.INNOSILICON: {
|
||||
@@ -879,8 +880,6 @@ class MinerFactory:
|
||||
return MinerTypes.INNOSILICON
|
||||
if "Miner UI" in web_text:
|
||||
return MinerTypes.AURADINE
|
||||
if "<title>Antminer</title>" in web_text:
|
||||
return MinerTypes.MSKMINER
|
||||
|
||||
async def _get_miner_socket(self, ip: str) -> MinerTypes | None:
|
||||
commands = ["version", "devdetails"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[project]
|
||||
name = "pyasic"
|
||||
version = "0.72.2"
|
||||
version = "0.72.5"
|
||||
|
||||
description = "A simplified and standardized interface for Bitcoin ASICs."
|
||||
authors = [{name = "UpstreamData", email = "brett@upstreamdata.ca"}]
|
||||
|
||||
Reference in New Issue
Block a user