Merge pull request #6313 from Ultimaker/CS-171_add_r2_support

CS-171 Add R2 support
This commit is contained in:
Chris ter Beke 2019-09-06 11:53:55 +02:00 committed by GitHub
commit 7ff7ab53bf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 33 additions and 10 deletions

View file

@ -151,6 +151,8 @@ Cura.MachineAction
return catalog.i18nc("@label","Firmware update failed due to an input/output error.");
case 6:
return catalog.i18nc("@label","Firmware update failed due to missing firmware.");
case 7:
return catalog.i18nc("@label","Firmware update failed due to invalid firmware file.");
}
}

View file

@ -135,10 +135,13 @@ class LocalClusterOutputDeviceManager:
ultimaker_machines = container_registry.findContainersMetadata(type="machine", manufacturer="Ultimaker B.V.")
found_machine_type_identifiers = {} # type: Dict[str, str]
for machine in ultimaker_machines:
machine_bom_number = machine.get("firmware_update_info", {}).get("id", None)
machine_type = machine.get("id", None)
if machine_bom_number and machine_type:
found_machine_type_identifiers[str(machine_bom_number)] = machine_type
machine_bom_numbers = machine.get("bom_numbers", [])
if machine_type and machine_bom_numbers:
for bom_number in machine_bom_numbers:
# This produces a n:1 mapping of bom numbers to machine types
# allowing the S5R1 and S5R2 hardware to use a single S5 definition.
found_machine_type_identifiers[str(bom_number)] = machine_type
return found_machine_type_identifiers
## Add a new device.

View file

@ -27,6 +27,9 @@ class AvrFirmwareUpdater(FirmwareUpdater):
except (FileNotFoundError, AssertionError):
Logger.log("e", "Unable to read provided hex file. Could not update firmware.")
self._setFirmwareUpdateState(FirmwareUpdateState.firmware_not_found_error)
except Exception:
Logger.logException("e", "Failed to read hex file '%s'", self._firmware_file)
self._setFirmwareUpdateState(FirmwareUpdateState.invalid_firmware_error)
return
programmer = stk500v2.Stk500v2()

View file

@ -5,13 +5,16 @@ See: http://en.wikipedia.org/wiki/Intel_HEX
This is a python 3 conversion of the code created by David Braam for the Cura project.
"""
import io
from typing import List
from UM.Logger import Logger
def readHex(filename):
def readHex(filename: str) -> List[int]:
"""
Read an verify an intel hex file. Return the data as an list of bytes.
"""
data = []
data = [] # type: List[int]
extra_addr = 0
f = io.open(filename, "r", encoding = "utf-8")
for line in f: