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

@ -75,4 +75,4 @@ class FirmwareUpdateState(IntEnum):
communication_error = 4
io_error = 5
firmware_not_found_error = 6
invalid_firmware_error = 7

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:

View file

@ -33,7 +33,10 @@
"https://software.ultimaker.com/releases/firmware/9066/stable/um-update.swu.version"
],
"update_url": "https://ultimaker.com/firmware"
}
},
"bom_numbers": [
9066
]
},

View file

@ -30,7 +30,10 @@
"https://software.ultimaker.com/releases/firmware/9066/stable/um-update.swu.version"
],
"update_url": "https://ultimaker.com/firmware"
}
},
"bom_numbers": [
9511
]
},
"overrides": {

View file

@ -34,7 +34,10 @@
"id": 213482,
"check_urls": ["https://software.ultimaker.com/releases/firmware/213482/stable/um-update.swu.version"],
"update_url": "https://ultimaker.com/firmware"
}
},
"bom_numbers": [
213482
]
},
"overrides": {

View file

@ -35,7 +35,10 @@
"id": 9051,
"check_urls": ["https://software.ultimaker.com/releases/firmware/9051/stable/um-update.swu.version"],
"update_url": "https://ultimaker.com/firmware"
}
},
"bom_numbers": [
9051, 214475
]
},
"overrides": {