modified upgrade_firmware for all subclasses

This commit is contained in:
1e9abhi1e10
2024-06-26 19:06:51 +05:30
parent ba69a1de2c
commit 45e2c9a403
2 changed files with 26 additions and 2 deletions

View File

@@ -561,10 +561,11 @@ class BaseMiner(MinerProtocol):
if self._ssh_cls is not None:
self.ssh = self._ssh_cls(ip)
async def upgrade_firmware(self, url: str = None, version: str = "latest") -> bool:
async def upgrade_firmware(self, file: str = None, url: str = None, version: str = "latest") -> bool:
"""Upgrade the firmware of the miner.
Parameters:
file: The file path to the firmware to upgrade from.
url: The URL to download the firmware from.
version: The version of the firmware to upgrade to.
@@ -572,7 +573,9 @@ class BaseMiner(MinerProtocol):
A boolean value of the success of the firmware upgrade.
"""
try:
if url is not None:
if file is not None:
await self.web.send_command("firmware-upgrade", file=file)
elif url is not None:
await self.web.send_command("firmware-upgrade", url=url)
else:
await self.web.send_command("firmware-upgrade", version=version)

View File

@@ -21,26 +21,47 @@ from pyasic.miners.base import BaseMiner
class StockFirmware(BaseMiner):
firmware = MinerFirmware.STOCK
async def upgrade_firmware(self, *, url: str = None, version: str = "latest") -> bool:
return await super().upgrade_firmware(url=url, version=version)
class BraiinsOSFirmware(BaseMiner):
firmware = MinerFirmware.BRAIINS_OS
async def upgrade_firmware(self, *, url: str = None, version: str = "latest") -> bool:
return await super().upgrade_firmware(url=url, version=version)
class VNishFirmware(BaseMiner):
firmware = MinerFirmware.VNISH
async def upgrade_firmware(self, *, url: str = None, version: str = "latest") -> bool:
return await super().upgrade_firmware(url=url, version=version)
class ePICFirmware(BaseMiner):
firmware = MinerFirmware.EPIC
async def upgrade_firmware(self, *, url: str = None, version: str = "latest") -> bool:
return await super().upgrade_firmware(url=url, version=version)
class HiveonFirmware(BaseMiner):
firmware = MinerFirmware.HIVEON
async def upgrade_firmware(self, *, url: str = None, version: str = "latest") -> bool:
return await super().upgrade_firmware(url=url, version=version)
class LuxOSFirmware(BaseMiner):
firmware = MinerFirmware.LUXOS
async def upgrade_firmware(self, *, url: str = None, version: str = "latest") -> bool:
return await super().upgrade_firmware(url=url, version=version)
class MaraFirmware(BaseMiner):
firmware = MinerFirmware.MARATHON
async def upgrade_firmware(self, *, url: str = None, version: str = "latest") -> bool:
return await super().upgrade_firmware(url=url, version=version)