diff --git a/src/simudator/core/modules/memory.py b/src/simudator/core/modules/memory.py index 97a8690340985fa271f62a81d54595630712a597..d71774550dd0565f864d93d7261f4b64a7f6a6b2 100644 --- a/src/simudator/core/modules/memory.py +++ b/src/simudator/core/modules/memory.py @@ -31,7 +31,7 @@ class Memory(Module): self.output_s = output_signal # Internal state - self.memory = [0 for i in range(size)] + self.memory = [0 for _ in range(size)] self.current_adress = 0 self.is_write = False diff --git a/src/simudator/processor/mia/gui/mia_memory_graphic.py b/src/simudator/processor/mia/gui/mia_memory_graphic.py index e3c314a88f855d411ec5a7f3b86716a656644519..9b7f2f62966fdd945b7331631f3526b008ef1f99 100644 --- a/src/simudator/processor/mia/gui/mia_memory_graphic.py +++ b/src/simudator/processor/mia/gui/mia_memory_graphic.py @@ -7,6 +7,7 @@ from qtpy.QtWidgets import ( QTextEdit, QVBoxLayout, QWidget, + QErrorMessage, ) from simudator.core.modules import Memory @@ -57,6 +58,7 @@ class MiaMemoryGraphicsItem(MemoryGraphicsItem): def __init__(self, memory_module: Memory, **kwargs): super().__init__(memory_module, **kwargs) self.memory_window = None + self.errorMessageWidget = QErrorMessage() def draw_graphics_item(self) -> None: # Same as normal memory but no control signal @@ -145,6 +147,12 @@ class MiaMemoryGraphicsItem(MemoryGraphicsItem): ) else: module_state = self.module.get_state() - module_state['memory'][parsed_adress] = parsed_value - self.module.set_state(module_state) - self.update_graphics_signal.emit() + try: + module_state['memory'][parsed_adress] = parsed_value + except IndexError: + self.errorMessageWidget.showMessage( + "Address entered was larger than memory space. Max address is 0xff" + ) + else: + self.module.set_state(module_state) + self.update_graphics_signal.emit()