feature: add mining presets for luxos (#262)

* feature: add mining mode preset for luxos

* bug: fix type hint
This commit is contained in:
wilfredallyn
2024-12-31 14:48:13 -05:00
committed by GitHub
parent 56536fd258
commit 66a8932ea3
4 changed files with 50 additions and 3 deletions

View File

@@ -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",