fixed formatting on getting bad boards

This commit is contained in:
UpstreamData
2022-01-24 11:15:14 -07:00
parent 6d9de87fb8
commit 465d0e6f1c
2 changed files with 51 additions and 13 deletions

View File

@@ -10,17 +10,36 @@ class HiveonT9(BMMiner):
def __repr__(self) -> str:
return f"HiveonT9: {str(self.ip)}"
async def get_bad_boards(self) -> list:
"""Checks for and provides list of non working boards."""
async def get_board_info(self) -> list:
"""Gets data on each board and chain in the miner."""
board_stats = await self.api.stats()
stats = board_stats['STATS'][1]
bad_boards = []
boards = []
board_chains = {6: [2, 9, 10], 7: [3, 11, 12], 8: [4, 13, 14]}
for board in board_chains:
for idx, board in enumerate(board_chains):
boards.append({"board": board, "chains": []})
for chain in board_chains[board]:
count = stats[f"chain_acn{chain}"]
chips = stats[f"chain_acs{chain}"].replace(" ", "")
if not count == 18 or "x" in chips:
bad_boards.append({"board": board, "chain": chain, "chip_count": count, "chip_status": chips})
boards[idx]["chains"].append({
"chain": chain,
"chip_count": count,
"chip_status": chips
})
return boards
async def get_bad_boards(self) -> list:
"""Checks for and provides list of non working boards."""
boards = await self.get_board_info()
bad_boards = []
idx = 0
for board in boards:
bad_boards.append({"board": board["board"], "chains": []})
for chain in board["chains"]:
if not chain["chip_count"] == 18 or "x" in chain["chip_status"]:
bad_boards[idx]["chains"].append(chain)
if not bad_boards[idx]["chains"]:
del bad_boards[idx]
idx -= 1
idx += 1
return bad_boards

View File

@@ -109,15 +109,34 @@ class BOSMiner(BaseMiner):
await file.write(toml_conf)
await conn.run("/etc/init.d/bosminer restart")
async def get_board_info(self) -> list:
"""Gets data on each board and chain in the miner."""
devdetails = await self.api.devdetails()
devs = devdetails['DEVDETAILS']
boards = []
for idx, board in enumerate(devs):
boards.append({"board": board["ID"], "chains": []})
boards[idx]["chains"].append({
"chain": board["ID"],
"chip_count": board['Chips'],
"chip_status": "o" * board['Chips']
})
return boards
async def get_bad_boards(self) -> list:
"""Checks for and provides list of non working boards."""
devs = await self.api.devdetails()
boards = await self.get_board_info()
bad_boards = []
chains = devs['DEVDETAILS']
for chain in chains:
if not chain['Chips'] == 63:
bad_boards.append({"board": chain["ID"], "chain": chain["ID"], "chip_count": chain['Chips'], "chip_status": "o"*chain['Chips']})
idx = 0
for board in boards:
bad_boards.append({"board": board["board"], "chains": []})
for chain in board["chains"]:
if not chain["chip_count"] == 63:
bad_boards[idx]["chains"].append(chain)
if not bad_boards[idx]["chains"]:
del bad_boards[idx]
idx -= 1
idx += 1
return bad_boards
async def check_good_boards(self) -> str: