slightly improved getting data from bmminer X9, X17, and X19 with an improvement to finding offset
This commit is contained in:
@@ -130,8 +130,8 @@ class BMMiner(BaseMiner):
|
|||||||
async def get_data(self) -> MinerData:
|
async def get_data(self) -> MinerData:
|
||||||
data = MinerData(ip=str(self.ip), ideal_chips=self.nominal_chips * 3)
|
data = MinerData(ip=str(self.ip), ideal_chips=self.nominal_chips * 3)
|
||||||
|
|
||||||
board_offset = 1
|
board_offset = -1
|
||||||
fan_offset = 1
|
fan_offset = -1
|
||||||
|
|
||||||
model = await self.get_model()
|
model = await self.get_model()
|
||||||
hostname = await self.get_hostname()
|
hostname = await self.get_hostname()
|
||||||
@@ -167,12 +167,14 @@ class BMMiner(BaseMiner):
|
|||||||
boards = stats.get("STATS")
|
boards = stats.get("STATS")
|
||||||
if boards:
|
if boards:
|
||||||
if len(boards) > 0:
|
if len(boards) > 0:
|
||||||
for board_num in range(16):
|
for board_num in range(1, 16, 5):
|
||||||
if (
|
for _b_num in range(5):
|
||||||
not boards[1].get(f"chain_acn{board_num+1}") == 0
|
b = stats[1].get(f"fan{board_num + _b_num}")
|
||||||
and board_offset == 1
|
|
||||||
):
|
if b and not b == 0 and board_offset == -1:
|
||||||
board_offset = board_num + 1
|
board_offset = board_num
|
||||||
|
if board_offset == -1:
|
||||||
|
board_offset = 1
|
||||||
|
|
||||||
data.left_chips = boards[1].get(f"chain_acn{board_offset}")
|
data.left_chips = boards[1].get(f"chain_acn{board_offset}")
|
||||||
data.center_chips = boards[1].get(f"chain_acn{board_offset+1}")
|
data.center_chips = boards[1].get(f"chain_acn{board_offset+1}")
|
||||||
@@ -182,9 +184,13 @@ class BMMiner(BaseMiner):
|
|||||||
temp = stats.get("STATS")
|
temp = stats.get("STATS")
|
||||||
if temp:
|
if temp:
|
||||||
if len(temp) > 1:
|
if len(temp) > 1:
|
||||||
for fan_num in range(8):
|
for fan_num in range(1, 8, 4):
|
||||||
if not temp[1].get(f"fan{fan_num+1}") == 0 and fan_offset == 1:
|
for _f_num in range(4):
|
||||||
fan_offset = fan_num + 1
|
f = temp[1].get(f"fan{fan_num + _f_num}")
|
||||||
|
if f and not f == 0 and fan_offset == -1:
|
||||||
|
fan_offset = fan_num
|
||||||
|
if fan_offset == -1:
|
||||||
|
fan_offset = 1
|
||||||
for fan in range(self.fan_count):
|
for fan in range(self.fan_count):
|
||||||
setattr(
|
setattr(
|
||||||
data, f"fan_{fan + 1}", temp[1].get(f"fan{fan_offset+fan}")
|
data, f"fan_{fan + 1}", temp[1].get(f"fan{fan_offset+fan}")
|
||||||
|
|||||||
Reference in New Issue
Block a user