Add all the currently known Whatsminer M6X machines (#77)
* Create new BTMiner M6X backend class to represent Whatsminer new M6X generation * Add all new known types of Whatsminer M6X * Ensure all new types are imported in their respective __init__.py * Create all BTMiner API class for known types of new M6X generation * Ensure all new BTMiner API class are imported in __init__.py * Fix erroneous M6X models data * Ensure M6X miners are imported and add them to their MinerTypes dictionary in miner_factory.py
This commit is contained in:
@@ -25,4 +25,4 @@ from .hiveon import Hiveon
|
|||||||
from .luxminer import LUXMiner
|
from .luxminer import LUXMiner
|
||||||
from .vnish import VNish
|
from .vnish import VNish
|
||||||
from .epic import ePIC
|
from .epic import ePIC
|
||||||
from .whatsminer import M2X, M3X, M5X
|
from .whatsminer import M2X, M3X, M5X, M6X
|
||||||
|
|||||||
@@ -16,6 +16,12 @@
|
|||||||
from pyasic.miners.backends.btminer import BTMiner
|
from pyasic.miners.backends.btminer import BTMiner
|
||||||
|
|
||||||
|
|
||||||
|
class M6X(BTMiner):
|
||||||
|
def __init__(self, ip: str, api_ver: str = "0.0.0"):
|
||||||
|
super().__init__(ip, api_ver)
|
||||||
|
self.supports_autotuning = True
|
||||||
|
|
||||||
|
|
||||||
class M5X(BTMiner):
|
class M5X(BTMiner):
|
||||||
def __init__(self, ip: str, api_ver: str = "0.0.0"):
|
def __init__(self, ip: str, api_ver: str = "0.0.0"):
|
||||||
super().__init__(ip, api_ver)
|
super().__init__(ip, api_ver)
|
||||||
|
|||||||
@@ -288,6 +288,25 @@ MINER_CLASSES = {
|
|||||||
"M56SVH30": BTMinerM56SVH30,
|
"M56SVH30": BTMinerM56SVH30,
|
||||||
"M56S+VJ30": BTMinerM56SPlusVJ30,
|
"M56S+VJ30": BTMinerM56SPlusVJ30,
|
||||||
"M59VH30": BTMinerM59VH30,
|
"M59VH30": BTMinerM59VH30,
|
||||||
|
"M60VK10": BTMinerM60VK10,
|
||||||
|
"M60VK20": BTMinerM60VK20,
|
||||||
|
"M60VK30": BTMinerM60VK30,
|
||||||
|
"M60VK40": BTMinerM60VK40,
|
||||||
|
"M60SVK10": BTMinerM60SVK10,
|
||||||
|
"M60SVK20": BTMinerM60SVK20,
|
||||||
|
"M60SVK30": BTMinerM60SVK30,
|
||||||
|
"M60SVK40": BTMinerM60SVK40,
|
||||||
|
"M63VK10": BTMinerM63VK10,
|
||||||
|
"M63VK20": BTMinerM63VK20,
|
||||||
|
"M63VK30": BTMinerM63VK30,
|
||||||
|
"M63SVK10": BTMinerM63SVK10,
|
||||||
|
"M63SVK20": BTMinerM63SVK20,
|
||||||
|
"M63SVK30": BTMinerM63SVK30,
|
||||||
|
"M66VK20": BTMinerM66VK20,
|
||||||
|
"M66VK30": BTMinerM66VK30,
|
||||||
|
"M66SVK20": BTMinerM66SVK20,
|
||||||
|
"M66SVK30": BTMinerM66SVK30,
|
||||||
|
"M66SVK40": BTMinerM66SVK40,
|
||||||
},
|
},
|
||||||
MinerTypes.AVALONMINER: {
|
MinerTypes.AVALONMINER: {
|
||||||
None: CGMinerAvalon,
|
None: CGMinerAvalon,
|
||||||
|
|||||||
66
pyasic/miners/types/whatsminer/M6X/M60.py
Normal file
66
pyasic/miners/types/whatsminer/M6X/M60.py
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Copyright 2023 Upstream Data Inc -
|
||||||
|
# -
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); -
|
||||||
|
# you may not use this file except in compliance with the License. -
|
||||||
|
# You may obtain a copy of the License at -
|
||||||
|
# -
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 -
|
||||||
|
# -
|
||||||
|
# Unless required by applicable law or agreed to in writing, software -
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, -
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
|
||||||
|
# See the License for the specific language governing permissions and -
|
||||||
|
# limitations under the License. -
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
import warnings
|
||||||
|
|
||||||
|
from pyasic.miners.makes import WhatsMiner
|
||||||
|
|
||||||
|
class M60VK10(WhatsMiner): # noqa - ignore ABC method implementation
|
||||||
|
def __init__(self, ip: str, api_ver: str = "0.0.0"):
|
||||||
|
super().__init__(ip, api_ver)
|
||||||
|
self.ip = ip
|
||||||
|
self.model = "M60 VK10"
|
||||||
|
self.nominal_chips = 0
|
||||||
|
warnings.warn(
|
||||||
|
"Unknown chip count for miner type M60 VK10, please open an issue on GitHub (https://github.com/UpstreamData/pyasic)."
|
||||||
|
)
|
||||||
|
self.fan_count = 2
|
||||||
|
|
||||||
|
|
||||||
|
class M60VK20(WhatsMiner): # noqa - ignore ABC method implementation
|
||||||
|
def __init__(self, ip: str, api_ver: str = "0.0.0"):
|
||||||
|
super().__init__(ip, api_ver)
|
||||||
|
self.ip = ip
|
||||||
|
self.model = "M60 VK20"
|
||||||
|
self.nominal_chips = 0
|
||||||
|
warnings.warn(
|
||||||
|
"Unknown chip count for miner type M60 VK20, please open an issue on GitHub (https://github.com/UpstreamData/pyasic)."
|
||||||
|
)
|
||||||
|
self.fan_count = 2
|
||||||
|
|
||||||
|
|
||||||
|
class M60VK30(WhatsMiner): # noqa - ignore ABC method implementation
|
||||||
|
def __init__(self, ip: str, api_ver: str = "0.0.0"):
|
||||||
|
super().__init__(ip, api_ver)
|
||||||
|
self.ip = ip
|
||||||
|
self.model = "M60 VK30"
|
||||||
|
self.nominal_chips = 0
|
||||||
|
warnings.warn(
|
||||||
|
"Unknown chip count for miner type M60 VK30, please open an issue on GitHub (https://github.com/UpstreamData/pyasic)."
|
||||||
|
)
|
||||||
|
self.fan_count = 2
|
||||||
|
|
||||||
|
|
||||||
|
class M60VK40(WhatsMiner): # noqa - ignore ABC method implementation
|
||||||
|
def __init__(self, ip: str, api_ver: str = "0.0.0"):
|
||||||
|
super().__init__(ip, api_ver)
|
||||||
|
self.ip = ip
|
||||||
|
self.model = "M60 VK40"
|
||||||
|
self.nominal_chips = 0
|
||||||
|
warnings.warn(
|
||||||
|
"Unknown chip count for miner type M60 VK40, please open an issue on GitHub (https://github.com/UpstreamData/pyasic)."
|
||||||
|
)
|
||||||
|
self.fan_count = 2
|
||||||
64
pyasic/miners/types/whatsminer/M6X/M60S.py
Normal file
64
pyasic/miners/types/whatsminer/M6X/M60S.py
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Copyright 2023 Upstream Data Inc -
|
||||||
|
# -
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); -
|
||||||
|
# you may not use this file except in compliance with the License. -
|
||||||
|
# You may obtain a copy of the License at -
|
||||||
|
# -
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 -
|
||||||
|
# -
|
||||||
|
# Unless required by applicable law or agreed to in writing, software -
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, -
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
|
||||||
|
# See the License for the specific language governing permissions and -
|
||||||
|
# limitations under the License. -
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
import warnings
|
||||||
|
|
||||||
|
from pyasic.miners.makes import WhatsMiner
|
||||||
|
|
||||||
|
class M60SVK10(WhatsMiner): # noqa - ignore ABC method implementation
|
||||||
|
def __init__(self, ip: str, api_ver: str = "0.0.0"):
|
||||||
|
super().__init__(ip, api_ver)
|
||||||
|
self.ip = ip
|
||||||
|
self.model = "M60S VK10"
|
||||||
|
self.nominal_chips = 0
|
||||||
|
warnings.warn(
|
||||||
|
"Unknown chip count for miner type M60S VK10, please open an issue on GitHub (https://github.com/UpstreamData/pyasic)."
|
||||||
|
)
|
||||||
|
self.fan_count = 2
|
||||||
|
|
||||||
|
|
||||||
|
class M60SVK20(WhatsMiner): # noqa - ignore ABC method implementation
|
||||||
|
def __init__(self, ip: str, api_ver: str = "0.0.0"):
|
||||||
|
super().__init__(ip, api_ver)
|
||||||
|
self.ip = ip
|
||||||
|
self.model = "M60S VK20"
|
||||||
|
self.nominal_chips = 0
|
||||||
|
warnings.warn(
|
||||||
|
"Unknown chip count for miner type M60S VK20, please open an issue on GitHub (https://github.com/UpstreamData/pyasic)."
|
||||||
|
)
|
||||||
|
self.fan_count = 2
|
||||||
|
|
||||||
|
|
||||||
|
class M60SVK30(WhatsMiner): # noqa - ignore ABC method implementation
|
||||||
|
def __init__(self, ip: str, api_ver: str = "0.0.0"):
|
||||||
|
super().__init__(ip, api_ver)
|
||||||
|
self.ip = ip
|
||||||
|
self.model = "M60S VK30"
|
||||||
|
self.ideal_hashboards = 3
|
||||||
|
self.nominal_chips = 78
|
||||||
|
self.fan_count = 2
|
||||||
|
|
||||||
|
|
||||||
|
class M60SVK40(WhatsMiner): # noqa - ignore ABC method implementation
|
||||||
|
def __init__(self, ip: str, api_ver: str = "0.0.0"):
|
||||||
|
super().__init__(ip, api_ver)
|
||||||
|
self.ip = ip
|
||||||
|
self.model = "M60S VK40"
|
||||||
|
self.nominal_chips = 0
|
||||||
|
warnings.warn(
|
||||||
|
"Unknown chip count for miner type M60S VK40, please open an issue on GitHub (https://github.com/UpstreamData/pyasic)."
|
||||||
|
)
|
||||||
|
self.fan_count = 2
|
||||||
52
pyasic/miners/types/whatsminer/M6X/M63.py
Normal file
52
pyasic/miners/types/whatsminer/M6X/M63.py
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Copyright 2023 Upstream Data Inc -
|
||||||
|
# -
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); -
|
||||||
|
# you may not use this file except in compliance with the License. -
|
||||||
|
# You may obtain a copy of the License at -
|
||||||
|
# -
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 -
|
||||||
|
# -
|
||||||
|
# Unless required by applicable law or agreed to in writing, software -
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, -
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
|
||||||
|
# See the License for the specific language governing permissions and -
|
||||||
|
# limitations under the License. -
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
import warnings
|
||||||
|
|
||||||
|
from pyasic.miners.makes import WhatsMiner
|
||||||
|
|
||||||
|
class M63VK10(WhatsMiner): # noqa - ignore ABC method implementation
|
||||||
|
def __init__(self, ip: str, api_ver: str = "0.0.0"):
|
||||||
|
super().__init__(ip, api_ver)
|
||||||
|
self.ip = ip
|
||||||
|
self.model = "M63 VK10"
|
||||||
|
self.nominal_chips = 0
|
||||||
|
warnings.warn(
|
||||||
|
"Unknown chip count for miner type M63 VK10, please open an issue on GitHub (https://github.com/UpstreamData/pyasic)."
|
||||||
|
)
|
||||||
|
self.fan_count = 0
|
||||||
|
|
||||||
|
|
||||||
|
class M63VK20(WhatsMiner): # noqa - ignore ABC method implementation
|
||||||
|
def __init__(self, ip: str, api_ver: str = "0.0.0"):
|
||||||
|
super().__init__(ip, api_ver)
|
||||||
|
self.ip = ip
|
||||||
|
self.model = "M63 VK20"
|
||||||
|
self.nominal_chips = 0
|
||||||
|
warnings.warn(
|
||||||
|
"Unknown chip count for miner type M63 VK20, please open an issue on GitHub (https://github.com/UpstreamData/pyasic)."
|
||||||
|
)
|
||||||
|
self.fan_count = 0
|
||||||
|
|
||||||
|
|
||||||
|
class M63VK30(WhatsMiner): # noqa - ignore ABC method implementation
|
||||||
|
def __init__(self, ip: str, api_ver: str = "0.0.0"):
|
||||||
|
super().__init__(ip, api_ver)
|
||||||
|
self.ip = ip
|
||||||
|
self.model = "M63 VK30"
|
||||||
|
self.nominal_chips = 68
|
||||||
|
self.ideal_hashboards = 4
|
||||||
|
self.fan_count = 0
|
||||||
54
pyasic/miners/types/whatsminer/M6X/M63S.py
Normal file
54
pyasic/miners/types/whatsminer/M6X/M63S.py
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Copyright 2023 Upstream Data Inc -
|
||||||
|
# -
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); -
|
||||||
|
# you may not use this file except in compliance with the License. -
|
||||||
|
# You may obtain a copy of the License at -
|
||||||
|
# -
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 -
|
||||||
|
# -
|
||||||
|
# Unless required by applicable law or agreed to in writing, software -
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, -
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
|
||||||
|
# See the License for the specific language governing permissions and -
|
||||||
|
# limitations under the License. -
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
import warnings
|
||||||
|
|
||||||
|
from pyasic.miners.makes import WhatsMiner
|
||||||
|
|
||||||
|
class M63SVK10(WhatsMiner): # noqa - ignore ABC method implementation
|
||||||
|
def __init__(self, ip: str, api_ver: str = "0.0.0"):
|
||||||
|
super().__init__(ip, api_ver)
|
||||||
|
self.ip = ip
|
||||||
|
self.model = "M63S VK10"
|
||||||
|
self.nominal_chips = 0
|
||||||
|
warnings.warn(
|
||||||
|
"Unknown chip count for miner type M63S VK10, please open an issue on GitHub (https://github.com/UpstreamData/pyasic)."
|
||||||
|
)
|
||||||
|
self.fan_count = 0
|
||||||
|
|
||||||
|
|
||||||
|
class M63SVK20(WhatsMiner): # noqa - ignore ABC method implementation
|
||||||
|
def __init__(self, ip: str, api_ver: str = "0.0.0"):
|
||||||
|
super().__init__(ip, api_ver)
|
||||||
|
self.ip = ip
|
||||||
|
self.model = "M63S VK20"
|
||||||
|
self.nominal_chips = 0
|
||||||
|
warnings.warn(
|
||||||
|
"Unknown chip count for miner type M63S VK20, please open an issue on GitHub (https://github.com/UpstreamData/pyasic)."
|
||||||
|
)
|
||||||
|
self.fan_count = 0
|
||||||
|
|
||||||
|
|
||||||
|
class M63SVK30(WhatsMiner): # noqa - ignore ABC method implementation
|
||||||
|
def __init__(self, ip: str, api_ver: str = "0.0.0"):
|
||||||
|
super().__init__(ip, api_ver)
|
||||||
|
self.ip = ip
|
||||||
|
self.model = "M63S VK30"
|
||||||
|
self.nominal_chips = 0
|
||||||
|
warnings.warn(
|
||||||
|
"Unknown chip count for miner type M63S VK30, please open an issue on GitHub (https://github.com/UpstreamData/pyasic)."
|
||||||
|
)
|
||||||
|
self.fan_count = 0
|
||||||
43
pyasic/miners/types/whatsminer/M6X/M66.py
Normal file
43
pyasic/miners/types/whatsminer/M6X/M66.py
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Copyright 2023 Upstream Data Inc -
|
||||||
|
# -
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); -
|
||||||
|
# you may not use this file except in compliance with the License. -
|
||||||
|
# You may obtain a copy of the License at -
|
||||||
|
# -
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 -
|
||||||
|
# -
|
||||||
|
# Unless required by applicable law or agreed to in writing, software -
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, -
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
|
||||||
|
# See the License for the specific language governing permissions and -
|
||||||
|
# limitations under the License. -
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
import warnings
|
||||||
|
|
||||||
|
from pyasic.miners.makes import WhatsMiner
|
||||||
|
|
||||||
|
|
||||||
|
class M66VK20(WhatsMiner): # noqa - ignore ABC method implementation
|
||||||
|
def __init__(self, ip: str, api_ver: str = "0.0.0"):
|
||||||
|
super().__init__(ip, api_ver)
|
||||||
|
self.ip = ip
|
||||||
|
self.model = "M66 VK20"
|
||||||
|
self.nominal_chips = 0
|
||||||
|
warnings.warn(
|
||||||
|
"Unknown chip count for miner type M66 VK20, please open an issue on GitHub (https://github.com/UpstreamData/pyasic)."
|
||||||
|
)
|
||||||
|
self.fan_count = 0
|
||||||
|
|
||||||
|
|
||||||
|
class M66VK30(WhatsMiner): # noqa - ignore ABC method implementation
|
||||||
|
def __init__(self, ip: str, api_ver: str = "0.0.0"):
|
||||||
|
super().__init__(ip, api_ver)
|
||||||
|
self.ip = ip
|
||||||
|
self.model = "M66 VK30"
|
||||||
|
self.nominal_chips = 0
|
||||||
|
warnings.warn(
|
||||||
|
"Unknown chip count for miner type M66 VK30, please open an issue on GitHub (https://github.com/UpstreamData/pyasic)."
|
||||||
|
)
|
||||||
|
self.fan_count = 0
|
||||||
53
pyasic/miners/types/whatsminer/M6X/M66S.py
Normal file
53
pyasic/miners/types/whatsminer/M6X/M66S.py
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Copyright 2023 Upstream Data Inc -
|
||||||
|
# -
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); -
|
||||||
|
# you may not use this file except in compliance with the License. -
|
||||||
|
# You may obtain a copy of the License at -
|
||||||
|
# -
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 -
|
||||||
|
# -
|
||||||
|
# Unless required by applicable law or agreed to in writing, software -
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, -
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
|
||||||
|
# See the License for the specific language governing permissions and -
|
||||||
|
# limitations under the License. -
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
import warnings
|
||||||
|
|
||||||
|
from pyasic.miners.makes import WhatsMiner
|
||||||
|
|
||||||
|
|
||||||
|
class M66SVK20(WhatsMiner): # noqa - ignore ABC method implementation
|
||||||
|
def __init__(self, ip: str, api_ver: str = "0.0.0"):
|
||||||
|
super().__init__(ip, api_ver)
|
||||||
|
self.ip = ip
|
||||||
|
self.model = "M66S VK20"
|
||||||
|
self.nominal_chips = 0
|
||||||
|
warnings.warn(
|
||||||
|
"Unknown chip count for miner type M66S VK20, please open an issue on GitHub (https://github.com/UpstreamData/pyasic)."
|
||||||
|
)
|
||||||
|
self.fan_count = 0
|
||||||
|
|
||||||
|
|
||||||
|
class M66SVK30(WhatsMiner): # noqa - ignore ABC method implementation
|
||||||
|
def __init__(self, ip: str, api_ver: str = "0.0.0"):
|
||||||
|
super().__init__(ip, api_ver)
|
||||||
|
self.ip = ip
|
||||||
|
self.model = "M66S VK30"
|
||||||
|
self.nominal_chips = 96
|
||||||
|
self.ideal_hashboards = 4
|
||||||
|
self.fan_count = 0
|
||||||
|
|
||||||
|
|
||||||
|
class M66SVK40(WhatsMiner): # noqa - ignore ABC method implementation
|
||||||
|
def __init__(self, ip: str, api_ver: str = "0.0.0"):
|
||||||
|
super().__init__(ip, api_ver)
|
||||||
|
self.ip = ip
|
||||||
|
self.model = "M66S VK40"
|
||||||
|
self.nominal_chips = 0
|
||||||
|
warnings.warn(
|
||||||
|
"Unknown chip count for miner type M66 VK30, please open an issue on GitHub (https://github.com/UpstreamData/pyasic)."
|
||||||
|
)
|
||||||
|
self.fan_count = 0
|
||||||
52
pyasic/miners/types/whatsminer/M6X/__init__.py
Normal file
52
pyasic/miners/types/whatsminer/M6X/__init__.py
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Copyright 2023 Upstream Data Inc -
|
||||||
|
# -
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); -
|
||||||
|
# you may not use this file except in compliance with the License. -
|
||||||
|
# You may obtain a copy of the License at -
|
||||||
|
# -
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 -
|
||||||
|
# -
|
||||||
|
# Unless required by applicable law or agreed to in writing, software -
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, -
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
|
||||||
|
# See the License for the specific language governing permissions and -
|
||||||
|
# limitations under the License. -
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
from .M60 import (
|
||||||
|
M60VK10,
|
||||||
|
M60VK20,
|
||||||
|
M60VK30,
|
||||||
|
M60VK40,
|
||||||
|
)
|
||||||
|
|
||||||
|
from .M60S import (
|
||||||
|
M60SVK10,
|
||||||
|
M60SVK20,
|
||||||
|
M60SVK30,
|
||||||
|
M60SVK40,
|
||||||
|
)
|
||||||
|
|
||||||
|
from .M63 import (
|
||||||
|
M63VK10,
|
||||||
|
M63VK20,
|
||||||
|
M63VK30,
|
||||||
|
)
|
||||||
|
|
||||||
|
from .M63S import (
|
||||||
|
M63SVK10,
|
||||||
|
M63SVK20,
|
||||||
|
M63SVK30,
|
||||||
|
)
|
||||||
|
|
||||||
|
from .M66 import (
|
||||||
|
M66VK20,
|
||||||
|
M66VK30,
|
||||||
|
)
|
||||||
|
|
||||||
|
from .M66S import (
|
||||||
|
M66SVK20,
|
||||||
|
M66SVK30,
|
||||||
|
M66SVK40,
|
||||||
|
)
|
||||||
@@ -17,3 +17,4 @@
|
|||||||
from .M2X import *
|
from .M2X import *
|
||||||
from .M3X import *
|
from .M3X import *
|
||||||
from .M5X import *
|
from .M5X import *
|
||||||
|
from .M6X import *
|
||||||
|
|||||||
39
pyasic/miners/whatsminer/btminer/M6X/M60.py
Normal file
39
pyasic/miners/whatsminer/btminer/M6X/M60.py
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Copyright 2023 Upstream Data Inc -
|
||||||
|
# -
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); -
|
||||||
|
# you may not use this file except in compliance with the License. -
|
||||||
|
# You may obtain a copy of the License at -
|
||||||
|
# -
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 -
|
||||||
|
# -
|
||||||
|
# Unless required by applicable law or agreed to in writing, software -
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, -
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
|
||||||
|
# See the License for the specific language governing permissions and -
|
||||||
|
# limitations under the License. -
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
from pyasic.miners.backends import M6X
|
||||||
|
from pyasic.miners.types import (
|
||||||
|
M60VK10,
|
||||||
|
M60VK20,
|
||||||
|
M60VK30,
|
||||||
|
M60VK40,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class BTMinerM60VK10(M6X, M60VK10):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class BTMinerM60VK20(M6X, M60VK20):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class BTMinerM60VK30(M6X, M60VK30):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class BTMinerM60VK40(M6X, M60VK40):
|
||||||
|
pass
|
||||||
39
pyasic/miners/whatsminer/btminer/M6X/M60S.py
Normal file
39
pyasic/miners/whatsminer/btminer/M6X/M60S.py
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Copyright 2023 Upstream Data Inc -
|
||||||
|
# -
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); -
|
||||||
|
# you may not use this file except in compliance with the License. -
|
||||||
|
# You may obtain a copy of the License at -
|
||||||
|
# -
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 -
|
||||||
|
# -
|
||||||
|
# Unless required by applicable law or agreed to in writing, software -
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, -
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
|
||||||
|
# See the License for the specific language governing permissions and -
|
||||||
|
# limitations under the License. -
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
from pyasic.miners.backends import M6X
|
||||||
|
from pyasic.miners.types import (
|
||||||
|
M60SVK10,
|
||||||
|
M60SVK20,
|
||||||
|
M60SVK30,
|
||||||
|
M60SVK40,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class BTMinerM60SVK10(M6X, M60SVK10):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class BTMinerM60SVK20(M6X, M60SVK20):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class BTMinerM60SVK30(M6X, M60SVK30):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class BTMinerM60SVK40(M6X, M60SVK40):
|
||||||
|
pass
|
||||||
34
pyasic/miners/whatsminer/btminer/M6X/M63.py
Normal file
34
pyasic/miners/whatsminer/btminer/M6X/M63.py
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Copyright 2023 Upstream Data Inc -
|
||||||
|
# -
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); -
|
||||||
|
# you may not use this file except in compliance with the License. -
|
||||||
|
# You may obtain a copy of the License at -
|
||||||
|
# -
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 -
|
||||||
|
# -
|
||||||
|
# Unless required by applicable law or agreed to in writing, software -
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, -
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
|
||||||
|
# See the License for the specific language governing permissions and -
|
||||||
|
# limitations under the License. -
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
from pyasic.miners.backends import M6X
|
||||||
|
from pyasic.miners.types import (
|
||||||
|
M63VK10,
|
||||||
|
M63VK20,
|
||||||
|
M63VK30,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class BTMinerM63VK10(M6X, M63VK10):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class BTMinerM63VK20(M6X, M63VK20):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class BTMinerM63VK30(M6X, M63VK30):
|
||||||
|
pass
|
||||||
34
pyasic/miners/whatsminer/btminer/M6X/M63S.py
Normal file
34
pyasic/miners/whatsminer/btminer/M6X/M63S.py
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Copyright 2023 Upstream Data Inc -
|
||||||
|
# -
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); -
|
||||||
|
# you may not use this file except in compliance with the License. -
|
||||||
|
# You may obtain a copy of the License at -
|
||||||
|
# -
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 -
|
||||||
|
# -
|
||||||
|
# Unless required by applicable law or agreed to in writing, software -
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, -
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
|
||||||
|
# See the License for the specific language governing permissions and -
|
||||||
|
# limitations under the License. -
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
from pyasic.miners.backends import M6X
|
||||||
|
from pyasic.miners.types import (
|
||||||
|
M63SVK10,
|
||||||
|
M63SVK20,
|
||||||
|
M63SVK30,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class BTMinerM63SVK10(M6X, M63SVK10):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class BTMinerM63SVK20(M6X, M63SVK20):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class BTMinerM63SVK30(M6X, M63SVK30):
|
||||||
|
pass
|
||||||
29
pyasic/miners/whatsminer/btminer/M6X/M66.py
Normal file
29
pyasic/miners/whatsminer/btminer/M6X/M66.py
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Copyright 2023 Upstream Data Inc -
|
||||||
|
# -
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); -
|
||||||
|
# you may not use this file except in compliance with the License. -
|
||||||
|
# You may obtain a copy of the License at -
|
||||||
|
# -
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 -
|
||||||
|
# -
|
||||||
|
# Unless required by applicable law or agreed to in writing, software -
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, -
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
|
||||||
|
# See the License for the specific language governing permissions and -
|
||||||
|
# limitations under the License. -
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
from pyasic.miners.backends import M6X
|
||||||
|
from pyasic.miners.types import (
|
||||||
|
M66VK20,
|
||||||
|
M66VK30,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class BTMinerM66VK20(M6X, M66VK20):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class BTMinerM66VK30(M6X, M66VK30):
|
||||||
|
pass
|
||||||
34
pyasic/miners/whatsminer/btminer/M6X/M66S.py
Normal file
34
pyasic/miners/whatsminer/btminer/M6X/M66S.py
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Copyright 2023 Upstream Data Inc -
|
||||||
|
# -
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); -
|
||||||
|
# you may not use this file except in compliance with the License. -
|
||||||
|
# You may obtain a copy of the License at -
|
||||||
|
# -
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 -
|
||||||
|
# -
|
||||||
|
# Unless required by applicable law or agreed to in writing, software -
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, -
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
|
||||||
|
# See the License for the specific language governing permissions and -
|
||||||
|
# limitations under the License. -
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
from pyasic.miners.backends import M6X
|
||||||
|
from pyasic.miners.types import (
|
||||||
|
M66SVK20,
|
||||||
|
M66SVK30,
|
||||||
|
M66SVK40,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class BTMinerM66SVK20(M6X, M66SVK20):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class BTMinerM66SVK30(M6X, M66SVK30):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class BTMinerM66SVK40(M6X, M66SVK40):
|
||||||
|
pass
|
||||||
52
pyasic/miners/whatsminer/btminer/M6X/__init__.py
Normal file
52
pyasic/miners/whatsminer/btminer/M6X/__init__.py
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Copyright 2023 Upstream Data Inc -
|
||||||
|
# -
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); -
|
||||||
|
# you may not use this file except in compliance with the License. -
|
||||||
|
# You may obtain a copy of the License at -
|
||||||
|
# -
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 -
|
||||||
|
# -
|
||||||
|
# Unless required by applicable law or agreed to in writing, software -
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, -
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
|
||||||
|
# See the License for the specific language governing permissions and -
|
||||||
|
# limitations under the License. -
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
from .M60 import (
|
||||||
|
BTMinerM60VK10,
|
||||||
|
BTMinerM60VK20,
|
||||||
|
BTMinerM60VK30,
|
||||||
|
BTMinerM60VK40,
|
||||||
|
)
|
||||||
|
|
||||||
|
from .M60S import (
|
||||||
|
BTMinerM60SVK10,
|
||||||
|
BTMinerM60SVK20,
|
||||||
|
BTMinerM60SVK30,
|
||||||
|
BTMinerM60SVK40,
|
||||||
|
)
|
||||||
|
|
||||||
|
from .M63 import (
|
||||||
|
BTMinerM63VK10,
|
||||||
|
BTMinerM63VK20,
|
||||||
|
BTMinerM63VK30,
|
||||||
|
)
|
||||||
|
|
||||||
|
from .M63S import (
|
||||||
|
BTMinerM63SVK10,
|
||||||
|
BTMinerM63SVK20,
|
||||||
|
BTMinerM63SVK30,
|
||||||
|
)
|
||||||
|
|
||||||
|
from .M66 import (
|
||||||
|
BTMinerM66VK20,
|
||||||
|
BTMinerM66VK30,
|
||||||
|
)
|
||||||
|
|
||||||
|
from .M66S import (
|
||||||
|
BTMinerM66SVK20,
|
||||||
|
BTMinerM66SVK30,
|
||||||
|
BTMinerM66SVK40,
|
||||||
|
)
|
||||||
@@ -17,3 +17,4 @@
|
|||||||
from .M2X import *
|
from .M2X import *
|
||||||
from .M3X import *
|
from .M3X import *
|
||||||
from .M5X import *
|
from .M5X import *
|
||||||
|
from .M6X import *
|
||||||
Reference in New Issue
Block a user