bug: fix AntminerOld board parsing

This commit is contained in:
Upstream Data
2024-10-30 14:37:19 -06:00
parent c3ab814d77
commit 275d87e4fe

View File

@@ -597,49 +597,44 @@ class AntminerOld(CGMiner):
pass pass
if rpc_stats is not None: if rpc_stats is not None:
try: board_offset = -1
board_offset = -1 boards = rpc_stats["STATS"]
boards = rpc_stats["STATS"] if len(boards) > 1:
if len(boards) > 1: for board_num in range(1, 16, 5):
for board_num in range(1, 16, 5): for _b_num in range(5):
for _b_num in range(5): b = boards[1].get(f"chain_acn{board_num + _b_num}")
b = boards[1].get(f"chain_acn{board_num + _b_num}")
if b and not b == 0 and board_offset == -1: if b and not b == 0 and board_offset == -1:
board_offset = board_num board_offset = board_num
if board_offset == -1: if board_offset == -1:
board_offset = 1 board_offset = 1
for i in range( for i in range(board_offset, board_offset + self.expected_hashboards):
board_offset, board_offset + self.expected_hashboards hashboard = HashBoard(
): slot=i - board_offset, expected_chips=self.expected_chips
hashboard = HashBoard( )
slot=i - board_offset, expected_chips=self.expected_chips
)
chip_temp = boards[1].get(f"temp{i}") chip_temp = boards[1].get(f"temp{i}")
if chip_temp: if chip_temp:
hashboard.chip_temp = round(chip_temp) hashboard.chip_temp = round(chip_temp)
temp = boards[1].get(f"temp2_{i}") temp = boards[1].get(f"temp2_{i}")
if temp: if temp:
hashboard.temp = round(temp) hashboard.temp = round(temp)
hashrate = boards[1].get(f"chain_rate{i}") hashrate = boards[1].get(f"chain_rate{i}")
if hashrate: if hashrate:
hashboard.hashrate = AlgoHashRate.SHA256( hashboard.hashrate = AlgoHashRate.SHA256(
hashrate, HashUnit.SHA256.GH float(hashrate), HashUnit.SHA256.GH
).into(self.algo.unit.default) ).into(self.algo.unit.default)
chips = boards[1].get(f"chain_acn{i}") chips = boards[1].get(f"chain_acn{i}")
if chips: if chips:
hashboard.chips = chips hashboard.chips = chips
hashboard.missing = False hashboard.missing = False
if (not chips) or (not chips > 0): if (not chips) or (not chips > 0):
hashboard.missing = True hashboard.missing = True
hashboards.append(hashboard) hashboards.append(hashboard)
except (LookupError, ValueError, TypeError):
pass
return hashboards return hashboards