|
@@ -13,6 +13,7 @@ from UM.Qt.ListModel import ListModel
|
|
|
from UM.Message import Message
|
|
|
|
|
|
from cura.CuraApplication import CuraApplication
|
|
|
+from cura.MachineManagerModel import MachineManagerModel
|
|
|
|
|
|
import threading
|
|
|
import platform
|
|
@@ -128,8 +129,9 @@ class USBPrinterOutputDeviceManager(QObject, SignalEmitter, OutputDevicePlugin,
|
|
|
return USBPrinterOutputDeviceManager._instance
|
|
|
|
|
|
def _getDefaultFirmwareName(self):
|
|
|
- machine_instance = Application.getInstance().getMachineManager().getActiveMachineInstance()
|
|
|
- machine_type = machine_instance.getMachineDefinition().getId()
|
|
|
+ machine_manager_model = MachineManagerModel()
|
|
|
+ machine_id = machine_manager_model.activeDefinitionId
|
|
|
+
|
|
|
if platform.system() == "Linux":
|
|
|
baudrate = 115200
|
|
|
else:
|
|
@@ -151,23 +153,22 @@ class USBPrinterOutputDeviceManager(QObject, SignalEmitter, OutputDevicePlugin,
|
|
|
}
|
|
|
machine_with_heated_bed = {"ultimaker_original" : "MarlinUltimaker-HBK-{baudrate}.hex",
|
|
|
}
|
|
|
-
|
|
|
##TODO: Add check for multiple extruders
|
|
|
hex_file = None
|
|
|
- if machine_type in machine_without_extras.keys(): # The machine needs to be defined here!
|
|
|
- if machine_type in machine_with_heated_bed.keys() and machine_instance.getMachineSettingValue("machine_heated_bed"):
|
|
|
+ if machine_id in machine_without_extras.keys(): # The machine needs to be defined here!
|
|
|
+ if machine_id in machine_with_heated_bed.keys() and machine_manager_model.hasHeatedBed:
|
|
|
Logger.log("d", "Choosing firmware with heated bed enabled for machine %s.", machine_type)
|
|
|
- hex_file = machine_with_heated_bed[machine_type] # Return firmware with heated bed enabled
|
|
|
+ hex_file = machine_with_heated_bed[machine_id] # Return firmware with heated bed enabled
|
|
|
else:
|
|
|
- Logger.log("d", "Choosing basic firmware for machine %s.", machine_type)
|
|
|
- hex_file = machine_without_extras[machine_type] # Return "basic" firmware
|
|
|
+ Logger.log("d", "Choosing basic firmware for machine %s.", machine_id)
|
|
|
+ hex_file = machine_without_extras[machine_id] # Return "basic" firmware
|
|
|
else:
|
|
|
- Logger.log("e", "There is no firmware for machine %s.", machine_type)
|
|
|
+ Logger.log("e", "There is no firmware for machine %s.", machine_id)
|
|
|
|
|
|
if hex_file:
|
|
|
return hex_file.format(baudrate=baudrate)
|
|
|
else:
|
|
|
- Logger.log("e", "Could not find any firmware for machine %s.", machine_type)
|
|
|
+ Logger.log("e", "Could not find any firmware for machine %s.", machine_id)
|
|
|
raise FileNotFoundError()
|
|
|
|
|
|
## Helper to identify serial ports (and scan for them)
|